生产环境要扩容,太久没试过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