LVMを利用したディスク領域(xfs)の拡大と縮小について記録します。
下図の⑦~⑧を行います。
#以下の記事の続きとなります。①~⑥まではこちら。
環境 | 詳細 |
---|---|
OS | CentOS Linux release 8.3.2011 |
Kernel | 4.18.0-240.el8.x86_64 |
Machine | VM(vmware ESXi 6.7 update3) |
LVM | lvm2-2.03.09-5.el8.x86_64 |
#7.ディスク領域のextend
ディスク領域拡張(追加容量の割り当て)を行います。
流れとしては以下となります。
・LV容量の拡張
・ファイルシステムの拡張
なお、各設定は以下の通りです。
設定 | 詳細 |
---|---|
VG | test_vg01 |
LV | /dev/test_vg01/test_lv02 |
ファイルシステム | ext4 |
マウントポイント | /lvm/vol2 |
拡大前の容量 | 2GB |
拡大後の容量 | 4GB |
##7-1.LV容量の拡張
lvextend -L +[Size] [LV]
にてLVを拡張します。
また、-l [number]%[suffix]
オプションを利用して相対容量を入力可能です。
lvextend -l 30%VG [LV]
:VGの30%を利用してLVを作成
lvextend -l 100%FREE [LV]
:VGの残り100%(=残り全て)を利用してLVを作成
作成後、vgdisplay
,lvdisplay
で確認をします。
[root@centt83-02 ~]# lvextend -L +2g /dev/test_vg01/test_lv02
Size of logical volume test_vg01/test_lv02 changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
Logical volume test_vg01/test_lv02 successfully resized.
[root@centt83-02 ~]#
[root@centt83-02 ~]# vgdisplay
--- Volume group ---
VG Name test_vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 9.99 GiB
PE Size 4.00 MiB
Total PE 2558
Alloc PE / Size 1536 / 6.00 GiB ### 拡張前は 1024 / 4.00 GiB ###
Free PE / Size 1022 / 3.99 GiB ### 拡張前は 1534 / 5.99 GiB ###
VG UUID zmBgH0-NSFy-QNFm-H5iq-xY7L-bBPN-SWlavx
[root@centt83-02 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/test_vg01/test_lv02
LV Name test_lv02
VG Name test_vg01
LV UUID bZRobZ-2IR5-W56d-MHFd-iH2l-56NJ-Qs8alq
LV Write Access read/write
LV Creation host, time centt83-02, 2022-01-30 19:05:18 +0900
LV Status available
# open 1
LV Size 4.00 GiB ### 拡張前は 2.00 GiB ###
Current LE 1024 ### 拡張前は 512 ###
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
この時点ではdf -h
によるファイルシステム側からは拡張されていないことが見えます。
[root@centt83-02 ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/mapper/test_vg01-test_lv02 2.0G 47M 2.0G 3% /lvm/vol2
##7-2.ファイルシステムの拡張
xfs_growfs [LV]
でファイルシステム拡張を行います。
[root@centt83-02 ~]# xfs_growfs /dev/test_vg01/test_lv02
meta-data=/dev/mapper/test_vg01-test_lv02 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 524288 to 1048576
[root@centt83-02 ~]#
df -h
によるファイルシステム側からも拡張されたことが確認されました。
ファイルシス サイズ 使用 残り 使用% マウント位置
[root@centt83-02 ~]# df -h
/dev/mapper/test_vg01-test_lv02 4.0G 62M 4.0G 2% /lvm/vol2
#8.ディスク領域のreduce
xfsフォーマットで作成したLVについては、仕様により縮小が出来ません。
どうしても実施が必要な場合、一度データをバックアップした後、LVの削除と再作成にて実施する必要があります。
なお、無理やり
lvreduce
を実行すると、以下のエラーが吐かれます。
[root@centt83-02 ~]# lvreduce -L -2g --resizefs /dev/test_vg01/test_lv02
fsadm: Xfs filesystem shrinking is unsupported.
/usr/sbin/fsadm failed: 1
Filesystem resize failed.
[root@centt83-02 ~]#
#9.まとめ
ext4とxfsの差分を記載します。
操作 | ext4 | xfs |
---|---|---|
LVの拡張 | lvextend | lvextend |
ファイルシステムの拡張 | resize2fs,fsadm | xfs_growfs,fsadm |
LVの縮小 | lvreduce | - |
ファイルシステムの縮小 | resize2fs | - |
ext4ファイルシステムの拡張/縮小はこちらから。
#参考
https://atmarkit.itmedia.co.jp/ait/articles/1910/04/news021.html