質問: 2 TB を超えるサイズのディスクがあります。 fdisk を使用して、この 2TB を超えるディスクにパーティションを作成できません。 parted および GPT フォーマットを使用して 2 TB を超えるディスクにパーティションを作成する方法の例を説明していただけますか?
回答: fdisk を使用して 2 TB を超えるディスクにパーティションを作成すると、次の警告メッセージが表示されます。
# fdisk /dev/sdb Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: The size of this disk is 5.9 TB (5908688535552 bytes). DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT).
Fdisk を使用して 2TB パーティションを作成する
この例のディスクのサイズは約 6 TB です。以下に示すように、fdisk を使用して、このディスクに 2TB のパーティションを作成できます。
# fdisk /dev/sdb1 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-718357, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-267349, default 267349): Using default value 267349
上記のように、このディスクには 718357 個のシリンダー (合計で約 6 TB) が使用可能ですが、表示される最後のシリンダー値は 267349 しかありません (この例では約 2 TB に近い値です)。
そのため、fdisk は以下に示すように 2 TB のパーティションを作成しました (ディスク サイズは約 6 TB ですが)。
Command (m for help): p Disk /dev/sdb: 5908.7 GB, 5908688535552 bytes 255 heads, 63 sectors/track, 718357 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x3dffd626 Device Boot Start End Blocks Id System /dev/sdb1 1 267349 2147480811 83 Linux
Parted mklabel を使用してパーティション テーブルを GPT に設定
この場合、2TB を超えるパーティションを作成する必要があります。したがって、parted コマンドを使用する必要があります。
パーティション コマンドを作成する前に、ディスク ラベルを GPT に設定する必要があります。
GPT は GUID パーティション テーブル フォーマット (GPT) の略です。
以下に示すように、parted の mklabel コマンドを使用して、ディスク ラベルを GPT に設定します。
# parted /dev/sdb GNU Parted 2.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Error: /dev/sdb: unrecognised disk label (parted) mklabel gpt (parted) print Model: Unknown (unknown) Disk /dev/sdb: 5909GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags
Parted mkpart を使用して>2TB のパーティションを作成
以下に示すように parted の mkpart コマンドを使用して、2TB を超えるパーティションを作成します。この例では、サイズが約 6 TB のパーティションを作成しています。
# parted /dev/sdb (parted) mkpart primary 0GB 5909GB (parted) print Model: Unknown (unknown) Disk /dev/sdb: 5909GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 5909GB 5909GB primary
parted コマンドを効果的に使用する方法を理解するには、以下を参照してください:9 Linux Parted Command Examples.
好奇心のために、この 2TB を超えるパーティションが fdisk でどのように表示されるかを見てみましょう。以下に示すように、サイズはまだ約 2 TB と表示されています ([ブロック] 列の下)。ただし、これが 2 TB を超えることを示す末尾の + があります。システム列には「GPT」と表示されます。
# fdisk /dev/sdb Command (m for help): print Disk /dev/sdb: 5908.7 GB, 5908688535552 bytes 255 heads, 63 sectors/track, 718357 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 1 267350 2147483647+ ee GPT
パーティションのフォーマットとマウント
mkfs を使用してパーティションをフォーマットします。パーティションのサイズによっては、時間がかかります。 「i ノード テーブルの書き込み」であり、カウンターが増加し続けることがわかります。この例では、mkfs を完了するのに約 15 分かかりました。
# mkfs /dev/sdb1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 360644608 inodes, 1442550528 blocks 72127526 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 44024 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Writing inode tables: 3955/44024 Writing inode tables: 5022/44024 Writing inode tables: 7218/44024 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 23 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
最後に、この>2TB パーティションをマウントします。
# mkdir /data # mount /dev/sdb1 /data # df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 127G 1.6G 119G 2% / /dev/sdb1 5.3T 59M 5.1T 1% /data