這篇筆記寫了好幾個月了,一直沒有整理,爲了防止之後遺忘,先記錄一下 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
製做的鏡像通過屢次測試,都可以正常使用。