之前一直用的都是自己的做的虚拟机镜像,每次用镜像创建虚拟机,都需要自己手工拓展根分区:因为默认情况下,创建出来的虚拟机都是镜像根分区一样得容量。
[root@ss ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
...
/dev/vda1 xfs 40G 3.1G 37G 8% /
如上图所示,根分区为40G 但实际磁盘大小为
[root@ss ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 80G 0 disk
└─vda1 253:1 0 80G 0 part /
一般这时候,需要手工分区,把vda1拓展到80G,然后在用xfs_growfs把根分区文件系统同步拓展;
后来用OpenStack官方提供得CentOS镜像,发现可以自动拓展分区。
调查发现应该是利用cloud-init实现。
后来遇到一个问题,cloud-init自动拓展分区失败:
因为selinux开启问题导致cloud init的分区脚本执行失败
关闭selinux后成功拓展分区