武文广:虚拟代入现实
主持人:由于时间关系,演讲就到这,大家有什么问题私下交流,也可以去虚拟化技术交流板块去交流。下面请浪潮公司的技术工程师武文广先生,他来讲讲企业虚拟化信息的案例,这一个多月您也经常在外面出差,那就开始吧。
武文广:今天很高兴有机会和大家交流虚拟化的内容,刚才几位嘉宾都把目前市场上主流的虚拟化产品都跟大家做了介绍了,那么我主要是想总另外的角度跟大家做一个简单的交流,因为大家知道虚拟化这两年发展红火,特别是今年,当然有微软一个新产品的推出之后,虚拟化逐步由技术应用的阶段逐步进入到商用阶段。
我们公司今年也做了几个虚拟化的项目,我想借着这几个虚拟化的项目跟大家说一下,如果做虚拟化我们应该怎么做,做一些经验的分享。
我先简单的介绍一下拿来做案例分析的项目的简单的背景,这个单位是一个省级的单位,它的IT建设比较早,而且建设的比较好,但是有一个突出的问题,现在机房光PCServer有80台以上,这样机房在规划的时候的容量都已经不足了,然后他们想通过虚拟化来解决这样一些问题,当然对于他们来讲,包括对于他们行业来讲,虚拟化都是一个非常新的尝试,我们也是跟客户一起来把这个事情做完的。
首先我们看一下很多大中型企业信息化建设进行了这么多年之后,遇到的一些问题,首先就是服务器数量非常多,这是最根本的一个问题,服务器数量多是由于应用系统多,特别是现在我们很多的业务系统都在应用上,然后X86的架构模式在设计的时候,传统意义上它的性能不够强,所以它设计的时候一直没有做虚拟化的东西,所以一直是当服务器应用的,说一我们有多少台应用就有多少台服务器,这样的话作为服务器非常多,这就带来了样对的功耗会鞭打,便利空间缩小,不管托管还是自己机房的有了上限,然后另外就是管理,我们这么多机子刚才几位也提到,服务器多了之后管理起来非常麻烦,另外就是运营成本高,还有一方面就是安全性的问题,服务器有些可能是新买的,有些可能是一年两年三年四年都有,有些信息可能非常重要,这时候如果服务器停了,业务也停了,数据可能就丢了。
这个时候我们知道业界有很多解决方案,但是这些方案意味着成本的提升,特别是像(听不清)这样的方案,我本来服务器数量已经非常多了,现在我可能还需要给服务器加倍,所以我们绝大部分应用都没有做这样的保护,这是一个方面,然后与此相对的另外一个方面,服务器这么多,但是每台服务器的利用率非常低,特别是现在英特尔、AMD这些主流厂商多核技术之后,现在服务器的计算资源是非常强大的,所以这是两个相对的问题。
虚拟化技术就是在应对这个问题而出现的,那么虚拟化技术已经开始成熟,已经逐步进入商用的阶段,这个有几个条件,这是我自己总结的,首先是以多核技术为代表的服务器技术不断的进步,首先我们要做虚拟化,首先我们要做虚拟化,那么我底层的物理机性能必须够强,如果性能不够那就什么都不用谈了,这个首先就是服务器技术不断进步,满足底层服务器性能越来越强了,然后另外内存、硬盘这种,成本变低了,如果我们做虚拟化的话,考虑成本,我就想一台服务器虚拟的越多越好,那么这样的话,CPU越多越好,这样的话这些构建的成本都成为非常现实的问题。
另外一个重要的方面就是市场上其他虚拟化的应用,虚拟化的技术逐步成熟,它不仅仅是满足于一台虚拟机就完了,而且它有一整套的管理的东西,包括备份的东西,这样的话才能起到应用作用。
下面我就跟大家介绍一下我们从项目中总结出来的经验,把一个虚拟化项目运行的一些经验,当然是不全面的,我认为是一些比较重要的部分,现在我们可能意识到根据我说的那些问题了,我们也知道虚拟化能解决这些问题,那我们想上虚拟化应该怎么办,首先是应用性能的评估,这么一大堆服务器在跑,我知道利用率不高,没有充分利用,那我需要进行虚拟化整合,那到底多少台机子来虚拟多少台机子,这个问题我们可能心理没底了,我是20台整合成一台好,还是10台整合成一台好,要解决这个问题设备要找到现在服务器资源的利用状况,我现在这么多台服务器没有用虚拟化之前,资源利用到底是怎么样的,然后第二个我们需要搭建一个虚拟平台,这里边涉及到选型,功能的搭建,因为虚拟化软件比较多,可能每个产品有不同的版本,哪些需要哪些不需要,所以平台的搭建,第三个部分就是做一个测试,现在我们做这个项目来讲,大家对这个技术都比较感兴趣,但是实际上很多人都不是很放心的,所以做一个测试非常有必要。测试完了之后就可以进入实际的应用,全部通过一些工具来迁移上来,这样的话一个虚拟化的项目就实现了。
然后首先是主流虚拟化软件的一个简单的介绍,我觉得现在市场上比较主流的像VMware,它的产品线是最广的,ESX等等,它实际上代表我们刚才说的XEN的一个体系,这个体系中现在主流的应用都有一些功能,这个部分叫操作系统虚拟化,和前三个不太一样,这个产品主要是我们接触不到电信运营商,做那些VPS虚拟主机用的,这个产品可能前三个是虚拟的对象是一台服务器,虚拟出来的一个硬件,把所有的硬件所有东西都虚拟出来,然后该怎么做就怎么做了。然后最后一个像虚拟的对象主要是操作系统,比如说对Windows虚拟出来多个Windows,虚拟的对象不一样。
首先我们如果想做虚拟化的话,我们就去选择一个产品,这个产品的选择,这个选型刚才说到我们市场上虚拟化产品非常多,那我们这个项目所用的一个产品是VMware的VI3,是较高级的企业应用的版本,硬件我们选的是我们自己的服务器,用的是相对来说性能比较好的,然后有32个G的内存,因为虚拟机基本都要存储到光纤存储上,这就涉及到后面一些功能的应用,这个是产品的选型问题。硬件方面就比较简单了,我们就选择性能比较强大的,软件产品选型可能就需要大家对市场主流的一些虚拟化有一个大概的了解,然后哪个更适合做哪种应用。
下面选型之后就是对现有的性能评估,VMware有一个比较好的工具,这个工具实际上就是在现有的服务器机房环境里边,再找一台服务器然后装上一个软件,你肯定要设定你服务器IP的范围,你要设100台性能数据的分析,然后最重要的是它会记录这一大堆服务器在运行过程中的性能状况,最后的结果你会以图形化的方式得出所有服务器的运行状况,这个时间你可以选,只要你认为这个时间能代表你的周期,然后去生成状况,主要是对你现有的应用的性能的了解。
目前CPU版本应该是2.6的,另外收集完之后需要VMware网站一个CPU的帐号,收集完之后是一大堆文件,它要经过分析之后得出一个图形化的分析报告,这个工具大家有所了解就可以了。
接下来就是虚拟化平台的一个部署,这个平台我们讲,这张图上我们画了三个内容,实际上我们可以这么理解,第一个就是传统的应用模式,我在服务器上装操作系统跑应用,第二个我用虚拟化,我把一台服务器分割成多台服务器来用,通过中间这个层来分割成多个虚拟机来用,这是第二种应用模拟,这种应用模拟大家都有一个普遍的担忧,如果底下这台物理机坏掉了,就不能用了,在这种模式下,这个问题确实是存在的,所以针对这个问题,现在虚拟化的一些厂商已经把技术向第三阶段迈进了,也就是说我把多台跑虚拟化的服务器放在一起做成一个集群,像以前我们接触的一些其他的MSS集群一样,可以做成虚拟化的集群,做成虚拟化的集群之后,然后我多台服务器共同跑虚拟机,比如说某一台机器虚拟机跑太多了,我可以非常平滑的迁移到另外一台利用率比较低的机器上,这就是一些DAS等等这样的功能。
现在其他厂商也都在往这个方面去努力,因为这个虚拟化确实有一些安全性能的隐患,然后做了集群之后可以把这个问题避免掉,这是我们的一个客户测试的一个虚拟化平台的一个简单的图。这个服务器备份一下,这个后面挂一台光纤存储,然后另外一台用小的服务器,像VMware的很多功能必须依赖于管理服务器才能做,比如你要做虚拟化集群等等,都必须要依赖于这种VC,所以我们要单拿一台服务器做管理服务器,然后下面三台服务器就是跑虚拟机的。
然后存储,实际上这三台服务器可以理解成只是计算结点,它的硬盘里只存了ESX安装程序,所以我虚拟机都到后台光纤存储上存,处于两个方面的考虑,一个是放在CDB的全光纤存储上性能会更好,因为我们知道多台虚拟机访问一台的话,可能CPU够强,内存够大,那我就把它放在光纤存储,另一方面,比如说迁移的功能等等,必须依赖于光纤存储。不知道大家对这些功能是否有所了解,实际上这些功能用起来确实不错,但是这些东西都离不开光纤存储,所以大家在做规划的时候,存储必须要规划起来。
这是我总结的一些经验性的东西,VMware这个ESX驱动是不能给用户加的,也就是打包好的,那服务器能装不能装这个提前要有一些准备和了解,我们要针对我们的服务器,我们要买的这个服务器进行一个了解,因为如果不能装的话,你就算找到驱动也不能上,主要注意的是网卡,像外接的PCI的网卡,或者HBA卡,这些网卡部件要注意。
然后接下来是硬盘,现在ID硬盘只能里面装ESX,但是做虚拟机不能放在ID硬盘上,也就是说这个文件系统VMFS不支持ID硬盘,所以只能在别的硬盘上来用。然后另外就是DIS这一套的功能,这些功能必须要(为嫩色内)来用,这可能也是一种商业策略。像Vmotion实际上是虚拟机在开机的状态下,在无限接近零的情况下,把它从一台主机迁移到另外一台主机上,这实现了一种功能,实际上借助了一种内存的拷贝技术,第一次我把虚拟机上的内存拷到另外一台机子上,在开始拷的时候,所有内存存到另外一台机器上,然后内容拷完之后再把拷贝期间内容的变化再拷贝过来,像这样一种技术必须依赖于硬盘文件,也就是从A主机能访问,从B主机也能访问,实现不宕机的迁移。
然后做HA集群的话,就是一个细节问题了,比使用DAS,因为做这个集群的话是用域名的,用IP还不行。比如说拿三台ESX主机做集群,这三台主机必须域名,不能用IP来做。然后HA集群实际上它的交互是硬件结点,这个硬件结点坏了,它能把虚拟机的结点迁到这个上面来,像我们传统的软件可能监控的使IP,网络或者磁盘,重要的是服务,是我们应用的一些服务,那这个VMware监控的虚拟机,如果硬件结点坏了能够迁移虚拟机,如果虚拟机自己程序崩溃了,那它就没办法了,这个是我们要理解清楚的。
在3.5这个版本上不能监控虚拟机里面的服务,这是它的一个弊端,这样在这个版本里面加入了一个功能,通过管理VC,通过网络来监控这台虚拟机,如果虚拟机没有反映了,那它会自动重启,这个功能算是对现在功能的一个补充,但是还是没办法做虚拟机的宕机,这个他们会在下一个版本对这个有一个比较大的改进。
刚才我说的把一台虚拟机迁移到另外一台虚拟机上去,做这个的话解释起来比较麻烦,大家如果有实际操作经验的话,有几个断口组,并且更重要的一点是你进行VMotion的主机,因为它直接拷内存过来,所以必须保证你前后这两台主机的指令一致。比如现在CPU有54、53、52的,不同系列之间迁移起来可能会有一些问题,也是针对这个问题,在3.52的版本里边加了一个EVC的一个功能,这个功能可以屏蔽CPU的不一致性,比如说它的5系列和7系列,也就是说我们通常说的路的CPU和4路的CPU在接入这个功能之前是不能做的,有了这个功能是可以做的。
后面是我们做的一些测试,就是说我们做完虚拟环境之后需要做一些测试,比方说虚拟机创建、管理,然后模板,这是做大批量部署的功能,最重要的是后边HA的功能,然后最后是DRS群集,它实际上是基于VMotion技术,如果多台服务器在运行虚拟机的时候,服务器上的资源够大,运行过程中就能自动检测虚拟机的状态,这个功能是自动的。另外借助于VMotion技术的话,这个在迁移过程中从A服务器到B服务器也是不停的,作为用户来讲是感觉不到的。这个功能是自动的,可能会给我们带来一些困扰,比如不想掐了自动就掐了,这个功能也可以设置成手动的,这是功能的测试。
另外一个是性能的测试,大家根据自己不同的应用做自己不同测试的方法,我们现在测试的结果在目前应用的情况下,可能有物理服务器的80%到90%的性能。刚才我们说我们把虚拟化的环境做好,然后我们做性能测试,功能测试,这些都可以了,然后后边非常大的一部分,就是我们把相应的应用拿过来,现在我们企业已经跑了很多应用了,现在我们需要把应用迁到虚拟机上来。
现在有两种方法,第一种方法就是我在虚拟机上和虚拟服务器一一对应,当然这种方法是纯手工的方法,工作量太大,非常累,做起来很麻烦,另外一种方法就是借助一些工具,像VMware、微软都有一些工具,我们这简单的介绍一下VMware的工具,这个工具可以单独在网上下载到,另外用到更多的是我们的VC里边,就是过刚才说的管理中的,这里边会带有这个工具,这个工具有什么用呢,你会设置某一个IP的服务器,他就会向这个服务器配送一个客户端,然后它开始对服务器的硬盘做一个快兆,然后在主机上创建虚拟机,然后把快兆拿到虚拟机里边还原,大概的原理是这样的。
当然它也不是功能较多的,它也有支持的类型的限制,它主要是支持这么三类,一类是咱们说的物理主机,另外一类是一些虚拟机,这个虚拟机可能更多的是,因为我们知道ESX是企业环境用的,可能我们测试环境里边用的一些WorkStation或者为的一些虚拟的环境,我们也可以通过来把它拿回来,还有像第三方的主机,像BE也可以拿过来。具体支持哪些有专门的文档,写的很细了。其实我们大家看一下,主要是Windows的主机,2008目前不支持,像NTSP4一直到2003都可以做到,因为我们是在项目中抓过一台NT的服务器,确实没有问题,这是一些经验。
然后我们要用这个软件的话,两个方式,第一个方式从网上自己下载,因为我们有VC的话可以不做这个,另外一个可以使用,然后迁移了之后就不需要关机,但是做迁移成功率也不是百分之百的,特别是对现在一些工具,物理机太大的时候,可能会失败,可能受一些杀毒软件或者不同软件的干扰,我们只能尽量保证,然后我们的一些服务,还有一个比较重要的一点,我要迁的物理机必须能够解析到我这个ESX主机的域名,因为它还是通过域名来传输的。
还有一个就是迁移的方式,就是关着机,三种模式,第一种模式比较简单,我把虚拟机当成物理机里对待,这个图画的比较复杂,这是传统的方式,这个最大的好处就是比较简单,跟我们传统的模式一样的,最大的问题就是消耗资源,一台物理机跑起来消耗可能会引起一些问题,然后第二种数据备份的模式,实际上就是主要是基于存储,我可以直接不管存储存的什么东西,这个存储必须要支持快兆的技术,然后VMware提供的一种备份方式叫VCB,这种备份方式主要是把虚拟机现有的磁盘文件做一个静像,然后下载到备份服务器上,然后再由备份服务器去安装一个备份软件导出来,它的一个主要用途是备份上面给解放出来。
这实际上是虚拟机的磁盘,我给复制出来一份,放在备份服务器上,再从备份服务器再往外备份,这样的一个过程,然后另外就是虚拟系统的一个扩展性,就是我们要扩展的话,我们可以扩展结点,然后另外我们可以扩展数据库集群,还有一个最重要的我们可以扩展一些存储,比如说我可以加一个存储,这个已经有成功的案例了,这个虚拟系统有很好的一个扩展性。
最后我们看一下大概的收益,我们现在这个项目已经大概整合了60台服务器,因为实际压力也挺大的,最后合理的比例是1:10,我今天跟大家交流的内容就是这些,然后时间比较紧,大家看看有什么问题可以交流一下。