フォーマット時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を使用)。

関連情報