포맷 시 Ext4(crc32c-intel) 체크섬(5TB 외장 하드 드라이브)

포맷 시 Ext4(crc32c-intel) 체크섬(5TB 외장 하드 드라이브)

Seagate에서 새로운 2.5인치 5TB 외장 하드 드라이브를 구입했습니다.

이제 Linux Mint 21.1에서 다음 명령을 사용하여 새로 생성된 파티션을 포맷해야 합니다 gdisk.

Model: Expansion HDD   
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 52CB8F84-EFAF-4EC9-B65D-6F8541A65F53
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 9767541133
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      9767541133   4.5 TiB     8300  Seagate_5TB_Ext4

이제 표시됨 fdisk:

Disk /dev/sdb: 4.55 TiB, 5000981077504 bytes, 9767541167 sectors
Disk model: Expansion HDD   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 52CB8F84-EFAF-4EC9-B65D-6F8541A65F53

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 9767541133 9767539086  4.5T Linux filesystem

Ext4를 파일 시스템으로 사용하고 싶습니다.

문제는 기본적으로 일부 데이터 체크섬이 있는지 아니면 일부 옵션을 명시적으로 사용해야 하는지입니다.

mkfs.ext4 -O metadata_csum,64bit /dev/path/to/disk

상술 한 바와 같이Ext4 메타데이터 체크섬 Linux 커널페이지?

감사해요.

지금까지 Ext4에서 다음 명령줄 옵션을 사용했습니다.

mkfs.ext4 -L Seagate_5TB_Ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0 /dev/sdX

답변1

기본값은 시간이 지남에 따라 변경되었으며 배포판에 따라 달라질 수도 있습니다.

직접 확인할 수 있습니다 tune2fs -l. tune2fs 출력을 다양한 방식으로 형식화하고 비교합니다.

테스트 목적으로 동일한 크기의 스파스 파일을 생성할 수도 있습니다. 이렇게 하면 테스트를 위해 기존 파일 시스템을 포맷할 필요가 없습니다.

일부 플래그는 크기에 따라 달라질 수 있으므로 크기는 예상 대상 장치 크기와 비슷하거나 동일해야 합니다.

truncate -s 1T a.img b.img

다른 플래그로 형식을 지정하십시오.

mkfs.ext4 a.img
mkfs.ext4 -O metadata_csum,64bit b.img

tune2fs -l출력 비교 diff -u:

tune2fs -l a.img > a.img.tune2fs
tune2fs -l b.img > b.img.tune2fs
diff -u a.img.tune2fs b.img.tune2fs

결과:

# diff -U 0 a.img.tune2fs b.img.tune2fs
--- a.img.tune2fs   2023-02-19 14:08:59.338434366 +0100
+++ b.img.tune2fs   2023-02-19 14:09:03.321859687 +0100
@@ -4 +4 @@
-Filesystem UUID:          88952b27-467d-4232-a310-030eaf463d7c
+Filesystem UUID:          b6720761-1fd9-45e6-afd4-2ec7fe63cafb
@@ -29 +29 @@
-Filesystem created:       Sun Feb 19 14:08:35 2023
+Filesystem created:       Sun Feb 19 14:08:39 2023
@@ -31 +31 @@
-Last write time:          Sun Feb 19 14:08:35 2023
+Last write time:          Sun Feb 19 14:08:39 2023
@@ -34 +34 @@
-Last checked:             Sun Feb 19 14:08:35 2023
+Last checked:             Sun Feb 19 14:08:39 2023
@@ -45 +45 @@
-Directory Hash Seed:      efda347d-032b-4d84-81f0-8e86591be3c4
+Directory Hash Seed:      30a3a1b1-682f-4bcc-87f1-909fd577e2fa
@@ -48,2 +48,2 @@
-Checksum:                 0x2fbbf9c2
-Checksum seed:            0x683d2fee
+Checksum:                 0x40316d8f
+Checksum seed:            0x58dc22cf

이 경우 UUID, 타임스탬프, 해시/체크섬을 제외하고는 차이가 없습니다. 이는 항상 다르므로 예상됩니다. 따라서 내 시스템에서는 지정이 -O metadata_csum,64bit필요하지 않은 것 같습니다.

-m 0 -E lazy_itable_init=0,lazy_journal_init=0다음에 결과를 추가하십시오 .

@@ -15 +15 @@
-Reserved block count:     13421772
+Reserved block count:     0

mkfs.ext2대신 사용하세요 mkfs.ext4(다른 플래그가 활성화되어 있을 때 표시된다는 점을 설명하기 위해).

@@ -7 +7 @@
-Filesystem features:      has_journal ext_attr resize_inode dir_index orphan_file filetype extent 64bit flex_bg metadata_csum_seed sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
+Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super large_file
(and many other changes)

tune2fs다음은 mke2fs를 사용하여 mke2fs가 실제로 생성하는 파일 시스템 유형을 확인하는 방법의 예 입니다 .

최종 확인을 위해서는 위와 같이 테스트 파일이 아닌 실제 장치도 확인해야 합니다. (mkfs는 장치 유형에 따라 일부 설정을 선택할 수 있습니다.)

이러한 플래그 중 일부는 mkfs 시 잘못된 플래그를 선택한 것으로 밝혀진 경우 다시 포맷하지 않고도 즉시 변경할 수 있습니다(tun2fs 또는 resize2fs 사용).

관련 정보