《数据中心虚拟化技术权威指南》一1.2 数据中心虚拟化起源

本节书摘来自异步社区《数据中心虚拟化技术权威指南》一书中的第1章,第1.2节,作者【巴西】Gustavo A. A. Santana,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 数据中心虚拟化起源

数据中心虚拟化技术权威指南
本书的主要目标之一就是正确描述那些所谓数据中心虚拟化趋势的技术特征。在最初的研究过程中,通过切身体会,我遇到过各种对虚拟化的单一解答或仅仅单方面的定义,例如:

  • 虚拟化使得您可以在一台物理机器上运行多个虚拟机,每个虚拟机跨越多个环境,共享一台物理计算机的资源;
  • 虚拟化提供了一个“物理到逻辑”的存储设备抽象,它提供了对复杂的、消耗资源的基础设施和实体的一个简单和一致的表征;
  • 网络虚拟化指的是叠加在一个共同的物理基础设施之上,逻辑隔离网络分区。每个分区在逻辑上都是和其他分区相互隔离的,并且必须表现得像在专用的网络一样,以此来提供私密性、安全性、独立的策略集、 服务等级甚至路由决策。

尽管一开始有点令人失望,但从技术的角度来看,很容易认识到虚拟化必须放置在一定环境里才具备意义。虚拟化一词本身就是一个通用术语,可以包罗万象,从社会网络到模拟现实。

此外,“真正虚拟化”这一术语对我而言似乎总是一个矛盾。

为了给数据中心虚拟化技术提出一个统一的定义,我决定先分析其关联性。作为对这些言论观察的直接结果,请允许我介绍一些历史上的虚拟化技术,以便更好地说明这种常见行为,而它们在现代的虚拟化解决方案中仍然存在。

1.2.1 虚拟内存

存储可以被定义为按照若干时间间隔来保留计算所使用数据的能力。从一开始起,计算机至少部署两个级别的存储。

  • 主存储器(或主内存):可以直接由 CPU 和访问,通常是易失性的。
  • 二级存储器(或辅助内存):它要求一个额外的系统来传输数据到主存储器之中,通常是非易失性的。根据定义,它会是更大、更便宜的存储器,但要比主存储器慢。

在20世纪 50 年代,主内存通过磁核直接部署,而辅助内存则是基于磁鼓旋转方式实现。那时,程序员在编写代码时,需要努力使它不会超过主内存大小。有时候,他们不得不使用一个特定的策略将数据转移到辅助内存之中,从而释放主内存空间以满足程序中更多数据的处理。

1959 年,曼彻斯特大学的阿特拉斯团队发明了一种自动机制,解除了程序员对上述存储分配的烦恼。正如其他任何好主意一样,虚拟内存只是基于一个简单的概念:使用辅助内存作为主内存的扩展。

图 1-4 展示了这种虚拟化技术。


《数据中心虚拟化技术权威指南》一1.2 数据中心虚拟化起源

使用虚拟内存,计算机的 CPU 可以直接访问虚拟内存的一个地址,无需知道它位于主内存或者辅助内存。在这项技术中,虚拟化机制必须执行下列操作:

(1)将虚拟内存地址转化为主内存或辅助内存的位置;

(2)在这两个存储设备之间转换数据;

(3)选择哪些数据将被合理放置在更快的主内存之中。

采用这种做法,一个仿真的主内存呈现给了 CPU,这带来了内存扩展的优势并且增强了程序代码的复用性。

虚拟内存是最新计算机操作系统(如微软 Windows 和 Linux)的一个重要组成部分。常用的虚拟内存方法被称之为分页,这项技术中,被称为页面的同类数据块就是从辅助内存中重新获得的,实现了非连续数据存储。虚拟内存的原理同样适用于“高速缓冲存储器”的创建。

提示:
计算机存储和内存技术将会分别在第 9 章以及第 13 章予以更多、更详细的探讨。

1.2.2 大型机虚拟化

1972 年,与新的一代的处理器(System/370)一起,IBM官方同时发布了大型机虚拟化解决方案。这个概念是建立在对大型机体系结构进行仿真的基础上,允许一个操作系统被透明地运行在一个虚拟机(Virtual Machine,VM)之上。

图 1-5 进一步说明了这种虚拟化技术的基本概念。


《数据中心虚拟化技术权威指南》一1.2 数据中心虚拟化起源

如图1-5所示,VM/370 操作系统包含一个叫做控制程序(Control Program,CP)的软件组件,也可以称之为超级监督者(hypervisor)。这个软件负责虚拟机的创建、资源共享、设备管理、虚拟存储管理和其他传统的操作系统任务。在这种情况下,每个大型机用户可以通过与会话监控系统(Conversational Monitor System,CMS) 交互,来实现自己的专用处理器仿真。

对于 IBM 而言,当时每一个新处理器发布时,客户总会面临操作系统迁移问题,而虚拟机为此迁移提供了一个解决方案。毕竟,使用这种虚拟化,一*立的大型机可以同时安装不同版本的操作系统(包括另一个 CP 实例)。

自大型机虚拟化形成以后,这方面虚拟化的努力实际上开始于 8 年前的一种替代方案,称为分时共享技术,其目的也是将昂贵的大型机资源分配给不同用户。总之,分时共享通过挂起当前用户的作业,并在内存中保存其用户状态,然后加载另一个用户状态的方式,为每个用户提供了一个平等的大型机资源的时间片。

分时共享机制可以被认为是一个“陈旧的”虚拟化技术,因为每个用户均会错误地认为他完全控制另外的计算机。然而,与虚拟机截然不同的是,所有用户共享相同的操作系统,不存在不平等的、 不适当的资源分配情况,也不会处于相同的故障域之中。

这两个概念对当前计算机系统界也是非常重要的。如今,分时共享已是多任务操作系统中的基石,虚拟机则是数据中心 3.0 阶段的旗舰技术。

1.2.3 热备份路由器协议

在TCP/IP网络架构中,一台主机通常使用一个路由器接口作为其默认网关来将数据包转发到另一个 IP 子网。尽管在一个局域网(Local-Area Network,LAN)中可以部署多台路由器,然而绝大多数的TCP/IP 协议栈只允许为每个主机定义一个默认网关。

上述情况暴露了这种体系下与生俱来的一个单点故障,当含有主机所定义网关 IP 地址的那台路由器产生故障时,流量将会中断。

为了克服这种限制,思科公司在 1998 年创建了一个被称为热备份路由器协议(Hot Standby Router Protocol,HSRP)的解决方案(图 1-6)。

如图1-6所示,HSRP 通过以下过程来提供默认网关的冗余性:

两台路由器发送 HSRP Hello 消息来表述参数状态,如所配置虚拟 IP 地址、HSRP 组以及优先级;

通过这些报文,它们发现并决定哪台路由器应该被选举出为本地主机提供虚拟 IP 地址(和派生的虚拟MAC 地址)。具备更高优先级的接口总是当选为活动接口;

如果活动接口故障,其他 HSRP 路由器就会感知到这种失效,于是一个新路由器就会来模拟这个相同的虚拟 IP。如果 WAN 接口失败,路由器也可以降低活动接口的优先级。


《数据中心虚拟化技术权威指南》一1.2 数据中心虚拟化起源

1998 年,HSRP 获得了互联网工程任务组(Internet Engineering Task Force,IETF)的批准,包含在信息注释请求(Request for Comments,RFC)2281 之中。尽管它激发了其他类似的协议,如虚拟路由器冗余协议(Virtual Router Redundancy Protocol,VRRP)以及网关负载均衡协议(Gateway Load Balancing Protocol,GLBP),但 HSRP 依然以两个版本方式——HSRP v1 和 v2——广泛部署于数据中心和校园网络。

1.2.4 定义虚拟化

通过前一节介绍的虚拟化技术(虚拟内存、大型机虚拟化以及 HSRP),您可以看到以下相似之处。

仿真:在所有例子中,均各自仿真了先前存在的资源(主内存,大型机以及默认网关的 IP 地址)。
透明:毫无疑问,IT 资源的使用(CPU、大型机用户、TCP/IP 主机)均无法区分是仿真资源还是物理实体。

好处:与 IT 物理资源(内存扩展、资源优化和高可用性)相比,这些例子均带来各自的好处。

因此,以使用数据中心基础设施技术为背景,这本书将采用以下的定义: “虚拟化是 IT 资源的透明仿真,为其消费者带来物理形态中无法获得的好处”。正如您将在本书后续的章节中看到,虚拟机基本上可以提供两种不同风格的仿真。

模拟:假装拥有某些并不存在的特征行为。

伪装:利用别人的知识,掩饰其真实属性的行为。

另一方面,从单一地址的变更到一个全新逻辑结构的建造,透明在这些技术中有很大差异。同样,受益的范围也是非常多样化的,有时甚至包括原先并没有计划的附带优势。

1.2.5 数据中心虚拟化的时间轴

根据现有虚拟化的定义,更容易在相同的群集下归类数据中心基础设施技术。所以,下面的时间表通过一系列的里程碑描述了这个群集的进化对数据中心现状的影响。

  • 1957 年:分时共享(斯坦福大学)。
  • 1962 年:虚拟内存(曼彻斯特大学)。
  • 1972 年:虚拟机(IBM)。
  • 1984 年:虚拟局域网(贝尔通信研究所)。
  • 1987 年:独立磁盘冗余阵列(加州大学伯克利分校)。
  • 1994 年:以太网通道(卡尔帕娜)。
  • 1996 年:虚拟路由和转发(思科)、逻辑单元号(舒格特联盟)。
  • 1997 年:虚拟磁带库(IBM)、异步传输模式上的局域网仿真(Bay 网络以及 Madge 网络)。
  • 1998 年:热备份路由器协议(思科)。
  • 1999 年:x86 虚拟化(VMware)。
  • 2001 年:存储虚拟化(DataCore)和 VMware ESX(VMware)。
  • 2003 年:防火墙虚拟环境(思科)、虚拟 SAN(思科)、XEN(剑桥大学)、vMotion(VMware)。
  • 2004 年:微软虚拟服务器(微软)。
  • 2005 年:MetroCluster(NetApp),SAN 卷控制器(IBM)和 Invista(EMC)。
  • 2006 年:服务器负载均衡虚拟环境(思科)、N_Port 标识符虚拟化(Emulex、IBM、McData)、弹性计算云
    (亚马逊)。
  • 2007 年:虚拟交换系统(思科)、KVM(开源)。
  • 2008 年:FCOE 以太网光纤通道(思科、Emulex、QLogic)、虚拟设备环境(思科)、Hyper-V(微软)。
  • 2009 年:vSphere 虚拟基础设施(VMware)、虚拟端口通道(思科)、矩阵扩展器(思科)、统一计算系统(UCS)服务配置文件、分布式虚拟交换机(VMware)。
  • 2010 年:重叠传输虚拟化(思科 OTV)、虚拟机阵列扩展器(思科)、VPLEX(EMC)、Open vSwitch(开源)、FabricPath(思科)、vCloud Director(VMware)、OpenStack(Rackspace 和 NASA)。
  • 2011 年:虚拟网络数据通道(思科)、虚拟局域网扩展(VMware、思科、Red Hat、Citrix、其他)、OpenFlow(开放网络基金会)、思科云智能自动化(思科)。
  • 2012 年:ASA 1000V(思科)、vCloud 套件(VMware)、思科 OpenStack Edition(思科)、思科开放网络环境(思科)。

注意:
这个时间轴不是数据中心虚拟化技术的一个详尽清单。它只是说明了随着时间的推移基础设施虚拟化的发展,以及与本书内容显著相关的技术。

上一篇:性能测试工具基本工作原理及基本操作流程


下一篇:HTTP2协议性能测试