【AWS】EBSボリュームの拡張方法
EC2でインスタンスを立ち上げる時にデフォルトのままだとEBSのボリュームサイズは8GBになります。簡単なアプリならこれで十分なのですが、少し足りなくなってきたので16GBに拡張してみました。
はじめに
拡張手順としては3ステップありました。(ほぼ公式のマニュアル手順通り)
- ボリュームの変更をリクエストする
- パーティションを拡張する
- ファイルシステムを拡張する
パソコンのHDDのフォーマットやパーティションをいじったことがある方ならわかると思いますが、HDD全体のボリュームはパーティションで区切られ、その中にファイルシステム(NTFSやFAT32など)が構築されています。
なので、まず一番外側であるボリュームを先に拡張、次にパーティションを拡張し、最後にファイルシステムを拡張という手順になります。
1. ボリュームの変更をリクエストする
これはEC2のコンソールから簡単にできます。
拡張したいインスタンスを選択して、右上の「アクション」ボタンから「ボリュームの変更」を選択します。すると以下のような画面が出て来るので、ボリュームタイプとサイズを入力して「変更」ボタンを押します。
その後すぐには反映されず、しばらく時間がかかります。進捗状況はインスタンスのステータスで確認できます。
2. パーティションを拡張する
反映されたら次にパーティションの拡張をします。
その前にファイルシステムの確認
ファイルシステムの表示
$ df -hT
hオプション:読みやすく単位を付ける。
Tオプション:タイプも表示する。
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 8.0G 7.2G 860M 90% /
…
上記のように表示されます。Typeのところを確認しておきましょう。後のコマンドで使います。
ブロックデバイスの表示
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
ボリュームxvdaが16Gなのにパーティションxvda1はまだ8Gになってますね。
パーティション拡張
以下のコマンドで拡張できます。
$ sudo growpart /dev/xvda 1
デバイス名とパーティション番号の間にスペースがあるので注意。
確認
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 16G 0 part /
パーティションが拡張されました。では、ファイルシステムはどうなってるかもう一度確認してみましょう。
$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 8.0G 7.2G 860M 90% /
…
まだ8GBのままですね。ファイルシステムの拡張をしましょう。
3. ファイルシステムを拡張する
ファイルシステムによってコマンドが変わります。df -hT
コマンドで表示された「Type」を確認します。
CentOS7以降ではxfs、それ以前ではext4がデフォルトらしいです。
XFSの場合
$ sudo xfs_growfs -d /
dオプション:サポートされる最大サイズまで拡張する
「/」のところは、df -hT
コマンドで表示されたマウントポイントを入力します。
ext4の場合
$ sudo resize2fs /dev/xvda1
確認
$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 16G 7.2G 2.9G 45% /
…
16GBになりました!
-
前の記事
【AWS入門】EC2+NGINX+MySQL環境へLaravelをデプロイする手順 2021.11.04
-
次の記事
【AWS】S3画像のURLを独自ドメイン(サブドメイン)にする 2022.03.15
コメントを書く