C.9. 完成 Red Hat Enterprise Linux 6 镜像
更新系统:
# {package-update}
安装
cloud-init
软件包:# yum install cloud-utils-growpart cloud-init
编辑
/etc/cloud/cloud.cfg
配置文件和cloud_init_modules
add:- resolv-conf
resolv-conf
选项会在实例首次引导时自动配置resolv.conf
配置文件。此文件包含与实例相关的信息,如名称服务器
、域
及其他选项。要防止网络问题,请按如下所示创建
/etc/udev/rules.d/75-persistent-net-generator.rules
文件:# echo "#" > /etc/udev/rules.d/75-persistent-net-generator.rules
这可防止
/etc/udev/rules.d/70-persistent-net.rules
文件被创建。如果创建了/etc/udev/rules.d/70-persistent-net.rules
,在从快照引导时,网络可能无法正常工作(网络接口创建为 "eth1" 而不是 "eth0",且没有分配 IP 地址)。在
/etc/sysconfig/network
中添加以下行以避免访问 EC2 元数据服务时出现问题:NOZEROCONF=yes
取消注册虚拟机,以便生成的镜像不包含基于它所克隆的每个实例的相同的订阅详情:
# subscription-manager repos --disable=* # subscription-manager unregister # yum clean all
关闭实例:
# poweroff
在您的 Red Hat Enterprise Linux Workstation 中,以 root 身份登录并使用
virt-sysprep
命令重置并清理镜像,以便它可用于在不出现问题的情况下创建实例:[root@host]# virt-sysprep -d rhel6
使用
virt-sparsify
命令减少镜像大小。这个命令将磁盘镜像中的任何可用空间重新转换为主机的可用空间:[root@host]# virt-sparsify --compress rhel6.qcow2 rhel6-cloud.qcow2
这会在您输入命令的位置创建一个新的
rhel6-cloud.qcow2
文件。注意您必须根据镜像手动调整实例分区,根据该类别中的磁盘空间应用到实例。