服务器 发布日期:2024/12/28 浏览次数:1
一、背景简介
1、简单介绍vsphere的共享存储背景
vSphere里面有个重要的功能就是进行虚拟机封装,一个虚拟机以文件的形式存在,可以任意拷贝,比如.vmx虚拟机配置文件,vmdk数据文件等
vSphere下还有个集群的概念,一个集群视为一个资源池,搭配很多vSphere的高级特性,业务可以在集群中任意主机上,不必担心单主机故障
如下图所示,vSphere的故障恢复机制 HA,可以将故障主机上的虚拟机迁移到其他主机运行。
但是这个特性有个前提是共享存储,一个存储可以被多个服务器同时连接,同时读取数据,任意节点故障,数据不受影响,进而其他服务器可以使用这些数据快速恢复业务。
双机头冗余存储如下:
2、简单对比共享存储与分布式存储
本地存储一向以可靠性高、稳定性好,功能丰富而著称,但存储扩展性差、价格贵,数据连通困难等问题,容易形成数据孤岛,导致数据中心管理和维护居高不下
分布式存储:将数据分散存储在网络上的多台独立设备上,一般采用标准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功能和特性
特性:
功能:
4、几个关于vSAN名词和术语
池化
故障域
为了保证数据不丢修,数据的存放位置就要一定的要求了,同一份虚拟机的同一份数据,必须保存在不同主机上
如一台出现故障,这个时候需要仲裁机制保证只有一份数据时活动且最新的,不然会造成冲突
这个时vSAN最简单的架构,只允许一台主机故障,只要故障发送在一台主机内
下面时vSAN故障域简单示意,vSAN中有个词叫FTT(Fault to tolerance),最大允许同时故障多少台主机,FTT决定的时虚拟机数据保护级别,也决定了一个集群所需的最小数量,一个集群中主机数量》=2n+1,n=FTT的值
区分服务
可以通过存储策略来给不同的对象区分不同的服务
例如:
磁盘组
磁盘组是为vSAN集群提供性能和容量的主机和物理设备组上的物理存储容量单元,在相vSAN集群提供其本地设备的每个esxi主机上,设备按磁盘组形式进行组织
每个磁盘组必须具有一个闪存缓存设备和一个或多个容量设备
每个磁盘组最少一块SSD+1~7快HDD,每台主机不能多于5个磁盘组
用于缓存的设备不能在磁盘组之间共享,也不用于其他目的,单个缓存设备必须专用于单个磁盘组,在混合集群中,闪存设备用于缓存层,磁盘用于存储容量层
建议,使用多个磁盘组分散数据,因为比如ssd故障,会导致磁盘组数据均会无法访问,分散数据能有效减少此故障带来的影响
所有容量
基于对象的存储
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)组件的分布主要采用两种技术:
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实现的主要功能
参考:https://docs.vmware.com/cn/VMware-vSphere/6.5/com.vmware.vsphere.virtualsan.doc/GUID-18F531E9-FF08-49F5-9879-8E46583D4C70.html
参考:https://new.qq.com/omn/20180717/20180717G0AUBL.html