技术文档

解析VMware VSAN的运作与设定

2020-06-11 13:56:41 21
文件版本 :
立即下载

图片关键词


要建置Virtual SAN(VSAN),必须满足一定的软硬体需求,用户必须拥有vSphere、vCenter与VSAN的授权,vSphere主机的磁碟也须满足必要的规格,例如:

VSAN的软体授权需求

VSAN的设定与管理都是透过vSphere Web Client介面存取vCenter来进行,需要5.5 Update 1以上版本的vCenter,vCenter的Windows版或Appliance版都可以用来管理VSAN。

VSAN至少需要3台vSphere主机来建立一个丛集环境,vSphere必须是5.5 Update 1以上版本。

VSAN本身的元件已内含于最新的vSphere 5.5 Update 1中,只要购买对应的授权即可启用。

VSAN的授权包括几种不同型式,如按vShpere主机处理器数的单独购买型式、针对VDI的授权、从上一代VSA产品升级等,详见后文的说明。

VSAN的丛集节点硬体需求

VSAN对丛集中各节点vSphere主机有3个较特别的硬体需求。

首先,VSAN要求直接控制底层的磁碟机,所以若vSphere主机安装有RAID卡的话,必须关闭RAID卡的RAID功能,让VSAN以直通方式(pass-thru)存取硬碟。

其次,VSAN丛集中每一台vSphere主机,必须至少分配1台硬碟纳入VSAN的储存池,并提供至少1台SSD充当读取与写入快取,SSD可以是SAS/SATA型式,或PCIe型式。

第三,VSAN丛集中每一台vSphere主机必须至少有1张网路卡,理论上可以使用GbE网路卡,不过VMware建议使用10GbE网路卡(因应高可用性等功能所带来的背景I/ O需求),为了避免单一网路埠或网路卡失效问题,最好是配备1组网路卡。

VMware官方网站上提供了已通过Virtual SAN相容认证过I/O控制器、磁碟机与SSD等周边的产品清单,还有认证过的整机伺服器清单,这些认证过的整机伺服器产品被称为Virtual SAN Ready Node。一般来说,多数x86伺服器主机与相关周边硬体都可以运行VSAN,只有目前尚未标准化的PCIe SSD必须特别注意相容性,必须名列VMware相容清单中的PCIe SSD产品,才能在VSAN中使用。

VSAN的架构与运行方式

VSAN可在最少3台、最多32台vSphere主机间,建立1个具备高可用性保护能力的共享datastore,以用于VM物件的储存。丛集中的每台vSphere主机,最多可将35台本机硬碟纳入VSAN的datastore,所以每个VSAN丛集最多可支援1,120台硬碟。而且管理者可随时将额外的vSphere主机、或个别vSphere上的额外硬碟,添加进VSAN丛集,而不会影响VSAN的运作。

为了确保资料的可用性,VSAN采用了分散式RAID概念,来因应个别磁碟或个别节点的故障失效。管理者可透过VSAN的政策设定介面,设定失效容许数量(Number of Failures to Tolerate)属性,来决定个别VM能容许多少台vShpere主机或磁碟失效,而仍能维持资料完整。

依管理者设定的失效容许数量不同,VSAN会替VM物件产生不同数量的复本(Replica),并分散存放到不同节点上,当某一个节点、或节点上的硬碟失效,导致原先的VM物件无法被存取时,可透过每个datastore上的保存了每个物件metadata资讯的Witnesses资料,将存取需求导向完好的VM复本。

VSAN的SSD快取功能

VSAN的架构提供2种存取机制来提高I/O效能。

第1种是使用大容量的SSD来作为读取与写入快取。

每台VSAN节点是以磁碟群组(disk group)作为磁碟组态基本单位,每个磁碟群组可容纳最少1台、最多7台硬碟,并搭配1台SSD来充当快取,而每台VSAN节点最多可配置5个磁碟群组,每个磁碟群组都含有1台快取用SSD,所以每个节点最多含有5台作为快取的SSD。

利用大容量的SSD作为读取快取,可大幅减少存取底层硬碟的机率,有效降低读取的I/O延迟;写入快取则是作为写入I/O的缓冲区,写入I/O会先进入SSD上的写入缓冲区中,然后再由SSD缓冲区写入底层磁碟,借此加快写入速度。系统预设以70%的快取用SSD容量作为读取快取,30%容量作为写入快取。

如同所有储存系统的写入快取机制,必须预防系统失效导致写入资料遗失的问题,VSAN会依据管理者为VM设定的失效容许数量属性,当每一笔VM资料写入某台VSAN节点的SSD写入快取缓冲区时,也会同时平行写入到其他VSAN节点的SSD写入快取缓冲区,可确保任一节点失效时,其他节点仍保存有完整的写入资料。

第2种机制是磁碟Stripe。

管理者可透过设定stripe数值,将每个储存物件的复本以1MB为单位、分割到多台硬碟上分散存放。Stripe的效果对于读取与写入各有不同,对于写入I/O来说,由于会先进入VSAN的SSD写入缓冲区中,stripe无法发挥太多帮助,不过对于读取I/O来说,若SSD快取区未能命中、必须从底层硬碟读取资料时,透过stripe方式可同时从多台硬碟读取资料,便能有效提高读取速度。

视用户环境中个别节点所含有的硬碟数量,以及管理者设定的Stripe数值,Stipe所分布的硬碟可在同一台主机或多台主机上(若设定的Stripe数值大于单一主机所含有的硬碟数量,则系统就会跨多台主机、以将足够数量的硬碟来作为stripe使用)。

VSAN与其他功能的相容性

VSAN可相容于VMware vSphere大多数的进阶与附属功能,包括HA、vMotion、DRS、vSphere Replication与VDP等,加入VSAN丛集的vSphere主机仍可正常的运行前述功能,就连Storage vMotion也可正常使用,可在VSAN的datastore与一般的NFS/VMFS datastore之间,以Storage vMotion迁移VM。

不过受先天架构的限制,Storage DRS、DPM(Distributed Power Management)、SIOC(Storage I/O Control)与SRM等几项功能,均无法用于VSAN。

其中对于Storage DRS来说,由于在VSAN丛集中只允许1个datastore,与Storage DRS必须建立含有多个datastore的datastore丛集相比,运作方式存在根本的不同。在VSAN丛集中也不允许使用会自动关闭vSphere主机电源的DPM功能,这将会影响到资料的可用性。

至于用于调节储存设备I/O效能的SIOC功能,在VSAN上已有更进步的I/O机制可以替代,所以不使用SIOC。类似的,vSphere 5.5新增可使用Flash记忆体作为读取快取的vFRC(vSphere Flash Read Cache)功能,由于VSAN已内含了自身的SSD快取功能,所以也没有使用vFRC功能的必要。

另外必须搭配后端外接储存设备远端复制功能的SRM(Site Recovery Manager)异地备援机制,在VSAN环境中也不提供,不过可以Hypervisor端的vSphere Replication功能来替代。

「vSphere Only」的VSAN

VSAN所建立的储存空间是仅供VMware VM物件存放使用的datastore,所以是一种「vSphere Only」的产品,只适用于VMware环境。

如果面对的是混合有多种Hypervisor或实体、虚拟主机并存的环境,就必须另外搭配其他储存产品使用,或是改用可适用于异质环境的SAN、NAS等通用型储存设备。