使用 VPC 创建虚拟机 File Storage
虚拟私有云 4.17 后来 仅限裸机工作节点 仅限RHCOS
使用 File Storage for VPC 为在 OpenShift Virtualization 上运行的虚拟机配置持久存储。
本主题介绍如何验证环境、创建使用 VPC File Storage 的虚拟机并验证虚拟机是否成功启动。
准备工作
在使用 VPC File Storage 创建虚拟机之前,请完成以下任务:
- 使用 Red Hat CoreOS (RHCOS) 创建带有裸机工作节点的 VPC 集群。 有关详细信息,请参阅 创建 VPC 群集。
- 查看规划 OpenShift 虚拟化部署 中的规划指南。
- 按照 为 OpenShift 虚拟化设置存储 中的描述配置 VPC File Storage。
- 如 安装 OpenShift 虚拟化操作器 中所述,安装 OpenShift 虚拟化操作器。
- 安装
virtctlCLI。 有关详细信息,请参阅 OpenShift 虚拟化 CLI 工具入门。
验证环境
在创建虚拟机之前,请确认群集已准备就绪。
-
确认已部署 OpenShift 虚拟化组件。
oc get hyperconverged -n openshift-cnv oc get pods -n openshift-cnv在 HyperConverged 输出中查找
PHASE值Deployed。 在 pod 输出中,验证虚拟化 pod 是否显示Running或Completed状态,以及它们是否停留在Pending、CrashLoopBackOff或Error。 -
确认已安装 VPC 文件 CSI 驱动程序插件。
ibmcloud ks cluster addon ls -c CLUSTER_NAME | grep vpc-file-csi-driver在输出中查找
vpc-file-csi-driver附加组件,并验证其健康状态是否为normal或状态是否显示附加组件已就绪。 -
验证 VPC File Storage 类是否可用。
oc get storageclass | grep vpc-file查找存储类别,如
ibmc-vpc-file-1000-iops或ibmc-vpc-file-6000-iops。 注意要在后面步骤中使用的存储类名称。 -
确认所选 VPC File Storage 类的存储配置文件已配置为
ReadWriteMany访问模式和Filesystem卷模式。oc get storageprofile <storage-class-name> -o yaml在输出结果中,查找
spec下的claimPropertySets。 验证accessModes是否包括ReadWriteMany,volumeMode是否设置为Filesystem。claimPropertySets: - accessModes: - ReadWriteMany volumeMode: Filesystem -
验证所选存储类别是否可以提供持久卷要求。
cat <<EOF | oc apply -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: vpc-file-test-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: <storage-class-name> EOF -
确认已绑定测试持久卷要求。
oc get pvc vpc-file-test-pvc在输出中,查找
STATUS列,验证持久卷申请是否显示Bound。 如果索赔仍在Pending中,则存储类别或存储配置文件的配置不正确。 -
如果索赔未绑定,请查看持久卷索赔详情。
oc describe pvc vpc-file-test-pvc -
删除测试持久卷要求。
oc delete pvc vpc-file-test-pvc
从网络控制台创建虚拟机
使用 OpenShift 网络控制台创建虚拟机,将磁盘存储在 VPC File Storage 上。
- 登录群集的 OpenShift 网络控制台。
- 在导航菜单中,单击虚拟化 >。VirtualMachines.
- 单击创建并选择模板,如果要手动定义虚拟机,则选择从 YAML。
- 请输入虚拟机的名称。
- 选择您要创建虚拟机的项目。
- 在存储部分,选择 VPC File Storage 类,如
ibmc-vpc-file-1000-iops或ibmc-vpc-file-6000-iops。 - 根据工作负载要求设置磁盘大小。
- 查看 CPU 和内存设置,然后根据需要进行更新。
- 单击创建 VirtualMachine。
- 在虚拟机详细信息页面中,查看磁盘、网络接口和配置选项卡,以确认虚拟机是按照预期设置创建的。
创建虚拟机后,控制台会创建相关的持久卷要求和数据卷资源。
使用 CLI 创建虚拟机
如果要从可重复使用的清单创建虚拟机,请使用 CLI。
-
如果还没有命名空间,请为虚拟机工作负载创建一个命名空间。
oc create namespace vm-project -
创建引用 VPC File Storage 类的虚拟机清单。
cat <<EOF | oc apply -f - apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel9-vm namespace: vm-project spec: running: false template: metadata: labels: kubevirt.io/domain: rhel9-vm spec: domain: cpu: cores: 2 devices: disks: - disk: bus: virtio name: rootdisk - disk: bus: virtio name: cloudinitdisk resources: requests: memory: 4Gi volumes: - dataVolume: name: rhel9-vm-rootdisk name: rootdisk - cloudInitNoCloud: userData: | #cloud-config user: cloud-user password: changeme chpasswd: { expire: false } name: cloudinitdisk dataVolumeTemplates: - metadata: name: rhel9-vm-rootdisk spec: pvc: accessModes: - ReadWriteMany resources: requests: storage: 40Gi storageClassName: <storage-class-name> volumeMode: Filesystem source: blank: {} EOF -
验证是否创建了虚拟机和数据卷资源。
oc get vm -n vm-project oc get dv -n vm-project oc get pvc -n vm-project在输出中,验证是否列出了虚拟机
rhel9-vm、是否存在数据卷rhel9-vm-rootdisk以及是否创建了持久卷要求rhel9-vm-rootdisk。 如果持久卷申请尚未Bound,请等待供应完成后再继续。 -
如果数据卷尚未准备就绪,请查看数据卷详细信息。
oc describe dv rhel9-vm-rootdisk -n vm-project oc describe pvc rhel9-vm-rootdisk -n vm-project -
启动虚拟机。
virtctl start rhel9-vm -n vm-project -
验证虚拟机实例是否正在运行。
oc get vmi -n vm-project在输出中查找虚拟机实例名称,并验证其阶段为
Running。 如果未列出虚拟机实例,请查看虚拟机状态。oc get vm rhel9-vm -n vm-project -o yaml
验证虚拟机
创建虚拟机后,验证存储和计算资源是否按预期运行。
-
确认已绑定持久卷要求。
oc get pvc -n vm-project在输出中,查找持久卷要求
rhel9-vm-rootdisk,并验证STATUS列是否显示Bound。 -
确认数据卷导入或调配已成功完成。
oc get dv -n vm-project在输出中,验证数据卷是否显示成功阶段,如
Succeeded或Ready,具体取决于您的环境。 如果数据卷尚未准备就绪,请查看数据卷和持久卷申请事件。oc describe dv rhel9-vm-rootdisk -n vm-project oc describe pvc rhel9-vm-rootdisk -n vm-project -
确认虚拟机实例正在运行。
oc get vmi -n vm-project -
查看虚拟机实例详细信息,以确认节点位置、接口和附加卷。
oc describe vmi rhel9-vm -n vm-project -
如果配置了云启动凭据,请连接到虚拟机控制台。
virtctl console rhel9-vm -n vm-project -
如果实例未启动,请查看虚拟机详细信息。
oc describe vm rhel9-vm -n vm-project oc describe vmi rhel9-vm -n vm-project
了解局限性和注意事项
在对虚拟机使用 VPC File Storage 时,请查看以下注意事项:
- VPC File Storage 的性能
- VPC File Storage 是一种网络附加存储选项。 它通常最适合开发、测试和低 I/O 工作负载。
- 快照和克隆
- 快照和克隆支持与 OpenShift Data Foundation 不同。 在将 VPC File Storage 作为生产工作负载的标准配置之前,请检查您的存储要求。
- 实时迁移
- 如果正确配置了存储配置文件,且工作负载符合 OpenShift 虚拟化要求,则支持实时迁移。
- 存储配置文件配置
- 您必须为 VPC 文件 CSI 配置器配置存储配置文件,以便 CDI 可以正确使用存储类。
故障诊断
如果虚拟机无法启动或磁盘未正确调配,请查看以下主题:
后续步骤
使用 VPC File Storage 创建虚拟机后: