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
相关推荐
十年磨一剑~1 小时前
Linux程序接收到sigpipe信号崩溃处理
linux
geshifei1 小时前
Sched ext回调3——select_cpu(linux 6.15.7)
linux·ebpf
yunfuuwqi1 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔2 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠2 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
你真是饿了2 小时前
6.库制作与原理
linux·服务器
Zach_yuan3 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
AtoposのCX3303 小时前
Docker运行hello-world镜像失败或超时
运维·docker
北京迅为4 小时前
《【北京迅为】itop-3568开发板NPU使用手册》- 第 7章 使用RKNN-Toolkit-lite2
linux·人工智能·嵌入式·npu
Dragon~Snow4 小时前
Linux Centos9 安装 Elasticsearch
linux·elasticsearch·jenkins