除了持久存储卷,虚拟机还可以使用实例存储。与独立于虚拟机存在的持久卷不同,实例存储卷依赖于虚拟机实例的生命周期。此存储通常位于 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 Direct 存储策略
如果使用 vSAN Direct,请创建要与 主管 命名空间一起使用的存储策略。在与此存储策略关联的命名空间上,可以运行与 vSAN Direct 兼容的工作负载,例如有状态服务或实例存储虚拟机。
过程
创建具有实例存储的虚拟机类
在虚拟机类中,可以引用 vSAN Direct 存储策略,并设置要用于实例存储的卷的大小。创建虚拟机类后,将其分配给计划用于实例存储虚拟机的命名空间。
前提条件
- 创建与 vSAN Direct 数据存储兼容的存储策略。
- 将 vSAN Direct 存储策略添加到用于实例存储虚拟机的命名空间。请参见在 主管 上创建并配置 vSphere 命名空间。
- 所需特权:
过程
部署具有实例存储的虚拟机
作为 DevOps 工程师,请确认您可以访问创建实例存储虚拟机所需的虚拟机资源。可以使用这些资源部署虚拟机。
过程
- ♦ 验证特定于实例存储虚拟机的以下项:
- 您的命名空间包括与 vSAN Direct 数据存储兼容的存储类。
- 实例存储虚拟机类引用此存储类。
查看实例存储虚拟机类的详细信息时,请确保包含 instanceStorage 部分。
kubectl describe virtualmachineclasses vm-class-instance-storageapiVersion: 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 文件指向适当的实例存储虚拟机类。