Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1856624
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2011-03-10 18:30:49

    Xen作为流行的虚拟化技术之一,自然能支持通过hvm的方式将windows作为GuestOS安装,当然,由于设备等驱动等一系列原因,默认安装的 windows是不能达到最佳性能的,因此本文讨论如何在xen上的windows安装其GPLPV驱动以及安装注意事项,特别是个人在实践过程中,出现 了安装完驱动会导致上传速度仅仅能达到20k左右的问题。

    首先考虑在Xen上安装windows的情况,首先准备好安装磁盘和光盘镜像,对于win03,建议10G或者更大的磁盘,对于win08建议20G或者更大磁盘进行安装。

    为了能安装xen,首先保证您的cpu能支持硬件虚拟化,然后创建新的xen配置文件,并通过vnc远程安装(注意:此操作必须保证系统安装了vnc,请 先使用apt-get install vnc*或者yum install vnc*安装vnc组件),典型的配置文件如下:

01import os, re
02arch = os.uname()[4]
03if re.search('64', arch):
04        arch_libdir = 'lib64'
05else:
06        arch_libdir = 'lib'
07kernel = "/usr/lib/xen/boot/hvmloader"
08name = "win08"
09builder = "hvm"
10memory = "1024"
11vcpus = 2
12shadow_memory = 8
13disk = [ 'phy:/dev/lvm/win08_root,hda,w',
14'file:/xxx.iso,hdc:cdrom,r',
15]
16vif = [ "vifname=win08,mac=xx:xx:xx:xx:xx:xx,bridge=xenbr0" ]
17device_model = "/usr/" + arch_libdir + "/xen/bin/qemu-dm"
18vnc=1 #是否启动远程vnc,建议安装后取消
19vnclisten="0.0.0.0" #vnc监听地址
20vncdisplay=1
21vncpasswd='password' #vnc连接密码
22vncunused=1
23apic=1
24acpi=1 #对于win08,必须保证apic和acpi开启,否则无法继续安装
25pae=1
26boot="dc"
27serial = "pty" # enable serial console
28on_reboot = 'restart'
29on_crash = 'restart'

    检查无误,保存为/etc/xen/win08.cfg,然后执行xm create win08.cfg,然后通过vnc客户端链接到5901(通常第一个开启vnc的虚拟机为5901,第二个5902,以此类推),就可以和本地安装 windows一样进行安装。

    等安装完成,可以看到,系统存在几个未安装的驱动,网卡也是模拟的8192网卡,磁盘也仅支持DMA Mode2,可想而知这样的IO性能必然不行,因此,按照官方说明,安装完成之后必须安装PVGPL驱动for windows,此驱动的下载地址为:,在下载页面,根据操作系统的版本选择最新的安装包下载,并在GuestOS中进行安装,在安装过程中,可能会弹出警告信息,直接通过即可。

    在安装驱动过程中,可能导致安装一直无法完成的情况,这种情况一般表现为你启动了两个桌面,只需要切换到另一个桌面,可以看到此桌面弹出了新硬件驱动提示,按照向导选择合适的驱动之后,再切换回来,你会发现安装已经完成,然后重启。

    重启之后,可以发现系统驱动都已经正常,同时多了一个Xen Net Device Driver,但是出于未连接状态,现在你可以设置好此设备的IP等信息,然后再次重启,这次会发现老的8139网卡已经消失,新的Xen Net Device Driver已经可以使用了。



 

    下面修改启动选项,对于win03来说,直接编辑c:\boot.ini即可,内容如下:

1[boot loader]
2timeout=30
3default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
4[operating systems]
5multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise, GPLPV" /noexecute=optout /fastdetect /gplpv
6multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect

    对于win08来说,需要使用bcdedit命令来操作此启动项,官方给出过程如下:

1bcdedit /enum /v         <-- note the guid string next to "identifier" under "Windows Boot Loader"
2bcdedit /copy {string from above} /d "Microsoft Windows Server 2008 GPLPV"    <-- change description to whatever suits you and note the new guid that gets printed as a result
3bcdedit /set {new guid from above} LOADOPTIONS "GPLPV"

    然后在系统的高级选项中选择使用“xxx GPLPV”方式启动。

    继续重启,这样驱动的安装就完成了,这时候,如果你安装了ftp或者iis,可以发现,在外部访问此机器资源的时候,速度都严格限制在30k/s左右,但 是在虚拟机上下载其他资源并没有此限制,出现这样的问题,则可能需要修改网卡的“Large Send Offload”选项,将其禁用,否则,网络速度是无法恢复正常的,给出实例图:



 

    经过这样一番折腾,windows终于完美的在xen中运行起来了。

阅读(1406) | 评论(1) | 转发(0) |
0

上一篇:Spice

下一篇:PHP5模块

给主人留下些什么吧!~~

chinaunix网友2011-03-27 18:33:58

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com