AWSでEBSボリューム(ディスク)を拡張してみた
こんにちは。技術部のSIです。
入社して4ヶ月経ちますが、初めてブログを書かせていただきます。
はじめに
今回は最近携わらせていただいたディスク拡張について、書いていこうかと思います。
ディスク使用率が100%になってしまうとWEBページが見れなくなったりなど、
サービスに影響が出るので気を付けたいですね。
手順としましては以下のようになります。
- AWS で EBS ボリューム(ディスク)の拡張
- パーティションの拡張
- ファイルシステムの拡張
では、さっそくやってみようと思います。
AWS で EBS ボリュームの拡張
今回は 8GB の EBS ボリュームを 15GB に変更します。(OS : AlmaLinux 9)
作業前はバックアップために EBS のスナップショットを取得しておくと安心です。
スナップショットの取得方法は今回は省略させていただきます。
1.AWS のコンソールで Amazon EC2 を開きます
2.ボリューム > アクション > ボリュームの変更 の順にクリック
3.ボリュームの編集画面に推移するので、サイズ(GiB)に変更したい値を入力します。
今回は「15」と入力して「変更」をクリック。
4.確認を求めるメッセージが表示されるので、変更をクリックします
これでコントロールパネル上でのディスクを拡張が完了しました。
ですが、まだサーバーには反映されておりません。ここからサーバーでの作業が必要になります。
パーティションの拡張
サーバーにログインします。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 15G 0 disk
tqxvda1 202:1 0 1M 0 part
tqxvda2 202:2 0 200M 0 part /boot/efi
tqxvda3 202:3 0 1G 0 part /boot
mqxvda4 202:4 0 6.8G 0 part /
$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 473M 0 473M 0% /dev/shm
tmpfs tmpfs 190M 5.2M 184M 3% /run
/dev/xvda4 xfs 6.8G 973M 5.8G 15% /
/dev/xvda3 xfs 960M 114M 847M 12% /boot
/dev/xvda2 vfat 200M 7.1M 193M 4% /boot/efi
tmpfs tmpfs 95M 0 95M 0% /run/user/1000
ディスクは 15GB になっていますが、パーティションが 8GB のままですね。
このままではせっかく拡張したのに 8GB しか使用できません。
15GB 使用できるようにするには growpart コマンドを使用して、
パーティションを拡張する必要があります。
「/」パーティションは「/dev/xvda4」なので今回は「/dev/xvda」というディスクの
パーティション番号「4」を拡張します。
$ sudo growpart /dev/xvda 4
CHANGED: partition=4 start=2510848 old: size=14266335 end=16777182 new: size=28946399 end=31457246
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 15G 0 disk
tqxvda1 202:1 0 1M 0 part
tqxvda2 202:2 0 200M 0 part /boot/efi
tqxvda3 202:3 0 1G 0 part /boot
mqxvda4 202:4 0 13.8G 0 part /
15GBに使用できるようになりました!
growpart コマンドって便利ですね。
以前は fdisk コマンドを使用してパーティションを拡張しましたが、手間が段違いです。
ファイルシステムの拡張
次にファイルシステムを拡張します。
$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 473M 0 473M 0% /dev/shm
tmpfs tmpfs 190M 5.2M 184M 3% /run
/dev/xvda4 xfs 6.8G 973M 5.8G 15% /
/dev/xvda3 xfs 960M 114M 847M 12% /boot
/dev/xvda2 vfat 200M 7.1M 193M 4% /boot/efi
tmpfs tmpfs 95M 0 95M 0% /run/user/1000
この時点ではまだ 8GB ですね。
「/」にマウントされているファイルは「/dev/xvda4」です。
「/dev/xvda4」のファイルシステムは XFS なので xfs_growfs コマンドを使用して拡張します。
ファイルシステムによってコマンドが変わるので注意してください。
Ext4 の場合は resize2fs コマンドを使用します。
$ sudo xfs_growfs -d /
meta-data=/dev/xvda4 isize=512 agcount=20, agsize=91808 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=1783291, imaxpct=25
= sunit=1 swidth=1 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1783291 to 3618299
確認してみましょう。
$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 473M 0 473M 0% /dev/shm
tmpfs tmpfs 190M 5.2M 184M 3% /run
/dev/xvda4 xfs 14G 1.0G 13G 8% /
/dev/xvda3 xfs 960M 114M 847M 12% /boot
/dev/xvda2 vfat 200M 7.1M 193M 4% /boot/efi
tmpfs tmpfs 95M 0 95M 0% /run/user/1000
$ sudo fdisk -l
Disk /dev/xvda: 15 GiB, 16106127360 bytes, 31457280 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: C15E2E19-06BE-4B82-9B84-596C1A210E65
Device Start End Sectors Size Type
/dev/xvda1 2048 4095 2048 1M BIOS boot
/dev/xvda2 4096 413695 409600 200M EFI System
/dev/xvda3 413696 2510847 2097152 1G Linux filesystem
/dev/xvda4 2510848 31457246 28946399 13.8G Linux filesystem
ファイルシステムの拡張ができました。15GB 使用できるようになりましたね!
これでディスクの拡張作業完了です。
スナップショットを取得していた場合は作業後に忘れず削除してください。
おわりに
お疲れさまでした。
さくらのクラウドですと、パーティション拡張機能というものがあり、
今回サーバー上で行った作業もすべてコントロールパネル上で出来ました。
クラウドでのディスク拡張はコントロールパネルで簡単にできるのがいいですね。
ここまで読んでいただきありがとうございました。