ext4에 대한 '빠른'형식과 같은 것이 있습니까?


28

Windows에서는 NTFS로 포맷하는 것이 매우 빠릅니다. RAM이 거의없는 저전력 Linux 시스템이 있습니다. 2TB 볼륨을 ext4로 포맷하는 데 시간이 오래 걸립니다.

포맷 속도를 높이기 위해 할 수있는 일이 있습니까? 너무 오래 걸리는 것을 상상할 수 없습니까? (무엇이 오래 걸리나요)


1
형식을 지정하기 위해 어떤 명령을 사용하고 있습니까?
tacotuesday

해결 방법으로. 작은 lvm 볼륨으로 만들고 필요에 따라 확장하십시오. 어쨌든 초기 오버 헤드가 낮아졌습니다.
Sirex

1
mkfs.xfs가 mkfs.ext4보다 훨씬 빠르면 (파일 시스템 생성 시간이 실제로 귀찮은 경우 XFS 사용) 그러나 mkfs는 일반적으로 파일 시스템 당 한 번만 수행하면되는 것입니다. 아마도 더 나은 것들을 최적화해야 할 것입니다.
cas

또는 ZFS를 사용하십시오. ZFS를 사용하여 파일 시스템을 만드는 것은 크기에 상관없이 거의 즉각적입니다.
jlliagre

엔터프라이즈 급 하드웨어, 특히 ECC RAM이 있고 UPS가있는 경우에만 ZFS를 사용하십시오. 있어 권장하지 이러한 요구 사항없이 ZFS를 사용 할 수 있습니다. 메모리 패리티 오류 및 / 또는 정전 후 복구하지 못할 수 있습니다. 이 경우 모든 볼륨이 손실됩니다. 경고를 받았습니다.
Richard Gomes

답변:


16

엄격한 답변

같은 솔루션 -E lazy_itable_init은 결과를 바꾸지 않고 프로세스 속도를 높입니다. 이것은 많은 경우 사람들이 더 많은 것을 요구하는 명백한 질문입니다.

추가 보너스

대부분의 경우 실제로 사용 패턴과 일치하고 파일 시스템 생성 속도를 높일뿐만 아니라 더 빠른 사용과 더 사용 가능한 공간을 허용하는 일부 옵션을 원합니다.

방금 시험을 했어요 를 사용하지 않더라도 -E lazy_itable_init아래 옵션 을 사용 하면 16 분 2 초에서 1 분 21 초까지 2TB 파일 시스템의 생성 시간이 단축됩니다 (Intel i7 2.2GHz의 커널 3.5.0 64 비트, USB2 연결의 2TB 디스크-SATA가 더 빠를 것입니다) .

큰 파일을 보유 할 파일 시스템의 경우 다음 조합을 사용합니다.

mkfs.ext3 /dev/sdXX -O sparse_super,large_file -m 0 -T largefile4

여기서 일반적으로 다음을 포함하는 -T largefile4옵션을 선택 /etc/mke2fs.conf합니다.

    inode_ratio = 4194304
    blocksize = -1

를 수행 man mke2fs각 옵션에 대한 자세한 내용은.

관련 추출물은 다음과 같습니다.

               sparse_super
                      Create a filesystem with fewer superblock backup copies (saves space on large filesystems).

               large_file
                      Filesystem can contain files that are greater than 2GB.  (Modern kernels set this feature  automatically
                      when a file > 2GB is created.)

   -i bytes-per-inode
          Specify  the  bytes/inode ratio.  mke2fs creates an inode for every bytes-per-inode bytes of space on the disk.  The
          larger the bytes-per-inode ratio, the fewer inodes will be created.  This value generally shouldn't be smaller  than
          the blocksize of the filesystem, since in that case more inodes would be made than can ever be used.  Be warned that
          it is not possible to expand the number of inodes on a filesystem after it is created, so be  careful  deciding  the
          correct value for this parameter.

-m 0루트에 대해 5 % 만 예약하지 말라고하는데 이는 데이터 (부팅 / 루트가 아님) 파일 시스템에는 적합합니다. 2TB 디스크의 5 %는 100Gb를 의미합니다. 그것은 상당히 중요한 차이입니다.


1
파일 시스템이 95 % 이상 가득 차게하면 조각화가 극도로 진행되어 성능이 크게 저하됩니다. 데이터 파티션의 성능에 관심이 있다면 10 %로 증가시켜야합니다.
Matija Nalis

디스크가 개최됩니다 뿐만 아니라 대용량 파일하지만, 또한 작은 파일 이 읽기 : 감소 아이 노드 비율은 다양성의 비용, 스토리지의 1.5 %에 대한 대부분에서 당신을 저장합니다. inode_ratio = x이는 볼륨 의 평균 파일 크기가 x 바이트보다 작 으면 저장 공간이 부족 하기 전에 inode 가 부족하다는 것을 의미합니다 . 이 시나리오에서는 실제로 예상보다 수천을 낭비 할 수 있습니다.
Stéphane Gourichon

즉, 평균 파일 크기가 4MB보다 작은 경우 "-T largefile4"를 사용하지 마십시오. 거대한 드라이브의 경우 이제는 -T hugewhich does를 사용 inode_ratio = 65536합니다. 의심스러운 경우, ext2 / 3 / 4를 만든 현명한 사람들이 당신을 선택하도록 -i하거나 설정하지 마십시오 -T. 하우스 키핑을 위해 공간의 알려진 작은 부분을 예약하고 (수백만 개의 매우 작은 파일을 저장하지 않는 한) 실제 저장 공간의 임의 비율을 낭비하지 않도록 보장합니다. 사람들이 글을 쓸 때 멋진 소프트웨어는 훌륭하지만 좋은 파일 시스템은 지루하고 작동해야합니다.
Stéphane Gourichon

내 경우에, mkfs.ext4더 빠른 (시간 :이다 real 0m16.001s)보다 mkfs.ext3(시간 : real 2m10.336s).
coanor

19

깃발을 추가 -E lazy_itable_init

매뉴얼 페이지의 내용은 다음과 같습니다.

사용 가능하고 uninit_bg 기능이 사용 가능한 경우, inke 테이블은 mke2fs에 의해 완전히 초기화되지 않습니다. 파일 시스템 초기화 속도가 눈에 띄게 빨라지지만 파일 시스템이 처음 마운트 될 때 커널이 백그라운드에서 파일 시스템 초기화를 완료해야합니다. 옵션 값을 생략하면 지연 inode 테이블 초기화를 사용하기 위해 기본값은 1입니다.


3
기술적으로 이것은 실제로 포맷이 더 빨라지지는 않지만 포맷이 백그라운드에서 완료되는 동안 파일 시스템을 마운트하고 사용할 수 있습니다.
Wyzard --Sharming Monica 중지-9

정말 고마워! 이것은 정말로 잘 wo4ked, 문서 / 사람은 무엇을 찾아야할지 알 때까지 나에게 분명하지 않았습니다! 너무 많이!
붙어

최소 커널 버전에 대한 참조를 보았습니다.이 버전을 사용하는 데 필요한 최소값은 무엇입니까?
Xarses

8

기본값 빠른 형식입니다. ext * 볼륨의 구조를 설정하는 데는 NTFS 볼륨보다 훨씬 오래 걸립니다. 수퍼 블록의 수를 줄일 수 있지만 지금까지만 진행됩니다.


정보 덕분에 내 장치는 약 20 시간 전에 2TB USB2 디스크를 포맷하기 시작했지만 여전히 작동합니다. 장치는 저전력입니다. 64MB의 RAM이있는 Raspberry Pi를 생각하십시오. 포맷을 시작하려면 포맷중인 동일한 USB 디스크에 페이징을 설정해야했습니다. 속도를 높이려면 어떻게해야합니까? 한두 시간 미만의 성능을 얻을 수 있다면 좋을까요?

2
lazy_itable_init은 기본, 나를 위해 이러면를 트릭을했고, 메이크업 훨씬 빠른 포맷 않습니다
붙어

4

더 큰 파일을 저장하는 경우 inode 당 바이트 수를 늘려 생성 된 inode 수를 줄일 수 있습니다. 이를 통해 제작 시간이 크게 단축 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.