突然遭遇/磁盘空间100%的尴尬,因为上面跑的有服务,不能添加硬件重启,我就查看了lsblk发现有一块硬盘/dev/sda有2T的空间,正好使用LVM在线扩容,开始吧... ...
第一步、先查看/etc/fstab里的/根分区是什么文件系统类型 ,这里用的是 xfs
/dev/mapper/cl-root / xfs defaults 0 0
UUID=1f24be8c-a592-4b7e-8e2c-416cd4a74d1d /boot xfs defaults 0 0
UUID=E0C1-7ED8 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap none swap defaults 0 0
第二步、格式化/dev/sda3, 如果分区上包含了partition table分区表就需要-f去强制wirte
# mkfs -t xfs /dev/sda
mkfs.xfs: /dev/sda appears to contain a partition table (gpt).
mkfs.xfs: Use the -f option to force overwrite.
# mkfs -t xfs -f /dev/sda3
meta-data=/dev/sda3 isize=512 agcount=32, agsize=18285504 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=585135104, imaxpct=5
= sunit=64 swidth=128 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=285760, version=2
= sectsz=512 sunit=64 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
第三步、创建PV
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb3 cl lvm2 a-- <117.59g 0
# pvcreate /dev/sda3
WARNING: xfs signature detected on /dev/sda3 at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sda3.
Physical volume "/dev/sda3" successfully created.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 cl lvm2 a-- <2.18t <184.11g
/dev/sdb3 cl lvm2 a-- <117.59g 0
第四步、增加PV到VG (能看到vg的变化从117G增加到2个多T)
# vgs
WARNING: Couldn't find device with uuid dujV6z-4pEz-O2wD-MnnY-pW9c-YJaX-ifcImd.
WARNING: VG centos is missing PV dujV6z-4pEz-O2wD-MnnY-pW9c-YJaX-ifcImd (last written to /dev/sdc1).
VG #PV #LV #SN Attr VSize VFree
cl 1 3 0 wz--n- <117.59g 0
# vgextend centos /dev/sda3
Volume group "centos" not found
Cannot process volume group centos
# vgs
VG #PV #LV #SN Attr VSize VFree
cl 2 3 0 wz--n- 2.29t <184.11g
第五步、扩展LVM
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cl -wi-ao---- <43.59g
root cl -wi-ao---- 70.00g
swap cl -wi-ao---- 4.00g
# lvextend -L +2T /dev/cl/root
Size of logical volume cl/root changed from 70.00 GiB (17920 extents) to <2.07 TiB (542208 extents).
Logical volume cl/root successfully resized.
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cl -wi-ao---- <43.59g
root cl -wi-ao---- <2.07t
swap cl -wi-ao---- 4.00g
第六步、更新文件系统
- 如果使用xfs文件系统
xfs_growfs /dev/root_vg/root
- 如果使用ext4文件系统
resize2fs /dev/root_vg/root
# xfs_growfs /dev/cl/root
meta-data=/dev/mapper/cl-root isize=512 agcount=4, agsize=4587520 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=18350080, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=8960, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 18350080 to 555220992
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 252G 0 252G 0% /dev
tmpfs 252G 0 252G 0% /dev/shm
tmpfs 252G 20M 252G 1% /run
tmpfs 252G 0 252G 0% /sys/fs/cgroup
/dev/mapper/cl-root 2.1T 83G 2.0T 4% /
/dev/mapper/cl-home 44G 384M 44G 1% /home
/dev/sdb2 1014M 237M 778M 24% /boot
/dev/sdb1 599M 7.3M 592M 2% /boot/efi
tmpfs 51G 60K 51G 1% /run/user/1000
问题解决