文章为解决磁盘空间不足通过lvm的方式对逻辑分区扩容,达到在线扩容磁盘目录的情况,以扩容挂载目录为/app举例,同样适用于扩容/根目录
1、判断待扩容的分区是否是逻辑分区
通过 lsblk 命令,判断目标分区是否是逻辑分区,如果TYPE为lvm则是逻辑分区,否则不是。只有逻辑分区,才能使用该方式,切记。
2、将新加入主机的磁盘创建分区并加入指定虚拟卷组
通过fdisk -l命令进行查看,确认新增磁盘的名称,新增磁盘为:/dev/sdb
此处以一块新增的500G磁盘为例
编辑磁盘sdb并依次输入指令
3、确定需要扩容的目录所属逻辑卷信息
执行:df -lh
执行:lvdisplay 找到目标目录的逻辑卷信息
4、将新建的分区加入目标VG卷组并扩容
执行:vgextend centos /dev/sdb1
执行:lvextend -l +100%FREE /dev/mapper/centos-app
执行:xfs_growfs /dev/mapper/centos-app
FAQ:
1. 磁盘加入机器后,通过fdisk -l不能正常展示出来新加磁盘的名称,如:/dev/sdb
查看主机总线号:ls /sys/class/scsi_host/
重新扫描SCSI总线添加设备,这里有几个总线则执行几次
依次执行:
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
此时再执行fdisk -l 则会正常展示新加的磁盘名称(/dev/sdb)