zoukankan      html  css  js  c++  java
  • OpenStack Nova 制作 Windows 镜像

            OpenStack Nova 制作 Windows 镜像       

     

    本贴转自http://www.vpsee.com

    上次 VPSee 给 OpenStack Nova 制作 Ubuntu 镜像的时候忘了介绍制作 Windows 镜像和在 Nova 上运行 Windows 虚拟机的情况,前几天刚好有人在微薄上问到这个问题。在 Nova 上运行 Windows 的虚拟机其实很容易,和运行 Linux 虚拟机差不多:先制作一个 Windows 虚拟机镜像(模板),然后再以这个镜像为模板来创建 Windows 虚拟机(实例)。

    安装 Windows 镜像

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

    $ kvm-img create -f raw windowsxp.img 10G
    Formatting 'windowsxp.img', fmt=raw size=10737418240
    

    openstack 启动虚拟机实例的时候使用的是 virtio 接口,但是 windows 默认没有这个接口的驱动,所以需要额外的驱动。然后使用 ISO 文件的 windowsxp.iso 安装盘来安装 Windows:

    $ wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/
    virtio-win-1.1.16.vfd
    
    $ sudo kvm -m 1024 -cdrom windowsxp.iso -drive file=windowsxp.img,if=virtio,boot=on 
    -fda virtio-win-1.1.16.vfd -boot d -nographic -vnc :0
    

    在另外一台机器上使用 vnc 客户端就可以看到 windows 安装过程和进行操作:

    $ vncview 172.16.39.111:5900
    

    安装完 windows 后可以进行一些必要的定制,比如打开 RDP 访问、设置防火墙不要屏蔽 RDP 等,这时候也可以安装一些必要软件,要注意的是这个是以后的模板,要尽量保持系统原样,最好不要做定制也不要装任何软件,可以留给客户自己做,定制这东西每个人口味都不同。

    发布 Windows 镜像

    windows 虚拟机镜像做好以后就可以发布到云里了,注册镜像后会得到一个标志符 ami-00000004,以后就用这个 ami-00000004 来识别云里面的镜像(还记得我们上次做的 ubuntu 镜像的标志符是 ami-00000003 吗?):

    $ euca-bundle-image -i windowsxp.img
    Checking image
    Encrypting image
    Splitting image...
    Part: windowsxp.img.part.00
    Part: windowsxp.img.part.01
    ...
    Part: windowsxp.img.part.65
    Generating manifest /tmp/windowsxp.img.manifest.xml
    
    $ euca-upload-bundle -b mybucket -m /tmp/windowsxp.img.manifest.xml
    Checking bucket: mybucket
    Uploading manifest file
    Uploading part: windowsxp.img.part.00
    ...
    Uploading part: windowsxp.img.part.65
    Uploaded image as mybucket/windowsxp.img.manifest.xml
    
    $ euca-register mybucket/windowsxp.img.manifest.xml
    IMAGE	ami-00000004
    

    检验一下 windows 镜像是否上传成功,ami-00000004 就是我们刚做的 windows 镜像:

    $ euca-describe-images
    IMAGE	aki-00000001	mybucket/vmlinuz-2.6.32-28-server.manifest.xml		available	public		x86_64	kernel
    IMAGE	ari-00000002	mybucket/initrd.img-2.6.32-28-server.manifest.xml		available	public		x86_64	ramdisk
    IMAGE	ami-00000003	mybucket/ubuntutemplate.img.manifest.xml		available	public		x86_64	machine	aki-00000001	ari-00000002
    IMAGE	ami-00000004	mybucket/windowsxp.img.manifest.xml		untarring	public		x86_64	machine
    

    第一个 Windows 虚拟机实例

    有了这个 windows 模板(镜像)以后我们就可以以这个 “镜像” 为模板来为云计算用户创建 n 个 windows 虚拟机,运行之前需要 key:

    $ euca-describe-keypairs
    KEYPAIR	mykey	76:7d:93:88:a0:e5:3e:5d:4b:62:cd:85:c5:23:7a:05
    
    $ euca-run-instances -k mykey -t m1.small ami-00000004
    RESERVATION	r-er0zkjm7	mycloud	default
    INSTANCE	i-00000003	ami-00000004			scheduling	mykey (mycloud, None)	0	m1.small	2011-06-20T14:08:45Z	unknown zone
    

    然后用 nova-manage 命令检查是否成功运行 windows 虚拟机,状态栏 state 应该是 running 状态:

    $ sudo nova-manage vm list
    instance   node            type       state      launched            image        kernel       ramdisk       project    user       zone       index
    i-00000003 node01           running    2011-06-20 14:12:49 7                                       mycloud    vpsee       None       0
    

    大功告成,用一个 RDP 客户端连接 windows 就可以了(这个 windows 云虚拟机使用的是内部 IP):

    # rdesktop 192.168.3.4
  • 相关阅读:
    CSS的未来:游戏的变革Flexbox
    2013年第8周一JAVA对象序列化及TODO标签等
    大年初七回杭州
    2013年2月20日星期三
    2013年周六加班杂记
    大家初八但杭州收拾准备开始工作
    大家初六去香山
    2013年第8周四又是低效的一天
    2013年第8周二Delphi中Union结构
    2013年第8周日元宵节
  • 原文地址:https://www.cnblogs.com/stragon/p/3382315.html
Copyright © 2011-2022 走看看