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]
そうしたら仮想マシンにディスクを追加する。
恙無くディスクが追加されたら改めてブロックデバイスを一覧する。新たに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で扱うためにpvcreate
コマンドで物理ボリュームとして初期化する。
$ 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
にvgextend
コマンドで追加する。
$ 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 コマンドで、ext4であればresize2fsで以って拡張する。
$ 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% /
これでようやっとディスク容量の拡張が達成された。