gdiskを用いる方法もあります。こちらをご参照ください。
Linuxには2TBの壁があり、2TBより大きいHDDを増設しようとすると、少し工夫が必要です。
結論からいうと、partedを使うことで、問題なくいけます。
今回、解析用に8TBのHDDを4台増設しました。
備忘録のためにどうやったか書いておきます。
- partedを起動
- 接続したHDDのデバイス名を確認
- /dev/sdbを指定
- ディスクラベルをGPTとして作成し、8TBのパーティションを作成
- 確認
- ext4ファイルシステムを作成
- マウントポイントの作成
- UUIDの取得
- /etc/fstab への記載
- 最初にUUID=からに先ほど調べたUUIDを記載
- 2番目にマウントポイントを記載
- 3番目にファイルシステムを記載
- 4番目にオプションを記載
- 5番目にダンプするかを記載
- 6番目に起動時にfsckによるチェックをするかを記載
- システムへのマウント
1 2 | $ sudo parted (parted) ←プロンプトが変わる |
print allでデバイス一覧を取得できます
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 | (parted) print all モデル: ATA Samsung SSD 850 (scsi) ディスク /dev/sda : 2000GB セクタサイズ (論理/物理): 512B /512B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 1049kB 538MB 537MB fat32 boot 3 538MB 1980GB 1979GB ext4 2 1980GB 2000GB 20.4GB エラー: /dev/sdb : ディスクラベルが認識できません。 エラー: /dev/sdc : ディスクラベルが認識できません。 エラー: /dev/sdd : ディスクラベルが認識できません。 エラー: /dev/sde : ディスクラベルが認識できません。 (parted) |
/dev/sdb, sdc, sdd, sdeがそれぞれデバイス名とわかります。
まず、最初の/dev/sdbを指定します。
1 2 3 | (parted) select /dev/sdb /dev/sdb を使用 (parted) |
GPTとしてディスクラベルを作成し、単位をテラバイトとして指定し、8TBのパーティションを作成します。
1 2 3 | (parted) mklabel gpt (parted) unit TB (parted) mkpart primary 0.00TB 8.00TB |
作成したパーティションを確認します。確認できたらquitで終了します。
01 02 03 04 05 06 07 08 09 10 | (parted) print モデル: ATA HGST HUH728080AL (scsi) ディスク /dev/sdc : 8.00TB セクタサイズ (論理/物理): 512B /4096B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 0.00TB 8.00TB 8.00TB primary (parted) quit |
パーティションができています。ファイルシステムはこれからです。
ファイルシステムを作成します。
1 | $ sudo mkfs.ext4 /dev/sdb1 |
こうすると、以下のようなメッセージが出てきます。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 | mke2fs 1.42.9 (4-Feb-2014) Filesystem label= OS type : Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 244191232 inodes, 1953506304 blocks 97675315 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 59617 block groups 32768 blocks per group, 32768 fragments per group 4096 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, 1934917632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done |
マウントポイントを作成します。私は、以下のように設定したいと思いました。
/dev/sdb1 → /mnt/data1
/dev/sdc1 → /mnt/data2
/dev/sdd1 → /mnt/data1_backup
/dev/sde1 → /mnt/data2_backup
マウントポイントは、mkdirでディレクトリを作成するだけです。/mntの下に作ります。
1 | $ sudo mkdir /mnt/data {1,2} /mnt/data {1,2}_backup |
/etc/fstabに記載するために、各デバイスのUUIDを取得します。
1 | $ ls -l /dev/disk/by-uuid |
とすると、私の場合は以下のような出力が得られました。
1 2 3 4 | e6ee2ce1-ddf0-483b-8884-a8c9e2b46e39 -> ../../sdb1 9d1eba6b-d449-4975-8e0f-25008b445ad5 -> ../../sdc1 e793b5b0-566b-42fa-a2a6-a68d3e667317 -> ../../sdd1 9ac494a2-5375-4ccd-afb9-8b8c2236c640 -> ../../sde1 |
英数字の文字列がUUIDとなります。
最後に、/etc/fstab に記載しておくと、今後自動的にマウントされるようになります。
1 | $ sudo gedit /etc/fstab |
とし、以下を記載していきます。
1 2 3 4 | UUID=e6ee2ce1-ddf0-483b-8884-a8c9e2b46e39 /mnt/data1 ext4 defaults 0 0 UUID=9d1eba6b-d449-4975-8e0f-25008b445ad5 /mnt/data2 ext4 defaults 0 0 UUID=e793b5b0-566b-42fa-a2a6-a68d3e667317 /mnt/data1_backup ext4 defaults 0 0 UUID=9ac494a2-5375-4ccd-afb9-8b8c2236c640 /mnt/data2_backup ext4 defaults 0 0 |
/etc/fstabの書式はググればたくさん出てきますので要点だけ。簡便な記載は@ITのページがいいかもしれません。
通常は defaults で十分
ext4ファイルシステムは0でよいとのこと
起動ディスクでなければする必要はないので 0 でOK
ここまで記載したら保存します
次回からは起動時にマウントされますが、今マウントしたい場合は、以下をタイプすればマウントされます。
1 | $ sudo mount -a |
これは /etc/fstab のオプション defaults の設定で、 mount -a のコマンドがきたら該当行をマウントするというオプションが有効になっているからです。