
저는 대규모 스토리지 팜을 설정하고 있는데 한 달 동안 fsck를 수행할 필요가 없도록 스토리지를 여러 개의 작은 파일 시스템으로 분할할 계획입니다. 파일 트리가 잘 정리되어 있으므로 괜찮습니다. , 따라서 별도의 파일 시스템을 1/
, 2/
, 3/
, 4/
등에 쉽게 마운트할 수 있습니다 .
내 어려움은 fsck 시간을 비슷하게 "합리적"으로 유지하기 위해 파일 시스템에 대한 "합리적인" 크기를 열거하는 것입니다. 주어진 크기에 대한 절대 시간이 하드웨어에 따라 크게 좌우된다는 점을 잘 알고 있지만 파일 시스템 크기가 다양할 때 ext3 fsck 시간에 대한 곡선 모양과 다른 변수에 대한 설명을 찾을 수 없는 것 같습니다( 단일 디렉터리에 파일이 가득 찬 파일 시스템은 트리에 있는 수천 개의 디렉터리 각각에 10개의 파일이 있는 경우보다 시간이 더 오래 걸립니다. 큰 파일과 작은 파일 시스템, 빈 파일 시스템 등.
이에 관해 잘 연구된 수치를 언급한 사람이 있나요? 그렇지 않다면 이러한 문제에 대한 일화는 필요한 경우 최소한 내 실험을 안내하는 데 도움이 될 것입니다.
편집하다: 명확히 하기 위해: 파일 시스템에 관계없이 메타데이터에 문제가 있는 경우 확인해야 합니다. 시간 기반 또는 마운트 기반 re-fsck가 활성화되어 있는지 또는 필요한지 여부는 문제가 되지 않으며, ext3과 관련하여 구체적으로 숫자를 묻는 유일한 이유는 이것이 선택될 가능성이 가장 높은 파일 시스템이기 때문입니다. 특히 빠른 fsck 프로세스를 갖춘 파일 시스템을 알고 있다면 제안할 여지가 있지만 강력한 옵션이어야 합니다("파일 시스템 X에는 fscking이 필요하지 않습니다!"라는 주장은 오랫동안 비웃고 비웃을 것입니다). . 나는 또한 백업의 필요성을 알고 있으며 fsck에 대한 욕구가 백업을 대체할 수는 없지만 fscking보다는 파일 시스템을 폐기하고 결함이 있을 때 백업에서 복원하는 것이 실제로는정말멍청한 거래.
답변1
에 따르면Mathur 등의 논문.(p. 29) e2fsck 시간은 특정 지점 이후 파일 시스템의 inode 양에 따라 선형적으로 증가합니다. 그래프를 참고하면 최대 천만 개의 inode로 구성된 파일 시스템을 사용하는 것이 더 효과적입니다.
ext4로 전환하면 도움이 될 것입니다. 파일 시스템이 한계에 도달하지 않은 상태에서 성능 향상(사용되지 않은 것으로 표시된 inode를 확인하지 않음으로 인한)은 눈에 띄는 효과가 없습니다.
답변2
나는 당신이 스스로 벤치마킹을 해야 한다고 생각합니다. Google의 빠른 검색에서는 ext4 fscks가 ext3보다 훨씬 빠르다는 점을 제외하면 아무것도 공개되지 않았습니다.
따라서 사용할 디스크 크기에 맞춰 100GB, 200GB 등의 ext3 파티션을 만드세요. 그런 다음 데이터로 채우십시오. 프로덕션 데이터(디렉터리당 파일 수, 파일 크기 분포 등)와 유사한 데이터를 사용할 수 있다면 그것이 가장 좋습니다. 단순히 다른 파티션이나 백업 장치에서 파일을 복사하면 파일이 완벽하게 배치되고 조각 모음된 디스크에 배치되므로 테스트에서는 많은 쓰기/수정/삭제에서 발생하는 디스크 헤드 검색 시간이 많이 부족해집니다.
또한 병렬 fsck에 대해서도 생각해 보아야 합니다. /etc/fstab의 마지막 두 필드를 확인하세요. 동일한 물리적 디스크의 파티션은 순서대로 수행되어야 합니다. 동일한 컨트롤러의 여러 디스크를 병렬로 수행할 수 있지만 컨트롤러에 과부하가 걸려 속도가 느려지지 않도록 주의하십시오.
답변3
http://lmgtfy.com/?q=fsck+benchmark
ext4 파일 시스템의 fsck는 ext3보다 훨씬 빠른 것으로 보이며, ext4 fsck가 ext3보다 10배 이상 빠르다는 보고도 있습니다.
해당 검색에서 나온 매우 흥미로운 기사 두 개는 다음과 같습니다.
http://thunk.org/tytso/blog/2008/08/08/fast-ext4-fsck-times/그리고http://thunk.org/tytso/blog/2009/02/26/fast-ext4-fsck-times-revisited/
답변4
재부팅할 때 시간 또는 마운트 수 기반 fsck를 강제하지 않는 파일 시스템을 사용할 수 없는 이유가 있습니까?
(시간 기반 fsck는 정말 나를 괴롭힙니다. 가동 시간이 긴 서버의 경우 커널을 업그레이드할 때마다 전체 fsck를 수행해야 한다는 것을 거의 보장합니다.)
어쨌든 XFS는 fsck를 강제하지 않는 저널링 파일 시스템 중 하나입니다. 볼만한 가치가 있습니다.