除了持久存储卷,虚拟机还可以使用实例存储。与独立于虚拟机存在的持久卷不同,实例存储卷依赖于虚拟机实例的生命周期。此存储通常位于 ESXi 主机本地的高速设备(例如 NVMe)上。

实例存储生命周期

创建虚拟机时,系统会创建实例存储卷并将其附加到虚拟机。实例存储卷中的数据仅在所关联虚拟机实例的生命周期内保留。删除虚拟机时,将删除卷。

具有实例存储的虚拟机支持 ESXi 主机维护模式。ESXi 主机进入维护模式时,虚拟机将关闭,主机退出维护模式后,虚拟机将打开。

实例存储虚拟机注意事项

使用具有实例存储的虚拟机时,请考虑以下事项:
  • 使用 VDS 网络堆栈的主管不支持实例存储。
  • 三区域主管不支持实例存储。
  • 如果 vSphere 管理员将具有实例存储的虚拟机类应用于某命名空间,而该命名空间缺少实例存储所需的适当存储策略,则会显示警告。
  • 具有实例卷的虚拟机无法迁移到其他 ESXi 主机。
  • 实例存储卷已在使用时,无法编辑这些卷。
  • 如果 vSphere 管理员在创建虚拟机后从命名空间中移除实例存储策略,则虚拟机将继续运行。
  • 作为 DevOps 工程师,您无法删除或更新实例存储资源。无法将实例存储卷与一个虚拟机实例分离并附加到另一个实例。

用于置备和监控实例存储虚拟机的工作流

步骤 执行者 描述
1 vSphere 管理员 创建内容库并将其分配给虚拟机使用的命名空间
2 vSphere 管理员 创建 vSAN Direct 数据存储。
3 vSphere 管理员 创建与 vSAN Direct 兼容的存储策略,并将其分配给命名空间。
4 vSphere 管理员 创建实例存储虚拟机类并将其分配给命名空间。
5 DevOps 工程师 在命名空间中置备具有实例存储的虚拟机。
6 vSphere 管理员 监控部署的虚拟机

创建 vSAN Direct 数据存储

作为 vSphere 管理员,可以设置要用于 vSAN 数据持久性 平台或虚拟机实例存储等功能的 vSAN Direct 数据存储。要创建数据存储,请使用 ESXi 主机本地的空闲存储设备。

主管 启用 vSAN 时,可以创建 vSAN Direct 数据存储。以下任务说明了当集群上已启用 vSAN 时,如何将本地存储设备声明为 vSAN Direct

过程

  1. vSphere Client 中,导航到 vSAN 集群。
  2. 单击配置选项卡。
  3. 在“vSAN”下,单击磁盘管理
  4. 单击声明未使用的磁盘
  5. 声明未使用的磁盘对话框中,单击 vSAN Direct 选项卡。
  6. 选择要声明的设备,然后在针对 vSAN Direct 声明列选中一个复选框。
    注: 如果为常规 vSAN 数据存储声明设备,则这些设备不会显示在 vSAN Direct 选项卡中。
    通过选中针对 vSAN Direct 声明列中的复选框声明未使用的磁盘
  7. 单击创建
    对于您声明的每个设备, vSAN Direct 都会创建一个新的数据存储。
  8. 单击数据存储选项卡以显示集群中的所有 vSAN Direct 数据存储。
    vSAN Direct 数据存储显示在列表中

下一步做什么

可以将 vSAN Direct 与外部存储配合使用。有关详细信息,请参见 维护 vSphere IaaS 控制平面文档中的 将外部存储与 vSAN Direct 配合使用

创建 vSAN Direct 存储策略

如果使用 vSAN Direct,请创建要与 主管 命名空间一起使用的存储策略。在与此存储策略关联的命名空间上,可以运行与 vSAN Direct 兼容的工作负载,例如有状态服务或实例存储虚拟机。

过程

  1. vSphere Client 中,打开创建虚拟机存储策略向导。
    1. 主页菜单中,单击策略和配置文件
    2. 策略和配置文件下,单击虚拟机存储策略
    3. 单击创建
  2. 输入策略名称和描述。
    选项 操作
    vCenter Server 选择 vCenter Server 实例。
    名称 输入存储策略的名称。
    描述 输入存储策略的描述。
  3. 策略结构页面上的数据存储特定规则下,为 vSAN Direct 存储放置启用规则。
  4. vSAN Direct 规则页面上,将 vSAN Direct 指定为存储放置类型。
  5. 存储兼容性页面上,查看与此策略匹配的 vSAN Direct 数据存储列表。
  6. 查看并完成页面上,查看存储策略设置,然后单击完成
    要更改任何设置,请单击 后退以转至相关页面。

创建具有实例存储的虚拟机类

在虚拟机类中,可以引用 vSAN Direct 存储策略,并设置要用于实例存储的卷的大小。创建虚拟机类后,将其分配给计划用于实例存储虚拟机的命名空间。

前提条件

  • 创建与 vSAN Direct 数据存储兼容的存储策略。
  • vSAN Direct 存储策略添加到用于实例存储虚拟机的命名空间。请参见在 主管 上创建并配置 vSphere 命名空间
  • 所需特权:
    • 命名空间.修改集群范围的配置
    • 命名空间.修改命名空间配置
    • 虚拟机类.管理虚拟机类

过程

  1. 创建或编辑虚拟机类时添加实例存储。
    选项 操作
    创建虚拟机类
    1. vSphere Client 主菜单中,选择工作负载管理
    2. 单击服务选项卡,然后单击虚拟机服务卡视图上的管理
    3. 虚拟机服务页面上,单击创建虚拟机类
    4. 根据需要配置虚拟机类,请参见使用 vSphere Client 编辑虚拟机类了解可用选项。
    5. 要添加实例存储,请在配置页面上选择虚拟硬件,然后选择添加新设备 > 实例存储

      实例存储选项将显示在“虚拟硬件”中。

    编辑现有虚拟机类
    1. vSphere Client 主菜单中,选择工作负载管理
    2. 单击服务选项卡,然后单击虚拟机服务窗格上的管理
    3. VM 服务页面上,单击VM 类
    4. 在现有虚拟机类卡视图中,单击管理,然后单击编辑
    5. 要添加实例存储,请选择虚拟硬件,然后选择添加新设备 > 实例存储

      实例存储选项将显示在“虚拟硬件”中。

  2. 展开实例存储选项以编辑实例存储设置。
    选项 操作
    存储策略 选择 vSAN Direct 存储策略。
    指定卷大小。可以添加多个存储卷。
  3. 查看并确认页面上,检查详细信息,然后单击完成

    “查看并确认”页面显示实例存储卷的详细信息。
  4. 将创建的虚拟机类分配给用于实例存储虚拟机的命名空间。

部署具有实例存储的虚拟机

作为 DevOps 工程师,请确认您可以访问创建实例存储虚拟机所需的虚拟机资源。可以使用这些资源部署虚拟机。

部署实例存储虚拟机时,请执行常规虚拟机部署步骤。请参见 在 vSphere IaaS control plane 中部署独立虚拟机。此过程包括适用于实例存储虚拟机的其他特定项。

过程

  • 验证特定于实例存储虚拟机的以下项:
    • 您的命名空间包括与 vSAN Direct 数据存储兼容的存储类。
    • 实例存储虚拟机类引用此存储类。

      查看实例存储虚拟机类的详细信息时,请确保包含 instanceStorage 部分。

      kubectl describe virtualmachineclasses vm-class-instance-storage
      apiVersion: vmoperator.vmware.com/v1alpha2
      kind: VirtualMachineClass
      metadata:
        name: vm-class-instance-storage
      spec:
        hardware:
          cpus: 8
          memory: 64Gi
          devices:
      ...
          instanceStorage:
            storageClass: vsan-direct
            volumes:
            - size: 256Gi
            - size: 512Gi
       
      ...
    • 虚拟机 YAML 文件指向适当的实例存储虚拟机类。