虚拟机玩游戏怎么样?我的经验总结

我的宿主机为华硕笔记本 i7-2670qm 四核八线程处理器,HD6730显卡,4GB内存,英特尔330 120GB 固态硬盘(SSD),预装windows7-64bit 旗舰版操作系统,因为兼容性问题没装linux,虚拟机为vmware-workstation 9.0正版,win7-32位旗舰版,分配了6个核,开启显卡加速,内存2GB,我没看见有调节显存大小的选项。

我在虚拟机里安装了英雄联盟LOL 和 火炬之光2,全高特效运行,手感和实机上差不多,基本没有卡的时候,除了载入有点慢,因为没在实机上装过,也无从比较。那么总结如下:

Q:在虚拟机里玩游戏是否可行
A:完全可行

Q:虚拟机玩游戏对硬件有何要求
A:要切记虚拟机通常只能发挥宿主机性能的一半或者更少,因此越强的宿主机,我认为虚拟机的性能就越好(在不限制资源的前提下)。如果你的宿主机都不能玩这个游戏,那么虚拟机一定不可以。要玩游戏,cpu的性能几乎没什么要求,对显卡的要求最大。因此我购买了cpu异常强劲的笔记本,从结果来看对虚拟机-游戏是不大好的,虽然hd6730也是张不错的显卡,显存更高达2gb,但是和四核心移动版i7在cpu中的位置比起来是没法比的。因此要达成这一目的,还是台式的DIY机比较好,品牌机几乎都很贫弱,要买到有好显卡的机型可就贵了。

要问虚拟机最大的短板在哪里,我认为是硬盘。原来用我那块西数绿盘跑虚拟机的时候,从虚拟机到宿主机拷贝1GB数据要半个小时甚至更多。因此我现在只在ssd上跑虚拟机,拷贝至少有100MB/s的速度,基本合格。原来我分配的cpu,显卡也不是很弱,但就是卡个不停,我认为就是硬盘导致的,要跑虚拟机,至少也要有ssd加速的级别才行。

Q:对虚拟软件有何要求
A:这个我自己没有体会,但据说VMware的3d性能是要比virtualbox好很多的。vmware 9.0尤其加强了3d性能,那么可以认为它就是现在的王牌。其他的诸如kvm之类,或许根本就没有3d加速。但是最强的方案不是vmware,而是Xen,因为Xen可以把显卡直接分配到虚拟机,让虚拟机直接接触显卡,而不是虚拟软件虚拟出来的虚拟显卡,如此一来可以发挥近乎100%的性能。另外Xen本身可以视为一个操作系统,启动后不需进入任何系统而是启动Xen,这和vmware是运行在windows下不一样,如此一来也容易发挥最大性能。我看过Youtube上有人用Xen同时启动2台windows接在2个显示器上对战使命召唤,那是非常的华丽。但是配置Xen尤其是显卡直推需要大量虚拟化的专业知识,而且单显卡很明显是不行的,将来有钱了我会像这个方向努力。。。

另:Virtualbox是免费软件,VMware是WMware公司的收费产品。Xen是牛津还是剑桥发起的一个项目,免费

Q:对宿主机系统有何要求
A:理论上Linux和windows是都可以的。而且Linux因为稳定占用资源少可能更佳,但是鉴于Linux下只能用坑爹来形容的显卡驱动,很显然普通的虚拟用windows更佳

Q:对虚拟机系统有何要求
A:我自己没有体会,但是据说vmware不支持XP在虚拟机中的3D硬件加速,鉴于XP实在太老了,和今日的虚拟化软件不匹配也是情理之中,所以装win7,但是鉴于win7的体积比较庞大,32位的在17GB左右,64位高达30GB,占用资源也是水涨船高,我体会在普通机械硬盘上xP可以流畅的跑,win7就卡了,因此ssd至少ssd加速是必要的。

Q:对游戏软件有何要求
A:我非常怀念电脑厅(不是网吧)刚开始流行的那个时代,那时候打星际1,曹操传,红警95,从来不用担心配置的问题,但是现在一切都不一样了(完了,暴露年龄了。) 你要注意太新的游戏,同时对配置要求又非常高的,比如鬼泣,由于性能不足肯定是不能在虚拟机中跑的。而由于我使用虚拟机的经验是虚拟机普遍对太老的技术例如DX 7支持不足,因此如果一款游戏太老又使用了DX 7等3d加速,那么它的表现至少就是不能全屏,就憋屈在屏幕中间的一小块区域里。这样的游戏包括五年前甚至十年前的英雄无敌3,铁血联盟2等等(悲剧啊。)如果游戏虽老,但是没有使用DX加速,例如文字avg,就是galgame。是没有影响的。

所以你在虚拟机中装的应该是比较新的,但是对配置不太敏感的游戏。话说3d效果有什么好啊,我换机器之后玩魔兽世界一开全高特效指望有冲击性的不同,结果就那逼样,除了看的清楚点没啥区别。现在的游戏都堕落了,就跟现在的人一样,我年轻那会玩金庸群侠传,仙剑多好啊,前几年我还玩呢,现在的游戏一味注重效果,游戏性啥的都不管了。

Q:在虚拟机中玩游戏有何必要?
A:至少我是不想在自己的机器上运行什么汉化版破解版之类的垃圾,你安个调试器看看他们背地里做了什么就知道了。

嗯,写到这里也差不多了。如果大家也在虚拟机上玩游戏,对本文有些不同看法或见解欢迎留言交流。

几种常见的计算机虚拟技术

全虚拟化技术(Full virtualization)

全虚拟化技术即是对物理硬件进行完全虚拟的一种技术平台,所以在这样的平台运行的Guest OS是不需要对各种常规操作系统进行修改的。而且支持在同一平台上运行各种不同内核,不同类型的操作系统,相当于一台真正的物理机器。其最大的缺点是由于要完全虚拟化硬件,执行效率偏低,实际应用中成本也比较昂贵。常见的技术平台有:Parallels Workstation,Parallels Desktop for Mac,VirtualBox,Virtual Iron,Oracle VM,Virtual PC,Virtual Server,Hyper-V,VMware Workstation,VMware Server (formerly GSX Server),QEMU,Adeos,Mac-on-Linux,Win4BSD,Win4Lin Pro,and Egenera vBlade technology。

半虚拟化技术(Paravirtualization)

半虚拟化技术可以选择性的对部分硬件进行一些必要的虚拟,是全虚拟和内核级虚拟的一种折中的方法,所以其的各方面的表现上基本也是介于两者之间。使用半虚拟化技术需要对Guest OS进行一些必要的修改,对能使其正常运行在虚拟平台上。常见的技术平台有:Xen,UML,TRANGO和KVM。

操作系统级虚拟化技术(Operating system-level virtualization)

这是一个基于操作系统级的虚拟技术,其Guest OS环境和物理机器的系统共享同一个系统内核,有点类似于将各个运行环境隔离。所以在上面只能运行相同内核的系统,并需要对Guest OS做一些必要的修改,被广泛应用于现在的VPS中。常见的技术平台有:Solaris Containers, OpenVZ, Linux-VServer, AIX Workload Partitions, Parallels Virtuozzo Containers和 iCore Virtual Accounts。

硬件辅助虚拟化技术(Hardware-assisted virtualization)

这也是常说的HVM,使用这种虚拟技术可以不需要对 Guest OS进行修改。目前集成了虚拟技术支持的硬件平台有:x86 (and x86_64)—AMD-V,Intel VT-x ,IOMMU ,Power Architecture,Virtage (Hitachi),UltraSPARC T1, T2 and T2+(Sun)。
而支持这些硬件平台的虚拟技术软件有:Linux KVM, VMware Workstation, VMware Fusion, Microsoft Virtual PC, Xen, Parallels Desktop for Mac, VirtualBox and Parallels Workstation。

以上内容主要参考了wiki上的知识,不明之处可进一步详查。

Xen虚拟化

老笔记本安装Xen,半开虚拟化全过程

准备条件

  1. 查看电脑的cpu是否支持虚拟化:输入命令 cat /proc/cpuinfo | grep flags ,查看结果中有没有 pae ,若有则支持半虚拟化,再看有没有 vmx(intel) 或 svm((amd) ,若有,则支持全虚拟化。这个要在 xen 安装之前做,安装后默认就看不到 vms/svm 了。
  2. 确认 BIOS 里虚拟化开关打开。

安装Xen

安装 xen 有两种方法,一种是做安装系统选择 package的时候,选择 virtualization。这样在系统安装完成后, xen也自动安装好了。 另一种是在安装完系统后,输入命令:

yum –y install kernel-xen xen

命令执行完成后, /boot/grub/menu.lst 自动就会有 xen 的启动项了,修改它为默认启动项。安装完成后,使用命令 uname –a 查看内核版本有没有Xen字样。如:输入 xm list 查看有没有 Domain-0。

安装虚拟机

如果需要 VNC 安装,则修改xen配置文件以支持vnc,Xen的配置文件 /etc/xen/xend-config.sxp 默认监听 vnc 的 ip 要改成 0.0.0 .0 ,否则只能在本机连接上去安装系统。(一般服务器是没有 XWindows 的)

如果需要虚拟出 windows系统,那么必须使用全虚拟模式;如果仅仅是需要虚拟 linux 系统可以使用半虚拟模式。本虚拟的运行效率相对全虚拟要快很多。

一、全虚拟

virt-install-v –n vm01 –r 2048 –f /var/lib/xen/images/vm01.img –s 40 –c/var/lib/xen/images/centos55.iso –m AA:BB:CC:DD:EE:FF –vnc
-v 全虚拟 ( 半虚拟用 -p)
-n 要创建的虚拟机名称
-r 内存,单位 MB
-f 指定虚拟机硬盘位置
-s 指定虚拟机硬盘大小,单位 GB
-c 指定安装镜像位置
-m 指定虚拟机 MAC 地址
–vnc 使用 vnc 远程连接安装

注意:-m 后面的mac字符串中字母大写,如果没有关闭 SELinux ,最好把 img 文件和安装镜像 iso 文件都放在 /var/lib/xen/images 文件夹下。在物理机上执行 x m list 查看一下新建的 guest host 机器的 id 。 如果使用 vncviewerl 连接主机 IP:5901 ,这里 ID 是多少,就连接多少。完全虚拟化安装要使用 VNC ,半虚拟化可以使用也可以不使用。

二、半虚拟

半虚拟安装可以使用 http 、 ftp 、 nfs 来做为安装源,这里采用 nfs 方式。
配置 nfs
挂载 centos 的镜像
mount –o loop /var/lib/xen/images/centos57.iso /mnt
编辑 /etc/exports
/mnt * (ro)
启动 nfs
service nfs start

执行命令:

virt-install -p –n vm01 –r2048 –f /var/lib/xen/images/vm01.img –s 40 –l nfs:10.247.0.220:/mnt –mAA:BB:CC:DD:EE:FF –vnc

这里跟全虚拟不同的是 -v 变成了 -p ,然后 -c 变成了 -l ,接下来使用 vnc 安装跟全虚拟的步骤一样,如果直接在物理机上安装,则执行 xm console vm01 命令。
注意 : 在安装过程中,定制 linux 的软件包时,只需要留一个 base ,不要有其他的包,否则会出 bug 。

配置Xen

使用vncviewer远程连接安装完成后,就会在 /etc/xen/ 下生成 vm01 这样跟你指定虚拟机名字一样的配置文件,修改配置文件,可修改 cpu 个数,内存大小, mac 地址等。最重要的,把 vnc = 1 改成 vnc = 0 。这样就不可以远程 VNC 连接了。

克隆虚拟机

克隆前必须关掉被克隆的虚拟机。
virt-clone –n vm02 –o vm01 –f/var/lib/xen/images/vm02.img –m AA:BB:CC:DD:EE:FF
-n 新虚拟机名称
-o 源虚拟机
-f 新虚拟机硬盘文件
-m 新虚拟机 MAC 地址

克隆完成后,可在物理机中使用 xm console name 来进入到这个虚拟机中。修改
Vi /etc/hosts 修改 hostname
Vi /etc/sysconfig/network 修改 hostname
Vi/etc/sysconfig/network-scripts/ifcfg-eth0 修改 ip

Xen基本管理命令

Xm –help 查看帮助
Cd /etc/xen
Xm create vm01 启动 vm01 虚拟机
Xm shutdown vm01 关闭 vm01
Xm destroy vm01 删除 vm01 服务器
Xm reboot vm01 重启 vm01
x m list 查看所有虚拟机

自动启动 vm01
ln -s /etc/xen/vm01/etc/xen/auto/
添加软链接
这样就行了。虚拟机的配置文件:
On_poweroff = “restart”
这个要注意,否则虚拟机关机后,只能到母机上去 xm create vm01 这样开机了。

还有 nfs 的安装配置。这个要在半虚拟化时候要用。

/usr/sbin/virt-install–paravirt –name=node1 –file-size=5 –ram=1024 –vcpus=2–file=/xen/node1 –location=nfs:123.125.162.7:/mnt –extra-args=”ip=123.125.162.45netmask=255.255.255.192 gateway=123.125.162.1 dns=202.106.0.20″ –networkbridge=xenbr0 noipv6(作者:李辉)

Xen虚拟化

也谈Xen虚拟化技术,对比VMware的感触

我不是专业的技术人员,我的一个朋友(IT界知名人士)说我是个二把刀网管,其实主要业务是做市场。其实做市场没有什么不好的,因为做市场的人,除了了解市场行情外,还需要对产品和技术特别关注,因为当客户问到你问题的时候,你总不能来个电话求救吧。必须解答客户的提问。

我这次对XEN架构的虚拟化技术的使用后,也要感谢云集 yunji.hk 从他们那里了解到了XEN架构比VMware虚拟化的优势了。MTOOU.INFO调用;虽然VMware就只有一个文件,不怕虚机之间的病毒串门,但是在自由更换配置及后续功能上着实有一些限制。

Xen对比VMware的感触

一、 随时随地的升级虚机系统,当我们对现有环境运行代码时,客户抱怨速度很慢或者总提示500错误(即超过最大连接数目或部分硬件设备达到饱和状态),只需要通过XEN的控制端滑动几个增量滑动条,就好像用鼠标拉动IE浏览器右侧的滚动条一样,完成过去WM很复杂的配置过程,无需专业技术人员助阵。

二、无缝迁移,为什么要迁移,服务器硬件设备故障了,服务器宕机了,系统会自动从健康的服务器顺利的划出一个空间,将宕机的设备里内容移植过去,整个过程只需要100-300毫秒,正常1秒被分为1000毫秒,所以我们基本上是没有感觉的,这也就是XEN的好处,虽然VMware也可以实现此功能,但需要工程师的配合,我记得2003年的时候讲过心跳线,两台X86的服务器,相互检测谁不行了另外一个就替换它。但是VMware配置麻烦呀,可恶的微慕公司为什么要这么高深呢。

三、系统重装,我今天上午想用个LINUX测试PHP代码,跑MYSQL数据库,下午想用WIN系统跑个MS SQL,按照我们现有的方式,联系技术部,告诉他们我需要做什么,什么时间需要,技术部也很头痛,可能他们会给我另外一个IP的VMware虚机让我测试不同的平台,可我这个人旧是脑袋笨的很,记不住东西,所以我还想要那个IP,那就需要从VMware的管理母服务器上操作了,可是不是所有的客户都能等,一个安装搞了2个小时。但是在XEN架构下,我可以任意安装我需要测试的平台,整个过程只需要3分钟,也不需要麻烦技术部了。当然XEN下首先集成了所有主流的服务器软件,我可以自由选择。

四、数据保留安装,我觉得网站的服务器系统让我折腾的烂了,我也可以在同一个分区下,重新安装系,XEN 可以保留重要目录不变,而执行删除或格式化,甚至我可以保留我的重要文件夹,将WIN平台换成LINUX平台。VMware下,重新安装系统必定会提示你先备份数据然后全盘格式化再安装,然后是漫长的数据恢复,那个累呀。

以上是我通过对 云集yunji.hk 的一点点研究,感谢他们的团队对我的疑惑问题解答。