虚拟机技术在学校的应用
在日常管理服务器时,总会遇到类似这样的问题:又要安装一个新的应用软件。我们手中的服务器大多都已经 配置好了,并且都运行有一个或多个应用系统。而现在很多应用系统都使用了同样的技术,需要占用同样的资源,例如网络端口、数据库 等等,安装新系统势必会对现有系统造成影响,而且有些程序安装后需要重启计算机,这也是一个不小的麻烦。
下面我们以图书馆服务器为例子,详细讨论一下这个问题。现有的图书馆服务器是08年采购的一台联想R630 G7 企业级服务器,其大致配置如下:
· 处理器:四核英特尔至强处理器,Intel Xeon E7310 @ 1.60GHz x2
· 内存:4G FDB R-ECC DDR2
· 硬盘:146G SAS硬盘
这台服务器的硬件配置已经相当不错了,根据运行监测,cpu的大部分时间的实时使用率都低于5%,也就是说这 台服务器的负载非常低,大部分的处理能力并没有得到利用。那么这台服务器完全能够安装多个应用系统,这就又回到了开头提到的资源占用 和应用系统之间相互干扰这个问题上来了,有没有个比较完美的方案可以充分利用服务器的资源呢,答案是有的,就是虚拟机技术。
通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统就叫做虚拟机。通过虚拟机 软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、 安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言, 它就像是在真正的计算机中进行工作。因此,当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统, 而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,我可以马上恢复虚拟机到安装软件之前的状态。
通过虚拟机,我们基本上可以充分利用每一台服务器了。目前流行的虚拟机软件主要有 VMware 和微软的 Virtual PC, 相比而言,VMware 不论是在多操作系统的支持上,还是在执行效率上,都比 Virtual PC 明显高出一筹,所以我们选择它来进行各种实战演习。 深入了解 VMware 后,发现它有很多版本,下面是一些最基本的版本:
· VMware Workstation:主要用于软件开发、测试、演示等,不能够后台运行。
· VMware GSX server:企业级产品,可以后台运行,有完善的web远程管理和客户管理功能。
· VMware ESX server:企业级产品,不需要操作系统支持,本身就是操作系统,用来管理硬件资源,具有更高的可靠性和效率。
根据我们的目的和硬件条件,选择了 VMware GSX server 作为这次实战演习的主角,而服务器就选用上面提到的图书馆 服务器。VMware GSX server在 Win2003 下的安装过程很简单,使用缺省选项,点击“下一步”基本上就能正常安装了,我们主要探讨一下 虚拟机的设置和虚拟机上操作系统和应用系统的安装。安装好 VMware GSX server ,点击桌面上的“VMware GSX Server Console”
左边的列表中显示系统中有那些虚拟机,右边是各个功能及介绍,上图中显示已经建立了两个虚拟机,一个是Win2003; 另外一个是Debin Linux。点击“New Virtual Machine”会出现一个新建虚拟机的向导,主要步骤如下:
1. 选择虚拟机配置类型:典型配置还是手工配置。
2. 选择虚拟机操作系统,包括主流的 Windows 和 Linux 系列。
3. 设置虚拟机名字和路径。
4. 设置虚拟机网络连接方式。
5. 设置虚拟机磁盘空间。
设置好后点击“完成”就开始建立新的虚拟机了,这个过程要花费一些时间,主要是初始化虚拟机硬盘空间。初始化 完成后就能看到图二所示的虚拟机属性。
· 1024M 内存:今后可以根据需要调整内存的大小。
· SCSI 硬盘:尺寸不能改变。
· CD-ROM:可以指向物理光驱或安装盘的 ISO 镜像文件。
· NIC网卡:采用桥接方式,可以配置与主机对等的 IP 地址,这样其他电脑就可以访问到虚拟机,就像访问一台正真的物理机一样。
· USB设备:可以映射到物理的 USB 端口,这样就虚拟机可以使用 U 盘或加密狗等 USB 设备。
一般来说设置好虚拟机的光驱后,就可以点击“Start this virtual machine”来启动虚拟机了。为了方便起见,我一般 都将虚拟机的光驱指向一个安装盘 ISO 镜像文件。启动后的虚拟机就像我们平时用的电脑一样,正常安装就行了,包括系统的安全配置、 给系统打补丁、安装杀毒软件等。(需要提出的是,在虚拟机上安装系统时几乎可以不用考虑驱动程序的问题,因为虚拟机虚拟出来的硬件设备 都具有很高的兼容性。)如图一所示,图书馆服务器上一共装了两个虚拟机,一个Win2003系统,安装了“学校心理管理系统”; 另外一个是Debian Linux,安装了DNS服务,作为 172.16.14.14 DNS 服务器的备份服务器。图三是图书馆服务器的“任务管理器”,可以发现 CPU 的实时利用率还是很低的,只是系统内存使用率比较大,这是因为每台虚拟机都需要分配一定数量的物理内存。
通过这次虚拟机的体验,总结了以下几个“优点”:
1. 性能:可以看到安装虚拟机后,宿主服务器的性能损耗极低,几乎可以忽略不计,占用比较多的就是系统内存。通过安装虚拟机可以极大提高服务器的实际使用率。
2. 平台支持:虚拟机对各种主流平台的支持都非常好,不同的系统可以完美的运行在同一个物理机上。
3. 隔离和安全:这个问题也很好理解,不同的“机器”之间当然不会相互干扰,更不会存在资源占用的问题。某个虚拟机挂了,不影响其他虚拟机。
4. 服务器使用率及成本:使用虚拟机技术在整合服务器,管理方便,绿色节能,减少硬件投资等方面有明显优势。
5. 方便实验:搞计算机的都喜欢尝试各种不同的应用软件,通过虚拟机,即能实验,又不影响正常使用的系统,灵活方便。
本文仅仅是抛砖引玉。虚拟化技术涉及的范围太广了,例如有服务器虚拟化、网络虚拟化、存储虚拟化、桌面虚拟化等等。在硬件方面, 两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机。Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。 Intel 的主流CPU ,包括桌面平台 Pentium 系列、Core Duo 系列以及服务器/工作站平台上的 Xeon 系列、Itanium 系列都支持Intel VT虚拟化技术。 同时绝大多数的Intel下一代主流处理器,包括Merom核心移动处理器,Conroe核心桌面处理器,Woodcrest核心服务器处理器,以及基于Montecito核心的Itanium 2 高端服务器处理器都将支持Intel VT虚拟化技术。 而AMD方面也已经发布了支持AMD Virtualization Technology(AMD VT)虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的 Athlon 64 X2系列和Athlon 64 FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的Socket F接口的Opteron都将支持AMD VT虚拟化技术。 软件方面除了 VMware 外,微软在2005年就高调推出Virtual Server 2005计划,意味着这个x86架构服务器操作系统领域的巨人也意识到了虚拟化技术的重要性。其最新的 服务器端操作系统 Windows Server 2008 本身就带有 Hyper-V 虚拟化技术,Hyper-V甚至还能够完美支持Linux系统。微软即将发布的桌面操作系统 Windows 7 也包含了 Virtual PC 虚拟技术,用于“XP 兼容模式”。(是不是很有意思,竟然不支持自家的东西,必须要通过虚拟机才能支持。) 互联网上比较流行的下一代IT技术核心“云计算”所依托的基石也是虚拟化技术。
虚拟化能集中并共享资源,实现降低成本、优化利用率的目的,正逐渐流行。从主机到主流,服务器虚拟化已经是大势所趋。作为学校教育信息中心 的一员,我个人觉得信息化技术的建设不能仅仅看到当前的应用,应该与时俱进,把目标放得更长远些,这样才能为学校作出更大贡献。