生产环境要扩容,太久没试过LVM,记录一下走过的坑
[root@archive ~]# df -h  #查看磁盘挂载,对/dev/mapper/vgnfs-lvdata进行扩容
 文件系统                  容量  已用  可用 已用% 挂载点
 devtmpfs                  909M     0  909M    0% /dev
 tmpfs                     919M     0  919M    0% /dev/shm
 tmpfs                     919M  8.6M  911M    1% /run
 tmpfs                     919M     0  919M    0% /sys/fs/cgroup
 /dev/vda2                  39G  1.5G   38G    4% /
 /dev/vda1                1014M  199M  816M   20% /boot
 /dev/mapper/vgnfs-lvdata  290G   30G  261G   11% /nfs
 tmpfs                     184M     0  184M    0% /run/user/0
  
 [root@archive ~]# fdisk /dev/vdc   #分区新磁盘
 参考:16TB以后磁盘挂载方法https://blog.csdn.net/eagle89/article/details/128010462 

[root@archive ~]# pvcreate /dev/vdc1   #创建PV
   Physical volume "/dev/vdc1" successfully created.
 [root@archive ~]# vgdisplay 

    
 [root@archive ~]# vgextend vgnfs /dev/vdc1   #将新的pv加入到vgnfs组内
   Volume group "vgnfs" successfully extended
  
 [root@archive ~]# pvs  #查看pv信息
 [root@archive ~]# lvdisplay   #查看LV信息
  
  
 [root@archive ~]# lvextend -L +99G /dev/vgnfs/lvdata   #将lvdata增加99G,这里少个+号会很坑
   Size of logical volume vgnfs/lvdata changed from 290.00 GiB (74240 extents) to 389.00 GiB (99584 extents).
   Logical volume vgnfs/lvdata successfully resized.
 注:
虚拟机下LVM报错信息Insufficient free space
Insufficient free space: 51200 extents needed, but only 51199 available
要添加一块200G的磁盘到LVM中去,前面操作很容易就通过了
在lvextend -L +200G /dev/localhost/root 时报错,报错信息如下
Insufficient free space: 51200 extents needed, but only 51199 available
报错大概意思 是只有51199×4Mib/1024可用,无法扩展51200×4Mib。
计算了一下 51199×4Mib/1024 大概等于199.99GB
修改命令
lvextend -L +200G /dev/localhost/root

[root@archive ~]# xfs_growfs /dev/vgnfs/lvdata   #同步文件系统
 meta-data=/dev/mapper/vgnfs-lvdata isize=512    agcount=4, agsize=19005440 blks
          =                       sectsz=512   attr=2, projid32bit=1
          =                       crc=1        finobt=0 spinodes=0
 data     =                       bsize=4096   blocks=76021760, imaxpct=25
          =                       sunit=0      swidth=0 blks
 naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
 log      =internal               bsize=4096   blocks=37120, version=2
          =                       sectsz=512   sunit=0 blks, lazy-count=1
 realtime =none                   extsz=4096   blocks=0, rtextents=0
 data blocks changed from 76021760 to 101974016
 注:
使用xfs_growfs命令在线扩容CentOS 8系统盘,出现以下错误信息。
xfs_growfs:/dev/vda1 is not a mounted XFS filesystem
新旧版本的xfs_growfs命令使用问题。新版的xfs_growfs命令后面的参数需要为文件系统挂载点,而非文件系统本身。
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
说明:
- 您也可以运行
xfs_growfs --help,查看当前版本xfs_growfs的使用方法。- 系统盘挂载点请以实际环境为准。
xfs_growfs /系统显示类似如下。

/mnt目录,则执行以下命令即可。 xfs_growfs /mnt

 [root@archive ~]# 
 [root@archive ~]# df -h  #扩容后查看
 文件系统                  容量  已用  可用 已用% 挂载点
 devtmpfs                  909M     0  909M    0% /dev
 tmpfs                     919M     0  919M    0% /dev/shm
 tmpfs                     919M  8.6M  911M    1% /run
 tmpfs                     919M     0  919M    0% /sys/fs/cgroup
 /dev/vda2                  39G  1.5G   38G    4% /
 /dev/vda1                1014M  199M  816M   20% /boot
 /dev/mapper/vgnfs-lvdata  389G   30G  360G    8% /nfs
 tmpfs                     184M     0  184M    0% /run/user/0
  
 LVM扩容是运维工作常有的活,记录一下,在使用lvextend扩容的时候,必须用到+号,否则会有下面的错误:
 [root@archive ~]# lvextend -L 99G /dev/vgnfs/lvdata 
   New size given (25344 extents) not larger than existing size (74240 extents)
  
 说明:最新指定的硬盘大小不大于原来分区大小,extend是进行扩大硬盘大小,这里指定的大小比原分区大小还要小,所以报错。这里如果需要增加lv的大小,是需要用+号进行指定的,这里要非常注意。
 在扩容lv之后,会出现同步文件系统的操作,由于这里centos7使用了xfs的文件系统,是不能用resize2fs进行同步操作的。需要用到xfs_grows命令。说明:
如果使用xfs文件系统
 xfs_growfs /dev/vgnfs/lvdata 
 如果使用ext4  ext3文件系统
 resize2fs /dev/vgnfs/lvdata