为OpenStack制作Ubuntu 12.04系统镜像
1. 创建一个 10GB 大小的 “硬盘”(qcow2 格式):
a) sudo kvm-img create -f qcow2 ubuntu.img 10G
2. 使用ubuntu的 “安装盘” 和刚创建的 “硬盘” 引导启动系统,为了简单起见,在这里使用 kvm 虚拟技术。-vnc 参数代表打开 vnc 访问,以便可以用其他机器远程登录到这个引导界面进行安装操作:
a) sudo kvm -m 1024 -cdrom ubuntu-12.04.3-desktop-amd64.iso -drive file=ubuntu.img -boot d -nographic -vnc :10
3. 用 vncviewer 登录引导界面后按照屏幕的提示完成 ubuntu 的安装工作(和在自己电脑上安装 ubuntu 过程一样)。需要注意的是在分区阶段把 10GB 硬盘全部划分成一个 ext4 root 分区,不要创建多个分区也不要创建 swap 区:
a) sudo vncviewer localhost:10
4. 安装完后退出(必要时 kill 掉 kvm 进程),按照下面命令启动刚刚安装好的虚拟机镜像 ubuntu.img。安装一些必要工具(因为这个镜像将会是模板,所以最好保持最简最小化,不要乱装东西):
a) sudo kvm -m 1024 -drive file=ubuntu_img/ubuntu.img -boot c -nographic -vnc :10
b) sudo vncviewer localhost:10
c) apt-get update
d) apt-get upgrade
e) apt-get install openssh-server cloud-init
5. 70-persistent-net.rules 会自动添加其他的网络接口,需要删除这个文件避免自动添加除了 eth0 以外的接口。删除后系统基本就准备好了,关闭虚拟机:
a) # sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules
b) # sudo shutdown -h now
6. 利用glance命令将刚刚创建好的镜像添加到OpenStack中
a) glance add name="ubuntu_12.04_img" is_public=true container_format=ovf disk_format=qcow2 < ubuntu.img
7. 刷新此界面,可看到刚刚添加的镜像。
8. 点击Launch按钮,设置相应的参数,生成该镜像的实例。
9. 进入下图所示界面,单击刚刚创建好的实例名称,即可进入实例管理界面。
10. 在实例管理界面中,单击VNC,即可远程访问相应的虚拟机。