大容量のハードディスクが安くなっており、今回24TBのハードディスクを購入しました。こちらをLinuxサーバにマウントして利用できるようにするまでの手順をお伝えします。
fdiskコマンドでは2TBまでしか作成できない
LVMでディスクを追加する方法をこちらで紹介したとおり、Diskの追加にはfdiskコマンドと思っている方も多いかと思います。しかしながら、fdiskコマンドでは2TBまでしか作成できません。
# fdisk /dev/sdc
fdisk (util-linux 2.37.4) へようこそ。
変更は、書き込むことを決定するまで、メモリ内にのみ残ります。
書き込みコマンドを使用する前に注意してください。
デバイスには認識可能なパーティション テーブルが含まれていません。
このディスクのサイズは21.8TiB(24000277250048バイト)です。512バイトセクターで2199023255040バイトを超えるボリュームのドライブでは、DOSパーティションテーブル形式は使用できません。GUIDパーティションテーブル形式(GPT)を使用してください。
ディスク識別子 0xb5efe266 を持つ新しい DOS ディスクラベルを作成しました。
コマンド(ヘルプの場合はm):p
ディスク /dev/sdc: 21.83 TiB、24000277250048 バイト、46875541504 セクタ
ディスクモデル:
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理): 512バイト/4096バイト
I/O サイズ(最小/最適): 4096 バイト / 4096 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0xb5efe266
コマンド(ヘルプの場合はm): n
パーティションタイプ
p プライマリ(プライマリ 0、拡張 0、フリー 4)
e 拡張(論理パーティションのコンテナ)
選択(デフォルトp):p
パーティション番号(1~4、デフォルトは1):
最初のセクター (2048-4294967295、デフォルトは 2048):
最後のセクター、+/-セクターまたは+/-サイズ{K、M、G、T、P} (2048-4294967295、デフォルトは4294967295):
タイプ「Linux」、サイズ 2 TiB の新しいパーティション 1 を作成しました。
コマンド(ヘルプの場合はm):t
選択されたパーティション1
16進コードまたはエイリアス(すべてリストするにはLと入力してください): 8e
パーティションのタイプを「Linux」から「Linux LVM」に変更しました。
コマンド(ヘルプの場合はm):w
パーティション テーブルが変更されました。
ioctl() を呼び出してパーティション テーブルを再度読み取ります。
ディスクを同期しています。
とここまで実施してみて、次にfdiskコマンドで状態を確認してみますと、
# fdisk -l
(略)
ディスク /dev/sdc: 21.83 TiB、24000277250048 バイト、46875541504 セクタ
ディスクモデル:
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理): 512バイト/4096バイト
I/O サイズ(最小/最適): 4096 バイト / 4096 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0xb5efe266
デバイス ブート 開始 終了 セクター サイズ ID タイプ
/dev/sdc1 2048 4294967295 4294965248 2T 8e Linux LVM
となっており、2TBまでしか作成できませんでした。
作成したパーティションを一旦削除
先ほど作成したパーティションを一旦削除します。
# fdisk /dev/sdc
fdisk (util-linux 2.37.4) へようこそ。
変更は、書き込むことを決定するまで、メモリ内にのみ残ります。
書き込みコマンドを使用する前に注意してください。
このディスクのサイズは21.8TiB(24000277250048バイト)です。512バイトセクターで2199023255040バイトを超えるボリュームのドライブでは、DOSパーティションテーブル形式は使用できません。GUIDパーティションテーブル形式(GPT)を使用してください。
コマンド(ヘルプの場合はm):d
選択されたパーティション1
パーティション 1 が削除されました。
コマンド(ヘルプの場合はm):w
パーティション テーブルが変更されました。
ioctl() を呼び出してパーティション テーブルを再度読み取ります。
ディスクを同期しています。
念のため確認します。
# fdisk -l
(略)
ディスク /dev/sdc: 21.83 TiB、24000277250048 バイト、46875541504 セクタ
ディスクモデル:
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理): 512バイト/4096バイト
I/O サイズ(最小/最適): 4096 バイト / 4096 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0xb5efe266
作成したパーティションが削除されたことを確認しました。
大容量のパーティションを作成するコマンドはparted
partedコマンドを使用して、実行した結果を以下に記載します。
# parted /dev/sdc
GNU Parted 3.5
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart
Partition name? []? disk3
File system type? [ext2]? ext4
Start? 0%
End? 100%
(parted) q
Information: You may need to update /etc/fstab.
ちゃんと作成されたか確認します。
# parted -l
(略)
Model: (scsi)
Disk /dev/sdc: 24.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 24.0TB 24.0TB disk3
念のため、fdiskコマンドでも確認します。
# fdisk -l
(略)
ディスク /dev/sdc: 21.83 TiB、24000277250048 バイト、46875541504 セクタ
ディスクモデル:
単位: 1セクター * 512 = 512バイト
セクターサイズ(論理/物理): 512バイト/4096バイト
I/O サイズ(最小/最適): 4096 バイト / 4096 バイト
ディスクラベルタイプ: gpt
ディスク識別子: DA81152C-F6E1-4C3A-A821-94C7CEE672B9
デバイス 開始 終了 セクター サイズ タイプ
/dev/sdc1 2048 46875539455 46875537408 21.8T Linuxファイルシステム
最大容量(21.8TB)でパーティションが作成されている事が確認できました。
次に、mkfsコマンドでファイルシステムを作成します。
# mkfs -t ext4 /dev/sdc1
mke2fs 1.46.5 (2021年12月30日)
5859442176個の4kブロックと366215168個のiノードを持つファイルシステムを作成しています
ファイルシステムUUID: 5ce44752-2ec5-421c-a2a8-9492dc969e30
ブロックに保存されるスーパーブロックのバックアップ:
(略)
グループテーブルの割り当て: 完了
inode テーブルの書き込み: 完了
ジャーナルを作成中(262144ブロック): 完了
スーパーブロックとファイルシステムのアカウント情報の書き込み: 完了
マウントポイント(/Backup)を作成して、そちらにマウントします。
# mkdir /Backup
# mount /dev/sdc1 /Backup
# df -h
ファイルシステムサイズ 使用済み 使用可能使用率 マウント先
(略)
/dev/sdc1 22T 24K 21T 1% /Backup
問題なくマウントすることが出来ました。
/etc/fstabに追記して、OS再起動後も自動でマウントするようにする
まず、ディスクのUUIDを確認します。
# lsblk --fs /dev/sdc1
名前 FSTYPE FSVER ラベル UUID FSAVAIL FSUSE% マウントポイント
sdc1 ext4 1.0 5ce44752-2ec5-421c-a2a8-9492dc969e30 8.2T 57% /Backup
UUIDが確認できましたら、/etc/fstabの最終行に追記します。
# vi /etc/fstab
UUID=5ce44752-2ec5-421c-a2a8-9492dc969e30 /Backup ext4 defaults 0 0
OSを再起動して、起動後に自動でマウントされているか確認します。
今回はここまでです。最後までお読みいただきありがとうございました。