CentOS虚机在线扩容系统盘数据盘

最近在制作Openstack下的镜像,用户需要CentOS6以及CentOS7的虚机镜像,遇到了些关于系统盘以及数据盘在线扩容的问题,故此整理一下。

​ 传统我们想对磁盘在线热扩容,必然会想到LVM逻辑卷。如果没有LVM逻辑卷的情况下,则可以考虑使用growpart命令。

#yum -y install cloud-utils-growpart

在内核3.6.0 以上,是可以实现系统盘在线扩容的,如果低版本内核则需要reboot或者重新挂载磁盘。

#growpart /dev/sda 1  #将sda剩余空间全部扩容给sda1
#resize2fs /dev/sda1   #ext使用resize2fs, xfs使用xfs_growfs

所以,假如虚机镜像大小20G,创建系统盘大小是50G的虚机时,默认情况下cloud-init会调用growpart以及resize2fs扩容系统盘。

​ 如果是centos7的系统镜像,虚机开机过程中cloud-init调用growpart和resize2fs即可直接在线扩容系统盘。

​ 如果是centos6的系统镜像,虚机开机过程中cloud-init调用growpart和resize2fs并不能在线扩容系统盘。如何解决?可以通过给initramfs添加growroot的module,growroot 模块用于在启动过程中自动调整根文件系统的大小。

#dracut --force --add growroot /boot/initramfs-$(uname -r).img

你可能感兴趣的:(编程开发,openstack,操作系统,centos,linux,运维)