Openstack 自制linux kvm debian6镜像

这篇笔记写了好几个月了,一直没有整理,为了防止以后遗忘,先记录一下


1 参照以前文档搭建一台可以安装kvm虚拟机的机器

http://my.oschina.net/guol/blog/62239
建立镜像

kvm-img create -f raw server.img 5G
3 导入安装ISO

          采用debian6作为模版

安装kvm虚拟机

kvm -m 2048 -drive file=server.img -cdrom debian-6.0.2.1-amd64-CD-1.iso -vnc 10.1.6.89:1 -boot d
5 安装虚拟机

         利用VNC安装虚拟机,把kvm虚拟机安装进创建的镜像里面,全部给/分区,不划分swap

6 启动kvm虚拟机

kvm -m 2048 -drive file=server.img -cdrom debian-6.0.2.1-amd64-CD-1.iso -vnc 10.1.6.89:1 -boot c
VNC连接虚拟机

          利用VNC进入虚拟机,配置eth0网卡,设置为dhcp获取ip,清空/etc/udev/rules.d/70-persistent-net.rules内容,设置内网DNS

8 设置ext4文件系统

          因为openstack需要ext4格式的文件系统,所以把刚才raw格式的server.img镜像转化为ext4格式

   挂载镜像

losetup -f server.img
losetup -a

fdisk -c -u -l /dev/loop0

Openstack 自制linux kvm debian6镜像

    卸载镜像,从偏移量1048576重新挂载

losetup -d /dev/loop0
losetup -f -o 1048576 server.img
losetup -a
Openstack 自制linux kvm debian6镜像


    生成新的镜像,将/dev/loop0镜像copy到一个镜像中,然后卸载旧的镜像

dd if=/dev/loop0 of=debian6.img
losetup -d /dev/loop0
Openstack 自制linux kvm debian6镜像


    挂载新生成的镜像,进行修改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


    制作的镜像经过多次测试,均可以正常使用。




你可能感兴趣的:(Openstack 自制linux kvm debian6镜像)