这篇笔记写了好几个月了,一直没有整理,为了防止之后遗忘,先记录一下 shell
1 参照之前文档搭建一台能够安装kvm虚拟机的机器 oop
http://my.oschina.net/guol/blog/622392 创建镜像
kvm-img create -f raw server.img 5G3 导入安装ISO
采用debian6做为模版 测试
4 安装kvm虚拟机 spa
kvm -m 2048 -drive file=server.img -cdrom debian-6.0.2.1-amd64-CD-1.iso -vnc 10.1.6.89:1 -boot d5 安装虚拟机
利用VNC安装虚拟机,把kvm虚拟机安装进建立的镜像里面,所有给/分区,不划分swap .net
6 启动kvm虚拟机 code
kvm -m 2048 -drive file=server.img -cdrom debian-6.0.2.1-amd64-CD-1.iso -vnc 10.1.6.89:1 -boot c7 VNC链接虚拟机
利用VNC进入虚拟机,配置eth0网卡,设置为dhcp获取ip,清空/etc/udev/rules.d/70-persistent-net.rules内容,设置内网DNS orm
8 设置ext4文件系统 server
由于openstack须要ext4格式的文件系统,因此把刚才raw格式的server.img镜像转化为ext4格式 blog
挂载镜像 ip
losetup -f server.img losetup -a
fdisk -c -u -l /dev/loop0
卸载镜像,从偏移量1048576从新挂载
losetup -d /dev/loop0 losetup -f -o 1048576 server.img losetup -a
生成新的镜像,将/dev/loop0镜像copy到一个镜像中,而后卸载旧的镜像
dd if=/dev/loop0 of=debian6.img losetup -d /dev/loop0
挂载新生成的镜像,进行修改fstab文件
mount -o loop debian6.img /livecd修改root分区挂载格式以下
vi /livecd/etc/fstab LABEL=uec-rootfs / ext4 defaults 0 0从/livecd/boot里面copy initrd和vmlinuz文件
cp initrd.img-2.6.32-5-amd64 /mnt cp vmlinuz-2.6.32-5-amd64 /mnt卸载镜像,修改文件系统标志
umount /livecd tune2fs -L uec-rootfs debian6.img
9 在openstack中登记新镜像
#下面的命令会返回一个ID glance add name="debian6 initrd" disk_format=qcow2 container_format=ovf is_public=true < initrd.img-2.6.32-5-amd64 #下面的命令会返回一个ID glance add name="debian6 vmlinuz" disk_format=qcow2 container_format=ovf is_public=true < vmlinuz-2.6.32-5-amd64 #使用上面两个ID上传主镜像 glance add name="debian6 OS" disk_format=qcow2 container_format=ovf is_public=true ramdisk_id="429d4f95-14ec-4748-81e0-52fd57ce9fd1" kernel_id="c9ba5e5d-d903-4127-9b56-dfbbe8a8ceac" < debian6.img
制做的镜像通过屡次测试,都可以正常使用。