制作centos6.9镜像并实现根分区自动扩容

1. 搭建KVM

操作系统:Centos7.3

 

安装步骤:

 

(1)图形界面安装:

本文档使用图形化操作,预先安装centos7图形化环境:

Yum groupinstall "X Window System"

yum grouplist :查询可用的图形工具,一般选GNOME

安装好之后直接startx开启图形界面

(2)虚拟化工具安装:

yum install libvirt libguestfs-tools virt-manager -y

Systemctl restart libvirtd

(3)配置桥接:

本文档网络模式为桥接网络,两种模式参考以下配置,至此KVM搭建完毕。

********************static ip配置 *****************************

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

HWADDR=00:14:5E:C2:1E:40

ONBOOT=yes

NM_CONTROLLED=no

BRIDGE=br0

/etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=Bridge

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=10.10.1.152

NETMASK=255.255.255.0

ONBOOT=yes

************************ DHCP配置 *****************************

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

HWADDR=00:14:5E:C2:1E:40

ONBOOT=yes

NM_CONTROLLED=no

BRIDGE=br0

 

/etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=Bridge

NM_CONTROLLED=no

BOOTPROTO=dhcp

ONBOOT=yes

2. 制作镜像并实现根分区自动扩容

(1)创建一块10G大小的qcow2格式文件,作为centos6.9系统的磁盘文件

qemu-img create -f qcow2  CentOS-6.9.qcow2 10G

更改文件所属人和所属组为qemu

chown  -R qemu:qemu *

(3)安装系统(略)

a) 注:系统安装时分区要自定义安装,只创建/分区

(4)Yum install acpid -y && chkconfig acpid on

(5)修改/boot/grub/grub.conf

(6)修改cloud.cfg文件

(7)修改sshd_config文件

(8)安装cloud-init工具和growpart模块:

a) yum install -y http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

b) yum install cloud-init cloud-utils-growpart dracut-modules-growroot -y && dracut -f

(9)清除硬件信息并压缩镜像

a) virt-sysprep -d centos6.9

b) virt-sparsify  --tmp ./ --compress CentOS-6.9-x86_64.qcow2  CentOS-6.9-x86_64-Cloud.qcow2

参考文档:

http://jacken.me/openstack/centos/create-centos6-image-for-openstack/

https://xiexianbin.cn/openstack/2016/12/14/centos-root-partition-auto-grow

 

 


PS:

centos6版本镜像内核小于3.8,不支持cloud-init默认分区扩展,需要执行以下操作及注意事项

安装dracut-modules-growroot,cloud-utils-growpart解决由于内核版本过低

yum install -y http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install cloud-init cloud-utils-growpart dracut-modules-growroot -y

dracut -f

注意事项:

镜像创建时需要选择自定义创建,不能使用LVM,不能创建/boot等多余分区,只能有'/'一个分区。

你可能感兴趣的:(openstack,cloudimage)