当記事は2024年4月14日時点の情報に基づき作成しています。
はじめに
IBM Cloud VPCのLinuxのboot volumeのディスク領域拡張の手順です。
前提
テストに使用した環境
VPC:
IBM Cloud Virtual server instances for VPC
OS:
Rocky Linux 9.3
対象ディスク:
VSIのboot volume(XFS ファイルシステム)
手順概要
- VSIのboot volumeサイズをIBM Cloudポータルから拡張する
- partedコマンドでパーティションサイズを拡張する
- Linuxをリブートする
テスト
IBM Cloudポータルでディスク拡張する前のディスクの状況を確認します。
ここでは、lsblコマンド、dfコマンド、fdiskコマンドを使用しました。
事前準備
【lsblk】
[sugata@testvsi ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 253:0 0 100G 0 disk
├─vda1 253:1 0 1M 0 part
├─vda2 253:2 0 200M 0 part /boot/efi
└─vda3 253:3 0 97.7G 0 part /
vdb 253:16 0 368K 0 disk
vdc 253:32 0 44K 0 disk
【lsblk -f】
[sugata@testvsi ~]$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
vda
├─vda1
├─vda2 vfat FAT16 EFI 68F6-BA12 192.8M 3% /boot/efi
└─vda3 xfs gpt 685721d8-e5c0-4603-b6a0-19a839ed0ec0 95.3G 2% /
vdb iso9660 Joliet Extension cidata 2024-04-14-02-05-51-00
vdc swap 1 SWAP-xvdb1 110c09ea-5bb9-4b26-bcd8-20941c7b9e7d
【df -h】
[sugata@testvsi ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.6G 8.6M 1.5G 1% /run
/dev/vda3 98G 2.4G 96G 3% /
/dev/vda2 200M 7.0M 193M 4% /boot/efi
tmpfs 769M 0 769M 0% /run/user/1001
【sudo fdisk -l】
[sugata@testvsi ~]$ sudo fdisk -l
[sudo] password for sugata:
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 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: 4A8F456D-C44B-4546-8754-F86D68644578
Device Start End Sectors Size Type
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 413695 409600 200M EFI System
/dev/vda3 413696 205213695 204800000 97.7G Linux filesystem
Disk /dev/vdb: 368 KiB, 376832 bytes, 736 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
Disk /dev/vdc: 44 KiB, 45056 bytes, 88 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
[sugata@testvsi ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.6G 8.6M 1.5G 1% /run
/dev/vda3 98G 2.4G 96G 3% /
/dev/vda2 200M 7.0M 193M 4% /boot/efi
tmpfs 769M 0 769M 0% /run/user/1001
上記実行結果の通り、100GBのディスクを利用しています。
今回はルートディレクトリを拡張するので、拡張対象は/dev/vda3、ファイルシステムはXFSと確認しました。
1. ディスク拡張
ディスク容量を100GBから200GBに容量拡張します。
容量拡張はIBM Cloudポータルから操作しました。
対象のVSIのboot volumeのActionからExpand volumeを実行します。
拡張後のサイズを指定してSave and continueで拡張します。
ここでは現行100GBから200GBに拡張しています。
(boot volumeの拡張上限は250GBです)
Linux側で、先ほどと同様にコマンドを実行して結果を確認します。
lsblkコマンドでディスクサイズが200GBになっていることが確認できます。
[sugata@testvsi ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 253:0 0 200G 0 disk
├─vda1 253:1 0 1M 0 part
├─vda2 253:2 0 200M 0 part /boot/efi
└─vda3 253:3 0 97.7G 0 part /
vdb 253:16 0 368K 0 disk
vdc 253:32 0 44K 0 disk
一方、lsblk -fコマンドと、df -hコマンドではルートディレクトリはまだ拡張されていないことがわかります。
[sugata@testvsi ~]$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
vda
├─vda1
├─vda2 vfat FAT16 EFI 68F6-BA12 192.8M 3% /boot/efi
└─vda3 xfs gpt 685721d8-e5c0-4603-b6a0-19a839ed0ec0 95.3G 2% /
vdb iso9660 Joliet Extension cidata 2024-04-14-02-05-51-00
vdc swap 1 SWAP-xvdb1 110c09ea-5bb9-4b26-bcd8-20941c7b9e7d
[sugata@testvsi ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.6G 8.6M 1.5G 1% /run
/dev/vda3 98G 2.4G 96G 3% /
/dev/vda2 200M 7.0M 193M 4% /boot/efi
tmpfs 769M 0 769M 0% /run/user/1001
2. パーティション拡張
ルートディレクトリはXFSなのでpartedコマンドを使用してパーティションを拡張します。
parted コマンド
# parted [対象のパーティション]
今回は、/dev/vda (パーティション番号3)を空き領域全て拡張するので、以下のように実行しました。
[sugata@testvsi ~]$ sudo parted /dev/vda resizepart 3 100%
Warning: Not all of the space available to /dev/vda appears to be used, you can fix the GPT to use all of the space (an extra
209715200 blocks) or continue with the current setting?
Fix/Ignore? f
Partition number? 3
Warning: Partition /dev/vda3 is being used. Are you sure you want to continue?
Yes/No? Yes
Information: You may need to update /etc/fstab.
dfコマンドで確認します。
[sugata@testvsi ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.6G 8.6M 1.5G 1% /run
/dev/vda3 98G 2.4G 96G 3% /
/dev/vda2 200M 7.0M 193M 4% /boot/efi
tmpfs 769M 0 769M 0% /run/user/1001
この時点ではまだ拡張領域が認識されていません。
Reboot
Linuxをリブートします。
sudo reboot
dfコマンドで確認すると、ルートディレクトリが拡張されていることがわかります。
[sugata@testvsi ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.6G 8.6M 1.5G 1% /run
/dev/vda3 200G 3.1G 197G 2% /
/dev/vda2 200M 7.0M 193M 4% /boot/efi
tmpfs 769M 0 769M 0% /run/user/1001
lsblk -fコマンドでも同様に拡張を確認できました。
[sugata@testvsi ~]$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
vda
├─vda1
├─vda2 vfat FAT16 EFI 68F6-BA12 192.8M 3% /boot/efi
└─vda3 xfs gpt 685721d8-e5c0-4603-b6a0-19a839ed0ec0 196.7G 2% /
vdb iso9660 Joliet Extension cidata 2024-04-14-02-05-51-00
vdc swap 1 SWAP-xvdb1 110c09ea-5bb9-4b26-bcd8-20941c7b9e7d
おわりに
上記手順で、VSIのboot volume拡張ができました。
リブートが必要ですが、簡単に短時間でルートディレクトリを拡張できることが確認できました。
追記
RHEL 9.x on VPCも確認したところ、手順としては同じでしたが、ルートディレクトリは/dev/vda4 でした。
パーティション番号の事前確認は大事ということを学びました。
[sugata@test-vsi02 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 1.6G 17M 1.6G 2% /run
/dev/vda4 200G 2.8G 197G 2% /
/dev/vda3 495M 247M 249M 50% /boot
/dev/vda2 200M 7.0M 193M 4% /efi
tmpfs 794M 0 794M 0% /run/user/0
[sugata@test-vsi02 ~]$ sudo parted /dev/vda resizepart 4 100%
Warning: Not all of the space available to /dev/vda appears to be used, you can fix the GPT to use all of the space (an extra 209715200
blocks) or continue with the current setting?
Fix/Ignore? f
Partition number? 4
Warning: Partition /dev/vda4 is being used. Are you sure you want to continue?
Yes/No? y
End? [107GB]? 107GB
Information: You may need to update /etc/fstab.