kvm创建server2008镜像和测试镜像                

博客分类:openstack

 

               

制作镜像方法:
如:制作window server 2008镜像,操作步骤如下
1. 首先下载window server 2008.iso和virtio网卡驱动
virtio-win-0.1-30.vfd和virtio-win-0.1-30.iso
下载地址:http://alt.fedoraproject.org/pub/alt/virtio-win/latest/p_w_picpaths/bin
本文章有带virtio-win-0.1-30.vfd的下载

2. 创建一个 10GB 大小的 “硬盘”(raw 格式)

Java代码  

  1. kvm-img create -f raw wind2008server.img 50G  



3. 使用刚才下载的 win server 2008“安装盘” 和刚创建的 “硬盘” 引导启动系统,为了简单起见,VPSee 在这里使用 kvm 虚拟技术,避开 xen 繁琐的配置。-vnc 参数代表打开 vnc 访问,0代表端口号,如1,则5901,以便可以用其他机器远程登录到这个引导界面进行安装操作:

Java代码  

  1. kvm -m 1024 -cdrom windows_server_2008_r2.iso -drive file=wind2008server.img,if=virtio,boot=on -fda virtio-win-0.1-30.vfd -boot d -nographic -vnc :0  



4. 用 vncviewer 登录引导界面后按照屏幕的提示完成

Java代码  

  1. vncviewer 172.16.39.111:5900  



5. 使用virtio-win-0.1-30.vfd驱动安装win2008,找不到硬盘时选择加载驱动,到A盘选择amd64/win2008的驱动

6. 安装完成后进入系统,把系统原来的网络适配器卸载掉,并使用virtio-win-0.1-30.vfd驱动手动安装网络适配器.(这一步很重要,不换驱动可能openstack创建出来的实例网络适配器驱动失效,无法获取IP.)

7. 更新完驱动后,确定网络适配器的名称为Red Hat virtIO Ethernet Adapter,此时机器是不能上网是正常的,然后关闭虚拟计算机,此时镜像制作完毕。

8.压缩镜像

Java代码  

  1. kvm-img convert -f raw -O qcow2 wind2008server.img qcow2_wind2008server.img  




测试镜像是否创建成功:
1. 安装以下软件

Java代码  

  1. sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils  


其中:virt-manager为GUI管理窗口,bridge-utils:用于网络桥接。
2. 执行下面的命令看KVM是否安装成功
kvm -ok
    输出信息:
    INFO: /dev/kvm exists
 KVM acceleration can be used
如果提示信息为:
    INFO: KVM (vmx) is disabled by your BIOS(KVM [vmx]被你的BIOS禁用)
    HINT: Enter your BIOS setup and enable Virtualization Technology (VT)
    则需要进入的BIOS设置界面,启用虚拟化技术[VT],设置步骤为:

    进入BIOS后,选择ADVANCED,然后至 PROCESSOR CONFIGURATION进去找到,
    INTEL (R) VIRTUALIZATION  TECHNOLOGY ,设置成ENABLE,保存退出 。
3. 验证KVM内核是否加载成功:

Java代码  

  1. lsmod | grep kvm  


    输出为:
    kvm_intel     47162   0
    kvm           317577  1  kvm_intel
若KVM内核没加载执行下面命令加载:   
  

Java代码  

  1. $ sudo modprobe kvm  

  2. $sudo modprobe kvm-intel ( or kvm-amd )  


4. 创建br500,用于虚拟机做桥接。
/etc/network/interfaces,如果是静态的话,还需要设置ip与网关

Java代码  

  1. auto lo  

  2. iface lo inet loopback  

  3.   

  4. auto eth0  

  5. iface eth0 inet dhcp  

  6.   

  7. auto br500  

  8. iface br500 inet dhcp  

  9. bridge_ports eth0  



静态的网络设置

Java代码  

  1. auto eth0  

  2. iface eth0 inet manual  

  3.   

  4. auto br500  

  5. iface br500 inet static  

  6. address 192.168.1.50  

  7. netmask 255.255.255.0  

  8. network 192.168.1.0  

  9. broadcast 192.168.1.255  

  10. gateway 192.168.1.1  

  11. # dns-* options are implemented by the resolvconf packageif installed  

  12. dns-nameservers 192.168.1.1  

  13. bridge_ports eth0  



5. 启动网络服务
有两种方法

Java代码  

  1. /etc/init.d/networking restart  


或者

Java代码  

  1. ifup br500  



6. xmanager shell登录到服务器上,启动KVMGUI

Java代码  

  1. virt-manager