EC2にアタッチされているEBSボリュームの容量を追加する機会があったので、EC2のディスク容量の追加についてまとめてみました。EC2はAmazonLinux2023を使用しています。
パーティションとは
Linuxにディスク容量を追加するときに必要な知識がパーティションになります。
一台の物理的なディスクを複数の領域に分割して、それぞれの領域を独立した論理的なディスクとして扱えるようにすることをパーティショニングといいます。また分割された領域のことをパーティションといいます。
デバイスファイルとは
Linuxでハードウェアを指定するには、それぞれに対応したファイル名を使います。これをデバイスファイルと呼びハードディスクやSSD、DVDドライブといったデバイスの入出力を扱うための特殊なファイルです。/devディレクトリの下に置かれます。
パーティションを確認するコマンド
lsblk:ストレージデバイスとそのパーティションを一覧表示します
xvda 202:0 0 8G 0 disk
├─xvda1 202:1 0 8G 0 part /
├─xvda127 259:0 0 1M 0 part
└─xvda128 259:1 0 10M 0 part /boot/efi
sudo fdisk -l: ディスクパーティションの情報を表示します。
Disk /dev/xvda: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6574721F-6880-4AA9-AA72-D0AAAB5E4110
Device Start End Sectors Size Type
/dev/xvda1 24576 16777182 16752607 8G Linux filesystem
/dev/xvda127 22528 24575 2048 1M BIOS boot
/dev/xvda128 2048 22527 20480 10M EFI System
df -h:ファイルシステムのディスク使用状況を表示します
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 475M 0 475M 0% /dev/shm
tmpfs 190M 2.9M 188M 2% /run
/dev/xvda1 8.0G 2.9G 5.1G 36% /
tmpfs 475M 0 475M 0% /tmp
/dev/xvda128 10M 1.3M 8.7M 13% /boot/efi
ディスク追加して使用できるようになるまでの手順
システムにディスク装置を接続して、利用できるようにするには、以下の3ステップが必要です。
1パーティションに分割
2パーティションごとにファイルシステムを作成
3ルートファイルシステムにマウントする
パーティションには2つの規格がある
古くからあるMBR
新しいGPTの2つがある。
GPT方式の場合は1つのディスクに最大128個のパーティションを作成することができます。MBRのときにあったプライマリ、拡張、論理パーティションなどの区別はありません。
今回の記事は新しい方式のGPTパーティションを扱います。
GPT方式の場合はブートローダーが起動デバイスのESP(EFI System Partition)に格納されています。ESPは/boot/efiにマウントされます。
パーティションの作成、設定変更、削除には以下のコマンドを使用します。どれを使用しても同様の操作が可能です。
parted
gdisk
fdisk
*partedとgdiskはMBRとGPTの両方に使用できます。
*fdiskはMBR専用ですが、GPT対応化が始まっています。
今回は主にpartedをしようしていきます。
parted [オプション][デバイス[操作コマンド[操作オプション]]]
オプション | 説明 |
---|---|
-l | パーティション一覧を表示 |
操作コマンド | 説明 |
---|---|
パーティション一覧を表示 | |
mkpart | パーティションを作成 |
rm | パーティションを削除 |
quit | partedコマンドを終了 |
help | 操作コマンドのヘルプを表示 |
EC2のボリュームを拡張する手順
EBSのボリュームサイズを拡張→パーティションを拡張→ファイルシステムを拡張
1まずはコンソールからEBSボリュームのサイズを拡張します。
2ボリュームにパーティションがあるかどうかを確認します。(lsblk コマンド)
3ある場合は、パーティションサイズとボリュームサイズを比較してパーティションがボリュームサイズよりちいたい場合はパーティションを拡張します。
4パーティションを拡張するにはgrowpart コマンドを使用します。
5パーティションが拡張されたことを確認します。(lsblk コマンド)
6ファイルシステムを拡張します。拡張する必要があるファイルシステムの名前、サイズ、タイプ、およびマウントポイントを取得します。(df -hT)
7ファイルシステムがXFSの場合はxfs_growfsコマンドを使用します。
8ファイルシステムが拡張されたことを確認します。(df -hT)