场景:
vmware 虚拟机,装了CentOS ,更改了虚拟机磁盘的大小:从200G,扩展到320G,可以参考本文写了步骤。
1. 在线扫描虚拟机SCSI新增的容量
# for i in `find /sys/class/scsi_host/host*`;do echo "- - -" > $i/scan; done
# for i in `find /sys/class/scsi_device/*`;do echo 1 > $i/device/rescan; done
2. 变更LVM容量
# pvs PV VG Fmt Attr PSize PFree /dev/sda2 cl lvm2 a-- 99.51g 0 /dev/sdb vg_data lvm2 a-- 300.00g 80.00g
# pvresize /dev/sdb Physical volume "/dev/sdb" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
# pvs PV VG Fmt Attr PSize PFree /dev/sda2 cl lvm2 a-- 99.51g 0 /dev/sdb vg_data lvm2 a-- 320.00g 100.00g # vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- 99.51g 0 vg_data 1 1 0 wz--n- 320.00g 100.00g
# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 79.98g swap cl -wi-ao---- 19.53g lv_data vg_data -wi-ao---- 220.00g
# lvextend -L +50G /dev/vg_data/lv_data #lvextend -l +100%FREE /dev/vg1/data 此命令完全扩容完vgs的容量 Size of logical volume vg_data/lv_data changed from 220.00 GiB (56320 extents) to 270.00 GiB (69120 extents). Logical volume vg_data/lv_data successfully resized.
# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 79.98g swap cl -wi-ao---- 19.53g lv_data vg_data -wi-ao---- 270.00g # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/cl-root 80G 1.7G 79G 3% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 8.5M 7.8G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/sda1 477M 109M 339M 25% /boot tmpfs 1.6G 0 1.6G 0% /run/user/0 /dev/mapper/vg_data-lv_data 220G 33M 220G 1% /data
3. 扩展文件系统的容量
# xfs_growfs /dev/vg_data/lv_data
meta-data=/dev/mapper/vg_data-lv_data isize=512 agcount=5, agsize=13106944 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=57671680, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=25599, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 57671680 to 70778880
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/cl-root 80G 1.7G 79G 3% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 8.5M 7.8G 1% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/sda1 477M 109M 339M 25% /boot tmpfs 1.6G 0 1.6G 0% /run/user/0 /dev/mapper/vg_data-lv_data 270G 33M 270G 1% /data
#CentOS 6.x 的命令是:# resize2fs /dev/vg_data/lv_data
4. LVM缩小空间
谨慎操作LVM缩减空间!!!!!
目的:把lv_home卷缩小到只有10G,然后把缩小的空间给到swap分区,如下:
# umount /dev/VolGroup/lv_home #先卸载lvm卷
# e2fsck -f /dev/VolGroup/lv_home #先检查一下lvm卷
# resize2fs /dev/VolGroup/lv_home 10G #10G表示要卸载的lvm卷需要减少的容量,减到只有10G
# lvreduce -L 10G /dev/VolGroup/lv_home #lvm卷减少到只有10G
# lvdisplay |more #查看是否缩减成功,也可以使用lvs命令查看
# mount -a #重新再挂载一下
# resize2fs /dev/VolGroup/lv_home #重新扩展一下文件系统
# lvreduce -L +10G /dev/VolGroup/lv_swap #swap分区增加10G
# sync #同步写入磁盘
# swapoff /dev/VolGroup/lv_swap #关闭swap分区
# mkswap /dev/VolGroup/lv_swap #算是格式化成swap分区吧
# swapon /dev/VolGroup/lv_swap #开启swap分区