저는 Linux inode에 관한 여러 기사를 읽고 생성된 모든 파일에 항상 해당 inode 번호가 있다는 것을 알게 되었습니다. 우리 서버 중 하나가 ext4를 사용하고 있기 때문에 이미 실행 중인 프로덕션 서버에 inode를 추가할 수 없습니다.
우리가 취할 수 있는 해결책은 두 가지가 있습니다. 하나는 오래된 파일을 삭제하는 것이고, 다른 하나는 오래된 파일을 다른 서버로 전송하여 보관하는 것입니다. 이제 내 질문은 파일을 보관하고 압축한 다음 다른 서버로 이동할지 여부입니다. 보관 서버에서는 방금 전송한 압축 파일에 어떤 inode 번호가 할당되나요?
답변1
여러 파일을 단일 아카이브 파일로 수집하면 파일을 처리하는 데 필요한 양만큼 inode 소비가 줄어듭니다. 사용되는 블록 수가 그에 따라 줄어들 것이라는 보장은 없습니다(그러나 일반적으로 어쨌든 줄어들 것입니다).
답변2
대답은 '예'입니다. 증가하지만 아카이브 자체는 하나만 (inode) 증가합니다. 이제 아카이빙이 독립 실행형(백업 서버) 측에서 발생한다고 언급하셨습니다. 프로덕션 용량에 해당하는 경우에도 여러 인스턴스 또는 "아카이브" 상태를 복원하지 않는 것이 좋습니다.
확인하시고 ulimit && df -i
보시면 됩니다
unlimited
IFree IUse%
999961 1%
1006760 1%
14853576 3%
이제 이것은 내 상태의 일부입니다. 보관되지 않은\복구된 inode 수를 확인할 수 있습니다.
*계산 시간을 참고하세요. 가장 빠른 시간이 아닐 수도 있습니다.
ls -d1 "./" | while read i; do echo -en "$i\t"; find "$i" -name "*" | wc -l; done;