MCPLive > 杂志文章 > VMware vSphere云操作系统配置和应用

VMware vSphere云操作系统配置和应用

2010-06-29张麒赟《微型计算机》2010年6月上

对于准备体验vSphere的用户来说,完成安装只是“万里长征”的第一步,关键在于后续的配置和应用过程。如何才能让vSphere发挥出大效果,如何才能体验到vSphere对于业务的真正改进呢?经过5月下刊《VMware vSphere云操作系统虚拟安装体验》一文的前期准备后,我们拥有了一套可供实际操作的vSphere实验环境。本文将为大家带来实验环境下VMware vSphere云操作系统的后续配置和简单应用,让大家更轻松地体验vSphere的实际改进。

实验环境基本设置

在进行了初始安装之后,我们还需要进行一系列的设置才能让vSphere发挥效力。在vCenter Server虚拟机中,点击桌面图标“VMware vSphere Client”,勾选“Use Windows session credentials”点击“Login”;在安全警告弹出窗口中选中“Install this certificate and do not display any security warnings for‘vcenterserv’”,再点击“Ignore”忽略告警(图1)。


图1

登录之后的界面对于初次接触的用户来说可能有点复杂,不过没关系,只要按照我们的提示操作就不会在这款功能强大的管理工具中“迷路”。首先需要右键点击左侧列表中的“VCENTERSERV”创建一个名为“Test”的DataCenter,因为这是vSphere的逻辑管理结构的基础,无论是之后创建虚拟机还是创建集群,都需要在一个DataCenter里进行。右键点击DataCenter“Test”的图标→“Add Host”,在添加主机向导中输入ESX Server 1的IP地址“192.168.1.55”和用户验证信息(图2)后点“Next”直到完成。同样方法添加ESX Server 2(192.168.1.60)。


图2

关于vSphere的License管理,按照“Home→Administration→Licensing”路径进入vSphere Client的管理界面,我们可以看到试用模式的License已经分配给了三台服务器,其中两台ESX Server,一台vCenter Server。如果需要添加付费的授权,可以点击右侧的“Manage vSphere Licenses…”在向导中逐一添加产品授权。

添加共享存储

接着我们为两台虚拟主机添加共享存储,在vSphere Client中进入界面“Home→Inventory→Hosts and Clusters”,选中“192.168.1.55→Configuration→Storage→Devices→Manage Paths”,将“Path Selection”设置为“Round Robin(VMware)”(图3)。


图3

在主机“192.168.1.60”上做同样的设置。回到“192.168.1.55→Configuration→Storage→Datastores”,点击“Add Storage”启动向导,选择“Disk/LUN”,再选择唯一的80GB磁盘,命名为“SharedDisk”并完成存储的添加。观察窗口下部“Recent Tasks”中“Create VMFS datastore”状态为“Finish”后,进入主机192.168.1.60的相同位置,点击“Refresh”就可以看到“SharedDisk”被自动添加到该主机的存储列表中。


图4

如果大家觉得不够形象,也可以点击Dat aCenter“Test”→“Maps”,勾选“ Host to Network”和“Host to Datastore”,就可以看到其网络和存储连接状况(图4)。从图中我们可以看到两台ESX主机各连接到一个叫Storage1的本地存储,同时连接到一个共享磁盘“SharedDisk”。

基本虚拟交换机设置

vSphere的虚拟化网络vNetwork与Workstation等产品本质上比较相似,但是它更强调具象的虚拟交换机。vSphere的虚拟交换机有两种:基本交换机(vNetwork Standard Switches)和分布式交换机(vNetwork Distributed Switches)。前者在老版本的ESX中已经存在,后者则是vSphere ESX 4.0添加的新功能。


图5

我们先来看看基本交换机的逻辑结构(图5):基本交换机是以ESX Server主机为单位的交换机,每个基本交换机只能在一个主机上存在,但是一个ESX Server主机上可以存在多个基本交换机。说到交换机就必然会说到端口,基本交换机存在4种端口(图6):


图6

1.VMotion Port:就是VMKernel Port,主要负责vMotion等功能的数据传输;
2.VM Port Group:用于虚拟机的虚拟网卡连接基本交换机;
3.Service Console Port,用于管理ESX主机和虚拟交换机;
4.Uplink Port:功能类似于真实物理交换机的上联口,用于连接ESX Server的一块或者多块物理网卡。

说了一些理论,让我们再回到现有的实验环境。在vSphere Client中进入界面“Home→Inventory→Hosts and Clusters”,选择主机“192.168.1.55→Configuration→Networking”,默认会选中基本虚拟交换机“Virtual Switch”。可以看到每台ESX主机安装好后都会创建一个默认的基本虚拟交换机,并且上联端口连接着《VMware vSphere云操作系统虚拟安装体验》一文中安装ESX系统时所选择的那块网卡;同时会创建一个Service Console,IP地址就是ESX Server的地址。


图7

如图7所示,我们为该基本虚拟交换机创建一个VMkernel Port。选择“VMkernel”,接着设置端口属性,后设置IP地址为192.168.1.56,VMkernel默认网关为192.168.1.1,就完成了VMkernel Port的添加。这里需要强调一下VMkernel Port属性的两个参数“Use this port group for VMotion”和“Use this port group for Fault Tolerance logging”,这两个参数直接关系到vSphere的两个重要功能:VMotion和Fault Tolerance,在之后使用到这两个功能时必须在虚拟机所连接的虚拟网络交换机的VMkernel Port上选中这两个选项。

为了保证两边环境一致,我们还需要为ESX Server主机192.168.1.60的基本虚拟交换机添加一个VMkernel Port,IP地址为192.16 8.1.61,VMkernel默认网关为192.168.1.1。

添加分布式虚拟交换机

在基本交换机之后,就该说说分布式交换机(vNetwork Distributed Switches)了。作为一个新功能,自然有它存在的必要。我们刚刚提到VMotion和Fault Tolerance这两个功能,用一句话简单概括就是:在虚拟机不用停机的情况下让它的运行位置在多台ESX Server上直接切换。不过要实现这两个功能有一个限制,就是用于切换的多台ESX Server必须提供设置一样的虚拟交换机。如果使用基本虚拟交换机,那么就意味着必须在参与该功能的每台ESX Server上创建相同设置的虚拟交换机,这对于企业用户来说会是一个非常浩大的工程,而且容易出现人为失误。但是分布式虚拟交换机就可以很好地解决这个问题,它可以让多台ESX Server共用一个或者多个分布式虚拟交换机(图8)。


图8

回到实验环境,我们需要创建一个给两台ESX Server使用的分布式虚拟交换机。在vSphere Client中进入界面“Home→Inventory→Networking”,右键点击DataCenter“Test”→“New vNetwork Distributed Switch”进入创建分布式虚拟交换机向导。还记得我们在《VMware vSphere云操作系统虚拟安装体验》一文中为ESX Server 1和ESX Server 2创建了两块网卡吗?在刚才的基本虚拟交换机中已经用去的一块网卡作为上联口,因此这里我们把“Number of dvUplink ports”设置为“1”,然后选中两台ESX Server的第二块网卡(图9),这样就完成了分布式虚拟交换机的创建。


图9

为ESX Server 192.168.1.55创建VMkernel Port和Service Console Port:在vSphere Client中进入界面“Home→Inventory→Hosts and Clusters”,选择ESX主机“192.168.1.55→Configuration→Networking→Distributed Virtual Switch”,点击“Manage Virtual Adapters”进入管理界面(图10)。


图10

点击“Add”,选择“New virtual adapter→VMkernel→Select port group”设置为“dvPortGroup”同时选中“Use this port group for VMotion”和“Use this port group for Fault Tolerance logging”→设置IP地址为192.168.1.58完成添加VMkernel Port。回到管理界面点击“Add”,选择“New virtual adapter→Service Console→Select port group”设置为“dvPortGroup”→设置IP地址为192.168.1.57完成添加Service Console Port。用同样的方法在ESX Server 192.168.1.60的分布式虚拟交换机部分添加VMkernel Port(IP地址为192.168.1.63)和Service Console Port(IP地址为192.168.1.62)。如此一来我们也就完成了vSphere的网络设置。

安装虚拟机

完成存储、网络设置之后,我们终于可以在vSphere中创建虚拟机以展开应用体验了。在PC1的vSphere Client中进入界面“Home→Inventory→Hosts and Clusters”,右键点击ESX Server 192.168.1.55→“New Virtual Machine”进入创建虚拟机向导,这里和VMware Workstation中创建虚拟机非常相似,我们只要按照导向完成以下操作:“Custom→Name:Win2008→[Storage1](选择安装在ESX Server 1的本地磁盘)→Virtual Machine Version:7→Microsoft Windows,Microsoft Windows Server 2008→Number of virtual processors:2→Memory Size:1GB→NIC1:dvPortGroup(让虚拟机的网卡连接到刚刚创建的分布式虚拟交换机)→LSI Logic SAS→Create a new virtual disk→Disk Size:40GB”,之后保持默认直到创建虚拟机完毕。
创建完虚拟机后,点击创建好的虚拟机“Win2008→Summary→Edit Settings→CD/DVD Drive1”,选中“Connectat power on”和“Host Device”之后确认( 图11)。此时我们需要短暂回到PC2,在ESX Server 1的虚拟光驱中放入Windows 2008的安装镜像,然后再回到PC1上。


图11

点击Summary界面中的“Power On”启动虚拟机,再右键点击左侧虚拟机“Win2008→Open Console”就可以开始操作系统的安装了。需要注意的是,由于操作系统安装在虚拟机套虚拟机的环境中,因此整个安装过程会非常缓慢,请一定要耐心等待。


图12


图13

在安装完成后就可以像在VMware Workstation中一样为其安装VMware Tools。具体方法是在打开的控制界面中点击菜单栏“VM→Guest→Install/Upgrade VMware Tools”(图12)。安装之后重启虚拟机,打开“Display Settings →Advanced Settings→Troubleshoot→Change settings”将硬件加速拖到“Full”(图13),设置后我们会明显感觉到在虚拟机中鼠标移动变得顺畅很多。

Snapshot快照功能

在企业中使用虚拟化环境,常用的业务除了前台的Application Server,就是实验室研发环境居多。我们知道在研发和测试环境中,需要经常对系统环境进行调整,但是很多尝试性的调整很有可能会给研发和测试环境本身带来不稳定甚至崩溃的风险。企业中的研发和测试环境往往需要花费大量时间来搭建和维护,如果经常因为一些调整导致环境的异常,那么必然会严重影响工作效率。

VMware针对这样的环境提出了Snapshot“快照”的概念,它类似于Windows系统的还原点,但是工作的结构在文件系统和分区之下,直接校验虚拟磁盘的逻辑层。Snapshot“快照”允许用户保存虚拟机的某一个甚至多个状态,允许用户返回到某一个状态。这一功能所消耗的资源就是一部分磁盘的额外占用,其技术实质类似“差异备份”,即每一次“快照”所产生的额外磁盘占用仅仅是对比前一次快照或者状态的差异,而不是完整的将磁盘进行保存。


图14

我们来看一下如何应用快照功能。在vSphere Client中进入“Home→Inventory→Hosts and Clusters”界面,右键点击虚拟机“Win2008→Snapshot→Take Snapshot”(图14),然后设置一下“快照”名称就可以创建一个“快照”了,我们将其命名为“Nochange”。接着更改一下虚拟机“Win2008”的系统桌面,回到控制界面右键点击虚拟机“Win2008→Snapshot→Snapshot Manager”,可以查看到该虚拟机所有的“快照”,其中就包括了我们刚刚创建的“Nochage”,同时它还可以标出当前的位置。

选中“Nochage”点击下方的“Go to”,再回到虚拟机的Console界面看看桌面是否又变回了原来的样子呢?需要注意的是“快照”会影响之后VMotion的正常工作,需要回到“Snapshot Manager”点击“Delete All”删除所有Snapshot。

虽然“快照”不是一个复杂的功能,但是我们还是要将它的原理讲解一下,因为这涉及到了接下来我们准备介绍的一个功能:Storage VMotion。

Storage VMotion和VMware VMotion

Storage VMotion和Vmware VMotion功能都属于同一类功能“Migration(迁移)”,所谓“迁移”就是将一台虚拟机从一台主机或者存储设备移动到另外一台主机或存储设备的过程,在vSphere中存在着4种迁移模式(表1是4种迁移模式的属性):

 表1:迁移类型和相关属性

 迁移类型

 虚拟机
 电源状态

 是否更换
 主机或存储

 是否需要
 通过vCenter

 是否需要
 共享存储

 CPU兼容性

 Cold

 关机

 支持同时更换
 主机和存储

 是

 否

 允许不同
 系列的CPU

 Suspend

 暂停

 支持同时更换
 主机和存储

 是

 否

 CPU必须符合
 兼容性要求

 VMotion

 开机

 只允许更
 换主机

 否

 是

 CPU必须符合
 兼容性要求

 Storage
 VMotion

 开机

 只允许更
 换存储

 否

 否

 N/A

1.Cold:在虚拟机关机的情况下进行迁移;
2.Suspend:先将虚拟机至于“暂停”状态,然后进行迁移;
3.VMware VMotion:在虚拟机开机的时候将其从从一台主机迁移到另外一台;
4.Storage VMotion:在虚拟机开机状态下,将其虚拟机文件从一台存储设备迁移到另外一台存储设备。

Storage VMotion

乍看之下Storage VMotion似乎没有什么作用,其实在企业环境下该功能在很多情况下能带来不错的体验,比如:需要维护或者重建存储;需要重新分配存储的负载;需要存储资源分散到物理存储;需要对ESX主机进行升级等等。以上这些情况下,有了Storage VMotion,就不需要为提供重要业务的虚拟机提供停机时间。


图15

Storage VMotion的工作机制具体如下(图15):

1.在目标存储上创建虚拟机目录,并从源存储上复制除虚拟磁盘文件外的其它虚拟机文件;
2.为源存储上的虚拟磁盘文件做一次磁盘快照;
3.将快照复制到目标存储上,再做数次磁盘快照完成复制操作,直至剩下极少数磁盘差异,以确保这部分差异能在极短的时间内完成后一次复制;
4.在极短的一个时间内锁定虚拟机,完成后一次复制,并将虚拟机文件的映射关系转移到目标存储上;
5.删除源存储上的所有虚拟机文件和文件夹。

我们可以在实验环境中对该功能进行测试。在vSphere Client中进入“Home→Inventory→Hosts and Clusters”界面,左键点击虚拟机“Win2008”,在右侧Summary选项卡汇总可以看到虚拟机存储位置“Data store”在ESX Server 1的本地存储Storage1上。


图16

右键点击虚拟机“Win2008”→“Migrate”弹出迁移虚拟机向导,选择“Change datastore”(图16),选择目标存储为共享磁盘“SharedDisk”,窗口中的兼容性验证显示为成功便可进入下一步直至点击“Finish”完成Storage VMotion(图17)。此时虚拟机的存储文件已经由本地磁盘Storage1迁移到了共享磁盘SharedDisk上,而整个过程中提供服务的虚拟机并不会中断服务。


图17

在使用Storage VMotion时,有一些事项需要大家注意:

1.管理员应该花时间计划并协调,为其做准备;
2.在低负载时段执行该操作;
3.请确认ESX服务器可以同时访问源存储和目标存储;
4.再确认一下Storage VMotion的限制条件;
5.附带有已创建磁盘快照的虚拟机不能被迁移;
6.如果需要同时迁移主机和存储,必须先关闭虚拟机;
7.同时只能进行4个Storage VMotion迁移操作。

VMware VMotion

我们在介绍vSphere时曾经多次提到了VMotion(图18),该功能简而言之就是将一台已经启动的虚拟机从一台主机迁移到另外一台主机。VMotion的真正意义在于组建虚拟机高可用集群和动态资源调度,其中后者的作用是当大量虚拟机运行在多台ESX Server上时,如果某台ESX Server出现了负载极重的情况,可以在不停机的情况下将该台ESX Server上的虚拟机迁移到另外一台负载较轻的ESX Server。这对于虚拟化管理平台的智能化管理和高效利用物理机资源有着至关重要的作用。


图18

我们首先简单介绍一下VMotion的工作机制(图19):通过VMotion Network(虚拟交换机的VMkernel Port)复制Memory Bitmap到目标ESX Server,具体方式和Storage VMtion中磁盘快照的逐步复制类似;然后将虚拟机的生产网络和磁盘访问权限切换到目标ESX Server上。整个过程中由于内存数据需要通过VMotion Network进行高速传输,因此压力会非常大。


图19

由于VMotion对于物理机和虚拟机的设置都有一定要求,因此一台虚拟机如果需要执行VMotion操作,虚拟机本身的设置环境需要符合以下条件:

1.虚拟机不能连接到一个内部虚拟交换机(即没有上联口的虚拟交换机);
2.虚拟机的虚拟驱动器(比如光驱和软驱)不能处于挂载着本地镜像的状态;
3.虚拟机不能够设置CPU绑定(即虚拟机的虚拟CPU不能和物理机的CPU进行关联);
4.虚拟机不能处于一个微软MSCS集群中;
5.虚拟机的SWAP文件(虚拟机内存交换文件)必须能够被目标主机访问;
6.如果虚拟机使用裸设备,那么该裸设备必须能够被目标主机访问。

此外提供虚拟机迁移的所有ESX主机的物理环境也必须符合以下条件:

1.虚拟机可以访问使用到的所有存储;
2.使用千兆网络作为VMotion Network;
3.可以访问到相同的物理网络;
4.CPU必须兼容(不过一些功能可以通过Enhanced VMotion Compatibility(EVC)获得兼容)。

因为CPU的兼容性问题比较复杂,我们在这里附上了一个图表(图20)供大家参考,就不再展开讲解了。因为实验环境使用的两台ESX Server 1和ESX Server 2是安装在PC2上的两台虚拟机,使用的都是Phenom Ⅱ X4 945虚拟出的虚拟CPU,所以不会存在CPU的兼容性问题。


图20

回到实验环境,在vSphere Client中进入“Home→Inventory→Hostsand Clusters”界面,点击Data Center“ Test”→“Maps”,勾选“Host Options”和“VM Options”中的全部选项再点击“Apply Relationships”就可以查看环境的拓扑结构了(图21)。大家有兴趣的话,可以逐一对比之前的虚拟机环境和硬件条件。


图21


图22

接下来就可以开始VMotion了:右键点击虚拟机“Win2008”→“Migrate”启动迁移虚拟机向导,选择“Change host →192.168.1.60”,接下来保持默认就可以完成VMotion。再回到之前看拓扑结构的地方对比一下(图22),虚拟机“Win2008”是不是已经迁移到ESX Server 2上了?

写在后

在经过连续的安装和设置过程后,我们终于搭建起了一套VMware vSphere企业级虚拟化环境,并得以在该环境下体验VMotion之类颇具特色的功能。对于企业IT人员来说,这是一个非常实用的预体验过程,你是否已经感受到了企业级虚拟化的魅力了呢?另外如果有需要的话,我们还将会陆续就“如何分配资源池”、“组建虚拟机的高可用性”、“动态资源分配”等各种虚拟化应用的相关问题进行进一步的探讨,欢迎大家发送邮件至mc.chzl@gmail.com进行讨论或分享经验。

分享到:

用户评论

用户名:

密码: