购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1章 软件定义数据中心与软件定义存储

本章从介绍软件定义数据中心(Software-Defined Data Center,SDDC)开始,介绍了SDDC的基本模块,层次细分,以及VMware SDDC的发展与现状,分析了SDDC的优势。同时对软件定义存储(Software-Defined Storage,SDS)、存储虚拟化的起源和发展做了简单介绍。

1.1 软件定义数据中心

1.1.1 软件定义数据中心的起源

在IT基础架构领域,最早出现的软件定义,是软件定义网络(Software-Defined Net-work,SDN)。SDN起源于2006年斯坦福大学的Clean Slate研究课题。2009年,Mckeown教授正式提出了SDN的概念。通过将网络设备的控制平面与数据平面分离开来,并实现可编程化控制,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。

随后,在2012年8月,VMware在其VMworld2012大会上首次提出软件定义数据中心的概念,如图1-1所示。

在商业数据瞬息万变的今天,越来越多的企业希望IT团队能够快速简单地创建应用业务,以此快速满足业务需求。因此,是否需要建立内部IT团队,或者外包其IT和应用,是每个企业急需做出的决策。

图1-1 VMware SDDC

在传统的硬件定义数据中心中,不同的关键业务运行在独立的服务器上。用户若需部署新的业务,必须提前采购和配置服务器、存储和网络硬件,整个周期非常冗长。

而软件定义数据中心则类似于Amazon、Google和Facebook所采取的方法。这一方法与硬件垂直一体化的方法大相径庭。在一个以硬件为中心的数据中心中,用户必须为实现业务功能购买独立的硬件,如存储、服务器、网络等。而通过运用软件定义数据中心,用户可以将存储、服务器、网络等资源池化和自动化,使其变得更加灵活,从而快速响应企业的业务变更需求。

VMware认为,软件定义数据中心是IT演变的下一个阶段,是迄今为止最有效、恢复能力最强和最经济高效的云计算基础架构方法。SDDC方法论将对存储、网络连接、安全和可用性应用抽象化、池化与自动化,整个数据中心由软件自动控制。基础架构提供的服务将聚合起来,并与基于策略的智能调配、自动化和监控功能结合在一起使用。应用编程接口和其他连接器支持无缝延展到私有云、混合云与公有云平台。

简单来说,软件定义数据中心最大的特点是灵活性和弹性。通过软件构建的虚拟层,灵活地调度和配置数据中心的计算资源、网络资源、存储资源、安全控制资源,以虚拟化的形式交付完整的数据中心服务。

1.1.2 基本模块

软件定义数据中心最核心的资源便是计算、存储与网络,这三者是基本的功能模块。与传统以硬件为核心的数据中心不同,软件定义数据中心更强调从硬件抽象出的能力,而并非硬件本身。

对计算资源来说,通过计算虚拟化,计算能力可以从硬件平台抽象出来,让计算资源脱离硬件的限制,形成资源池。计算资源还能够在软件定义数据中心范围内迁移,这样才可能动态调整负载。

对存储和网络资源来说,首先要求控制层与数据层分离,这是脱离硬件控制的第一步,也是能够用软件定义这些设备行为的初级阶段。在这之后,才能考虑如何将控制层与数据层分别接入软件定义数据中心。

除了以上三个最核心的模块,安全也越来越成为数据中心需要单独考量的一个因素。安全隐患既可能出现在基本的计算、存储与网络之间,也有可能隐藏在数据中心的管理系统或者用户的应用程序中。因此,有必要把安全单独作为一个基本模块。

最后,自动化的管理是将软件定义数据中心的各基本模块组织起来的关键。因为对用户来说,超大规模数据中心的管理,自动化是必选。

1.1.3 层次细分

软件定义数据中心通过以下三种关键技术对数据中心中的物理资源进行虚拟化和池化工作,使被抽象化的资源实现统一的管理调度,如图1-2所示。

图1-2 VMware对软件定义数据中心的描述

· 软件定义计算 :虚拟化是软件定义计算最主要的解决途径。虽然类似技术在IBM S/360系列机器中早已出现,但是其真正普及使用、走入大规模数据中心还是在VMware推出基于x86架构处理器的虚拟化产品之后。除了基于VMware的虚拟化解决方案,还有基于XEN、KVM的开源解决方案。虚拟机成为计算调度和管理的单位,可以在数据中心甚至跨数据中心的范围内动态迁移而不用担心服务会中断。

· 软件定义存储 :目前主流的技术方案是管理接口与数据读写实现解耦,由统一的管理接口与上层管理软件交互,而在数据交互方面,则可以兼容各种不同的连接方式。这种方式可以很好地与传统软硬件环境兼容,从而使IT管理人员在不浪费现有硬件设备的前提下平滑过渡到新硬件设备。

· 软件定义网络 :同软件定义存储一样,控制平面与转发平面必须分离。由软件定义的不仅仅是网络的拓扑结构,还可能有层叠结构。除此之外,软件定义网络还具有开放的可编程接口与集中化的网络控制。

1.1.4 VMware SDDC发展与现状

目前,VMware拥有一整套应用于创建软件定义数据中心的产品,这四大支柱产品提供了完整可用的软件定义数据中心解决方案,如图1-3所示。

图1-3 软件定义数据中心

VMware vSphere为计算模块提供处理器和内存资源。VMware vSphere是业界领先的虚拟化平台,使用户能够自信地虚拟化任何应用、重新定义可用性和简化虚拟数据中心。最终可实现高度可用、恢复能力强的按需基础架构,这对于任何云计算环境而言都是理想的基础平台,可以降低数据中心成本,增加系统和应用正常运行时间,并显著简化IT运行数据中心的方式。vSphere专为新一代应用而打造,是软件定义数据中心的核心基础模块。vSphere虚拟化底层结构图如图1-4所示。

图1-4 vSphere虚拟化底层结构图

VMware Virtual SAN和VMware Site Recovery Manager提供存储与可用性服务。其中,VMware Virtual SAN是适用于VMware超融合软件解决方案的企业级存储。Virtual SAN以独特的方式内嵌在虚拟化管理程序中,可为所有虚拟化应用提供经过闪存优化的高性能超融合存储,所需成本仅为专门构建的传统存储以及其他效率较低的超融合基础架构解决方案的一小部分,如图1-5所示。

图1-5 VMware Virtual SAN存储虚拟化平台

而通过Site Recovery Manager与底层复制技术的集成,可以向用户提供基于策略的管理、无中断测试和自动化的恢复计划编排。通过Site Recovery Manager与VMware NSX和VMware Virtual SAN的集成,用户能够以原生形式利用VMware vSphere的优势,并充分利用软件定义数据中心体系结构。借助Site Recovery Manager,用户能够在最大限度缩短停机时间或零停机的情况下在站点间测试和自动执行应用迁移,从而满足各种用例(如灾难恢复、灾难规避、计划内数据中心迁移、站点级别的负载均衡,甚至是应用维护测试)的需求。如图1-6所示。

VMware NSX提供网络虚拟化,其通过提供全新的网络运维模型,突破了当前物理网络的障碍并且允许数据中心管理员将敏捷性和经济性提高若干数量级。VMware NSX提供了一整套简化的逻辑网络连接元素和服务,包括逻辑交换机、路由器、防火墙、负载均衡、VPN、服务质量、监控和安全保护。这些服务可以在虚拟网络中通过基于NSX API的任何云计算管理平台进行调配,并且可以安排在任何隔离和多租户拓扑中。虚拟网络可以通过任何现有的网络进行无中断部署,并且可以部署在任何虚拟化管理程序上。如图1-7所示。

图1-6 Site Recovery Manager可自动进行故障切换并将虚拟机迁移到辅助站点

图1-7 VMware NSX网络虚拟化平台

VMware vRealize Operations提供自动化的管理服务,其可跨物理、虚拟和云计算基础架构(从VMware vSphere和Hyper-V到Amazon Web Services)提供智能运维管理。它借助易于使用的统一管理工具将从应用到存储的数据关联起来,该工具可用于控制性能、容量和配置,其预测性分析功能可推进执行主动操作和基于策略的自动化。如图1-8所示。

图1-8 适用于虚拟基础架构和云计算基础架构的自动化运维管理

1.1.5 软件定义数据中心的优势

软件定义数据中心相比传统数据中心主要提供了以下几个优点:

1.效率

SDDC虚拟化了物理基础设置中的计算、网络、安全和存储组件,因此改善了其效率和敏捷性。由于虚拟化的基础设施不存在硬件孤岛现象,其可以更快响应企业需求的改变。通过抽象化和资源整合以分析为基础的自动化运维管理,软件定义数据中心架构可以降低运维和资本开支。

2.敏捷性

SDDC的云管理平台组件提供横跨多个平台和云的自助服务部署。这一部署基于策略驱动的自动化,并确保用户被限制在其职能范围内操作。

3.控制管理

软件定义数据中心提供了更多的控制与选择。例如,通过采用基于策略的监管框架,软件定义数据中心可以为每个应用程序或基础设施服务提供完善的可用性与安全性。通过运行在私有云或公有云中的自动化业务持续性和灾难恢复特性来缩短宕机时间,将应用业务的正常工作时间延长至最高级别。通过横跨不同云的虚拟化感知安全与合规性缩短宕机时间。使用根源分析来消除解决问题时的时间成本。

4.选择

通过软件定义数据中心的自助服务组件,可以给用户提供部署选择。用户可以在私有、公有或混合云基础设施上部署虚拟机。这样灵活的部署选择给用户提供了高度自由,用户可以根据需求使用软件定义的企业方案在任何时间、任何平台部署任何应用。软件定义数据中心支持多种虚拟机管理程序(Hyper-V、KVM)以及多种云平台(OpenStack、Amazon AWS)。

1.2 存储虚拟化的兴起

1.2.1 服务器虚拟化的日趋成熟

从1999年VMware推出业界第一套x86计算机虚拟化软件,多个操作系统可以安装在一台基于x86的PC或服务器里后,服务器虚拟化技术已经经历了十几年的迭代更新。近年来,随着x86计算机性能的飞速发展—CPU处理能力越来越强,内存容量越来越大,服务器虚拟化的整合率越来越高,性能效率比愈加凸显。目前,服务器虚拟化软件已经运行在几乎所有世界500强的生产或测试环境中,得到了各行各业的充分信任与广泛认可,这标志着服务器虚拟化已经走向成熟。

虚拟化、云计算和硬件技术的发展,使得软件定义成为可能。随着虚拟化和云计算的普及,用户的思维方式也发生了转变,逐渐意识到快速、敏捷、灵活地获取计算资源已经成为可能,并且逐渐要求能按需使用,按需付费。

因此,作为虚拟化和云计算里重要的组成部分,人们开始对存储虚拟化有了遐想空间,存储也应该适应新的需求而不断完善,做到存储即服务,实现快速交付,动态调整。

1.2.2 存储虚拟化的起源和发展

数十年前,计算机服务器的CPU处理能力弱、内存小、单块磁盘的性能和容量都较小。为了不占用服务器内部的CPU和内存资源,提高数据的性能、可靠性(如RAID保护)、可用性(如快照、容灾、双活等)、扩展性,以及提供方便易用的集中管理,诞生了外置磁盘阵列。外置磁盘阵列本身自带智能控制器,能够组织管理数据,并提供快照、容灾等高级的软件功能。

然而,近几年来,新技术的迭代显著地改变了存储架构。其包括以下几方面:

·SSD:延迟从磁盘的毫秒级缩短到亚毫秒级(0.1毫秒),性能从单块15K磁盘的180左右IOPS,猛增到单块SSD的数万IOPS;闪存价格的下降速度比硬盘更快,根据IDC预测,两者价格曲线将于2015—2017年出现交叉,届时单位GB的SSD的价格甚至低于单位GB的15K磁盘的价格。

·CPU多核技术:服务器的CPU多核早已广泛应用到各项业务中,尤其是在虚拟化环境中,多核处理器不仅提高了处理器利用率,而且提高了单台服务器上用户对更多I/O的需求,这反过来驱动底层存储进行变革。虽然当前绝大多数存储控制器采用了x86架构,但是从最近三年才真正开始利用CPU多核处理I/O。

·高速网络技术:分布式存储借助于节点之间的SSD缓存同步复制来确保数据的冗余性,也得益于近年来网络的高速发展;目前,万兆网络的延迟非常小,大约在100微秒,远小于PCIe闪存的延迟1毫秒;如果采用RDMA技术,延迟能更小。

·大容量服务器和磁盘:分布式存储借助于大容量的服务器和磁盘,也能够提供以往外置磁盘阵列才能支持的大存储容量。

分布式存储及面向对象存储技术的逐渐成熟。

虚拟化和云计算要求更智能的存储,能够调用其控制信息,配合上层更灵活、敏捷的部署存储资源。

目前,存储市场上更多的是做数据层的厂商,很少有做控制层的SDS厂商。因为控制平面的复杂度高,而且在短时间内很难看到回报。这些做数据平面的厂商,绝大部分还在抽象化、池化这两个阶段。

抽象化做的是软硬件解耦,池化做的是存储虚拟化。池化包括存储虚拟化和存储标准化,而存储虚拟化指所有存储资源的虚拟化,包括:

·外置磁盘阵列内的虚拟化。

·跨外置磁盘阵列的虚拟化(也即异构存储的管理)。

·分布式存储服务器内的存储虚拟化。

第一步是抽象化,没有解耦,寸步难行;第二步是池化,这样才能灵活分配存储资源;第三步是自动化,存储资源由软件(Hypervisor)来自动分配和管理。

1.3 软件定义存储

1.3.1 软件定义存储简介

软件定义存储(Software Defined Storage,SDS)是软件定义数据中心的一个核心组件。有别于传统的存储,软件定义存储提出了一种新的存储管理模式,使其能够满足软件定义数据中心以及云计算平台对存储提出的全新需求。

软件定义存储将异构存储硬件资源抽象化、池化并自动化。其为虚拟化环境提供了一个高效、敏捷、灵活的存储操作模型,将控制平面与数据平面分离。除了控制平面和数据平面的分离外,软件定义存储通过存储虚拟化还将物理存储与逻辑存储进行了解耦。通过软件定义的存储解决方案,用户可以在不增加工作量的情况下进行纵向和横向扩展。如图1-9所示。

图1-9 软件定义存储

软件定义存储是一种存储解决方案,其从以下三个角度将存储作为软件:

·基于策略的管理:允许通过以应用程序为中心的策略来实现自动存储管理。

·与数据服务无关的虚拟化硬件:允许在虚拟机级别对数据服务进行精细管理,不需要专用的硬件设备。

·异构硬件资源抽象化:将存储资源(包括直连存储DAS、传统SAN、网络存储NAS)以资源池的形式提供给虚拟机。

为了更好地理解软件定义存储,我们引用了全球网络存储工业协会(Storage Network-ing Industry Association,SNIA)对其的定义:SDS允许异构或者专有的平台,但是该平台必须能够提供部署和管理其虚拟存储空间的自助服务接口。除此之外,SDS还应该包括以下内容:

·自动化:简化管理,降低维护存储架构的成本。

·标准接口:提供应用编程接口,用于管理、部署和维护存储设备与存储服务。

·虚拟数据路径:提供块、文件和对象的接口,支持应用通过这些接口写入数据。

·扩展性:无须中断应用,也能提供可靠性和性能的无缝扩展。

·透明性:提供存储消费者对存储使用状况及成本的监控和管理。

1.3.2 与存储虚拟化的区别

近十几年,存储及其管理大致经历了三个阶段:软件与硬件的紧耦合;软件与硬件半耦合;软件与硬件松耦合。随着软件与硬件耦合程度的降低,存储硬件设备的管理越来越自动化,而存储服务也越来越灵活。但是,存储虚拟化并不等于软件定义存储,二者是存在本质区别的。存储虚拟化对控制层和数据层进行了抽象化,并且控制层抽象依赖于数据层抽象。而软件定义存储将控制层进行了抽象化,将抽象的控制层与数据层进行了分离,并提供接口给用户,用户可以使用接口定义自己的数据控制策略。

相比于存储虚拟化,软件定义存储有以下几个优点:

·时间开销少,控制层与数据层分离,使得用户能够更加关注控制层,减少了数据层虚拟化的开销,而且使得用户操作更加灵活和方便。

·数据层的可扩展性高,由于软件定义存储不需要关注数据存储方式,因此可扩展性更高,不仅可以跨不同的存储产品,而且可以跨数据中心。

·数据监控性和数据安全性高,由于软件定义存储提供了足够的API调用底层的信息,因此数据监控更加方便,而且控制层不能影响数据层访问方式,数据存储的安全性增强。

·隔离更易实现,当数据动态传递以及共享时,由于同一物理设备有其不同的数据层和对应的控制层,存储虚拟化对不同虚拟用户访问同一物理设备做隔离时不仅要在数据层隔离,而且要在控制层隔离;而软件定义存储由于共享同一个控制层,因此隔离操作时在控制层相对容易,其主要精力放在数据层隔离。

1.4 本章小结

本章主要对软件定义数据中心进行了介绍,包括其基本模块、层次细分、优势,并结合VMware当前的产品线阐述了VMware对软件定义数据中心的布局。此外,本章还介绍了存储虚拟化以及软件定义存储。 +gwoJjiutX4NvokoJYd7R22EUTMp2Z0xgqFNYl/ibRcreUXeg9YCNDCCX1ZHmFip

点击中间区域
呼出菜单
上一章
目录
下一章
×