OS:CentOS Linux release 7.7.1908 LVM: 2.02.185(2)-RHEL7 VMware Workstaion 15 Pro 15.5.2 build-15785246
既に稼働中の仮想マシンを停止せずにディスク容量を増すよう指令を受け実践するものである。然し乍ら追加したいディスクの種類がIDEとNVMeの場合は稼働中、新たに追加すること能わぬからこういう場合、関係者とマシン停止の機会を何としてでも調整せねばならない。まずは現状のブロックデバイスを把握する。
$ lsblk -i
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 20G 0 disk
|-nvme0n1p1 259:1 0 1G 0 part /boot
`-nvme0n1p2 259:2 0 19G 0 part
|-centos_centos7-root 253:0 0 17G 0 lvm /
`-centos_centos7-swap 253:1 0 2G 0 lvm [SWAP]
そうしたら仮想マシンにディスクを追加する。
仮想マシンが稼働中であるとIDEとNVMeの仮想ディスクは追加できない
恙無くディスクが追加されたら改めてブロックデバイスを一覧すると新たにsdaというブロックデバイスがあるからこれが先に追加したディスクであろうと見当が付く。
$ lsblk -i
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 20G 0 disk
|-nvme0n1p1 259:1 0 1G 0 part /boot
`-nvme0n1p2 259:2 0 19G 0 part
|-centos_centos7-root 253:0 0 17G 0 lvm /
`-centos_centos7-swap 253:1 0 2G 0 lvm [SWAP]
このあとの手続きは物理ボリューム、ボリュームグループ、論理ボリュームそれぞれの作成である。先ずは追加したブロックデバイス /dev/sda をLVMで扱うために物理ボリュームとして初期化する。
$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 centos_centos7 lvm2 a-- <19.00g 0
$ sudo pvcreate /dev/sda
Physical volume "/dev/sda" successfully created.
$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 centos_centos7 lvm2 a-- <19.00g 0
/dev/sda centos_centos7 lvm2 a-- <20.00g 0
/dev/sda が物理ボリュームとして追加されているから引き続き之を元にしてボリュームグループを作成する。ボリュームグループ名である centos_centos7 を用いてボリュームグループを作成した。
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
centos_centos7 1 2 0 wz--n- <19.00g 0
$ sudo vgextend centos_centos7 /dev/sda
Volume group "centos_centos7" successfully extended
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
centos_centos7 2 2 0 wz--n- 38.99g 0
次に論理ボリュームを追加する。ボリュームグループ centos_centos7 の内、論理ボリューム root の容量を拡張したいからlvextendコマンドでこうである。
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos_centos7 -wi-ao---- <17.00g
swap centos_centos7 -wi-ao---- 2.00g
$ sudo lvextend -l +100%FREE /dev/mapper/centos_centos7-root
Size of logical volume centos_centos7/root changed from <17.00 GiB (4351 extents) to 36.99 GiB (9470 extents).
Logical volume centos_centos7/root successfully resized.
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos_centos7 -wi-ao---- 36.99g
swap centos_centos7 -wi-ao---- 2.00g
最後にファイルシステムの拡張を実施する。XFSファイルシステムで構成されているから xfs_growfs コマンドで以って拡張する。
$ df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos_centos7-root xfs 17G 1.5G 16G 9% /
$ sudo xfs_growfs /dev/mapper/centos_centos7-root
meta-data=/dev/mapper/centos_centos7-root isize=512 agcount=4, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4455424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
$ df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
/dev/mapper/centos_centos7-root xfs 37G 1.5G 36G 4% /
これでようやっとディスク容量の拡張が達成された。