共计 2517 个字符,预计需要花费 7 分钟才能阅读完成。
目的:
在 CentOS 6.5 操作系统环境下制作一个 CentOS 6.5 的 KVM 镜像, 安装 cloud-init, 能自动扩展根分区。
参考:制作 OpenStack 上使用的 CentOS 系统镜像 http://www.linuxidc.com/Linux/2012-10/72483.htm
一、制作环境:
操作环境是在 openstack 平台开一个实例,安装的是 CentOS 6.5,镜像来自:http://cloud.centos.org/centos/6.5/images/CentOS-6-x86_64-GenericCloud-20140929_01.qcow2
CentOS 社区制作的镜像,不支持自动扩展根分区,导致创建实例时不论你指定硬盘大小是多大,它都是 7G 多点。
二、安装软件:
yum groupinstall Virtualization “Virtualization Client”
yum install libvirt libguestfs-tools
三、制作过程:
1、下载一个最小的 CentOS 6.5 的 iso 文件:
wget http://mirrors.163.com/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso
2、创建一个空的镜像文件:
qemu-img create -f qcow2 centos-6.5.qcow2 5G
3、创建命令:virt-install –name centos-6.5 –ram 1024 –cdrom=CentOS-6.5-x86_64-minimal.iso –disk centos-6.5.qcow2,format=qcow2 –grap hics vnc,listen=0.0.0.0 —noautoconsole –os-type=linux –os-variant=rhel6
4、系统安装过程:
分区只分一个, 挂载到“/”,格式为 ext4;
不要 swap,boot 等分区
5、初始化镜像:
(1)安装完系统后,点击重启,其实在 virsh 命令下看这个虚拟机,已经是关机状态了,要用命令启动它
virsh start centos-6.5
注意:启动过程非常慢,只能等待,不要在启动时重启它,不然出问题。
(2)通过 vnc-viewer 连接过去,如果你有跑多个虚拟机,可以用下面的命令来查看这个虚拟机的 vnc 端口
virsh vncdisplay centos-6.5
(3)要使 nova console-log 能将实例启动过程输出到实例启动日志中,要在文件 /boot/grub/menu.lst 中 kernel 参数中增加下面的内容:
kernel …(省略 n 个参数)… console=tty0 console=ttyS0,115200n8
(4)修改网络信息 /etc/sysconfig/network-scripts/ifcfg-eth0(删掉 mac 信息)如下: TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no 增加一行到 /etc/sysconfig/network:NOZERCONF=yes
(5)增加 epel 源、更新系统,安装 git:yum install -y http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y distro-sync yum -y install git
(6)安装 ACPI 服务,能让宿主机对虚拟机进行开关机等电源管理操作 yum install acpid chkconfig acpid on
(7)安装 linux rootfs resize,使得实例启动时可以自动扩展根分区 cd /tmp
git clone https://github.com/flegmatik/linux-rootfs-resize.git
cd linux-rootfs-resize
./install
(8)安装 cloud-init yum install -y cloud-utils cloud-init parted 修改配置文件 /etc/cloud/cloud.cfg,在 cloud_init_modules 下面增加: – resolv-conf(9)关机:poweroff6、
善后操作
(1)清除网络相关硬件生成信息 virt-sysprep -d centos-6.5
(2)压缩镜像 virt-sparsify –compress /tmp/centos-6.5.qcow2 centos-6.5-cloud.qcow2
镜像制作到此结束
在 Ubuntu 12.10 上安装部署 Openstack http://www.linuxidc.com/Linux/2013-08/88184.htm
Ubuntu 12.04 OpenStack Swift 单节点部署手册 http://www.linuxidc.com/Linux/2013-08/88182.htm
OpenStack 云计算快速入门教程 http://www.linuxidc.com/Linux/2013-08/88186.htm
企业部署 OpenStack:该做与不该做的事 http://www.linuxidc.com/Linux/2013-09/90428.htm
CentOS 6.5 x64bit 快速安装 OpenStack http://www.linuxidc.com/Linux/2014-06/103775.htm
参考文档:
http://docs.openstack.org/image-guide/content/centos-image.html#d6e899
https://openstack.redhat.com/Creating_CentOS_and_Fedora_images_ready_for_Openstack
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14