作者:王春海著
第1章 vSphere虚拟化基础与规划
本章介绍虚拟化基础知识,介绍在虚拟化项目中服务器、存储、交换机的选择与规划,介绍常用网络配置命令、主流服务器的RAID配置等内容。初次学习虚拟化的用户,需要仔细阅读本章内容。
1.1 虚拟化基础概念
如果第一次接触虚拟机并想尝试使用虚拟机软件,可能有许多的疑问。本节主要回答初学者容易混淆或者不清楚的问题,让初学者了解虚拟机、虚拟化与云计算的基础知识。
1.1.1 什么是虚拟机
虚拟机是一台“软件”计算机,确切地说,虚拟机是一种严密隔离的软件容器,它可以运行操作系统和应用程序,就好像一台物理计算机一样。虚拟机的运行完全类似于一台物理计算机,它包含自己的虚拟(基于软件实现的)CPU、内存、硬盘、显卡、声卡、网卡(NIC)。
对于我们用户来说,我们能分清“物理”计算机与“虚拟”计算机,而对于运行于计算机之中的操作系统来说,是不会也无从分辨物理机与虚拟机的区别的。对于操作系统来说,不管物理机还是虚拟机,都是一样的。
同样,对于运行在操作系统之上的应用软件来说,基本上没有什么区别。
所以,我们可以使用虚拟机,像使用真正的物理计算机一样,在虚拟机中安装操作系统、各种软件,在虚拟机中做实验,以及在企业中,让虚拟机代替物理机,对外提供服务。
1.1.2 虚拟机与虚拟化的基础
计算机硬件的发展是非常快的,而对于大多数应用来说并不能充分利用和使用硬件,这是虚拟机的基础。举例来说,以个人用户为例,当前计算机主流配置是Intel Core i3 2100、4GB内存、500GB或1TB的硬盘。但对于大多数人来说,用计算机主要是上网、聊天、看视频、处理文档,很少有人使用视频处理、图形处理等耗费CPU或GPU资源的应用,或者即使使用,时间也有限,这就导致大部分的时候CPU的利用率低于30%,甚至只有10%,如作者在写作本书时的计算机配置是Intel Core i5 4690K的CPU、8GB内存、64位的Windows 10操作系统,在大多数时间CPU的利用率小于10%,内存使用小于3GB,如图1-1-1所示。
对于企业来说,当前主流的服务器配置是Intel Xeon E5620的CPU、8GB内存、多个硬盘组成的RAID,许多企业的服务器只是简单地做Web服务器、数据库服务器或FTP服务器,这些服务器的CPU利用率长期低于20%,内存使用率不足30%,硬盘使用率低于5%或10%,如图1-1-2所示,这是某政府的一台IBM 3850服务器,配置了16GB内存、2个4核心的CPU,安装的Windows Server 2003操作系统,该服务器是一个Web服务器,从图中可以看到该计算机的利用率比较低。
从上面的情况来看,计算机的配置比较高,利用率比较低,以及为了充分发挥硬件的性能是虚拟机与虚拟化的基础。对于个人用户来说,使用虚拟机可以搭建实验测试平台,在一台主机上可以根据需要选择运行多个不同的系统;对于企业用户来说,使用虚拟化软件,可以将原来在多个不同的物理服务器上运行的系统,迁移到一个主机中同时运行,以达到充分发挥硬件性能的目的。
1.1.3 使用虚拟机的好处与优点
使用虚拟机可以在一台计算机上同时安装并运行多个不同类型的操作系统,并且每个虚拟机之间是独立的并互不影响,每个虚拟机的启动与关闭不影响其他虚拟机的运行。
使用个人虚拟机软件(如VMware的Workstation、Microsoft的VirtualPC)不需要对物理硬盘重新分区,也不影响现有硬盘上的数据,以及当前操作系统上安装的软件,在虚拟机中运行的操作系统与应用软件与主机是独立的,就相当于另外增加了一台(或多台)计算机一样。
通常,VMware虚拟机具备以下4个让用户受益的关键特征。
(1)兼容性:虚拟机与所有标准的x86计算机都兼容。
与物理计算机一样,虚拟机承载着自身的客户操作系统和应用程序,并具有物理计算机上的所有组件(主板、VGA卡、网卡控制器等)。因此,虚拟机与所有标准的x86操作系统、应用程序和设备驱动程序完全兼容,这样,你就可以使用虚拟机来运行你在x86物理计算机上运行的所有相同软件。
(2)隔离:虚拟机相互隔离,就像在物理上是分开的一样。
虽然虚拟机可以共享一台计算机的物理资源,但它们彼此之间仍然是完全隔离的,就像它们是不同的物理计算机一样。例如,如果在一台物理服务器上有4个虚拟机,并且其中一个虚拟机崩溃,则其他3个虚拟机仍然可用。在可用性和安全性方面,虚拟环境中运行的应用程序之所以远优于在传统的非虚拟化系统中运行的应用程序,隔离是一个重要的原因。
(3)封装:虚拟机将整个计算环境封装起来。
虚拟机实质上是一个软件容器,它将一整套虚拟硬件资源与操作系统及其所有应用程序捆绑或“封装”在一个软件包内。封装使虚拟机具备超乎寻常的可移动性并且易于管理。例如,可以将虚拟机从一个位置移动和复制到另一位置,就像移动和复制任何其他文件一样;也可以将虚拟机保存在任何标准的数据存储介质上,从袖珍型的USB闪存卡到企业存储区域网络(SAN),皆可用于保存。
(4)独立于硬件:虚拟机独立于底层硬件运行。
虚拟机完全独立于其底层物理硬件。例如,可以为虚拟机配置与底层硬件上存在的物理组件完全不同的虚拟组件(例如,CPU、网卡、SCSI控制器)。同一物理服务器上的各个虚拟机甚至可以运行不同类型的操作系统(Windows、Linux等)。
虚拟机独立于硬件,再加上它具备封装和兼容性这两个特性,因此可以在不同类型的x86计算机之间自由地移动它,而无需对设备驱动程序、操作系统或应用程序进行任何更改。独立于硬件还意味着可以在一台物理计算机上混合运行不同类型的操作系统和应用程序。
1.1.4 虚拟机与虚拟化
虚拟机,通常是指运行在VMware Workstation、Virtual PC、VMware ESX Server等众多虚拟机软件中的一个“虚拟”的计算机系统。
虚拟化,是指一种行为或动作,即将原来运行在物理计算机中的操作系统或软件,采用工具或一些操作,“移植”到虚拟机中运行的一种行为或动作。
1.1.5 虚拟机有何用处
虚拟机最初的用途比较简单,例如,在MAC平台上运行Windows软件。最初的虚拟机就是在这种情况下开发出来的。即为了解决在一个系统中运行另一个系统的问题,例如,在Windows中运行Linux、在Linux中运行Windows、在MAC系统中运行Windows与Linux操作系统,最初是为了专业用户测试、实验等需要。作者在2000年左右使用VMware Workstation与Virtual PC的时候,当时的计算机配置是奔腾266、256MB内存、Windows 2000的操作系统,使用虚拟机运行Windows95、Windows98、WindowsNT、MS-DOS6.22、Windows3.1与Linux,并用来做各种实验。可以说,虚拟机是“多系统”安装与运行的另一个选择。这个时候的虚拟机软件需要有“宿主”系统,即该虚拟机软件并不能独立运行,需要运行在Windows、Linux或MAC系统中。
随着计算机软件、硬件的飞速发展与企业应用,VMware推出了VMware GSX Server(用于工作组企业的虚拟机软件)与VMware ESX Server(用于中大企业的虚拟机软件)。VMware GSX Server(在4.0之后改名为VMware Server)仍然需要宿主系统(Windows或Linux)的支持,而VMware ESX Server的底层采用了经过精简与优化的Red Hat Linux系统,所以不再需要宿主系统(实际上VMware ESX Server的宿主系统是Linux)。
另外,有许多我们小时候常玩的、接在电视上的游戏机,一些爱好者们自己制作了可以运行在X86计算机上的“模拟器”,并且将游戏机的ROM复制出来,在模拟器中运行,从本质上来说,这些“模拟器”也是一种虚拟机。
虚拟机的应用很多,主要有以下5方面。
(1)做实验、测试:IP Pro、计算机爱好者、计算机网管需要经常测试多种操作系统与应用软件,使用虚拟机,可以很容易地实现多种操作系统与多种软件环境以及网络环境。程序员也可以用虚拟机测试软件。
(2)做演示录像:如果想捕获操作系统的整个安装过程,传统的方式费时费力,并且录像的效果也不好。使用虚拟机,则很容易做到。
(3)企业服务器合并:目前VMware、Microsoft都提供了企业级的虚拟化软件,可以在一台服务器上,通过创建多台虚拟机,每台虚拟机可以代替传统的服务器,这可以减少企业物理服务器数量,降低企业的成本(购置成本与使用成本)。
(4)运行老的、旧的系统或程序:现在计算机发展很快,而新的计算机硬件可能不支持以前的系统。例如,现在64位的服务器,已经很少安装Netware操作系统了。而许多场合仍然在采用Netware。这时候可以使用虚拟机。
有些软件,只能运行在Windows98或WindowsXP中,而工作站的主流操作系统已经升级到Windows7,此时可以在Windows7中运行Windows98或WindowsXP的虚拟机,在虚拟机中运行以前的程序。
(5)工作站的升级、改造:现在硬件与软件的更新非常快,许多单位计算机是在四五年以前购买的,当时的计算机可以很流畅地运行WindowsXP,但现在来说,许多256MB内存、单核CPU的计算机,运行WindowsXP SP3就已非常缓慢。如果想将操作系统升级到Windows7,基本上只能是更换新的计算机,不能通过扩充内存、增加硬盘来达到目的。而使用VMware View 4的企业虚拟桌面(或其他虚拟桌面或远程终端技术),可以在服务器中运行企业所需要的Windows7(虚拟桌面),通过在现在的工作站中,安装虚拟桌面客户端程序,在虚拟桌面中(实际上是在远程服务器中运行)使用流行的操作系统,这样就不需要更新现有的计算机了。即使将来有了Windows8等操作系统,只需要将服务器中的虚拟桌面升级即可。
1.1.6 目前有许多虚拟机软件,应该怎样选择
首先要看需要。如果是个人做实验用,可以用VMware Workstation、Microsoft Virtual PC、VirtualPC(就是Windows7中的WindowsXP模式用虚拟机),甚至其他虚拟机软件(如SUN的Virtual BOX);如果是企业使用,可以选择VMware Server、VMware ESX Server或Hyper-V Server。
在这里单独说一下个人应用。如果你想实现更多的功能、更好的虚拟机性能,以及方便地管理多个虚拟机,创建多个虚拟机以实现不同的网络环境,则推荐使用VMware Workstation;如果你只是安装有限的几个系统来用,并且你的计算机配置不是很高,使用Microsoft Virtual PC是个不错的选择。
作者推荐大家使用VMware Workstation 8.0,这是目前为止,功能最多、性能最强、使用最方便的个人虚拟机软件。
对于企业虚拟化来说,则推荐VMware ESXi 5.0。VMware ESXi 5.0是目前为止,性能最好的服务器虚拟化产品。
1.1.7 使用虚拟机是否影响主机
前面已经介绍到,虚拟机是一个“软件”,既然是一个软件,就会和运行在计算机上的其他程序一样,需要安装到硬盘上使用,并且在使用的过程中,会占用硬盘的空间。如果这个虚拟机程序(或软件)不运行,则不会占用(或者很少占用)主机的资源。所以,只有虚拟机在运行的时候,才会占用主机资源,这时可能会影响到主机的性能,这和其他程序没有什么区别。
1.1.8 删除虚拟机系统不会影响主机
虚拟机系统相当于软件运行过程中占用的一些磁盘空间。删除虚拟机系统,只是把虚拟机所占用的文件(或文件夹)删除,并不会影响到所在的主机系统。删除不用的虚拟机,也不会影响到其他虚拟机。
1.1.9 虚拟机的安全性
在使用虚拟机时,安全性和稳定性是一个主要考虑的方面,当一台物理机分解为多台虚拟机后如何防止病毒侵扰或其他安全性侵入事件?
虚拟机之间是互相隔离的,和网络上的计算机一样。如果病毒通过网络在物理机(或虚拟机)之间传播,那是网络的安全性问题,这些是与虚拟机无关的。另外,使用好的虚拟化产品,如VMware的ESX Server系列,运行在VMware ESX Server中的虚拟机也是很稳定的。
1.1.10 虚拟系统出现故障崩溃了怎么办
这种情况是很少出现的。(1)如果服务器安装的是VMware ESX Server或Hyper-V Server 2008,这个平台是不会安装杀毒软件的,只会在虚拟机中安装,而虚拟机中安装的杀毒软件只会影响自己(就和我们普通的PC一样),不会影响到主机和同一主机上的其他虚拟机(如果是通过网络传播的,那是另外一个问题)。(2)如果用的是VMware Server,在VMware Server主机上很少会有其他的行为(浏览网站、下载、视频、测试其他软件),也很少感染病毒。(3)如果是VMware Workstation,这时候做的是一些测试。病毒可能会破坏这些文件(目前还没有),就是破坏了实验虚拟机,重新安装就是了。
1.1.11 如何对虚拟机进行备份与恢复
VMware虚拟机都可以使用“快照”功能对虚拟机进行备份,VMware Workstation可以创建无限的快照并且可以从快照创建出新的虚拟机,VMware Server可以创建1个快照,VMware ESX Server也可以创建无限的快照。用户可以在需要的时候恢复到快照时的状态,非常快速。
【注意】
在恢复到以前的快照时,虚拟机当前的状态与数据会丢失。对于VMware Workstation与VMware ESX Server的虚拟机来说,可以为当前的状态创建新的快照后再恢复到以前的快照。而VMware Server虚拟机则不可以。
1.1.12 虚拟机是否需要安装操作系统
许多初学者,在使用虚拟机软件时,发现在创建虚拟机时,在可供选择的操作系统列表一栏中,基本上列出了当前(以及以前的)所有操作系统,以为创建了相关的虚拟机后,这些虚拟机会“带”这些系统,这是不对的。前面讲到,虚拟机是一个“软件”计算机,这就和一个新购买的普通的计算机一样,新出厂的计算机是不带操作系统的,需要在计算机中安装操作系统。所以,如果你创建了WindowsXP的虚拟机,你还需要准备WindowsXP的安装光盘(或光盘镜像),在虚拟机中安装WindowsXP操作系统后,才能使用。
1.1.13 VMware试用版与正式版的区别
VMware的所有产品,从面向用户的VMware Workstation到面向企业的VMware ESX Server,都可以从其官方网站www.vmware.com下载30天或60天的试用版,试用版功能是不受到任何限制的,只是使用期限受到限制。在下载VMware产品时,通常要在VMware网站注册,在注册的时候,会获得相关产品30天或60天的试用注册码,所谓“试用期限”就是针对这个注册码来说的。如果你从VMware网站下载了其试用版,并且使用,只要在到期前,更换为正式版的序列号,产品即可以无限期使用;或者在到期前,换用一个用户名、邮箱,从VMware网站获得新的序列号,也可以继续使用。
1.1.14 关于虚拟机的速度
许多第一次接触或使用虚拟机的人,都会惊讶于虚拟机中操作系统的安装速度、启动速度以及运行速度,尤其是虚拟机中操作系统的安装速度。这个速度不是感觉到“慢”,而是感觉在虚拟机中安装操作系统的速度明显或者大大快于直接在主机中安装操作系统的速度。而没有使用过虚拟机的会觉得这是不可思议或者认为是不可能的事情。不管是理论,还是实际的使用情况,在虚拟机中安装操作系统、启动操作系统的速度要优于主机,这是什么原因呢?关于这些,作者是这样理解的:
如果在主机上安装操作系统,需要用光盘启动。从光盘向硬盘上复制操作系统的安装文件这一步骤中,使用的是16位的磁盘驱动,此时并没有充分发挥硬盘的性能,而在虚拟机中安装操作系统,由于有了主机操作系统这一“层”,此时使用的是32位或64位的驱动程序,可以充分发挥硬盘的性能。
在主机上启动操作系统时,要到真正进入操作系统后,才能充分发挥硬盘或主机硬件的性能;而在虚拟机中启动操作系统,可以充分发挥硬件(包括硬盘)的性能,启动速度当然要优于主机。
当然,虚拟机的速度优于主机的速度,只是体现在安装操作系统与操作系统的启动上,而应用软件的运行速度,与主机对比,会略微低于主机。
【小实验】
大家感兴趣的话,可以在主机上安装WindowsXP、Windows7操作系统,然后在VMware Workstation7中创建WindowsXP、Windows7的虚拟机,并在虚拟机中安装,然后统计两者的时间差别。
1.1.15 虚拟机硬件特性
无论是虚拟机,还是主机,都包括CPU、内存、显卡、声卡、网卡这些硬件,无论这些硬件是真实的,还是虚拟的。虚拟机的硬件有些依赖于主机,有些依赖于虚拟机软件。目前的虚拟机软件VMware Workstation、Microsoft Virtual PC、VMware ESX Server(或VMware ESXi)、Hyper-V Server所模拟的虚拟机有如下的特点。
(1)虚拟机的CPU与主机的CPU相同。例如,主机是Intel Core i7 2600,则虚拟机的CPU也是Intel Core i7 2600。但是虚拟机的CPU的核心数量可以与主机不同,这取决于虚拟机软件以及虚拟机的设置。不同的虚拟机软件的参数不同,虚拟机的设置不同,虚拟机中的CPU的核心数量也不同。例如,作者当前的主机是Intel Core i7 2600,这是一个4核心并带超线程的CPU,在主机中显示为8个CPU,而在VMware Workstation 8的虚拟机中,最多虚拟8个CPU(可以在1~8个CPU之间任意设置),则虚拟机中显示的CPU最高可为8个CPU。图1-1-3所示是虚拟6个CPU的截图。
【说明】
为每个虚拟机设置CPU的最大数量不能超过物理主机CPU的数量。例如,主机是4核心不带超线程的CPU,在物理主机中显示为4个CPU,则可以为虚拟机分配1个、2个、3个、4个虚拟CPU,不能为虚拟机分配超过4个的虚拟CPU。
(2)虚拟机的内存依赖于主机的内存与虚拟内存。不能为单一虚拟机分配超过主机可用物理内存的数量,即使分配也不会生效。例如,以VMware Workstation为例,主机有16GB可用内存,但操作系统与其他应用软件使用了2GB内存,则为虚拟机分配时最多可以为其分配14GB,否则即使为虚拟机分配32GB内存,当该虚拟机启动时,也会调整为14GB(进入系统之后可以看到最大可用内存)。在虚拟机的硬件规范中,CPU与内存的数量是受主机限制的。
(3)虚拟机的显卡、声卡、网卡依赖于虚拟机软件。不同的虚拟机软件,所虚拟的显卡、声卡、网卡不同。例如,VMware Workstation虚拟的32位虚拟机的网卡是AMD Pcnet,64位虚拟机的网卡是Intel网卡,而Microsoft Virtual PC虚拟的网卡是intel网卡、S3的显卡。
(4)可以虚拟主机不存在的硬件。例如,VMware Workstation的虚拟机,可以虚拟SCSI、SAS接口卡,而主机可以没有这些硬件。
(5)虚拟硬件数量的总和可以超过主机的物理硬件数量。例如,VMware Workstation的每个虚拟机,可以添加最多10块虚拟网卡。
(6)虚拟硬盘大小可以超过物理硬盘的大小,但虚拟硬盘中占用的空间大小不能超过所在分区可用空间的大小。例如,VMware Workstation 8最大可以创建2TB的虚拟硬盘,这个硬盘大小是在“虚拟机”中让“操作系统”认为有2TB的硬盘。虚拟硬盘占用的空间根据虚拟机安装的操作系统与应用软件动态增加,但不能超过其所在分区可用空间的大小。
1.1.16 虚拟化与云
“云”是什么?许多人可能不明白,许多专家可能也解释不清。简单来说,就是将应用、数据集中存储在相应的服务商,用户需要的时候通过网络、使用便携的设备来使用就可以了。使用云可以减少中间的环节,降低对用户的要求,简化网络的结构。举例来说,现在许多高校在建数字图书馆,每个高校都是购买服务器,存储服务器,组建网络,对本校的师生服务。这些高校的服务器会安装业务系统,存储服务器会从万方等数据商购买数据保存到本地。本校的师生在自己的学校通过校园网使用办公计算机连接到本校的数字图书馆来查阅资料。每个高校都有这样的数字图书馆,都需要配置设备组建网络,都要从数据提供商购买数据,并且过一段时间要更新数据。这样用户获取数据就分三级,如图1-1-4所示。
云应用的方式是省略中间环境。同样对于高校的数字图书馆,每个高校可以不建立自己的数据中心,而直接购买运营商的服务,并且给每个员工以账户或其他的方式,让员工可以使用手机、笔记本电脑、平板电脑等,在家或单位,通过互联网或单位的网络直接访问数据库提供商的数据,如图1-1-5所示。这样省去了高校自建数据中心的组建成本、系统运行的运行成本(电力、人员、设备更新)、每年数据更新成本。并且由于是用户直接访问数据库提供商,也减少了等待数据更新的时间。同样对于数据库提供商来说,也提高了设备的利用率。对于整个社会来说,减少了能源的消耗。