文章目录
VMware vSAN 是作为 ESXi 管理程序的一部分本机运行的分布式软件层。vSAN 可汇总主机群集的本地或直接连接容量设备,并创建在 vSAN 群集的所有主机之间共享的单个存储池。vSAN 支持 HA、vMotion 和 DRS 等需要共享存储的 VMware 功能,但它无需外部共享存储,并且简化了存储配置和虚拟机置备活动。那么、到底什么是 VMware vSAN 呢?
1、什么是 VMware vSAN
VMware vSAN 使用软件定义的方法为虚拟机创建共享存储。可以虚拟化 ESXi 主机的本地物理存储资源,并将这些资源转化为存储池,然后可根据虚拟机和应用程序的服务质量要求划分这些存储池并分配给这些虚拟机和应用程序,直接在 ESXi 管理程序中实现 vSAN。当然、也可以配置 vSAN 以将其用作混合群集或全闪存群集;在混合群集中,闪存设备用于缓存层,磁盘用于存储容量层。在全闪存群集中,闪存设备同时用作缓存和容量设备。vSAN 会将所有本地容量设备聚合到 vSAN 群集中所有主机共享的单个数据存储中;可通过向群集添加容量设备或具有容量设备的主机来扩展数据存储。群集中的所有 ESXi 主机在所有群集成员之间共享类似或相同的配置(包括类似或相同的存储配置)时,vSAN 的性能最佳。这种一致配置可在群集中的所有设备和主机之间平衡分配虚拟机存储组件。不具有任何本地设备的主机也可以加入 vSAN 数据存储并在 vSAN 数据存储中运行其虚拟机。
注:如果主机向 vSAN 数据存储提供其本地存储设备,则必须至少提供一个闪存缓存设备和一个容量设备;容量设备也称为数据磁盘,此类主机上的设备将构成一个或多个磁盘组;每个磁盘组包含一个闪存缓存设备,以及一个或多个用于持久存储的容量设备;每个主机都可配置为使用多个磁盘组。
VMware vSAN 功能特性如下:
支持的功能 | 描述 |
---|---|
共享存储支持 | vSAN 支持需要共享存储的 VMware 功能,如 HA、vMotion 和 DRS。例如,如果某个主机过载,DRS 可将虚拟机迁移到群集中的其他主机上。 |
完全磁盘簇 (JBOD) | vSAN 支持在刀片服务器环境中使用 JBOD。如果您的群集包含刀片服务器,您可以用连接到刀片服务器的 JBOD 存储来扩展数据存储容量。 |
磁盘格式 | vSAN 6.6 支持磁盘虚拟文件格式 5.0,该格式按 vSAN 群集提供高度可扩展的快照和克隆管理支持。有关每个 vSAN 群集支持的虚拟机快照和克隆数量的信息,请参见最高配置文档。 |
全闪存和混合配置 | 可以为全闪存或混合群集配置 vSAN。 |
故障域 | vSAN 支持配置故障域,当 vSAN 群集跨越数据中心的多个机架或刀片服务器机箱时,可以防止主机出现机架或机箱故障。 |
延伸群集 | vSAN 支持延伸群集,这类群集可以跨两个地理位置。 |
vSAN Health Service | vSAN Health Service 包含一些预配置的运行状况检查测试,可以执行监控和故障排除并诊断群集组件出现问题的原因,还可以识别任何潜在的风险。 |
vSAN 性能服务 | vSAN 性能服务包含用于监控 IOPS、吞吐量、延迟和拥堵的统计图表。可以监控 vSAN 群集、主机、磁盘组、磁盘和虚拟机的性能。 |
与 vSphere 存储功能集成 | vSAN 与通常用于 VMFS 和 NFS 存储的 vSphere 数据管理功能相集成。这些功能包括快照、链接克隆、vSphere Replication 和 vSphere APIs for Data Protection。 |
虚拟机存储策略 | vSAN 与虚拟机存储策略结合使用,可支持以虚拟机为中心的存储管理方法。如果部署期间没有为虚拟机分配存储策略,则会自动将 vSAN 默认存储策略分配给虚拟机。 |
快速置备 | 在创建和部署虚拟机期间,vSAN 可在 vCenter Server® 中快速置备存储。 |
2、vSAN和传统存储的区别
尽管 vSAN 与传统存储阵列具有很多相同特性,vSAN 的整体行为和功能仍然有所不同。例如,vSAN 可以管理 ESXi 主机,且只能与 ESXi 主机配合使用。一个 vSAN 实例仅支持一个群集。
vSAN 和传统存储还存在下列主要区别:
- vSAN 不需要外部网络存储来远程存储虚拟机文件,例如光纤通道 (FC) 或存储区域网络 (SAN)。
- 使用传统存储,存储管理员可以在不同的存储系统上预先分配存储空间。vSAN 会自动将 ESXi 主机的本地物理存储资源转化为单个存储池。这些池可以根据服务质量要求划分并分配到虚拟机和应用程序。
- 尽管 iSCSI 目标服务借助 LUN 使远程主机上的启动器能够将块级数据传输到 vSAN 群集中的存储设备,但 vSAN 没有基于 LUN 或 NFS 共享的传统存储卷概念。
- 某些标准存储协议(如 FCP)不适用于 vSAN。
- vSAN 与 vSphere 高度集成。相比于传统存储,vSAN 不需要专用的插件或存储控制台。您可以使用 vSphere Web Client 部署、管理和监控 vSAN。
- 不需要专门的存储管理员来管理 vSAN。vSphere 管理员即可管理 vSAN 环境。
- 使用 vSAN,在部署新虚拟机时将自动分配虚拟机存储策略。可以根据需要动态更改存储策略。
vSAN 启动并运行后,将和其余的 VMware 软件堆栈集成。借助 vSphere 组件和功能(包括 vSphere vMotion、快照、克隆、Distributed Resource Scheduler (DRS)、vSphere High Availability、vCenter Site Recovery Manager 等),您可以实现使用传统存储能够实现的大部分操作。
好了、废话不多说了;前面我们已经部署好了 VMware vCenter Server v6.7,今天我们一起看看如何部署一个双节点的vSAN分布式存储环境。
3、vSAN架构
前面我们已经部署好了三个ESXI虚拟化节点、每个节点配置2颗24核心CPU;24G内存;1块500G 硬盘用于部署ESXI;1块200G 硬盘用做缓存盘;1块1024G 硬盘用做容量盘;每个ESXI主机配置4张网卡、用来隔离业务网和存储网;每个网络平面配置2条上链线路。
注:这里只是一个测试环境、生产环境还要考虑更多的问题;比如网络架构要升级为万兆以上的全光网络、每个ESXI主机节点CPU、RAID控制器是不是和对应的VMware版本兼容;生产环境的存储网、管理网、业务网、vMotion专网需要全部隔离等等。
3.1、vSAN架构要求
这里我们打算部署一个双节点的vSAN、但实际上一个标准 vSAN 集群至少包含三个主机。通常情况下,标准 vSAN 集群中的所有主机都位于同一位置,并在相同的第 2 层网络上相连接;全闪存配置需要 10Gb 网络连接,同时也建议对混合配置使用此设置;为达到最佳效果,需要为 vSAN 集群配置四个或四个以上主机。在集群上启用 vSAN 之前,必须禁用 vSphere HA;然后,可以重新启用 vSphere HA;至少有一个固态硬盘作为缓存盘,启用“去重和压缩”必须全部都是全闪盘;对于混合配置,专用带宽为 1 Gbps;对于全闪存配置,专用或共享带宽为 10 Gbp;vSAN 集群中的每个主机都必须具有适用于 vSAN 流量的 VMkernel 网络适配器;集群中所有主机之间的标准(非延伸)vSAN 集群的 RTT 最大为 1 毫秒;vSAN包括标准版、高级版和企业版。高级版包括 RAID 5/6 擦除编码、去重和压缩,企业版包括加密和延伸群集功能。
双主机或三主机集群配置的限制:在三主机配置中,只能通过将允许的故障数设置为 1 来允许一个主机故障。对于虚拟机数据的两个必需副本,vSAN 将各个副本保存在不同的主机上。见证对象位于第三个主机上。由于集群中的主机数量较少,因此存在以下限制:
- 当某个主机出现故障时,vSAN 无法在另一个主机上重新构建数据以防止出现另一个故障。
- 如果主机必须进入维护模式,则vSAN无法从主机撤出数据以维持策略合规性。主机处于维护模式时,如果发生其他故障,数据会面临潜在故障或无法访问的风险。
- 只能使用确保数据可访问性数据撤出选项。确保数据可访问性可保证对象在数据迁移期间保持可用,但如果发生其他故障可能会面临风险。双主机或三主机集群上的 vSAN 对象不符合策略。主机退出维护模式时,将重新构建对象以确保策略合规性。
- 在双主机或三主机集群具有无法访问的主机或磁盘组的任何情况下,如果发生其他故障,vSAN 对象将面临变得无法访问的风险。
3.2、vSAN存储设计
在一个标准的vSAN环境中,闪存缓存设备与磁盘组数量之比应该始终保持为 1:1;但是如果在全闪存配置中,vSAN 不会将缓存用于读取操作(只有写缓存),也不会应用虚拟机存储策略中的读取缓存预留设置;对于缓存设备,你可以使用少量具有高写入持久力的成本更高的闪存。为了实现更好的 vSAN 性能,请使用更多由较小闪存容量设备组成的磁盘组;为了获得平衡的性能和可预测的行为,请使用同一类型和型号的闪存容量设备;同时我们还要注意闪存设备的写寿命和性能分类,vSAN每个主机最多5个磁盘组,每个磁盘最最大7个容量盘。
3.3、vSAN集群特性
1、每个 vCenter Server 实例可以有多个 vSAN 群集。可以使用一个 vCenter Server管理多个 vSAN 群集。
2、vSAN将占用所有设备(包括闪存缓存和容量设备),并且不会与其他功能共享设备。
3、vSAN群集可以包含具有/不具有容量设备的主机。最低要求是三个带容量设备的主机。为获得最佳效果,请创建拥有统一配置主机的 vSAN群集。
4、如果主机提供容量,则该主机必须至少具有一个闪存缓存设备和一个容量设备。
5、在混合群集中,磁盘用于提供容量,闪存设备用于提供读写缓存。vSAN 将所有可用缓存的 70% 分配为读取缓存,30% 分配为写入缓冲区。在混合配置中,闪存设备用作读取缓存和写入缓冲区。
6、在全闪存群集中,一个指定的闪存设备用作写入缓存,其他闪存设备用作容量设备。在全闪存群集中,所有读取请求都直接来自闪存池容量。只有本地容量设备或直接连接的容量设备能够加入vSAN群集。vSAN无法占用其他连接到群集的外部存储,例如 SAN 或 NAS。
7、有别于VMFS文件系统,采用vSAN的的虚拟机,文件系统为vSAN类型。
3.4、vSAN临时空间
在一个标准的vSAN环境中,我们至少要保留 30% 的未使用空间,以防止vSAN重新均衡存储负载;只要单个容量设备上的消耗达到 80% 或以上,vSAN就会重新均衡集群中的组件;重新均衡操作可能会影响应用程序的性能,要避免这些问题,存储消耗应低于 70%。当某个容量设备无法访问时,vSAN会在集群中的其他设备中恢复组件;当闪存缓存设备出现故障或移除时,vSAN会从整个磁盘组中恢复组件;这时候我们就需要规划额外容量,用于处理任何潜在故障或替换容量设备、磁盘组和主机。我们还需要提供足够的临时存储空间,以便在vSAN虚拟机存储策略中进行更改;动态更改虚拟机存储策略时,vSAN 可能会创建新的对象 RAID 树布局;vSAN 实例化和同步新布局时,对象可能会暂时占用额外的空间,在集群中保留一些临时存储空间以处理此类更改。
在三节点主机集群中,如果将允许的故障数主要级别设置为 1,则 vSAN 不会执行重新构建操作;因为在一个主机出现故障后,集群中只剩下两个主机。要允许故障后重新构建,至少必须有三个正常运行的主机。这时候我们就需要预留额外容量以确保vSAN在出现主机故障或主机进入维护模式时恢复组件。例如,置备具有足够容量的主机,以便留有足够的可用容量以在主机出现故障或维护期间重新构建组件。所以,存在三个以上的主机时此额外空间非常重要,这样你才有足够的可用容量来重新构建出现故障的组件。如果主机出现故障,将在其他主机的可用存储上进行重新构建,这样可以允许再次出现故障。
如果你打算在你的vSAN环境中使用软件校验和或去重和压缩等高级功能,还需要保留额外的容量以处理操作开销。
3.5、vSAN控制器
1、如果可能,请使用多个存储控制器,这样可以改善性能并只将潜在的控制器故障隔离到磁盘组子集中。
2、使用VMware 兼容性指南中队列深度最高的存储控制器。使用具有高队列深度的控制器可提高性能。例如,在出现故障后 vSAN 重新构建组件时或者主机进入维护模式时。
3、在直通模式下使用存储控制器以实现 vSAN 的最佳性能。与处于直通模式的存储控制器相比,处于 RAID 0 模式的存储控制器需要较高的配置和维护工作量。
4、对控制器禁用缓存,或将缓存设置为 100% 读取。
存储控制器功能 | 存储控制器要求 |
---|---|
所需模式 | 有关控制器的所需模式(直通或 RAID 0),请查看VMware 兼容性指南中的 vSAN 要求。如果直通和 RAID 0 模式均受支持,请配置直通模式,而非 RAID 0。替换磁盘时,RAID 0 会增加复杂程度。 |
RAID 模式 | 如果使用 RAID 0,每个物理磁盘设备需要创建一个 RAID 卷。请勿启用VMware 兼容性指南中所列模式之外的 RAID 模式。请勿启用控制器跨越模式。 |
驱动程序和固件版本 | 根据VMware 兼容性指南,为控制器使用最新版本的驱动程序和固件。如果使用内置控制器驱动程序,请确认驱动程序已经过 vSAN 认证。OEM ESXi 版本可能包含未经认证且未在VMware 兼容性指南中列出的驱动程序。 |
队列深度 | 确认控制器的队列深度为 256 或更高。较高的队列深度能够提高性能。 |
缓存 | 禁用存储控制器缓存,如果不能禁用该缓存,请将其设置为 100% 读取。 |
高级功能 | 禁用高级功能(例如,HP SSD 智能路径)。 |
4、添加vSAN网络
这里我们没有使用分布式交换机、而是为每个节点添加一个vSAN网络(192.168.128.0/24)、我们右击节点–添加网络:
这里我们添加一个VMKernel网络适配器:
我们单独为上面的VMKernel网络适配器新建一个标准交换机:
为新建标准交换机分配物理网络适配器(就是节点的物理网卡),这里我们选择vmnic2和vmnic3网络适配器:
我们给这个VMkernel添加一个网络标签为VMKnernel-vSAN、VLAN ID为无(如果有的话就按照实际的填写、但是互联交换机要修改为Trunk口),其他内容为默认选项;但是可用服务里面我们要开启vMotion(为了后面能自动迁移、这里我们并没有把vMotion网络单独进行隔离、生产环境记得进行单独隔离)和vSAN(vSAN存储网):
我们给VMknernel指定一个IP地址、这个IP地址就是vSAN存储网的互联地址:
配置完成以后我们点击FINISH完成、就可以在节点的网络–VMkernel适配器中看到已经添加成功的VMkernel-vSAN网络以及vSwitch1和对应的IP地址等信息:
我们按照上面的方法、依次给其他的节点都添加一个vSAN网络;添加完成以后我们开始创建vSAN集群。
5、部署见证设备(选配)
关于两节点的见证设备、官方是有提供一个名为 VMware-VirtualSAN-Witness-6.7.0-8169922.ova 的模板文件;我们可以直接下载这个文件、然后通过vCenter–部署OVF模板;把Witness见证设备部署到指定的节点上;当然你也可以不用官方的ova模板文件、而是使用ESXI节点当做见证节点(必须单独配置SSD和HDD的仲裁磁盘);如果你使用的是官方的ova模板、可参考这一小节的内容。
注:这里我没有选择只用官方提供的OVA模板、而是通过ESXI节点来作为见证设备。
6、创建vSAN集群
上面的操作都完成以后、我们就可以来创建一个vSAN集群了:
新建集群的时候、我们暂时不开启DRS、vSphere HA 和 vSAN 配置功能;后面我们手动开启、点击确认:
vSAN集群创建完成以后、我们把172.16.200.60和172.16.200.61节点添加到vSAN集群中:
注:这里需要说明一下、vSAN集群要求我们必须配置SSD缓存盘和HDD容量盘;这里因为我们用的不是SSD磁盘、我们需要在节点–存储设备中把对应的磁盘强制标记为SSD磁盘(所有节点)。
标记完成之后我们开始添加主机:
主机添加完成以后、我们开始配置vSAN;点击vSAN–配置–服务–配置开启vSAN集群配置流程:
这里我们选择双主机vSAN集群,然后点击下一步:
注:单站点集群是vSAN的标准集群、每个主机都视为驻留在自己的故障于中;而延伸集群是 vSAN 特有的概念,它是把一个普通的单站点 (site) 集群延伸 (Stretch) 到了另一个站点,形成一个横跨两个站点的集群,称之为延伸集群 (Stretched Cluster)。延伸集群具有普通集群所有的 HA 保护功能,能够跨站点地保存数据副本,它以较低的成本实现了跨站点的灾备解决方案;并且位于两个站点内的服务器都可以是活动的,从而实现了双活数据中心。传统的灾备方案和双活数据中心解决方案都需要另外采购昂贵的硬件和软件,实现成本很高,往往只有金融、电信等一些大型企业才会考虑。vSAN 延伸集群利用普通的 x86 服务器加上 vSphere / vSAN 软件就可以实现,大大降低了实施成本,成为任何企业都能够负担得起的灾备和双活解决方案。
去重和压缩功能只支持全闪存磁盘组、而且去重和压缩功能,仅在高级版本和企业版本中能够启用。在使用全闪存配置时,闪存设备将提供容量;盘格式版本 1.0,每个容量设备会增加约 1 GB;磁盘格式版本 2.0 会增加容量开销,通常每个设备不超过 1-2% 的容量;磁盘格式 3.0 及更高版本会增加容量开销,通常每个设备不超过 1-2% 的容量;如果启用去重和压缩功能以及软件校验和,则每个设备需要约 6.2% 容量的额外开销。
注:这里我们不选择去重和压缩功能、如果是超过32个节点,可以选择启用 大规模集群支持选项。
如果是在全闪的vSAN集群中,缓存盘只是写缓存,不需要读缓存功能;全闪的vSAN集群是没有读缓存的。我们这里并不是全闪存环境、需要分别选择对应的HDD容量层和SDD缓存层。
注:vSAN集群中每个主机最多设置5个磁盘组,每个磁盘组设置最多7个容量盘。
在双主机vSAN环境中、我们需要声明见证主机并声明见证主机的磁盘;这里我们需要分别选择缓存层和容量层的磁盘类型:
配置完成后,点击完成;系统开始进行配置、更新vSAN配置。
vSAN更新完成以后,我们可以在vSAN–配置–服务中可以看到vSAN已经成功启动:
在vSAN–配置–磁盘管理中我们也可以看到已挂载链接的磁盘组包含2个工作节点和1个见证主机,磁盘类型为混合、vSAN运行状态为正常;故障于中172.16.200.61位首选节点、172.16.20.60为辅助节点:
到这里、vSAN集群就已经创建并配置完成了;
7、开启vSphere HA
vSAN集群配置完成以后、我们还要开始vSphere HA功能;这样在节点出现故障的时候、位于集群中的虚拟机可以实现自动迁移,从而保证业务的持续性。在“vSphere HA”功能中,“启用主机监控”,当有HA中的主机死机或其他故障导致主机不能使用时,原来主机上运行的虚拟机,会在其他主机注册并重新启动。如果HA中的主机没有故障,但某个虚拟机出现问题,例如某虚拟机“蓝屏”死机,如果要检测这种故障并将“蓝屏”的虚拟机重新启动,则在“虚拟机监控状态”中选择“仅虚拟机监控”,并在“监控敏感度”选项中选择“低、中、高”,一般选择“低”即可。
这里我们启用默认的配置即可、当然如果你有其他的需求比如数据存储的配置要求、准入控制等要求都可以在vSphere HA中进行配置。
这样我们就成功打开vSphere HA功能了。
8、开启vSphere DRS
我们除了要在vSAN集群中配置vSphere HA功能外、我们还需要打开vSphere DRS功能。这样我们在检测到主机负载不均衡的时候、DRS会自动将虚拟机从一个主机迁移到其他主机上以优化资源利用率;我们也可以配置迁移阈值、这样可以保证在工作负载中度不平衡时,DRS会自动平衡。当然、DRS还提供一些其他的选项、比如虚拟机均匀分布配置、CPU过载配置、包括主机电源管理功能;如果主机资源利用率高于目标利用率范围,则打开电源;如果资源资源利用率低于目标利用率范围,则关闭电源。
注:电源管理功能需要和主机的DPM进行配置、不然主机管理了就无法自动开启了。
9、启用VMware EVC(选配)
EVC 是 Enhanced vMotion Compatibility 的简称,是VMware群集功能的一个参数。EVC 允许在不同代 CPU 之间迁移虚拟机。EVC 不允许 AMD 和 Intel CPU 与 vMotion 兼容。已启用 EVC 的群集仅允许来自群集中单个供应商的 CPU。 vCenter Server 不允许将来自不同 CPU 供应商的主机添加到已启用 EVC 的群集。因为 EVC 允许在不同代 CPU 之间迁移虚拟机,因此凭借 EVC,管理员可以在同一群集里混合使用较旧和较新代服务器,并且可以在这些主机之间使用 vMotion 迁移虚拟机。 这使得管理员可以更轻松地将新硬件添加到现有基础架构中,并有助于扩展现有主机的价值。 凭借 EVC,无需任何虚拟机停机即可实现完整群集升级。在将新主机添加到群集时,可以将虚拟机迁移到新主机并停用旧主机。
注:在启用 EVC 后,将群集中的所有主机都配置为向群集中正在运行的所有虚拟机提供由用户选择的处理器类型的 CPU 功能。 这可确保 vMotion 的 CPU 兼容性,即使基础硬件可能由于主机不同而有所不同。 会向虚拟机(无论其在哪个主机上运行)公开相同的 CPU 功能,因此虚拟机可以在群集中的任何主机之间进行迁移。
10、存储策略
两节点的vSAN集群方案、必须将集群策略配置为无数据冗余;不然虚拟机将无法迁移、这也就是为什么我们在正式正产环境是不推荐这种部署方案的原因。因为vSAN集群没有数据冗余、如果一台主机宕机、则数据会迁移到另外一台主机上;在这个过程中因为vSAN数据是分布在两台主机中的、在迁移的过程中可能会造成数据丢失、甚至是虚拟机无法开机的情况。
11、vCenter迁移
vSAN配置完成以后、我们为了保证vCenter的高可用性、我们需要将vCenter从172.16.200.60这个主机上迁移到vSAN集群中。
这样我们就将vCenter的计算资源和存储资源同时迁移到了vSAN集群中。
12、故障测试
现在我们来进行故障测试、从上图我们可以看到、目前的vCenter主机是除于172.16.200.61这个主机中;下面我们把172.16.200.61这个主机进行关机。
关机后我们发现、我们可以正常访问vCenter、刷新页面会发现vCenter已经自动运行在172.16.200.60这个主机上。
好了、到这里我们就已经完成了两节点VMware vSAN的集群部署。在这个教程中我们并没有使用到DS分布式交换机功能、后面我们将继续部署一个标准节点的vSAN集群、并使用DS分布式交换机来实现一些更复杂的网络需求。
13、什么是分布式交换机?
注:1、分布式交换机上行链路为物理机各物理网卡;分布式交换机可以在各ESXI主机范围内共享。2、分布式交换机可以添加多个VMKernel,用于ESXI操作系统层之间的通讯。3、端口组的上行链路为分布式交换机。4、虚拟机的网卡是基于各端口组进行选择,业务网中每个VLAN可以新建一个端口组;端口组用于虚拟机之间通讯及虚拟机与外部通讯。