首页 » Linux » CentOS » 虚拟化环境在线磁盘扩容无需重启立即生效

虚拟化环境在线磁盘扩容无需重启立即生效

 
文章目录

本文基于vmware、kvm虚拟化环境、使用CentOS7系统验证,在原有虚拟机硬盘的基础上修改磁盘空间大小达到扩容目的,扩容期间无需重启服务器,实时生效。

本文演示了几种场景,磁盘扩容前请在测试环境中验证:

1、根磁盘使用了lvm卷,对根磁盘空间进行扩容
2、根磁盘已分区,未使用lvm卷,对根磁盘空间进行扩容
3、数据盘未分区,直接格式化挂载使用,对挂载中的数据盘空间进行扩容
4、数据盘已分区,分区后格式化挂载使用,对挂载中的数据盘空间进行扩容

注:修改磁盘空间大小后,未生效的情况,参考vmware磁盘在线扩容后不显示扩容后的空间(无需重启)https://blog.whsir.com/post-6379.html

根磁盘使用了lvm卷,对根磁盘空间进行扩容

注:理论适用于数据盘lvm卷扩容

我这里原有磁盘/是50GB,编辑虚拟机磁盘,修改50GB为100GB,注意我这里没有添加新的磁盘,而是在原有磁盘的基础上修改

此时通过fdisk -l可以看到/dev/vda已经扩容了

Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b9509

Device Boot Start End Blocks Id System
/dev/vda1 * 2048 2099199 1048576 83 Linux
/dev/vda2 2099200 104857599 51379200 8e Linux LVM

接下来对磁盘进行分区操作

至此磁盘分区已完成,此处可能会看到磁盘正在被使用的提示,无需理会

重读分区表

初始化

查看卷组名称(VG Name)

将新分区加入卷组

查看卷详情

正常的话会看到以下类似内容

PV Name /dev/vda3
PV UUID irbiLE-Himw-OvWM-JtPd-vjhC-Ha2p-aeTwTc
PV Status allocatable
Total PE / Free PE 12799 / 12799

合并容量

此时df -h可以看到磁盘扩容成功

根磁盘已分区,未使用lvm卷,对根磁盘空间进行扩容

我这里原有磁盘/是50GB,编辑虚拟机磁盘,修改50GB为100GB,注意我这里没有添加新的磁盘,而是在原有磁盘的基础上修改

此时通过fdisk -l可以看到/dev/vda已经扩容了,确定根磁盘空间已显示扩容后的容量,注意根所在分区,我这里根是/dev/vda3


刷新分区

lsblki查看分区已改变

执行扩容命令(注意:我这里是xfs文件系统)

如果是ext*系列文件系统,则执行resize2fs /dev/sdb1,执行完成后,立即生效。

此时df -h可以看到已扩容成功

数据盘未分区,直接格式化挂载使用,对挂载中的数据盘空间进行扩容

数据盘未分区操作,而是直接格式化后进行挂载,这种方式对磁盘扩容来说,最方便,也最快

将原有的数据盘大小,修改成200G,这里是直接修改数值

fdisk -l看到磁盘大小已修改成200G

既然容量显示没有问题了,接下来我们开始扩容

扩容仅需要一条命令(注意:我这里是xfs文件系统),所以执行xfs_growfs /dev/sdb即可,如果是ext*系列文件系统,则执行resize2fs /dev/sdb,执行完成后,立即生效

此时再通过df -h可以看到扩容成功,并且没有影响到已挂载的目录

数据盘已分区,分区后格式化挂载使用,对挂载中的数据盘空间进行扩容

我这里对数据盘sdb进行了分区,并且挂载了/data目录,现在对sdb1进行扩容

调整数据盘磁盘空间,调整后可以看到sdb磁盘空间已经变成200G

开始扩容数据盘

注意:请按照下图中顺序进行,很重要。

刷新分区

此时通过lsblki可以看到sdb1已显示200G

最后一步

如果是ext*系列文件系统,则执行resize2fs /dev/sdb1,执行完成后,立即生效。

原文链接:虚拟化环境在线磁盘扩容无需重启立即生效,转载请注明来源!

0