CentOS LVM 卷在线扩容

场景:

  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分区
原文地址:https://www.cnblogs.com/reachos/p/11271463.html