CentOS 磁盘在线扩容
场景介绍:
- 操作系统Centos7.x
- 系统有一块vdisk,容量为20G,共分为3个区(swap和boot分区为标准分区xfs文件系统,根分区为LVM分区,xfs文件系统)
- 业务需求:在VM系统不关机或不重启的情况下,完成根分区的在线扩容 ,本文为扩容至10G。
实现步骤:
一、扩容前的状态:
1、vm控制台磁盘容量:
2、[root@localhost /]# df –h
3、[root@localhost /]# lsblk
4、root@localhost /]# fdisk –l
5、root@localhost /]# pvdisplay
6、root@localhost /]# vgdisplay
7、root@localhost /]# lvdisplay
二、扩容后
#如存在快照,需要删除快照才能在线扩容
三、系统扩容过程
1 、列出您的 SCSI 设备的名称,重新扫描SCSI:
[root@localhost /]# ls /sys/class/scsi_device/
[root@localhost /]# echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan
[root@localhost /]#echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
[root@localhost /]# fdksik -l //磁盘容易已经显示为30GB了
2 、删除分区、重建分区:
[root@localhost /]#fdisk /dev/sda
//保存分区修改、告警请忽略
3、重新读取分区、重新扫描PV
[root@localhost ~]# partprobe //此命令没有任何输出
[root@localhost ~]# pvscan
4、查看pv,扩展pv
[root@localhost ~]# pvdisplay
[root@localhost ~]# pvresize /dev/sda3
[root@localhost ~]# pvdisplay //下图显示PV已经扩容成功了
6、查看VG,查看LV,扩展lv
[root@localhost ~]# vgdisplay
[root@localhost ~]# lvdisplay
[root@localhost ~]# lvextend -L +10G /dev/centos/root
7、扩展文件系统
[root@localhost ~]# xfs_growfs /dev/centos/root //如果是centos6.x请使用,resize2fs /dev/centos/root //如果是Centos8不用执行此条命令
结果检查
[root@localhost ~]# lsblk
[root@localhost ~]# df –h
总结:
此操作的思路为:虚拟机控制台对虚拟机磁盘扩容---->删除重装分区---->重新读取分区扫描PV---->扩展PV---->扩展LV---->扩展文件系统。
如果你的磁盘分区没到达到数量限制,不是建议你按下面的操作,更为稳当些:
新建分区---->新建PV---->扩展VG---->扩展lv---->扩展文件系统。