VMware VSAN
- VMware vSAN是一款软件定义的企业存储解决方案,支持超融合基础架构(Hyper-Converged Infrastructure,HCI)系统。VSAN使用软件定义的方法为虚拟机创建共享存储。可以虚拟化ESXI主机的本地物理存储资源,并将这些资源转化为存储池。
- VSAN与VMware vSphere完全集成在一起,作为ESXI管理程序内的分布式软件层。
相较于cisco的HyperFlex,他只能用在ESXI上。
标准VSAN集群 - 一个标准的VSAN集群至少包括三个主机,最多可扩展到64节点。通常情况下,标准vSAN集群中的所有主机都位于同一位置,VSAN网络在相同的2层网络上连接,推荐使用至少10Gb网络进行数据同步。
常见VSAN组网架构
VSAN术语及定义 - VSAN使用磁盘组这一概念将闪存设备和磁盘作为管理单元
- 磁盘组至少包括1个闪存设备和1个磁盘
- 每台主机最多5个磁盘组
- 每个磁盘组:1个SSD + 1至7个HDD/SSD - 闪存设备用于提供性能(读缓存+写缓冲区)70%读、30%写
- 磁盘用于提供存储容量
- 不能在没有闪存设备的情况下创建磁盘组
- 所有硬盘必须采用直通或RAID0模式连接。
- VSAN是一种以文件系统(VSAN FS)的形式呈现给vsphere的对象存储解决方案。该对象存储装载着集群中主机的存储资源,并将它们呈现为一整个共享数据存储(vsandatastore)。仅限该集群的成员才能访问vsan数据存储,但并非所有主机都需要提供存储。
在vsan数据存储上,组成虚拟机的项目表示为对象。常见对象类型有虚拟机主目录(包含虚拟配置文件和日志,如VMX文件)、虚拟磁盘(VMDK)、增量磁盘(快照)等。
- 每个对象由一组组件组成,基于虚拟机存储配置文件中定义的性能和可用性要求划分。必要时,VSAN也可以将大型对象分成多个组件。组建跨集群中的多台主机分布,以便容许同时发生多个故障并满足性能要求。
- VSAN利用分布式RAID体系结构将数据分发到整个集群中。组件分布主要采用两种技术:镜像(分布镜像)(RAID1)、条带化(磁盘阵列分割)(RAID0)
- VSAN默认存储策略的条带数为1,最大支持条带数为12,建议使用默认值。
条带化&RAID
条带化技术,一种自动将I/O的负载均衡到多个物理磁盘上的技术,将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去。当多个进程同时访问数据的多个不同部分时不会造成磁盘冲突,而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的I/O并行能力,从而获得非常好的性能。 - RAID通过硬盘的条带化将硬盘空间分为一定大小的多个条带,数据写入时按条带大小划分数据模块。RAID的数据保护方式有镜像和奇偶校验法两种。
- 常见的RAID级别如下:
- RAID0:无校验冗余,一组硬盘组成一个逻辑大硬盘(JBOD)
- RAID1:无校验,数据镜像,理论上最多同时损坏一半硬盘
- RAID5:有一块盘空间大小的校验信息,分布式存放在各个硬盘中,同时可以损坏1块硬盘
- RAID6:有两块盘空间大小的校验信息,分布式存放在各个硬盘中,同时可以损坏2块硬盘
VSAN术语与定义
- 故障域,代表故障影响的服务器区域范围,每个主机都是一个隐性故障域。
- FTT,Number of Failures to Tolerate(容许的故障数),代表能容许出现问题的故障域数量,最大值为3。
- 如果FTT=N,则所需副本数=N+1,见证数=N,故障域数=2*N+1
- 可以基于虚拟机选择不同副本的存储策略
不同容错方法磁盘利用率对比
使用纠删码可以提高磁盘利用率,但是会少量牺牲一定的性能。
RAID5 (3+1配置)
每个条带3个数据片段和1个奇偶校验片段
RAID6 (4+2配置)
4个数据片段;1个奇偶校验和每个条带1个附加校验
VSAN写分析
1.虚拟机发出对象写请求
2.虚拟机所在宿主机根据VSAN storage policy定义的FTT=1,合计克隆2份写的I/O请求
3.esxi-01和esxi-02同步将对方写入闪存(在各自的log上)
4.esxi-01和esxi-02向宿主机发出ACK-prepare operation
5.宿主机收到ACK,完成一次写的IO操作
6.对象落盘到容量层(不一定同时发生,可能和其他写IO合并)
VSAN读分析
1.虚拟机发出对象读请求
2.虚拟机所在宿主机选择从一份副本中读
所有副本的读操作是负载均衡的,不一定要从本地副本读
3.假设从esxi-02读取对象,如果缓存中有,从缓存中读取
4.如果缓存中没有,从容量层读取,并替换缓存中的“冷数据”(只针对混合模式)
5.将读取的对象数据发送给宿主机
6.虚拟机收到读取的对象数据
VMware VSAN部署实施
物理连线示意图
实施前准备
- 信息规划,包括设备连线表,服务器带外管理地址,ESXI系统管理地址及VSAN地址、vcenter名称地址信息表等。
- 软件下载,VMware官网下载VCS&ESXI
- 确认DNS及NTP服务器状态
- 完成网络设备相关配置
部署实施
- 安装ESXI
- 登录服务器带外管理平台,挂载ISO安装镜像,通过虚拟软盘启动
根据指引界面完成安装流程,过程中完成选择系统安装盘,设置root密码等设置。
重启完成后,配置ESXI管理地址
(vcenter安装略)
登录vcenter,新建集群,添加主机
在每台主机上配置VSAN网络
添加标准交换机,选择VSAN流量的上联网卡
添加vmk网络,设置VSAN地址
默认的vmk0,管理网络
配置VSAN