引言
在企业网络环境的应用部署中,为避免应用服务之间的冲突,传统的做法是为每一个应用购置一台专用服务器。当应用较多时,一个组织将具有多达数十台以上的服务器。并且,其数量还将随着应用的增加而增加。这种为应用配置专用服务器的传统做法,使得服务器管理面临多种问题:服务器硬件利用率低;服务器电能消耗增大;机房空调成本增加;服务器管理复杂;应用服务的可用性不高。这其中最重要的是应用服务的可用性。由于单台服务器的崩溃,将导致应用服务需要较长的时间才能恢复(物理服务器采购安装、OS安装配置、应用服务安装配置都需要大量时间)。
1技术方案
针对以上问题。早期的解决方案是使用刀片化的服务器结构。刀片化的服务器结构只能一定程度上缓解一些问题,效果并不显著。因为它本质上只是通过共用(或称整合)某些部件的方式对完整的服务器进行了一定程度的简化,仍然没有解决硬件服务器的“专用”问题。更不能提高应用服务的可用性。
近年来,随着IT技术的发展,虚拟化成为解决服务器管理面临问题的有效方法。文中讨论的服务器虚拟化属于其中的平台虚拟化。对于企业的应用环境,某公司的Hyper—V是企业级服务器虚拟化的最重要产品。这种产品的最新版已完全可以满足企业的服务器虚拟化需求(多逻辑处理器支持、大内存支持、动态迁移支持、高可用性)。
其优势在于多年的虚拟化经验、虚拟机对多操作系统的支持和微内核结构带来更高的安全性、易于部署与管理。对于中小企业而言,Hyper—V部署成本更低、更容易。以Hyper—V R2版技术为基础,来讨论与测试企业服务器的整合与高可用性。在企业的实际应用中,虚拟化技术必须与存储技术结合,形成高可用性的虚拟化体系。否则,在单台硬件服务器上虚拟出多个服务器,相当于“将鸡蛋放在一个篮子中”,非常冒险。
综上所述,企业环境中,可以使用虚拟化技术+存储技术,实现服务器的整合与高可用性。Microsoft产品线,可以实现易于管理、方便使用、成本低廉、高可用性整合的虚拟化服务器解决方案,如图1所示。即采用双机群集,形成高可用性的虚拟化平台,在其上虚拟出多台应用服务器。
2实施要点
2.1系统规划
项目实施前,必须对系统连接拓扑、IP分配、存储容量进行规划。共享存储容量需根据可能需要的虚拟机数量及用途决定,可靠性方面采用RAID5+H0TSPARE的方式。节点主机的自身存储不需太大容量,采用RAID1+HOTSPARE的方式保证可靠性。IP规划比较重要,可参照表1进行规划。
2.2节点准备工作
按照系统规划图进行设备连接。以下所有设置适用于2处节点。每个节点操作系统必须单独安装、设置,不得使用克隆方式生成。主要工作:安装windows Server2008 R2企业版(系统区统一在C:\);更改计算机名称为规划中的节点名称;操作系统激活、安装驱动、必备软件;开启远程桌面;添加故障转移群集功能与Hyper—V角色;加入域。
2.3群集心跳连接属性配置
用于群集心跳检测的heartbeat网络连接属性的配置非常关键。Microsoft之前的群集应用(如MSSQL SERVER)中,只保留“Internet协议版本4”项目即可。但在Hyper—V中,必须增加“Microsoft网络客户端”、“Microsoft网络的文件和打印机共享”两个项目,否则不能实现虚拟机的迁移(无论是快速迁移还是实时迁移)。其他的设置包括:不得填写包括网关、DNS在内的任何信息;在WINS设置栏目中,禁用,ICP/IP上的NetBIOS;网络的连接速率要设成1OM半双工。
2.4虚拟网络设置
在“服务器管理器”中添加Hyper—V角色,将产生虚拟网络。为使虚拟机与外网相通,提供服务,其虚拟网络的连接类型一定要是“外部”.并绑定到节点主机的对外网卡。添加Hyper—V角色完成之后,进入Hyper—V管理器,将虚拟网络统一命名为HyperNet,以便群集应用的故障转移。Hyper—V改变了
hyperswitch连接属性,只保留了Microsoft
虚拟交换协议,相当于一台交换机。另外,Hyper -V将产生一个新的、基于虚拟网络的本地连接,该连接继承了原hypetswitch连接的所有属性,供宿主机与外界通讯。将这个新的本地连接名改为public。完成后,共有3个连接(见表2)。
2. 5群集的存储配置
群集的存储指共享存储。其配置包括:在共享盘阵中划分出2个虚拟磁盘,分别用作群集仲裁盘(1G足够)与群集共享数据盘(供存储虚拟机文件与虚拟硬盘VHD文件,根据虚拟机数量及所用的硬盘大小来定);将2台访问主机连接到共享盘中。
对位于阵列柜中的虚拟磁盘进行“联机”、“初始化”、“新建卷”、“格式化”等操作,配置拟用于仲裁的Q盘与拟用于数据存储的S盘。尤其注意盘符及卷标,两节点的配置要相同。
2. 6创建故障转移群集
创建一个双节点的“故障转移群集”,主要工作是指定加入群集的节点主机、群集名称、群集IP地址。可在任一节点的服务器管理器中启动故障转移群集的创建。群集完成后,检查其存储属性,将小容量的盘作仲裁盘。
创建群集共享卷。Windows Server 2008 R2系统中,专为故障转移群集设计了新的分布存取的群集文件系统,称之为群集共享卷(CSV)。CSV技术使得虚拟机在群集节点之间可以实时迁移。故障转移群集创建之后,默认并没有启用CSV,需要手动启用,并指定CSV使用的磁盘。系统创建%Syatem-Drive% /CluaterStorage文件夹,代表群集共享卷。用VolumeX区分不同的卷。磁盘管理器中,将不再有独立的S盘。第一个建立的CSV卷为Volumel,在其中手工创建VM文件夹.用于存放各虚拟机文件。
2. 7虚拟机的创建与配置
虚拟机可以从故障转移群集的“服务和应用程序”中创建(创建的虚拟机自动具有高可用性),也可以在节点的Hyper-V管理器中创建,再手工添加至群集的高可用性服务中。创建虚拟机的过程,主要是确定虚拟的名称及虚拟机文件存储位置、虚拟机内存、虚拟机所使用的网络(接在哪个虚拟交换机上)、以及虚拟硬盘的名称及位置。以VM2003虚拟机为例,虚拟机必须统一存储于群集共享卷。在群集共享卷中创建VM文件夹,专用于存放各虚拟机所有文件。虚拟机配置文件及虚拟硬盘都位于同一文件夹(C ; 1 CluaterStorage 1 Volumel 1 VM 1虚拟机名(VM2003 )\)中,便于备份维护。
虚拟机建立后,如物理机一样,需安装操作系统,并设置其应用服务。
必须注意的是虚拟机操作系统不得启用任何屏幕保护系统,以及其他消耗资源的主题。
2. 8虚拟机的高可用性配置
确保待配高可靠性的虚拟机处于关机状态。在故障转移群集中添加虚拟机,作为高可用的“服务和应用程序”。配置完成的虚拟机,可以从“服务和应用程序”中启动。
2. 9高可用性测试一群集节点的故障转移
故障转移指当前的群集主节点故障(停机、离线),备援节点自动升级为主节点,接管所有的群集资源,并提供群集服务,承载所有虚拟机运行服务。查看并确认当前主节点,从客户端建立至群集IP的连接(如PING - t命令)。关闭当前主节点,观察备节点的接管(共享盘接管、虚拟机承载接管)是否正常。启动当前关闭的节点,观察其加自动加人群集并进入可用状态。
2.10高可用性测试一虚拟机的迁移测试
虚拟机迁移指虚拟机由当前承载节点迁移到另外节点,包括实时迁移与快速迁移,主要用于节点宿主机的计划性维护。需要注意的是,迁移指的是虚拟机的承载者变换,与其承载者是否主节点无关。迁移过程由Windows Server 2008 R2故障转移群集管理器控制。迁移前,可以检查群集当前主节点与虚拟机的当前承载主机。启动迁移后,系统将虚拟机的状态保存(指内存)、拷贝到到另一节点,在其上启动。迁移完成后.可以看出群集共享卷的当前所有者没有改变,但被迁移虚拟机的当前所有者已变更为迁移目标节点。
2. 11高可用性测试一备份与恢复测试
另设一台服务器,安装Windows Server2008 R2企业版,启用Hyper-V角色。一定要确保连接属性命名正确(与群集节点相同)。在群集主节点,通过Hyper-V的导出功能,将正常运行的虚拟机导至备份服务器的硬盘中。在备份服务器,通过Hy-per-V的导入功能,建立虚拟机的副本。这些虚拟机正常处于关机状态,紧急情况下,可以手动启动。将群集节点中的虚拟机关闭,启用备份服务器中的虚拟机,测试虚拟机是否正常。
需要注意的是,备份服务器中的Hyper-V应创建相同名称的虚拟网络(如HyperNet),虚拟机导入完成后,便可直接启动,否则,应手工指定一下虚拟网络;导出方式有2种:“完全导出”与“仅导出虚拟机配置”。如果采用后一方式,需要对所得config. xml文件进行适当编辑,否则不能成功导入。
2.12虚拟机使用USB设备
虚拟机本身是纯软件的(表现为配置文件与虚拟硬盘文件),如何在虚拟机中访问USB设备(主要是一些USB接口的加密狗),解决的方法是共享其他物理机中USB设备。具体的方法是:在局域网中采用一台物理服务器安装USB共享套件(如USBOver Network)的服务器端程序。在虚拟机中,安装USB共享套件的客户端,通过IP网络连接至USB服务器的USB设备,实现虚拟机对USB设备的访问(该物理服务器的USB接口越多越好)。
3结语
采用Hyper-V虚拟化技术,配合存储技术、群集技术、CSV技术,可以建立供企业应用的高可用性的虚拟化服务器整合平台。随着CPU多核技术及其他硬件技术的发展,虚拟化平台将可以承载更多的虚拟机,使得企业的服务器得到更高的整合、更高的效能、更高的可用性。
CIO之家 www.ciozj.com 公众号:imciow