1.了解什么是虚拟化虚拟化以及因之而起的云计算毫无疑问是计算机网络技术发展的一大方向,据我了解,即使在烟台,很多企业里也都已经应用了虚拟化技术。凡事皆有因果,虚拟化技术的起因很简单,当初主要是为了解决服务器硬件资源使用率过低的问题。有些服务器比如DNS服务器、DHCP服务器等,CPU使用率通常都在5%以下,这对于那些花大价钱购买来的服务器,无疑是很大的浪费。如果能够将这些服务器合并到一起,那就可以有效地提高服务器硬件的使用率。但是如果只是简单的将所有的服务都安装在同一个操作系统中也是一个非常不明智的选择,比如将Web服务器和SQL安装在同一个操作系统中,此时操作系统、Web、SQL任何一方蓝屏都将导致整个系统崩溃。对于大部分的企业服务,都强调一个操作系统中只安装一个服务。因此,服务器合并必须要基于虚拟化技术,让每一台虚拟机运行一个单独的服务。采用虚拟化技术最明显的优点就是可以减少IT成本以及电费等运营支出;另外也使服务器的管理维护变得更为简单,甚至一个管理员就可以管理上千台服务器;此外在高可用性、冗余、负载均衡等方面,虚拟化技术也都提供了无与伦比的优势。毕业于麻省理工学院以及加州大学伯克利分校(这是IT技术界的2个圣地)的DianeGreene女士把握住了这其中的商机,她于1998年与其他一些伙伴联合创建了VMware公司,并开发出了世界上第一款虚拟化产品。至今,VMware已发展成为全球第三大软件公司,其产品也在虚拟化领域占据了绝对的优势地位。2.虚拟化的两种架构虚拟化主要指的是操作系统平台的虚拟化,即让一台物理计算机能并发运行多个OS(操作系统),并且要让每个OS都觉得自身好像拥有独立的机器,而不是跟别的OS分享。提供这种虚拟化功能的机制就被称为VMM(VirtualMachineMonitor),它更常用的名称是Hypervisor。Hypervisor是虚拟机厂家的最高机密,也是不同虚拟机产品之间的主要差别。从是否存在宿主操作系统的角度,Hypervisor分为两种不同的架构:原生架构和寄居架构。2.1寄居架构寄居架构的Hypervisor被看成一个应用软件或是服务,必须在已经安装好的操作系统上才能运行,最典型的产品就是我们所熟知的VMware公司的VMwareWorkstation以及微软的VirtualPC。寄居架构的好处是硬件的兼容性,只要宿主操作系统能使用的硬件,虚拟机中的操作系统都能使用到。另外它对物理硬件的要求也很低,基本上所有的PC都可以运行VMwareWorkstation或VirtualPC。然而寄居架构的缺点更加明显,首先最致命的是当宿主操作系统出现任何问题时,虚拟机中的操作系统都将无法使用。比如我们在Win7中安装的VMwareWorkstation,如果Win7蓝屏了,那VMwareWorkstation当然也就无法使用了。另外,寄居架构的虚拟机性能和物理主机相去甚远,因此无法用于高负荷的生产环境。所以这种寄居架构的虚拟化产品只能适用于个人用户,对于企业用户是远远无法满足需求的。2.2原生架构(裸金属架构)原生架构又称为裸金属架构,它将Hypervisor直接安装在硬件上,将所有的硬件资源接管。由于Hypervisor层极小,而且不管理太复杂的事项,仅负责和上层的虚拟机操作系统沟通及资源协调,因而蓝屏的概率很低。而且在其上的任何一个虚拟操作系统蓝屏了,都不会影响其它的客户端。另外,原生架构的虚拟机性能与物理主机基本相当,这是寄居架构的虚拟机所远远无法比拟的。目前,原生架构的典型产品是VMware的VMwarevSphere和微软的Hyper-V。原生架构的虚拟机产品也有缺点,这就是为了保持稳定性及微内核,它不可能将所有硬件产品的驱动程序都放入,因此最大的问题就是硬件兼容性。但是大部分的原生架构产品都支持主流服务器及存储设备,但一般PC所使用的硬件,则很多都无法在原生架构的虚拟机下运行。在这方面,vSphere和Hyper-V有着很大的区别。VMwarevSphere采用的是胖管理层,也就是把底层物理硬件的驱动程序都整合到Hypervisor管理层中,所以管理层显得比较胖。很显然,这种架构的性能比较好,但是对于底层物理硬件的要求比较高,兼容性和安全性的挑战比较高。Hyper-V采用的则是瘦管理层,Hypervisor管理层仅用于管理CPU和内存,而不包含底层物理硬件的驱动程序(Hyper-V本来就集成于Windows系统中,可以通过系统直接管理支配硬件设备),所以管理层显得比较瘦。由于不包含硬件驱动,所以代码量比较小,Hyper-V仅有300多K,因此安全性和兼容性要更好一些,但是效率和胖管理层相比有所不如。VMware原生架构的服务器虚拟化产品称为vSphere,但vSphere其实并不是一个单独的软件,而是很多软件的组合。在这些软件的组合中,主要包括两大核心组件:ESXi和vCenterServer。1.ESXiESXi也就是Hypervisor,关于什么是Hypervisor在前面已经介绍过了,它是用来实现虚拟化核心功能的软件,也就是让一台物理计算机能够并发运行多个操作系统。比如我们熟悉的VMwareWorkstation就是一个Hypervisor,所以ESXi的功能与VMwareWorkstation差不多,它也是用来创建虚拟机的,只不过它采用的是原生架构,性能要强大得多。微软方面与ESXi相对应的就是Hyper-V,而且跟Hyper-V一样,ESXi也是免费的。如果我们只是想来体验一下VMware的原生架构虚拟化产品,或者公司的规模非常小,小到只有1台服务器,那完全可以直接使用这个免费的ESXi。但是如果虚拟化的强大功能由这个免费的ESXi就可以全部完成了,那VMware公司岂不要喝风去了?所以各位请注意,VMware虚拟化所有强大的功能都集中在下面要介绍的这个vCenterServer上,而vCenterServer则当然是要收费的了。这点VMware和微软倒是如出一辙,微软也是将Hyper-V免费,而靠功能强大的虚拟机管理工具SCVMM来收费。2.vCenterServerESXi是直接安装在物理服务器上的,而vCenterServer则需要安装在一台64位的Windows服务器上。当网络中物理服务器的数量超过2台时,我们就可以利用vCenterServer将这些服务器构成一个群集,以实现对这些服务器以及运行在它们上面的虚拟机的统一集中管理,免去在不同物理服务器之间来回切换的麻烦。另外利用vCenterServer还可以将所有这些物理服务器提供的硬件资源集中起来形成一个资源池,然后按需要分配给各个虚拟机。这就有些云计算的感觉了,所以vSphere也一直号称是一款云操作系统。当然,上面所说只是vCenterServer的最基本功能,下面列举一下它的其它几个强大功能:2.1vMotion虚拟机迁移VMotion可将正在运行的虚拟机从一台物理服务器迁移到另一台物理服务器,而无需中断服务。比如当某台物理服务器必须要关机或重启的时候,这时为了不影响存在于这台物理服务器中的虚拟机的正常运作,就可以将这些虚拟机迁移到群集中其它的空闲物理服务器中。vMotion迁移的时间很短,而且最关键的是虚拟机所运行的服务不会中断,对于客户端来讲感觉不到任何变化。2.2DRS动态资源分配DRS,DistributedResourceScheduler,它可以实现物理服务器硬件资源的动态分配,以使各台物理服务器的资源消耗基本保持在一个平衡的状态。比如上图中物理服务器ESXiServer2在某个时段的资源占用率过大,vCenterServer就可以将这台服务器中的某些虚拟机,如ExchServer和Apache,转移到群集内其它的资源占用率小的物理服务器中去,比如转移到ESXiServer1或ESXiServer3中。这个DRS功能是通过一套算法自动运作的,无需管理员干预。它的功能的确很强大,所以在vSphere中,虚拟机是处于一个“漂移”的状态,一个虚拟机可能随时会漂移到群集中任何一台物理服务器上。2.3HighAvailability高可用以及FaultTolerance容错HA高可用的原理很简单,假如某台物理服务器崩溃了,那么通过HA就能够快速地在群集内的其他物理服务器上自动重启崩溃服务器上的虚拟机,当然前提是目标物理服务器中要有足够的可用资源。FT容错则可靠性要更高一些,它是在不同的物理服务器中同步运行相同的虚拟机,这样当某台服务器或是某个虚拟机发生故障时,就可以即时切换到另一个。2.4安全性在一台物理服务器中可能运行了很多虚拟机,那么是否所有的这些虚拟机都需要安装杀毒软件呢?如果是的话,那如果正好在某一个时段很多虚拟机都同时启用了全盘扫描,那么势必会消耗大量的硬件资源。其实只需要在物理服务器上安装杀毒软件就可以了,在虚拟机中则不必安装,因为所有这些虚拟机都是使用相同的内存和硬盘,所以这也是vSphere非常牛的一个功能。实施VMware虚拟化的第一步就是在物理服务器上安装ESXi,培训学校给提供了一批浪潮的刀片服务器,4人一组,每组2台服务器。另外还提供了一组存储,由讲师分配给各组使用。感觉ESXi对硬件的兼容性也并不差,它的基本硬件要求:有同学在用VMwareWorkstation创建的虚拟机里竟然也可以安装上ESXi,而且yeslab的视频教程里为了方便演示也是这样操作的,所以我估计在目前的很多PC机里应该也都可以安装上ESXi,这样如果要实施教学的话,对实验条件就不必那么苛刻了。下面我们还是来在浪潮的服务器上安装ESXi。1.远程配置服务器ESXi可以用光盘或优盘的方式直接在服务器上安装,我们这里采用的是远程安装方式,所以首先需要对服务器进行一些必要配置。首先通过IE远程登录到服务器:登录之后,这里需要先对IE浏览器做下安全配置,否则将无法执行配置功能。打开安全选项,选择自定义安全级别,启用两个安全策略,第一个为“加载应用程序和不安全文件”,默认状态是禁用的,改为启用。第二个为“文件下载和文件下载的自动提示”,默认也是禁用的,都改为启用。配置完安全策略后需要先将IE关闭,然后重新打开IE进行登录。登录之后点击“KVMOVERIP”选项,点击右下边“开启”,这样就可以在本地对服务器进行远程管理了。接下来根据提示还需要安装一个java插件:运行之后,就进入到了服务器的配置页面:2.安装ESXi下面首先加载ESXi的iso镜像,在Device菜单中选择“RedirectISO”:选择已经准备好的镜像文件:此时需要将服务器重启,重启之后再次进入服务器管理界面,就会出现ESXi的安装向导:接下来的安装过程就比较简单了,下面只记录一些主要的安装步骤。选择ESXi的安装位置,这里选择安装在本地硬盘:选择键盘布局:默认的管理账号是root,设置密码,注意密码需要满足复杂性要求:确认开始安装:安装进行中……安装之后会自动将服务器重启。重启时可以顺便进入服务器的BIOS设置,确认已经开启了CPU的虚拟化支持。这样,ESXi就安装完成了。3.配置ESXi接下来对ESXi进行适当的配置。按F2进行配置。输入管理账号以及密码:这里主要是对网络进行配置:设置固定IP:服务器上可能有多块网卡,选择已经是连接状态的那块网卡:保存配置。至此,ESXi的安装配置就全部完成了。1.安装vSphereClient在前面我们已经安装好了ESXi,这是实施虚拟化的第一步,接下来我们就可以来创建虚拟机了。但在这之前,我们还必须要先安装一个叫做vSphereClient的软件,这个软件也是vSphere的一部分,它的作用是可以对ESXi进行远程管理,我们必须要借助于它才能来创建虚拟机。vSphereClient的安装过程非常简单,安装完成之后,就可以用它来登录到服务器上。登录之后的界面如图所示:2.挂接存储设备接下来我们还是不能够创建虚拟机,因为在这之前还必须要把存储设置好。如果说虚拟化是云计算的基础,那么存储就可以说是虚拟化的