第 7 章 已知问题


本节介绍 Red Hat OpenShift Data Foundation 4.18 中已知的问题。

7.1. 灾难恢复

  • 节点崩溃会导致 kubelet 服务失败,从而导致 Data Foundation 处于错误状态

    OpenShift 集群中的意外节点崩溃可能会导致节点处于 NotReady 状态,并影响存储集群。

    临时解决方案:

  • 获取待处理的 CSR:

    oc get csr | grep Pending
    Copy to Clipboard Toggle word wrap
  • 批准待处理的 CSR:

    Approve the pending CSR
    Copy to Clipboard Toggle word wrap

    (DFBUGS-3636)R

  • 从 4.18 升级到 4.19 后,ramen-hub-operator-config 缺少 s3StoreProfile

    当使用默认值覆盖 configmap 时,由 Multicluster Orchestrator (MCO) Operator 添加的自定义 S3Profile 和其他详情将会丢失。这是因为在升级 Ramen-DR hub Operator 后,OLM 会使用 Ramen-hub CSV 提供的默认值覆盖现有的 ramen-hub-operator-config configmap

    临时解决方案:重启 hub 集群上的 MCO Operator。因此,在 configmap 中会更新 S3profiles 等所需值。

    (DFBUGS-3634)

  • 当对应节点停机时,CIDR 范围不会保留在 csiaddonsnode 对象中

    当节点停机时,无类别域间路由(CIDR)信息会从 csiaddonsnode 对象中消失。当需要隔离隔离节点时,这会影响隔离机制。

    临时解决方案:在创建 NetworkFenceClass 对象后立即收集 CIDR 信息。

    (DFBUGS-2948)

  • 节点替换后,新的 mon pod 无法调度

    在节点替换后,新的 mon pod 无法在新添加的节点中调度自己。因此,mon pod 处于 Pending 状态,这会影响 storagecluster 状态,并带有 mon 不可用。

    临时解决方案:使用正确的 nodeSelector 手动更新新的 mon 部署。

    (DFBUGS-2918)

  • 从 v4.17.z 升级到 v4.18 后,灾难恢复会被错误配置

    当 ODF Multicluster Orchestrator 和 Openshift DR Hub Operator 从 4.17.z 升级到 4.18 时,某些灾难恢复资源会在内部模式部署中错误配置。这会影响使用 ocs-storagecluster-ceph-rbdocs-storagecluster-ceph-rbd-virtualization StorageClasses 进行工作负载的灾难恢复。

    要解决这个问题,请按照本 知识库文章 中的说明操作。

    (DFBUGS-1804)

  • 当集群处于扩展模式时,Ceph df 会报告一个无效的 AVAIL

    当 Red Hat Ceph Storage 集群中的 CRUSH 规则具有多个步骤时,ceph df 报告显示关联池的最大可用大小。

    (DFBUGS-1748)

  • DRPC 保护在同一命名空间中创建的所有持久性卷声明

    托管多个灾难恢复(DR)保护工作负载的命名空间保护 hub 集群上每个 DRPlacementControl 资源的所有持久性卷声明(PVC),它们不会根据其 spec.pvcSelector 字段根据工作负载指定和隔离 PVC。

    这会导致 PVC 与多个工作负载的 DRPlacementControl spec.pvcSelector 匹配。或者,如果所有工作负载都缺少选择器,复制管理可能会多次管理每个 PVC,并根据单独的 DRPlacementControl 操作造成数据崩溃或无效操作。

    临时解决方案:标签 PVC 属于唯一工作负载,并使用所选标签作为 DRPlacementControl spec.pvcSelector,以忽略哪个 DRPlacementControl 保护和管理命名空间中的哪些 PVC 子集。无法使用用户界面为 DRPlacementControl 指定 spec.pvcSelector 字段,因此必须使用命令行删除并创建此类应用程序的 DRPlacementControl。

    结果: PVC 不再由多个 DRPlacementControl 资源管理,不会造成任何操作和数据不一致。

    (DFBUGS-1749)

  • 灾难恢复工作负载在删除时会卡住

    当从集群中删除工作负载时,对应的 pod 可能无法与 FailedKillPod 等事件终止。这可能会导致垃圾收集依赖的 DR 资源(如 PVCVolumeReplicationVolumeReplicationGroup)的延迟或失败。它还可防止以后将相同的工作负载部署到集群中,因为过时的资源还没有垃圾回收。

    临时解决方案:重启正在运行 pod 的 worker 节点,并处于终止状态。这会导致 pod 终止以及随后相关的 DR API 资源被收集垃圾回收。

    (DFBUGS-325)

  • 基于 Region-DR CephFS 的应用程序故障转移显示有关订阅的警告

    应用程序通过或重新定位失败后,hub 订阅会显示错误声明"Some resources failed to deploy.。使用 View status YAML 链接来查看详情"。这是因为使用 CephFS 作为后备存储置备程序应用持久性卷声明(PVC),使用 Red Hat Advanced Cluster Management for Kubernetes (RHACM)订阅进行部署,并且具有 DR 保护的不受相应的 DR 控制器所有。

    临时解决方案:无法调整订阅状态中的错误。但是,可以检查无法部署的订阅资源,以确保它们是 PVC。这样可确保其他资源没有问题。如果无法部署的订阅中的唯一资源是 DR 保护的资源,则错误可以被忽略。

    (DFBUGS-253)

  • 禁用 PeerReady 标志可防止将操作改为 Failover

    DR 控制器根据需要执行完全协调。当集群无法访问时,DR 控制器会执行完整性检查。如果工作负载已重新定位,则此 sanity 检查会导致与工作负载关联的 PeerReady 标志被禁用,因为集群离线,sanity 检查不会完成。因此,禁用 PeerReady 标志可防止您将操作改为 Failover。

    临时解决方案:即使禁用了 PeerReady 标志,使用命令行界面将 DR 操作改为 Failover。

    (DFBUGS-665)

  • 当连接在扩展集群的两个数据中心之间丢失连接时,Ceph 变得无法访问,并且 IO 暂停

    当两个数据中心相互丢失但仍然连接到 Arbiter 节点时,在选择逻辑中存在一个会导致 Ceph 监控器中无限选举的漏洞。因此,监控器无法选举领导,Ceph 集群将不可用。另外,IO 在连接丢失过程中暂停。

    临时解决方案:通过关闭区节点来关闭任何一个数据区的监控器。另外,您可以重置存活 monitor pod 的连接分数。

    因此,监控器可以形成仲裁,Ceph 会再次可用,IOs 会恢复。

    (DFBUGS-425)

  • 在从替换集群中使用过时的 Ceph 池 ID 时,RBD 应用无法分配

    对于在创建新对等集群之前创建的应用,无法挂载 RBD PVC,因为当替换对等集群时,无法更新 CSI configmap 中的 CephBlockPoolID 的映射。

    临时解决方案:在未替换的对等集群中,将 rook-ceph-csi-mapping-config configmap 更新为 cephBlockPoolID 的映射。这将启用为应用挂载 RBD PVC。

    (DFBUGS-527)

  • 有关 lastGroupSyncTime 的信息会在 hub 恢复后丢失,这些工作负载在不可用受管集群上是主的

    以前失败的应用程序不会报告 lastGroupSyncTime,从而导致警报 VolumeSynchronizationDelay 触发。这是因为当 ACM hub 和作为 DRPolicy 一部分的受管集群不可用时,从备份中重建新的 ACM hub 集群。

    临时解决方案:如果工作负载失败的受管集群不可用,您仍可以切换到一个存活的受管集群。

    (DFBUGS-376)

  • MCO operator 协调 veleroNamespaceSecretKeyRefCACertificates 字段

    当 OpenShift Data Foundation Operator 升级时,Ramen 配置中的 s3StoreProfiles 下的 CACertificatesveleroNamespaceSecretKeyRef 字段将会丢失。

    临时解决方案:如果 Ramen 配置具有 CACertificatesveleroNamespaceSecretKeyRef 字段的自定义值,则在执行升级后如何设置这些自定义值。

    (DFBUGS-440)

  • VirtualMachines.kubevirt.io 资源因为重新定位中的 mac 分配失败而无法恢复

    当虚拟机重新定位到首选集群时,可能会因为其 MAC 地址不可用,它可能无法完成重新定位。如果虚拟机在故障转移集群时没有完全清理在首选集群中,会出现这种情况。

    在重新定位工作负载前,请确保工作负载从首选集群完全删除。

    (BZ#2295404)

  • 为启用了一致性组的 CephFS 应用禁用 DR 可能会保留一些资源

    为启用了一致性组的 CephFS 应用禁用 DR 可能会保留一些资源。在这种情况下,可能需要手动清理。

    临时解决方案:按照以下步骤手动清理资源:

    1. 在二级集群中:

      • 手动删除 ReplicationGroupDestination。

        $ oc delete rgd -n <namespace>
        Copy to Clipboard Toggle word wrap
      • 确认已删除以下资源:

        • ReplicationGroupDestination
        • VolumeSnapshot
        • VolumeSnapshotContent
        • ReplicationDestination
        • VolumeReplicationGroup
    2. 在主集群中:

      • 手动删除 ReplicationGroupSource。

        $ oc delete rgs -n <namespace>
        Copy to Clipboard Toggle word wrap
      • 确认已删除以下资源:

        • ReplicationGroupSource
        • VolumeGroupSnapshot
        • VolumeGroupSnapshotContent
        • VolumeSnapshot
        • VolumeSnapshotContent
        • ReplicationSource
        • VolumeReplicationGroup

          (DFBUGS-2950)

  • 对于使用 CephFS 发现的应用程序,在故障切换后同步停止

    对于基于 CephFS 的工作负载,发现的应用同步可能会在故障转移或重新定位后在某个点停止。这可能会出现在 ReplicationSource 状态中报告的 Permission Denied 错误。

    临时解决方案:

    • 对于 Non-Discovered 应用程序

      • 删除 VolumeSnapshot:

        $ oc delete volumesnapshot -n <vrg-namespace> <volumesnapshot-name>
        Copy to Clipboard Toggle word wrap

        快照名称通常以 PVC 名称开头,后跟时间戳。

      • 删除 VolSync 作业:

        $ oc delete job -n <vrg-namespace> <pvc-name>
        Copy to Clipboard Toggle word wrap

        作业名称与 PVC 名称匹配。

    • 对于发现的应用程序

      使用与上述步骤相同的步骤,但 &lt ;namespace& gt; 是指 应用程序工作负载命名空间,而不是 VRG 命名空间。

    • 对于使用一致性组的工作负载

      • 删除 ReplicationGroupSource :

        $ oc delete replicationgroupsource -n <namespace> <name>
        Copy to Clipboard Toggle word wrap
      • 删除该命名空间中的所有 VolSync 作业:

        $ oc delete jobs --all -n <namespace>
        Copy to Clipboard Toggle word wrap

        在本例中,& lt;namespace > 是指工作负载的命名空间(已发现或未发现),& lt;name > 代表 ReplicationGroupSource 资源的名称。

        (DFBUGS-2883)

  • 在虚拟机页面中发现的应用程序无法使用 remove DR 选项

    Virtual Machines 页面中列出的应用程序无法使用 Remove DR 选项。

    临时解决方案:

    1. 将缺少的标签添加到 DRPlacementControl 中:

      {{oc label drplacementcontrol <drpcname> \
      odf.console.selector/resourcetype=virtualmachine \
      -n openshift-dr-ops}}
      Copy to Clipboard Toggle word wrap
    2. 使用虚拟机名称添加 PROTECTED_VMS recipe 参数作为其值:

      {{oc patch drplacementcontrol <drpcname> \
      -n openshift-dr-ops \
      --type='merge' \
      -p '{"spec":{"kubeObjectProtection":{"recipeParameters":{"PROTECTED_VMS":["<vm-name>"]}}}}'}}
      Copy to Clipboard Toggle word wrap

      (DFBUGS-2823)

  • 在 Virtual Machines 页面中,未为发现的应用程序显示 DR 状态

    Virtual Machines 页面中列出的已发现的应用程序不会显示 DR 状态

    临时解决方案:

    1. 将缺少的标签添加到 DRPlacementControl 中:

      {{oc label drplacementcontrol <drpcname> \
      odf.console.selector/resourcetype=virtualmachine \
      -n openshift-dr-ops}}
      Copy to Clipboard Toggle word wrap
    2. 使用虚拟机名称添加 PROTECTED_VMS recipe 参数作为其值:

      {{oc patch drplacementcontrol <drpcname> \
      -n openshift-dr-ops \
      --type='merge' \
      -p '{"spec":{"kubeObjectProtection":{"recipeParameters":{"PROTECTED_VMS":["<vm-name>"]}}}}'}}
      Copy to Clipboard Toggle word wrap

      (DFBUGS-2822)

  • 故障切换后取消选择 PVC 不会清理二级 VRG 中的过时的条目,从而导致后续重新定位失败

    如果在工作负载故障切换后取消选择 PVC,且后续的重新定位操作将执行回 preferredCluster,则过时的 PVC 仍可在 VRG 中报告。因此,DRPC 可能会将其 Protected 条件报告为 False,并显示类似如下的消息:

    集群中的 VolumeReplicationGroup (/)没有报告任何 lastGroupSyncTime 作为主,满足重试 till 状态。

    临时解决方案:

    要解决这个问题,请从 VRG 状态手动清理过时的 PVC (例如,在故障切换后取消选择的 PVC)。

    1. 识别在故障切换后取消选择的过时的 PVC,且不再会被保护。
    2. 编辑名为 <managed-cluster-name> 的 ManagedCluster 上的 VRG 状态:

      $ oc edit --subresource=status -n <vrg-namespace> <vrg-name>
      Copy to Clipboard Toggle word wrap
    3. status.protectedPVC 部分中删除过时的 PVC 条目。

      删除过时的条目后,DRPC 将恢复并报告为健康。

      (DFBUGS-2932)

  • 当为发现的应用程序移除 DR 保护时,辅助 PVC 不会被删除

    在辅助集群中,链接到工作负载的 CephFS PVC 通常由 VolumeReplicationGroup (VRG)管理。但是,当使用 Discovered Applications 功能发现工作负载时,关联的 CephFS PVC 不会被标记为 VRG-owned。因此,当禁用工作负载时,这些 PVC 不会被自动清理并变为孤立。

    临时解决方案: 要在为发现的工作负载禁用 DR 保护后清理孤立的 CephFS PVC,请使用以下命令手动删除它们:

    $ oc delete pvc <pvc-name> -n <pvc-namespace>
    Copy to Clipboard Toggle word wrap

    (DFBUGS-2827)

  • 当还没有创建 ReplicationDestination 资源时,故障转移过程会失败

    如果用户在 LastGroupSyncTime 更新前启动故障转移,故障转移过程可能会失败。此失败由一条错误消息指示 ReplicationDestination 不存在。

    临时解决方案:

    编辑 hub 集群上 VRG 的 ManifestWork

    从清单中删除以下部分:

    /spec/workload/manifests/0/spec/volsync
    Copy to Clipboard Toggle word wrap

    保存更改。

    应用此临时解决方案可确保 VRG 跳过使用 ReplicationDestination 资源恢复 PVC。如果 PVC 已存在,应用程序会原样使用。如果 PVC 不存在,则会创建新的 PVC。

    (DFBUGS-632)

  • 在向集群添加容量后,Ceph 处于警告状态

    在设备替换或添加容量后,观察到 Ceph 处于 HEALTH_WARN 状态,并带有 mon 报告缓慢的 ops。但是,对集群的可用性没有影响。

    (DFBUGS-1273)

  • OSD pod 在添加容量过程中重启

    在执行集群扩展后,OSD pod 会重启,方法是向集群添加容量。但是,除了 pod 重启外,不会对集群造成影响。

    (DFBUGS-1426)

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat