VMware vSAN是作为ESXi Hypervisor 的一部分本机运行的分布式软件层。
vSAN可汇总主机集群的本地或直接连接容量设备,并创建在 vSAN 集群的所有主机之间共享的单个存储池。虽然 vSAN支持 HA、vMotion 和 DRS 等需要共享存储的 VMware 功能,但它无需外部共享存储,并且简化了存储配置和虚拟机置备活动。
vSAN 概念
VMware vSAN 使用软件定义的方法为虚拟机创建共享存储。
可以虚拟化 ESXi 主机的本地物理存储资源,并将这些资源转化为存储池,然后可根据虚拟机和应用程序的服务质量要求划分这些存储池并分配给这些虚拟机和应用程序。直接在 ESXi Hypervisor 中实现 vSAN。
可以配置 vSAN 以将其用作混合集群或全闪存集群。在混合集群中,闪存设备用于缓存层,磁盘用于存储容量层。在全闪存集群中,闪存设备同时用作缓存和容量设备。
您可以在现有主机集群上激活 vSAN,也可以在创建新集群时激活。vSAN 会将所有本地容量设备聚合到 vSAN 集群中所有主机共享的单个数据存储中。可通过向集群添加容量设备或具有容量设备的主机来扩展数据存储。集群中的所有 ESXi 主机在所有集群成员之间共享类似或相同的配置(包括类似或相同的存储配置)时,vSAN 的性能最佳。这种一致配置可在集群中的所有设备和主机之间均衡分配虚拟机存储组件。不具有任何本地设备的主机也可以加入 vSAN 数据存储并在 vSAN 数据存储中运行其虚拟机。
在 vSAN Original Storage Architecture (OSA) 中,向 vSAN 数据存储提供存储设备的每个主机必须至少提供一个闪存缓存设备和一个容量设备。此类主机上的设备将构成一个或多个磁盘组。每个磁盘组包含一个闪存缓存设备,以及一个或多个用于持久存储的容量设备。每个主机都可配置为使用多个磁盘组。
在 vSAN Express Storage Architecture (ESA) 中,vSAN 声明的所有存储设备都会提供容量并增强性能。vSAN 提供的每个主机的存储设备形成一个存储池。存储池表示主机提供给 vSAN 数据存储的缓存和容量量。
有关 vSAN 集群设计和大小调整的最佳做法、容量注意事项和常规建议,请参见《VMware vSAN 设计和优化指南》。
vSAN 的特性
以下特性适用于 vSAN 及其集群和数据存储。
支持的功能 | 描述 |
---|---|
共享存储支持 | vSAN 支持需要共享存储的 VMware 功能,如 HA、vMotion 和 DRS。例如,如果某个主机过载,DRS 可将虚拟机迁移到集群中的其他主机上。 |
磁盘格式 | vSAN 磁盘虚拟文件格式按 vSAN 集群提供高度可扩展的快照和克隆管理支持。有关每个 vSAN 集群支持的虚拟机快照和克隆数量的信息,请参阅 vSphere 最高配置https://configmax.esp.vmware.com/home。 |
全闪存和混合配置 | 可以为全闪存或混合集群配置 vSAN。 |
故障域 | vSAN 支持配置故障域,当 vSAN 集群跨越数据中心的多个机架或刀片服务器机箱时,可以防止主机出现机架或机箱故障。 |
文件服务 | 通过 vSAN 文件服务,您可以在 vSAN 数据存储中创建可供客户端工作站或虚拟机访问的文件共享。 |
iSCSI 目标服务 | vSAN iSCSI 目标服务支持驻留在 vSAN 集群外部的主机和物理工作负载访问 vSAN 数据存储。 |
vSAN 延伸集群和双节点 vSAN 集群 | vSAN 支持延伸集群,这类集群可以跨两个地理位置。 |
支持 Windows Server 故障切换集群 (WSFC) | vSAN 6.7 Update 3 及更高版本支持 Windows Server 故障切换集群 (WSFC) 所需的虚拟磁盘级 SCSI-3 持久预留 (SCSI3-PR),以便在节点之间对共享磁盘的访问进行仲裁。支持 SCSI-3 PR 可确保在配置 WSFC 时使磁盘资源在 vSAN 数据存储上的本机虚拟机之间共享。
当前支持以下配置:
注: 在 Microsoft Windows Server 2012 或更高版本上运行的 Microsoft SQL Server 2012 或更高版本已通过
vSAN 认证。
|
vSAN Health Service | vSAN Health Service 包含一些预配置的运行状况检查测试,可以执行监控和故障排除并诊断集群组件出现问题的原因,还可以识别任何潜在的风险。 |
vSAN 性能服务 | vSAN 性能服务包含用于监控 IOPS、吞吐量、延迟和拥堵的统计图表。可以监控 vSAN 集群、主机、磁盘组、磁盘和虚拟机的性能。 |
与 vSphere 存储功能集成 | vSAN 与通常用于 VMFS 和 NFS 存储的 vSphere 数据管理功能相集成。这些功能包括快照、链接克隆和 vSphere Replication。 |
虚拟机存储策略 | vSAN 与虚拟机存储策略结合使用,可支持以虚拟机为中心的存储管理方法。 如果部署期间没有为虚拟机分配存储策略,则会自动将 vSAN 默认存储策略分配给虚拟机。 |
快速置备 | 在创建和部署虚拟机期间,vSAN 可在 vCenter Server® 中快速置备存储。 |
去重和压缩 | vSAN 可执行块级去重和压缩以节省存储空间。在 vSAN 全闪存集群上启用去重和压缩后,每个磁盘组上的冗余数据都会减少。虽然去重和压缩是集群范围的设置,但这两项功能需要以磁盘组为单位应用。可按磁盘应用仅压缩 vSAN。 |
静态数据加密 | vSAN 可提供静态数据加密。在对数据执行所有其他处理(例如,去重)后对数据加密。从集群中移除设备时,静态数据加密可保护存储设备上的数据。 |
传输中数据加密 | vSAN 可以对在集群中的主机之间传输的数据进行加密。启用传输数据加密后,vSAN 会对主机之间的所有数据和元数据流量进行加密。 |
SDK 支持 | VMware vSAN SDK 是 VMware vSphere Management SDK 的扩展。它包括有助于开发人员自动执行 vSAN 安装、配置、监控和故障排除工作的文档、库和代码示例。 |
vSAN术语和定义
vSAN 引入了一些必须了解的特定术语和定义。
开始使用 vSAN之前,请查看主要的 vSAN 术语和定义。
磁盘组 (vSAN Original Storage Architecture)
磁盘组是为 vSAN 集群提供性能和容量的主机和物理设备组上的物理存储容量和性能单元。在向 vSAN 集群提供其本地设备的每个 ESXi 主机上,设备按磁盘组形式进行组织。
每个磁盘组必须具有一个闪存缓存设备和一个或多个容量设备。用于缓存的设备不能在磁盘组之间共享,也不能用于其他目的。单个缓存设备必须专用于单个磁盘组。在混合集群中,闪存设备用于缓存层,磁盘用于存储容量层。在全闪存集群中,闪存设备用于缓存和容量。有关创建和管理磁盘组的信息,请参见《管理 VMware vSAN》。
存储池 (vSAN Express Storage Architecture)
存储池是主机上 vSAN 所声明的所有存储设备的表示形式。每个主机包含一个存储池。存储池中的每个设备都会提供容量和性能。允许的存储设备数由主机配置决定。
所用容量
所用容量指一个或多个虚拟机随时使用的物理容量。所用容量由多种因素决定,包括 .vmdk 文件、保护副本等内容所使用的容量。计算缓存大小时,不考虑用于保护副本的容量。
基于对象的存储
- vSAN确认已根据指定的虚拟机存储策略设置应用虚拟磁盘要求。
- vSAN可验证置备时使用的集群资源是否正确。例如,vSAN基于保护策略确定要创建的副本数量。性能策略确定为每个副本分配的闪存读取缓存量和创建的带数,以及每个副本在集群中的放置位置。
- vSAN持续监控和报告虚拟磁盘的策略合规性状态。如果发现任何不合规的策略状态,您必须进行故障排除并解决根本问题。
注: 必要时,可以编辑虚拟机存储策略设置。更改存储策略设置不会影响虚拟机访问。 vSAN会主动限制用于重新配置的存储和网络资源,以最大限度地降低对象重新配置对正常工作负载的影响。更改虚拟机存储策略设置时, vSAN可能启动对象重新创建过程,随后会重新同步。请参见 《vSAN 监控和故障排除》。
- vSAN确认所需保护组件(例如镜像和见证)位于不同的主机或故障域上。例如,为了在出现故障时重新构建组件,vSAN将查找符合放置规则的 ESXi 主机,根据此规则,虚拟机对象的保护组件必须放置在两个不同的主机上或分布在不同的故障域中。
vSAN数据存储
在集群上启用 vSAN后,将创建一个vSAN 数据存储。其在可能存在的数据存储列表上将以其他数据存储类型显示,包括 Virtual Volumes、VMFS 和 NFS。单个vSAN数据存储可以为每个虚拟机或每个虚拟磁盘提供不同的服务级别。在 vCenter Server® 中,vSAN 数据存储的存储特性显示为一组功能。为虚拟机定义存储策略时,可以引用这些功能。以后部署虚拟机时,vSAN使用该策略并根据每个虚拟机的要求以最优方式放置虚拟机。有关使用存储策略的一般信息,请参见《vSphere 存储》文档。
- vSAN提供集群中所有主机(无论是否向集群提供存储)均可访问的单个vSAN 数据存储。每个主机均可挂载任何其他数据存储,包括 Virtual Volumes、VMFS 或 NFS。
- 可以使用 Storage vMotion 在 vSAN数据存储、NFS 数据存储和 VMFS 数据存储之间移动虚拟机。
- 仅用于容量的磁盘和闪存设备可以提供数据存储容量。用于闪存缓存的设备不计入数据存储的一部分。
对象和组件
每个对象由一组组件组成,由虚拟机存储策略中正在使用的功能决定。例如,通过将允许的故障数设置为 1,vSAN 可确保副本和见证等保护组件放置在 vSAN 集群中的不同主机上,其中每个副本是一个对象组件。此外,在相同策略中,如果每个对象的磁盘带数配置为 2 个或更多,vSAN 还可以跨多个容量设备条带化对象,每个条带视为指定对象的一个组件。必要时,vSAN也可以将大型对象分成多个组件。
vSAN数据存储包含以下对象类型:
虚拟机合规性状态:“合规”和“不合规”
虚拟机中一个或多个对象未满足分配的存储策略要求时,虚拟机被视为不合规。例如,其中一个镜像副本无法访问时,状态可能会变得不合规。如果虚拟机与存储策略中定义的要求相符,虚拟机的状态则为合规。在虚拟磁盘页面的物理磁盘放置位置选项卡中,可确定虚拟机对象的合规性状态。有关对 vSAN 集群进行故障排除的信息,请参见《vSAN 监控和故障排除》。
组件状态:“已降级”和“不存在”状态
- 已降级。如果vSAN检测到永久组件故障并确定该故障组件无法恢复到原始工作状态,则该组件将处于“已降级”状态。因此,vSAN将立即开始重新构建已降级组件。组件位于发生故障的设备上时,可能会出现该状态。
- 不存在。vSAN检测到临时组件故障,其中组件及其所有数据可以恢复且vSAN 能够恢复其原始状态,则该组件处于“不存在”状态。重新启动主机或从vSAN主机上拔出设备时,可能会出现该状态。等待 60 分钟后,vSAN将开始重新构建处于“不存在”状态的组件。
对象状态:“正常”和“不正常”
- 正常。当至少一个完整的 RAID 1 镜像可用或者最低所需数据段数可用时,则认为对象处于正常状态。
- 不正常。如果没有可用的完整镜像,或者 RAID 5 或 RAID 6 对象不满足数据段最低数量要求,则该对象将被视为不正常。如果对象的投票数少于 50%,则该对象不正常。如果集群中出现多个故障,则可能导致对象不正常。对象的运行状态视为不正常时,会影响关联虚拟机的可用性。
证明
证明是一个仅包含元数据的组件,不包含任何实际应用程序数据。如果发生潜在故障,则在需要确定正常运行的数据存储组件的可用性时,可将其用作 Tie Breaker。如果使用磁盘格式 1.0,则见证会在 vSAN数据存储中占用约 2 MB 空间来存放元数据,而如果使用磁盘格式 2.0 或更高版本,则会占用 4 MB 空间。
vSAN 会通过一个非对称投票系统来保持仲裁,其中,每个组件可能使用多个投票来决定对象的可用性。构成虚拟机存储对象的投票中超过 50% 必须始终可以访问,该对象才视为可用。如果可供所有主机访问的投票数等于或少于 50%,则vSAN数据存储将无法再访问该对象。无法访问的对象可能会影响相关虚拟机的可用性。
基于存储策略的管理 (SPBM)
使用vSAN时,可以采用策略的形式定义虚拟机的存储要求,例如性能和可用性。vSAN可确保为已部署到vSAN 数据存储的虚拟机至少分配一个虚拟机存储策略。当您了解虚拟机的存储要求时,可以定义存储策略并将其分配给虚拟机。如果部署虚拟机时不应用存储策略,vSAN 将自动分配默认 vSAN 策略,其中允许的故障数设置为 1,每个对象一个磁盘带,并具有一个精简置备的虚拟磁盘。为获得最佳效果,应定义您自己的虚拟机存储策略,即使您的策略要求与默认存储策略中定义的相同。有关使用 vSAN 存储策略的信息,请参见《管理 VMware vSAN》。
vSphere PowerCLI
VMware vSphere PowerCLI 增加了vSAN的命令行脚本支持,有助于自动完成配置和管理任务。vSphere PowerCLI 提供 vSphere API 的 Windows PowerShell 接口。PowerCLI 包含用于管理vSAN组件的 cmdlet。有关使用 vSphere PowerCLI 的信息,请参见《vSphere PowerCLI 文档》。
vSAN 与传统存储有何不同
尽管 vSAN 与传统存储阵列具有很多相同特性,vSAN 的整体行为和功能仍然有所不同。
例如,vSAN 可以管理 ESXi 主机,且只能与 ESXi 主机配合使用。一个 vSAN 实例为集群提供一个数据存储。
- vSAN 不需要外部网络存储来远程存储虚拟机文件,例如光纤通道 (FC) 或存储区域网络 (SAN)。
- 使用传统存储,存储管理员可以在不同的存储系统上预先分配存储空间。vSAN 会自动将 ESXi 主机的本地物理存储资源转化为单个存储池。可以根据服务质量要求划分这些池,并将其分配给虚拟机和应用程序。
- vSAN 的运行方式与基于 LUN 或 NFS 共享的传统存储卷不同。iSCSI 目标服务使用 LUN 在远程主机上启用启动器,以便向 vSAN 集群中的存储设备传输块级别数据。
- 某些标准存储协议(如 FCP)不适用于 vSAN。
- vSAN 与 vSphere 高度集成。相比于传统存储,vSAN 不需要专用的插件或存储控制台。您可以使用 vSphere Client 部署、管理和监控 vSAN。
- 不需要专门的存储管理员来管理 vSAN。vSphere 管理员即可管理 vSAN 环境。
- 使用 vSAN,在部署新虚拟机时将自动分配虚拟机存储策略。可以根据需要动态更改存储策略。