AWS EBSのボリュームサイズ拡張方法

hdd image

すぐに忘れるので、備忘録です。
AWSに限らないと思いますが、Amazon EBS(EC2 ブロックストレージボリューム)を拡張する手順を書きたいと思います。

背景

AWSなどクラウドサービスのメリットは、スモールスタートができる点です。
最初は小さなサイズからスタートして、徐々にファイルなど容量が増えてきたらボリュームのサイズやCPU/メモリなどのスペックを拡張することが容易にできます。
CPU/メモリなどのスペック変更は、管理コンソールからの操作で簡単にできますが、ディスク領域のサイズ変更はそうもいきません。
ということで、本題です。

事前確認

以下は、Amazon Linux2で確認しています。

  • ディスク領域を確認します。(分かりやすいように他のディスク領域などは省略しています。)
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/nvme0n1p1   20G  9.5G   11G   48% /
  • デバイスを確認します。
$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0  30G  0 disk 
├─nvme0n1p1   259:1    0  20G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part 
$ lsblk -f
NAME          FSTYPE LABEL UUID                                 MOUNTPOINT
nvme0n1                                                         
├─nvme0n1p1   xfs    /     04b92f2f-4366-4687-868b-7c403cc59901 /
└─nvme0n1p128 

「nvme0n1p1」が20GBになっていますが、これを30GBに増加させます。
また、2つ目のコマンドで、ファイルシステムがxfsであることがわかります。

拡張方法

  • AWS管理コンソールよりEBSのボリュームを追加します。
EBSボリューム変更画面
  • 再度、デバイスを確認します。
$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0  30G  0 disk 
├─nvme0n1p1   259:1    0  20G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part 

「nvme0n1」が30GBに増加しています。

  • ディスクのパーティションを拡張する。
$ sudo growpart /dev/nvme0n1 1
CHANGED: partition=1 start=4096 old: size=41938911 end=41943007 new: size=62910431 end=62914527

「CHANGED」となっていれば「nvme0n1p1」が拡張されています。

  • <ファイルシステムがextの場合>ディスク領域を拡張する。
$ sudo resize2fs /dev/nvme0n1p1
  • <ファイルシステムがxfsの場合>ディスク領域を拡張する。
$ sudo xfs_growfs /dev/nvme0n1p1
  • 再度、ディスク領域を確認する。
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/nvme0n1p1    30G  9.5G   21G   32% /

30GBになっています。
これでディスク領域の拡張は完了です。

カテゴリ:技術記事
Profile picture

Yasutou Hoshino Twitter:@yasutouhoshino