9.3.2. 管理自定义引导源更新


不是由 OpenShift Virtualization 提供的自定义引导源不受功能门控制。您必须通过编辑 HyperConverged 自定义资源 (CR) 来单独管理它们。

重要

您必须配置存储类。否则,集群无法接收自定义引导源的自动更新。详情请参阅定义一个存储类

9.3.2.1. 配置默认和 virt-default 存储类

存储类决定了如何为工作负载置备持久性存储。在 OpenShift Virtualization 中,virt-default 存储类优先于集群默认存储类,用于虚拟化工作负载。在一个时间点上,仅一个存储类应被设置为 virt-default 或 cluster default。如果多个存储类被标记为默认,virt-default 存储类会覆盖集群默认。为确保一致的行为,请仅配置一个存储类作为虚拟化工作负载的默认值。

重要

引导源使用默认存储类创建。如果您的集群没有默认存储类,则必须定义一个。

流程

  1. 将当前的 virt-default 或集群默认存储类进行补丁为 false:

    1. 运行以下命令,识别当前标记为 virt-default 的所有存储类:

      $ oc get sc -o json| jq '.items[].metadata|select(.annotations."storageclass.kubevirt.io/is-default-virt-class"=="true")|.name'
    2. 对于返回的每个存储类,运行以下命令来删除 virt-default 注解:

      $ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubevirt.io/is-default-virt-class": "false"}}}'
    3. 运行以下命令,识别当前标记为集群默认的所有存储类:

      $ oc get sc -o json| jq '.items[].metadata|select(.annotations."storageclass.kubernetes.io/is-default-class"=="true")|.name'
    4. 对于返回的每个存储类,运行以下命令来删除集群默认注解:

      $ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
  2. 设置新的默认存储类:

    1. 运行以下命令,将 virt-default 角色分配给存储类:

      $ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubevirt.io/is-default-virt-class": "true"}}}'
    2. 或者,运行以下命令将集群默认角色分配给存储类:

      $ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
  3. 运行以下命令,从 openshift-virtualization-os-images 命名空间中删除所有过时的 DataVolumeVolumeSnapshot 对象。

    $ oc delete DataVolume,VolumeSnapshot -n openshift-virtualization-os-images --selector=cdi.kubevirt.io/dataImportCron
  4. 等待所有 DataSource 对象都变为 "Ready - True" 状态。数据源可以引用 PersistentVolumeClaim (PVC) 或 VolumeSnapshot。要检查预期的源格式,请运行以下命令:

    $ oc get storageprofile <storage_class_name> -o json | jq .status.dataImportCronSourceFormat
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部