本章主要介绍了软件定义存储和VMWare Virtual SAN的基本概念,对VMWare Virtual SAN的功能与特性、发展与现状做了介绍。
VMware vSphere是业界领先的虚拟化平台,其不依赖任何操作系统,底层使用ESXi虚拟机管理程序,可以被安装到本地物理硬盘、外置SAN环境、闪存、USB驱动器等地方。作为物理服务器的Hypervisor、vSphere可以访问物理服务器的底层信息。安装了ESXi程序的物理服务器也称为ESXi主机。图2-1阐述了VMware vSphere服务器虚拟化架构。
VMware服务器虚拟化解决方案的核心思想有以下几点:
1.提高现有资源的利用率
通过对服务器的整合,使得一台物理服务器上可以运行多个虚拟机操作系统,安装多个应用。每台虚拟机在功能执行上与物理服务器没有任何区别。
2.降低运维成本
通过硬件虚拟化减少服务器及相关硬件设备,以此减少占地空间,以及降低电力和散热需求。通过VMware配套管理工具出色的管理能力,可以帮助提高服务器/管理员比率,进一步减少人员数量,从而降低运维成本。
图2-1 VMware vSphere服务器虚拟化架构
3.提高硬件和应用程序的可用性
vSphere可以通过其高可用(HA)和动态资源分配(DRS)技术安全地备份与迁移整个架构,而不会出现服务中断的情况。同时,消除计划内停机,使业务从计划外故障中立即恢复。
4.实现运维灵活性
由于采用动态资源分配技术,可以加快服务器调配并改进桌面和应用程序的部署。
5.提高桌面的可管理性和安全性
用户可以在本地或远程,通过标准PC、笔记本或平板电脑等便携设备部署、管理和监视虚拟化环境。
除了标准的vSphere虚拟机管理程序,VMware使用vCenter Server来统一部署和管理安装在跨多个物理服务器上的虚拟机。vCenter Server可以通过vSphere Web Client这一统一管理平台对多台服务器进行管理,实现以下主要功能:
·在线迁移(vMotion)技术,将正在运行的虚拟机从一台物理服务器迁移到其他物理服务器,而无须中断。这是VMware引以为傲的核心技术之一,DRS、HA等高级功能都是基于这一技术。
·动态资源分配技术,使得多台物理服务器中运行的虚拟机可以实现负载均衡。DRS利用了vMotion技术来实现这一功能,当其检测到某台服务器负载临近阈值时,就可以通过vMotion技术进行在线迁移。
·分布式电源管理(DPM)可以结合DRS功能,将多个负载较低的虚拟机集中到少数物理服务器上,把无用的物理服务器关机,从而节省电力。而在服务器负载增加时,对没有使用的物理服务器加电开机,再通过DRS实现负载均衡。
·存储在线迁移(Storage vMotion)技术,允许正在运行的虚拟机存储资源从一个存储设备迁移到另一个存储设备上。
·存储动态资源分配(Storage DRS)技术,允许虚拟机从存储的角度进行负载均衡。
·数据保护(Data Protection)功能,可以对虚拟机进行备份。
·高可用性,当一台物理服务器出现故障时,可以将受影响的虚拟机迁移到其他物理服务器上。
·容错(FT)技术,允许在不同物理服务器上运行两台完全一样的虚拟机,提供最高等级的冗余性,即使一台物理服务器(或虚拟机)发生故障,也不会中断业务运行。
·复制(Replication),可以复制虚拟机的所有镜像到另一个站点,进行灾难恢复,保障数据安全。
目前最新的VMware vSphere软件已经发布到第六代,它分为标准版(Standard)、企业增强版(Enterprise Plus)和vSOM企业增强版(vSphere with Operations Management Enter-prise Plus)三种。不同版本可以实现不同的功能,其价格也随版本不同而不同。表2-1所示为每个版本能实现的功能概览。
表2-1 vSphere不同版本能实现的功能概览
Virtual SAN是一种基于软件的分布式存储解决方案,其直接构建在hypervisor中,支持VMware vSphere所有需要共享存储的特性。它是一种专为虚拟机设计的超融合存储解决方案,简化了存储配置和虚拟机部署,其通过虚拟化VMware ESXi主机上的本地物理存储资源,将存储抽象化,作为池呈现给集群中的主机,以此来提供存储服务和服务水平协议的自动化。由于其将闪存设备作为高速的缓存层,提升了存储的整体I/O性能,将机械硬盘(或低端闪存)作为数据存储的容量层,降低了整体的存储成本,因此在性能相当的情况下,总体拥有成本可以降低50%。
软件定义存储的一个关键要素是基于存储策略的管理(Storage Policy-Based Manage-ment,SPBM),这是Virtual SAN的关键特性之一。通过SPBM和vSphere API,底层存储技术表现为一个具有多种功能的抽象化的存储空间池,并展现给管理员用于虚拟机部署。由于Virtual SAN与VMware整个产品堆栈无缝融合,天然支持vMotion、HA和DRS等功能,管理员可以轻松完成对虚拟机的存储策略管理。
Virtual SAN的主要特征和功能有:
·内置在vSphere内核中:Virtual SAN在vSphere内核内部实现。Virtual SAN与vSphere的无缝集成非常独特,可帮助优化性能和可扩展性。
·读/写(I/O)缓存:Virtual SAN通过在服务器端闪存中内置缓存,加快读/写磁盘I/O的速度,将存储延迟降到最低程度。
·内置故障防护:该技术利用分布式RAID和缓存镜像确保磁盘、主机或网络发生故障时绝不丢失数据。
·无中断容量可扩展性:可以通过为集群添加主机或为主机添加磁盘,轻松地无中断扩展Virtual SAN数据存储的容量。
·以虚拟机为中心的基于策略的管理:该解决方案采用可自动转换为系统配置的策略语句将存储要求与各个虚拟机或虚拟磁盘关联起来。采用该方法,IT人员可以立即调配存储以严格遵守服务级别协议(Service-Level Agreement,SLA)。
·自行调节存储和动态存储负载平衡:Virtual SAN自动无中断地保持为每个虚拟机指定的存储容量、性能和可用性级别。该技术可以与VMware vSphere Distributed Resource Scheduler进行互操作,实现端到端的计算和存储负载均衡。
·与vSphere数据服务集成:该解决方案利用vSphere快照、vSphere克隆、VMware vSphere Data Protection和vSphere Replication,跨集群或站点提供数据保护、备份、快速克隆和数据传输以便进行灾难恢复。
·与vSphere Web Client集成:Virtual SAN通过vSphere Web Client进行管理,借助vSphere实现单一窗口管理。
·广泛的硬件兼容性:Virtual SAN是独立于硬件的解决方案,可以在所有经过认证的服务器OEM厂商提供的硬件上部署。
·与VMware Horizon View和VMware vCenter Site Recovery Manager互操作:该解决方案可以与Horizon View一起部署在虚拟桌面基础架构(VDI)环境中,与vCenter Site Recovery Manager一起部署在灾难恢复环境中。
Virtual SAN同时支持全闪存结构和混合结构,其主要优势如下:
·性能和扩展性—速度是竞争对手的1.5~5倍,同时具备可预测的弹性扩展能力。
·选择性—可以选择你的首选存储供应商,同时还能满足你的确切需求,并避免浪费。
·简易性—使用双击调配,集成式工作流和策略驱动的管理,可大幅简化存储操作。
·成本—利用易于操作和学习的解决方案,可减少一半的TCO。
目前最新的Virtual SAN已经发展到第四代,版本分为标准版(Standard)、高级版(Advanced)、企业版(Enterprise)三种。不同版本可以实现不同的功能,其价格也随版本不同而不同。每个版本能实现的功能概览如表2-2所示。
表2-2 Virtual SAN6.2不同版本能实现的功能概览
值得注意的是,VMware Virtual SAN评估版本支持所有功能,试用期为60天。
Virtual SAN在逻辑架构上包括虚拟控制面和虚拟数据面两个部分。
1.虚拟控制面
控制面负责容量管理、自动化部署以及应用策略。控制面作为应用程序与存储基础设施之间的桥梁负责控制和监管存储操作。通过使用Virtual SAN,存储服务等级完全通过策略进行控制,变为逻辑实体。通过在部署时定义和调整这些策略的自动配置过程,存储管理员可以随时对单个虚拟机的存储服务级别进行调整。
2.虚拟数据面
数据面负责存储数据,应用数据服务,如快照、缓存和备份。在物理模型中,数据面通常在LUN或存储卷上进行存储服务的分配,这些存储服务通过应用独立定义。而在Virtual SAN中,数据面通过虚拟化、抽象化物理硬件资源并使用虚拟数据存储把这些资源聚合为逻辑容量池。通过简化独立应用采用的存储服务级别,数据面使虚拟磁盘成为基础的管理单元,使所有的存储操作变得可控。对于部署的每个虚拟机,数据服务都可独立定义。因此,每个应用都可以拥有独一无二的存储服务等级与可用性。
1.混合架构Virtual SAN
在混合架构中,固态硬盘SSD充当分布式读写缓存,并不用于永久保存数据。每个服务器节点最多支持5个磁盘组。每个磁盘组可以分配1~7个HDD磁盘,但必须有一个SSD用于缓存层。通过磁盘组,允许主机内多个SSD同时参与读写缓存的工作,并将故障域缩小到一定范围内。每个磁盘组只支持一个SSD:70%的SSD容量用于缓存读取,剩余的30%用于缓存写入。如图2-2所示。
2.全闪存架构Virtual SAN
Virtual SAN6支持全闪存磁盘组架构。在全闪存架构中,所有的磁盘都必须是固态硬盘。运行Virtual SAN的服务器节点最多支持5个磁盘组。每个磁盘组有1~7个SSD用于存储数据,同时有一个SSD用于缓存数据。在全闪存架构中,SSD充当分布式缓存时,并不用于永久保存数据。每个磁盘组只支持一个SSD作为缓存层。由于全闪存架构的存储容量均通过固态硬盘实现,因此读取性能并不是“瓶颈”,缓存层SSD100%用于缓存写入。如图2-3所示。
图2-2 混合架构Virtual SAN
图2-3 全闪存架构Virtual SAN
现有的最新版Virtual SAN6.2除了支持传统的单独区域部署外,还支持跨站点的部署。跨站点部署的Virtual SAN主要有延伸集群和ROBO两种,我们将分别做介绍。
1.延伸集群
Virtual SAN延伸集群是Virtual SAN6.1引入的新特性。与故障域不同,延伸集群可以理解为“数据中心感知”的。在大多数情况下,故障域中的多个机架在同一个数据中心中。虽然故障域可以在机架故障事件发生时确保虚拟机的可用性,但是却无法容忍数据中心范围的故障。通过配置Virtual SAN延伸集群,可以在一个数据中心遭遇灾难断电的情况下避免宕机事件的发生,进一步增强Virtual SAN的可用性与稳定性。
Virtual SAN延伸集群支持的延展集群配置为X+Y+1(目前要求X=Y),其中X是数据中心站点A的ESXi主机数量,Y是数据中心站点B的ESXi主机数目,1是在数据中心站点C的见证主机,其中见证主机可以是虚拟机,也可以是物理机。Virtual SAN延伸集群支持的最小配置为3个节点(1+1+1),最大配置为31个节点(15+15+1)。
VMware Virtual SAN延伸集群在以下三个方面不同于VMware Virtual SAN常规集群:
(1)写延迟
在常规的Virtual SAN集群中,镜像写入通常有同等的写延迟。Virtual SAN延伸集群,则需要在两个站点间进行写操作。因此,写操作需要通过站点间的链路,从而导致站点间延迟对写操作的影响。站点延迟越高,Virtual SAN延伸集群需要花越长时间完成。
(2)读本地性
常规集群读操作采用对对象的镜像副本进行轮询读模式。Virtual SAN延伸集群全部读操作都来自本地站点的单一对象副本。
(3)故障
在故障发生的情况下,副本恢复数据需要从远程站点该存储对象的唯一镜像副本获取。由此产生的结果是,所有副本恢复流量需要通过站点间的链路传输。此外,由于故障节点存储的该对象的本地副本处于降级状态,所有对该对象的读操作都被重定向到远程副本,通过站点间的链路传输。
2.ROBO
ROBO是Virtual SAN6.1引入的新功能,其名取自Remote Office/Branch Office的缩写,顾名思义,其主要用于支持小型的Virtual SAN环境,没有最小配置为3节点的限制,两个物理主机就能构建出一个Virtual SAN集群。ROBO的架构与延伸集群类似,都是通过使用虚拟见证主机消除了需要第三个物理节点的硬性要求。但是,与延伸集群不同的是,ROBO要求这两台物理主机在地理位置上必须在一起,可通过最少1Gbps的网络相连。
此外,由于ROBO主要面对小型Virtual SAN环境,其上的负载相对于延伸集群可能较轻,所以对于网络的要求也相应放宽,ROBO中的Virtual SAN网络支持虚拟见证主机和ROBO站点之间最高500毫秒的往返时延以及最小1.5Mbps的带宽。另外,在许可证方面,Virtual SAN也提供以虚拟机为单位的许可证,即可以购买应用于最多25个虚拟机的许可证,并且,这个许可证可以跨ROBO站点使用,只要保证应用此许可证的所有ROBO集群中虚拟机的数量加起来不超过25个即可。这对于只有少量虚拟机需求的分支办公室来说十分有用,相比于以CPU计价的许可证可以帮助用户进一步降低使用成本。
Virtual SAN存储虚拟化,适用于各行各业的客户。目前,国内外已有大量客户在使用Virtual SAN,我们将做简单介绍。
1.金融行业
国内外都有排名靠前的银行用户在使用Virtual SAN。国内的银行用户经历了从办公网到业务网,从VDI、研发测试到生产系统(至少有4个不同的生产系统)的过程,并已通过近两年的时间检验。除了银行、保险等金融用户,Virtual SAN的用户中还有世界500强的投资集团、金融服务提供商等。
2.IT行业
全球排名靠前的IT公司中,至少有8家购买了Virtual SAN,其中不乏大家耳熟能详的知名公司。在这些IT公司中,不仅有拥有全部存储产品线的IT大厂,还有拥有自己先进分布式技术的互联网巨头。估计这些公司可能在其研发、测试,以及DevOps,甚至生产系统中部署了Virtual SAN。
3.云服务提供商
在国内外有不少云服务行业的用户采用了VMware vSphere和Virtual SAN作为其基础架构,包括一些做公有云和混合云的用户。
4.电信行业
国内外从办公网到业务网,从VDI到研发测试生产都有大的运营商成为Virtual SAN用户。
政府、教育(国内外有很多教育行业的Virtual SAN案例)、医疗、汽车、物流(至少有两家全球知名的公司)、电视、食品、航空、制造、工程建筑、能源、交通、媒体等越来越多的行业出现Virtual SAN的身影。
Virtual SAN已经迭代更新到第四代,即Virtual SAN6.2。通过三次主版本迭代,Virtual SAN已经成为一款非常成熟的软件定义存储软件。在此,我们对Virtual SAN每代新增的主要功能进行简要介绍。
1.第一代Virtual SAN:Virtual SAN5.5
通常我们将Virtual SAN5.5称为第一代Virtual SAN,其包含了作为一款软件定义存储产品所需的所有必要功能。Virtual SAN之后版本的所有更新迭代都基于此。
Virtual SAN是第一款设计用于vSphere环境的策略驱动型存储产品。
2.第二代Virtual SAN:Virtual SAN6.0
Virtual SAN6.0在Virtual SAN5.5的基础上加入了大量的新功能与增强功能,主要有:
·混合和全闪存配置:支持混合架构和全闪存架构集群。
·故障域(机架感知):支持配置故障域以保护主机免于机架故障。
·主动再平衡:支持触发再平衡操作,以利用新添加的集群存储容量。
·磁盘/磁盘组数据迁出:允许在删除磁盘或磁盘组前,迁出磁盘/磁盘组中的数据。
·新的磁盘格式:支持基于Virsto技术的新磁盘虚拟文件格式2.0。Virsto技术是基于日志的文件系统,可为每个Virtual SAN集群提供高度可扩展的快照与克隆管理支持。
·容量规划模型:在创建或编辑虚拟机存储策略时,管理员可以查看数据存储利用率的改变。
·硬件校验和(Hardware Checksum):支持在硬件层面实现数据端到端校验,检测并解决磁盘错误,从而提供更高的数据完整性。
·运行状况服务(Health Service):支持向管理员提供排错与运行状况,包括Virtual SAN自身以及其依赖集群、网络、存储和物理磁盘的运行状况。
3.第三代Virtual SAN:Virtual SAN6.1
Virtual SAN6.1在Virtual SAN6.0的基础上引入了以下几项新功能与增强功能:
·延伸集群(Stretched Cluster):支持横跨两个地理位置的延伸集群,以保护数据免受站点故障或网络连接丢失的影响(即客户可以采用Virtual SAN构建双活数据中心)。
·ROBO:支持远程分支机构的2节点部署方式,通过利用延伸集群的功能,把见证主机放在中央数据中心,并加入统一管理功能,大大简化了分支机构的Virtual SAN部署难度。
·优化磁盘组声明:支持在创建Virtual SAN时,为磁盘组统一声明。声明磁盘组时,可以根据需要声明容量层与缓存层。
·简化全闪存配置:支持直接通过vSphere Web Client配置全闪存集群。
·磁盘格式在线升级:支持通过vSphere Web Client升级到新的磁盘虚拟文件格式2.0。
·SMP-FT:与vSphere产品进一步融合,支持对关键高性能应用的保护,以实现RPO/RTO=0。
·全新的运行状况UI:提供了集中化的健康管理,支持延伸集群。管理员可以根据需要配置定期运行状况检查。
4.第四代Virtual SAN:Virtual SAN6.2
Virtual SAN6.2在Virtual SAN6.1的基础上引入了以下几项新功能与增强功能:
·去重和压缩:支持对全闪存架构的Virtual SAN进行数据去重,并采用LZ4算法对刷新到容量层的数据进行压缩。除支持标准Virtual SAN以外,同时支持延伸集群与ROBO部署方式。
·RAID5/6:支持通过纠删码(Erasure Coding)对Virtual SAN数据进行跨网络的RAID5/6。用户可以根据实际需要,在SPBM中针对不同的虚拟机对象实现不同的存储策略。
·QoS(IOPS限制值):支持在可视化图形界面对不同的虚拟机对象设置不同的IOPS限制。
·纯IPv6网络:支持在纯IPv6网络模式下运行,所有网络通信都通过IPv6网络。支持二层与三层网络组播,可以通过运行状况UI进行管理与监控。
·软件校验和(Software Checksum):支持在软件层面实现数据端到端校验,检测并解决磁盘错误,从而提供更高的数据完整性。
·运行状况检查(Health Check)集成到vSphere Web Client内:相比以往的插件形式,Virtual SAN6.2完全将运行状况检查集成到vSphere Web Client内。支持SNMP、客户脚本,通过vCenter Server警告发送e-mail;集群级别的概览,查看虚拟机的可用性;基于时间的警报触发机制;详细的存储空间报表和使用分析;支持在图形界面内设置主动再平衡;通过性能的阈值设置警报。
为了确保读者在阅读本书的同时可以进行实际操作来进一步熟悉Virtual SAN环境,本书提供一套建议的实验环境。
1.硬件配置
实验环境使用Dell Power Edge服务器、Cisco交换机等设备搭建,详细配置如表2-3所示。
表2-3 硬件配置列表
其中两台千兆Cisco交换机用于管理网络和vMotion/FT网络,Dell万兆交换机用于Virtual SAN流量网络。如果读者手头的硬件与此类似,但不知道是否在硬件兼容性列表中,可以前往VMware官网查阅Virtual SAN兼容性指南。有关如何使用硬件兼容性指南的更多信息,详见第7章。
2.软件配置
实验环境使用的软件版本如表2-4所示。
表2-4 实验环境使用的软件版本
3.拓扑结构
为满足本书多个章节的实验操作要求,我们提供一套较为完善的物理网络拓扑,如图2-4所示。读者可以根据实际需求进行增删。
图2-4 物理网络拓扑结构
4.IP地址分配
实验环境使用4台ESXi主机、vCenter Server以及Virtual SAN存储,其他辅助设备包括网关、DNS服务器,IP地址分配如表2-5所示。
表2-5 实验环境IP地址分配
5.环境搭建建议
在了解了硬件配置、拓扑结构和IP地址分配后,相信读者对如何搭建实验环境已经有了比较清晰的认识。对于实验环境的搭建,本书给出以下建议:
1)CPU。请确保CPU可以完美支持虚拟化技术,推荐使用机架式或塔式服务器。建议使用4核以上的多线程CPU。
2)内存。如果只是对Virtual SAN进行测试,配置双路CPU的主机推荐使用16GB以上的内存。如果用于生产环节,建议为双路CPU的主机配置32GB以上的内存。
3)网卡。如果只是对Virtual SAN进行测试,安装ESXi系统最低配置2个千兆以太网口即可。如果用于生产环节,推荐使用万兆以太网口。
VMware Virtual SAN解决方案和VMware软件定义网络、软件定义计算共同构成了VMWare完整的软件定义数据中心。本章对软件定义数据中心、软件定义存储做了概述,重点介绍了Virtual SAN功能和特性及其发展与现状。本章最后给出了最佳实践的硬件、软件和网络环境,以便读者进行Virtual SAN实验。