vSAN 以及使用 vSAN 数据存储的虚拟化工作负载提供足够的磁盘空间。

验证存储设备的兼容性

请查阅 《VMware 兼容性指南》 以验证存储设备、驱动程序和固件是否与 vSAN 兼容。

验证 vSAN 兼容性的方法有多种,您可从中进行选择。

  • 使用 vSAN ReadyNode 服务器,一种 OEM 供应商和 VMware 用于验证 vSAN 兼容性的物理服务器。
  • 通过从经验证的设备模型中选择各个组件来组合节点。
    《VMware 兼容性指南》部分 验证的组件类型
    系统 运行 ESXi 的物理服务器
    vSAN
    • 用于混合配置的磁盘 SAS 模型。
    • 《VMware 兼容性指南》中列出的闪存设备模型。某些型号的 PCIe 闪存设备也可以与 vSAN 结合使用。另请注意写寿命和性能分类。
    • 支持直通模式的存储控制器。

      如果每个存储设备表示一个单独的 RAID 0 组,vSAN 可以与配置为使用 RAID 0 模式的存储控制器结合使用。

准备存储设备

根据 vSAN 的要求使用闪存设备和磁盘。

确认集群具有容纳预期虚拟机消耗以及虚拟机存储策略中允许的故障数的容量。

存储设备必须满足以下要求,以便可供 vSAN 进行声明:

  • 存储设备在 ESXi 主机本地。vSAN 无法声明远程设备。
  • 存储设备没有任何现有分区信息。
  • 在相同的主机上,无法同时存在全闪存磁盘组和混合磁盘组。

准备磁盘组的设备

每个磁盘组都提供了一个闪存缓存设备和至少一个磁盘或闪存容量设备。对于混合集群,在没有保护副本的情况下,闪存缓存设备的容量必须至少为容量设备上预期消耗存储的 10%。

vSAN 要求,向集群提供存储的主机上至少有一个磁盘组,集群至少由三个主机组成。使用具有统一配置的主机,以获得 vSAN 的最佳性能。

原始容量和可用容量

提供大于虚拟机容量的原始存储容量以便能够处理某些问题。

  • 不要将闪存缓存设备的大小包括在容量中。这些设备不会提供存储,并且除非您已添加闪存设备用于存储,否则这些设备将用作缓存。
  • 提供足够的空间来处理虚拟机存储策略中允许的故障数 (FTT) 值。如果 FTT 大于 0,将会增加设备占用空间。如果 FTT 设置为 1,占用空间将加倍。如果 FTT 设置为 2,占用空间将变为三倍,以此类推。
  • 通过检查各个主机上(而不是整合的 vSAN 数据存储对象上)的空间,确认 vSAN 数据存储具有足够的空间进行操作。例如,撤出某个主机时,数据存储中的所有可用空间可能位于您正撤出的主机上。集群将无法容纳撤出到其他主机。
  • 如果具有精简置备存储的工作负载开始消耗大量存储,请提供足够的空间以防止数据存储容量不足。
  • 验证物理存储是否可以在 vSAN 集群中容纳主机的重新保护和维护模式。
  • 注意 vSAN 的可用存储空间开销。
    • 磁盘格式 3.0 及更高版本会增加额外开销,通常每个设备不超过 1-2% 的容量。如果启用去重和压缩功能以及软件校验和,则每个设备需要约 6.2% 容量的额外开销。

有关规划 vSAN 数据存储容量的详细息,请参见《VMware vSAN 设计和优化指南》

vSAN 策略对容量的影响

虚拟机的 vSAN 存储策略会通过多种方式影响容量设备。

表 1. vSAN 虚拟机策略和原始容量
策略影响的方面 描述
策略更改
  • 允许的故障数 (FTT) 会影响您必须为虚拟机提供的物理存储空间。FTT 值越大,可用性越高,必须提供的空间也更多。

    当 FTT 设置为 1 时,会实施虚拟机 VMDK 文件的两个副本。当 FTT 设置为 1 时,50 GB 的 VMDK 文件需要在不同主机上有 100 GB 空间。如果 FTT 设置为 2,则必须具有足够的空间来支持集群中所有主机的 VMDK 的三个副本,或有 150 GB 空间。

  • 一些策略更改(例如每个对象上新的磁盘带数)需要临时资源。vSAN 将重新创建受更改影响的对象。对于某个时间,物理存储必须同时容纳旧对象和新对象。
重新保护或维护模式的可用空间 将主机置于维护模式或者克隆虚拟机时,数据存储可能无法撤出虚拟机对象,尽管 vSAN 数据存储指示有足够的可用空间。如果可用空间在将置于维护模式的主机上,则会出现此空间不足的情况。

准备存储控制器

根据 vSAN 的要求,在每个主机上配置存储控制器。

确认 vSAN 主机上的存储控制器满足模式、驱动程序和固件版本、队列深度、缓存和高级功能的特定要求。

表 2. 检查 vSAN 的存储控制器配置
存储控制器功能 存储控制器要求
所需模式
  • 有关控制器的所需模式(直通或 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 智能路径)。

使用 ESXCLI 将闪存设备标记为容量设备

可以使用 esxcli 手动将各主机上的闪存设备标记为容量设备。

前提条件

确认您使用的是 vSAN 6.5 或更高版本。

过程

  1. 若要了解您想要标记为容量设备的闪存设备的名称,请在每个主机上运行以下命令。
    1. ESXi Shell 中,运行 esxcli storage core device list 命令。
    2. 找到命令输出顶部的设备名称,记下该名称。
    该命令采用以下选项:
    表 3. 命令选项
    选项 描述
    -d|--disk=str

    您想要将其标记为容量设备的设备名称。例如,mpx.vmhba1:C0:T4:L0

    -t|--tag=str

    选择要添加或移除的标记。例如,capacityFlash 标记用于标记容量闪存设备。

    该命令列出了 ESXi 标识的所有设备信息。
  2. 在输出中,验证设备的 Is SSD 属性是否为 true
  3. 若要将闪存设备标记为容量设备,请运行 esxcli vsan storage tag add -d <device name> -t capacityFlash 命令。
    例如, esxcli vsan storage tag add -t capacityFlash -d mpx.vmhba1:C0:T4:L0 命令,其中 mpx.vmhba1:C0:T4:L0 是设备名称。
  4. 验证是否将闪存设备标记为容量设备。
    1. 在输出中,确定设备的 IsCapacityFlash 属性是否设置为 1

示例: 命令输出

您可以运行 vdq -q -d <device name> 命令以验证 IsCapacityFlash 属性。例如,运行 vdq -q -d mpx.vmhba1:C0:T4:L0 命令将返回以下输出。
\{
"Name"     : "mpx.vmhba1:C0:T4:L0",
"VSANUUID" : "",
"State"    : "Eligible for use by VSAN",
"ChecksumSupport": "0",
"Reason"   : "None",
"IsSSD"    : "1",
"IsCapacityFlash": "1",
"IsPDL"    : "0",
    \},

使用 ESXCLI 取消标记用作容量设备的闪存设备

可以取消标记用作容量设备的闪存设备,以便这些闪存设备可用于缓存。

过程

  1. 要取消标记已标记为容量的闪存设备,请运行 esxcli vsan storage tag remove -d <device name> -t capacityFlash 命令。例如,esxcli vsan storage tag remove -t capacityFlash -d mpx.vmhba1:C0:T4:L0 命令,其中 mpx.vmhba1:C0:T4:L0 是设备名称。
  2. 验证是否已取消标记闪存设备。
    1. 在输出中,确定设备的 IsCapacityFlash 属性是否设置为 0

示例: 命令输出

您可以运行 vdq -q -d <device name> 命令以验证 IsCapacityFlash 属性。例如,运行 vdq -q -d mpx.vmhba1:C0:T4:L0 命令将返回以下输出。
[
    \{
"Name"     : "mpx.vmhba1:C0:T4:L0",
"VSANUUID" : "",
"State"    : "Eligible for use by VSAN",
"ChecksumSupport": "0",
"Reason"   : "None",
"IsSSD"    : "1",
"IsCapacityFlash": "0",
"IsPDL"    : "0",
    \},

使用 RVC 将闪存设备标记为容量设备

运行 vsan.host_claim_disks_differently RVC 命令,将存储设备标记为闪存、容量闪存或磁盘 (HDD)。

您可以使用 RVC 工具通过指定设备的型号,将闪存设备单独或批量标记为容量设备。如果您希望将闪存设备标记为容量设备,可以将其加入全闪存磁盘组。
注: vsan.host_claim_disks_differently 命令在标记设备前不会检查设备类型。该命令将标记任何使用 capacity_flash 命令选项附加的设备(包括已在使用中的磁盘和设备)。请确保在标记前验证设备状态。
有关 vSAN 管理的 RVC 命令的信息,请参见 《RVC 命令参考指南》

前提条件

  • 确认您使用的是 vSAN 6.5 或更高版本。
  • 验证 vCenter Server 上是否启用了 SSH。

过程

  1. 打开与 vCenter Server 的 SSH 连接。
  2. 使用具有管理员特权的本地帐户登录到 vCenter Server
  3. 通过运行以下命令启动 RVC。
    rvc local_user_name@target_vCenter_Server
    例如,要使用同一 vCenter Server 将容量闪存设备标记为用户 root,运行以下命令:
    rvc root@localhost
  4. 输入该用户名的密码。
  5. 导航到 vSphere 基础架构中的 vcenter_server/data_center/computers/cluster/hosts 目录。
  6. 运行带有 --claim-type capacity_flash --model model_name 选项的 vsan.host_claim_disks_differently 命令,将集群中所有主机上的所有同一型号的闪存设备标记为容量设备。
    vsan.host_claim_disks_differently --claim-type capacity_flash --model model_name *

下一步做什么

在集群上启用 vSAN,然后声明容量设备。