vmware vSAN 入门 – 暮无雪代码博客

vmware vSAN 入门 – 暮无雪代码博客

 

一、背景简介

  1、简单介绍vsphere的共享存储背景

   vSphere里面有个重要的功能就是进行虚拟机封装,一个虚拟机以文件的形式存在,可以任意拷贝,比如.vmx虚拟机配置文件,vmdk数据文件等

   vSphere下还有个集群的概念,一个集群视为一个资源池,搭配很多vSphere的高级特性,业务可以在集群中任意主机上,不必担心单主机故障

   如下图所示,vSphere的故障恢复机制 HA,可以将故障主机上的虚拟机迁移到其他主机运行。

    但是这个特性有个前提是共享存储,一个存储可以被多个服务器同时连接,同时读取数据,任意节点故障,数据不受影响,进而其他服务器可以使用这些数据快速恢复业务。

    双机头冗余存储如下:

  

  3、简单对比共享存储与分布式存储

  本地存储一向以可靠性高、稳定性好,功能丰富而著称,但存储扩展性差、价格贵,数据连通困难等问题,容易形成数据孤岛,导致数据中心管理和维护居高不下

  分布式存储:将数据分散存储在网络上的多台独立设备上,一般采用标准x86服务器和网络互联,并在其上运行相关存储软件,比如vSAN,系统对外作为一个整体提供存储服务

  

二、vSAN简介

  1、官方介绍

        什么是vSAN可以理解为软件定义的基于服务器集群搭建的分布式存储。

   存储的管理程序是软件实现,只有软件才能做到开发、灵活、快速,适应企业对于存储的种种需求,分布式可以将数据、IO访问分散到多个节点,让整个存储系统随着节点的增多容量和性能线性增加。

    图示如下:

   VMware vSAN 聚合本地本或直接连接数据存储设备,并创建在vSAN集群的所有主机之间共享的单个存储池。vSAN消除了对外部共享存储的需求,并简化了存储配置和虚拟机配置。

  vSAN是ESXi虚拟机管理程序中包含的分布式软件层,它与VMware vSphere完全集成。vSAN支持需要共享存储的vSphere功能,例如高可用性(HA),vMotion和分布式资源调度程序(DRS)。VM存储策略使您可以定义虚拟机存储要求和功能。

  vSAN群集中的每个主机都可以为群集提供存储。这些存储设备组合在一起以创建单个vSAN数据存储。混合vSAN集群使用闪存设备作为缓存层,磁驱动器使用容量层。全闪存vSAN群集将闪存设备用于缓存层和容量层。该体系结构创建了专为虚拟环境设计的闪存优化,弹性共享数据存储。

  

  

  2、vSAN概念

    软件定义存储的一个关键要素时基于存储策略的管理(storage policy-based manage-ment,SPBM),这时vSAN特性之一,通过SPBM和vsphere API,底层存储技术表现为一个具有多种功能的抽象化的存储空间池,并展现给管理员用于部署。

    可以配置混合集群或全闪集群,混合集群中,闪存用于缓存磁盘用于容量全闪集群中,闪存同时用于缓存和容量。 (缓存和容量组合让存储性能更佳,全闪没得说更快)

    本地存储设备,必须至少一个闪存缓存设备和一个容量设备

    每台节点都需要提供存储资源、访问资源及管理程序

    一般需要万兆以太网交换机

    主机上的设备将构成一个或多个磁盘组,每个磁盘组包含一个闪存缓存设备,及一个或多个持久化存储容量设备。每个主机上可以配置多个磁盘组

  3、vSAN功能和特性

    特性:

    内置在vsphere内核中,vSAN在vSphere内核内部实现,与vSphere无缝集成,可帮助优化性能和可靠性

    读/写(I/O)缓存,vSAN通过服务器端闪存中内置缓存,加快读/写磁盘I/O的速度,将存储延迟降到最低程度

    内置故障保护,该技术利用分布式RAID和缓存镜像确保磁盘、主机或网络发送故障时绝不丢失数据

    无中断容量可扩展性,可以通过为集群添加主机或为主机添加磁盘,轻松地无中断扩展vSAN数据容量

    以虚拟机为中心的基于策略的管理,该解决方案采用可自动转换为系统配置的策略语句降存储要求与各个虚拟机或虚拟磁盘关联起来,采用该方法,IT任意可以立即调配存储以严格遵守服务级别协议(service-level agreement,SLA)。

    自行调节存储和动态存储负载平衡,vSAN自动无中断地保持为每个虚拟机指定的存储容量、性能和可用性级别,该技术可以与VMware vSphere Distributed Resource Scheduler进行互操作,实现端到端的技术和存储负载均衡。

    与vSphere数据服务集成,该解决方案利用vSphere快照、克隆、VMware vSphere Data Protection和vSphere Replication,跨集群或站点提供数据保护、备份、快速克隆和数据传参以便进行容灾恢复

    与vSphere web client集成

    广泛的硬件兼容性

    与HORIZON VIEW 和VMware vCenter site Recovery Manager互操作,该解决方案可以与 horizon view一起部署在虚拟桌面基础架构(VDI)环境中,与vCenter Site Recovery Manager 一起部署在灾难恢复环境中

    功能:

    共享存储支持,vSAN支持需要共享存储的VMware功能,如HA、vMotion和DRS,例如,如果某个主机过载,DRS可降虚拟机迁移到集群中的其他主机上

    完全磁盘簇(JBOB),支持在刀片服务器环境中使用JBOB,如果您集群包含刀片服务器,您可以用连接到刀片服务器的JBOB存储来扩展数据存储容量

    全闪和混合配置

    磁盘格式,vSAN6.6支持磁盘虚拟文件格式5.0,该格式按vSAN集群提供高度扩展的快照和克隆管理支持

    故障域,vSAN支持配置故障域,当vSAN群集阔玥数据中心的多个机架或刀片服务器机箱时,可以防止主机出现机架或机箱故障

    延伸群集,vSAN支持延伸集群,这类集群可以跨两个地址位置

    vSAN Health Service,包含一些预配置的运行状况检查测试,可以执行健康和故障排除并诊断集群组件出现问题的原因,还可以识别任何潜在风险

    vSAN 性能服务,包含用于监控IOPS、吞吐量、延迟和拥堵的统计图表。可以监控vSAN集群、主机、磁盘组、磁盘和虚拟机性能

    与vSphere存储功能集成,通常用于VMFS和NFS存储的vSphere数据管理功能相集成,这些功能包括快照、链接克隆、vSphere Replication和vSphere APIs for data protection

    虚拟机存储策略,域虚拟机存储策略结合使用,可支持以虚拟机为中心的存储管理方法,如美分配,会自动降vSAN默认存储策略分配给虚拟机

    快速置备,在创建和部署期间,vSAN可以在vCenter server中快速置备存储

  4、几个关于vSAN名词和术语

    池化

      单机内部的连接

      服务器之间的连接

    故障域

        为了保证数据不丢修,数据的存放位置就要一定的要求了,同一份虚拟机的同一份数据,必须保存在不同主机上

       如一台出现故障,这个时候需要仲裁机制保证只有一份数据时活动且最新的,不然会造成冲突

      这个时vSAN最简单的架构,只允许一台主机故障,只要故障发送在一台主机内

      下面时vSAN故障域简单示意,vSAN中有个词叫FTT(Fault to tolerance),最大允许同时故障多少台主机,FTT决定的时虚拟机数据保护级别,也决定了一个集群所需的最小数量,一个集群中主机数量》=2n+1,n=FTT的值

  

    区分服务

      可以通过存储策略来给不同的对象区分不同的服务

      例如:

        虚拟机1 设置存储策略A (FTT=1 ,不预留缓存,限制IOPS为100)

        虚拟机2 设置存储策略B(FTT=2,预留10%的ssd缓存,不限制IOPS)

    磁盘组

      磁盘组是为vSAN集群提供性能和容量的主机和物理设备组上的物理存储容量单元,在相vSAN集群提供其本地设备的每个esxi主机上,设备按磁盘组形式进行组织

      每个磁盘组必须具有一个闪存缓存设备和一个或多个容量设备

      每个磁盘组最少一块SSD+1~7快HDD,每台主机不能多于5个磁盘组

      用于缓存的设备不能在磁盘组之间共享,也不用于其他目的,单个缓存设备必须专用于单个磁盘组,在混合集群中,闪存设备用于缓存层,磁盘用于存储容量层

 

        建议,使用多个磁盘组分散数据,因为比如ssd故障,会导致磁盘组数据均会无法访问,分散数据能有效减少此故障带来的影响      

    所有容量

      所有容量指一个或多个虚拟机随时使用的物理容量,所用容量由多种因素决定,包括VMDK、包含副本等内容所使用的容量技术缓存大小时,不考虑用于包含副本的容量。

    基于对象的存储

      1)vSAN以灵活的数据容器也就是对象形式存储并管理数据,对象时之其数据和元数据分布于集群中逻辑卷,例如每个VMDK,每个快照也是一个对象,在vSAN数据存储上置备虚拟机时,vSAN为每个虚拟磁盘创建一组由多个组件组成的对象。

      2)基于已分配的虚拟机存储策略,vSAN单独置备和管理每个对象,可能还设计为每个对象创建一个RAID配置

      3)在vSAN为虚拟磁盘创建对象并确定如何在集群中分布对象时,将考虑以下因素:

        A、vSAN确认已根据指定虚拟机存储策略设置应用虚拟磁盘要求

        B、vSAN确认使用正确的集群资源进行置备。例如,vSAN基于保护此类确定要创建副本数量,性能策略确定为每个副本分配Flash Read Cache量和创建的带数,以及每个副本在集群中的放置位置。

        C、vSAN持续监控和保护虚拟磁盘的策略合规性状态,如果发现任何不合规的策略状态,必须进行故障排除并解决根本问题。

        D、必要时,可以编辑虚拟机存储策略设置,更改存储策略设置不会影响虚拟机访问,更改虚拟机存储策略设置时,vSAN可能启动对象重新创建过程,随后会重新同步对象。

        E、vSAN确认所需保护组件(例如镜像和证明)位于不同的主机或容错域上

    vSAN数据存储

      1)在集群上启用vSAN后,将创建一个单独的vSAN数据存储,单个vSAN数据存储可以为每个虚拟机或每个虚拟机磁盘提供不同的服务级别

      1)需要考虑vSAN数据存储特定特性

        A、vSAN提供群集中所以主机(无论是否具有设备)均可访问的单个vSAN数据存储,每个主机均可挂载任何其他数据存储,包括Virtual Volume、VMFS或NFS

        B、可以使用Storage vMotion在vSAN数据存储、NFS和VMFS数据存储之间移动虚拟机

        C、仅用于容量的磁盘和闪存设备可以提供数据存储容量,用于闪存缓存的设备不计入数据存储的一部分

        D、在自动磁盘声明模式下,当向vSAN群集添加具有容量的主机,或者向任何群集成员添加容量设备时,vSAN数据存储大写会动态增长。

    对象和组件

      1)每个对象由一组组件组成,例如.vmx、日志文件、vmdk、快照增量描述文件等

      2)vSAN数据存储保护以下对象类型:

        A、虚拟机主页命令空间

          所有虚拟机配置文件均存储在虚拟机主目录中,例如.vmx、日志文件、vmdk(vmdk磁盘描述文件fvmdk-lag才是磁盘文件)、快照增量描述文件等。

        B、VMDK

          虚拟机磁盘或.vmdk文件,用于存储虚拟机硬盘驱动器内容。

        C、虚拟机交换对象

          打开虚拟机电源时创建-SWDK文件

        D、快照增量VMDK

          生成虚拟机快照时创建

      3)vSAN组件是对象区块,这些对象去看跨机器中的多台主机分布,以便容许同时发送多个故障并满足性能要求

      4)vSAN利用分布式RAID体系机构将数据分发到整个集群中

      5)组件的分布主要采用两种技术:

        条带化(RAID 0)

        镜像(RAID 1)

      6)创建多少组件副本基于对象策略定义决定

     虚拟机合规性状态:合规和不合规

       一个过多个对象不能满足分配的存储策略要求时,虚拟机被视为不合规,例如,其中要给镜像副本无法访问,状态可能变得不合规,入股哦虚拟机域存储策略中定义的要求相符,虚拟机的状态则为合规。在虚拟磁盘页面的物理磁盘放置位置选项卡中,可确定虚拟机对象的合规性状态

     组件状态:已降级和不存在状态

       已降级,如果检查到永久故障,并确定无法恢复到原始工作状态,则该组件将处于已降级状态。

       不存在,vSAN检查到临时组建故障,其中组件及其素有数据可以恢复且vSAN能够恢复其原始状态,则该组件处于不存在状态,重新启动主机或从vSAN主机拔出设备时可能出现,等待60分钟后,vSAN将重新构建处于不存在的状态组件

     对象状态:正常和不正常

       根据集群中出现的故障类型和数量,对象可能处于以下状态之一:

        正常,当至少要给RAID1镜像可用或者最低所需数据段数可用是,则认为对象处于正常状态。

        不正常,如果没有可用的完整镜像,或者RAID5或RAID6对象不满足数据段最低数量要求,则该对象将被视为不正常。如果对象的投票数少于50%,则该对象不正常,如果群集中出现多个故障,则可能导致对象不正常,会影响虚拟机的可用性

     证明

        一个仅包含元数据的组件,不包含任何实际应用程序数据,如果发送潜在故障,则在需要确定正常的数据存储组件的可用性时,可将其用做te breaker。如果使用磁盘格式1.0,则见证在vSAN数据存储中占用觉2mb空间存放元数,二如果使用2.0或更高,则会占用4mb空间

        6.0及更高会通过要给非对此投票系统来保持仲裁,其中,每个组件可能使用多个投票来决定对象的可用性,构成虚拟机存储对象的投票中超过50%,则vSAN数据存储将无法在访问该对象,无法访问的对象可能会影响相关虚拟机的可用性

       条带化

      是自动将I/O的负载均衡到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部分并把他们分布存储到不同磁盘上去,这就能使多个进程同时访问数据的多个不同部分而不会造成磁盘重读,而且在需要对这种数据进行顺序访问的时候可以获得最大成都的I/O并行能力,从而获得非常好的性能,

      图例如下:

        每个对象的磁盘条带数

          存储对象的每个副本所跨的硬盘数


     基于存储策略的管理(SPBM)

        使用vSAN时,可以采用策略形式定义虚拟机的存储要求,例如性能和可能性,vSAN可确保为已部署到vSAN数据存储的虚拟机至少分配一个虚拟机存储策略,当您了解虚拟机的存储要求时,可以定义存储策略并将其分配给虚拟机,如果部署虚拟机时不应用存储策略,vSAN将自动分配默认vSAN策略,其中允许的故障数主要级别配置为1,每个对象一个磁盘带,并具有一个精简置备虚拟磁盘,为获得最佳效果,应定义您自己的虚拟机存储策略,即使您的策略要求于默认存储策略中定义的相同

     ruby vSphere 控制台(RVC)

      RVC,提供用于管理和故障排除vSAN群集的命令行界面,RVC可提供集群范围的试图,而不是esxcli提供的以主机为中心的试图,与vcsa捆绑不需要单独安装

       vSphere PowerCLI

      增加了vSAN的命令行脚本支持,有助于自动化完成配置及管理任务

        vSAN Observer 

      是在RVCS上允许的基于web 的工具,可用于进行升入的性能分析和vSAN群集监控,使用vSAN Observer可查看容量层的性能统计信息、物理磁盘组的统计信息、CPU的当前负载、vSAN内存池的使用情况以及内存对象在vSAN群集间的分布情况

  5、vSAN核心思想

    提高现有资源的利用率

    降低运维成本

    提高硬件和应用程序的可用性

    实现运维灵活性

    提高桌面的可管理性和安全性

  6、通过vsphere web client实现的主要功能

    vMotion,DRS、HA等高级功能都是基于这一技术

    DRS动态资源分配技术,使得多台物理服务器中运行的虚拟机可以实现负载均衡,当检测到某台服务器负载临近阈值时,就可以通过vMotion技术进行在线迁移。

    DPM分布式电源管理可以结合DRS功能,将多个负载较低的虚拟机集中到少数物理服务器上,把无用的关机,从而节省电力,负载增加时,对没有使用的物理服务器加电开机,在通过DRS实现负载均衡。

    storage vMotion存储在线迁移技术,允许正在运行的虚拟机存储资源从一个存储设备迁移到另一个存储设备

    data protection 数据保护功能,可以对虚拟机进行备份

    高可用性,当一台物理服务器出现故障时,可以将受影响的虚拟机迁移到其他服务器上

    FT容错,运行在不同物理服务器上运行两台完全一样的虚拟机,提供最高等级的冗余性,即使一台物理服务器发生故障也不会终端业务运行

    replication,可以复制虚拟机的所有镜像到另一个站点,进行容灾恢复,保证数据安全

转载请注明出处:https://www.cnblogs.com/zhangxingeng/p/10843818.html