Verifica della configurazione del Disaster Recovery regionale di Data Foundation di OpenShift

Virtual Private Cloud4.21 e versioni successive

Dopo aver configurato il Disaster Recovery regionale (RDR) di OpenShift Data Foundation (ODF), verificare che ogni componente dello stack sia funzionante e configurato correttamente. Procedi con l'analisi di ciascuna sezione relativa al cluster, all'hub o all'ambiente gestito appropriato, come indicato.

Verifica del componente aggiuntivo ACM sul cluster di hub

Gruppo di hub

Eseguire i seguenti passaggi sul sito cluster di hub.

  1. Verificare che il componente aggiuntivo ACM sia installato e si trovi in uno stato " normal ". Cerca il componente aggiuntivo “ acm ” nell’output e verifica che lo stato sia “ Addon Ready ”.

    ibmcloud oc cluster addon ls --cluster HUB_CLUSTER_NAME | grep -i acm
    

    Output di esempio:

    acm   2.15.0   normal   Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
    

    Se il componente aggiuntivo ACM non è presente nell'elenco, installarlo.

  2. Verificare che i pod aggiuntivi ACM siano in esecuzione nel namespace kube-system. Cerca i pod “ acm-agent ” e “ ibm-acm-operator-controller-manager ” e verifica che entrambi presentino lo stato “ Running ”.

    oc get pods -n kube-system | grep acm
    

    Output di esempio:

    acm-agent-6d9d49cbf6-tsmxd                           1/1   Running   118 (107m ago)   19d
    ibm-acm-operator-controller-manager-bc7b7f969-pr9lj   1/1   Running   3 (7d17h ago)    19d
    
  3. Verificare che i pod dell'operatore ACM e quelli di MultiClusterHub siano in esecuzione nel namespace open-cluster-management.

    oc get pods -n open-cluster-management
    

    Output di esempio:

    multiclusterhub-operator-dcd787649-sqrcx     1/1   Running   0   14d
    console-chart-console-v2-7c8c6649cc-hmg6g    1/1   Running   0   15d
    submariner-addon-76986fdf45-v9kgm            1/1   Running   0   15d
    volsync-addon-controller-6575568dc6-6pjsb    1/1   Running   0   15d
    

    Se mancano dei pod o se alcuni non presentano lo stato " Running ", consultare la sezione " Installazione del componente aggiuntivo ACM ".

Verifica che i cluster gestiti siano stati importati e siano disponibili

Gruppo di hub

Esegui la seguente operazione sul sito cluster di hub.

Verificare che tutti i cluster gestiti siano stati importati correttamente e che nelle colonne “ JOINED ” e “ AVAILABLE ” sia visualizzato il valore “ True ”.

oc get managedclusters

Output di esempio:

NAME             HUB ACCEPTED   MANAGED CLUSTER URLS                                 JOINED   AVAILABLE   AGE
local-cluster    true           https://c100.au-syd.containers.cloud.ibm.com:30253   True     True        14d
managedcluster1  true           https://c100.au-syd.containers.cloud.ibm.com:31003   True     True        14d
managedcluster2  true           https://c100.au-syd.containers.cloud.ibm.com:31888   True     True        14d

Se un cluster gestito risulta mancante o non disponibile, reimportare il cluster.

Verifica della connettività del Submariner

Cluster Hub Cluster gestito

Submariner garantisce la connettività di rete tra i cluster gestiti. Eseguire i passaggi indicati in ciascuna sottosezione relativa al cluster specificato.

Verificare l'operatore Submariner sul cluster di hub

Gruppo di hub

  1. Verificare che il pod operatore Submariner sia in esecuzione sul cluster hub.

    oc get pods -n submariner-operator
    

    Output di esempio:

    NAME                                  READY   STATUS    RESTARTS      AGE
    submariner-operator-6bf8d56f74-7v44v  1/1     Running   3 (17h ago)   14d
    
  2. Verificare che il componente aggiuntivo Submariner sia registrato per ciascun cluster gestito. Verificare che la colonna “ AVAILABLE ” riporti “ True ” per ciascun cluster gestito.

    oc get managedclusteraddon -A | grep submariner
    

    Output di esempio:

    managedcluster1   submariner   True   False
    managedcluster2   submariner   True   False
    
  3. Verifica che il broker Submariner esista.

    oc get broker -A
    

    Output di esempio:

    NAMESPACE                 NAME                AGE
    submariner-set1-broker    submariner-broker   12d
    

Verifica la presenza di Submariner sui cluster gestiti

Cluster gestito

Eseguire i seguenti passaggi su ciascun cluster gestito.

  1. Verificare che i pod Submariner richiesti siano in esecuzione. Verificare che i pod submariner-gateway, submariner-routeagent e submariner-globalnet siano presenti e che lo stato sia “ Running ”.

    oc get pods -n submariner-operator
    

    Output di esempio:

    NAME                                              READY   STATUS    RESTARTS      AGE
    submariner-addon-bc6bbf579-wjqhq                  1/1     Running   0             12d
    submariner-gateway-hxcbh                          1/1     Running   0             12d
    submariner-globalnet-jbmxw                        1/1     Running   3 (12d ago)   12d
    submariner-lighthouse-agent-858896855b-xghxn      1/1     Running   0             12d
    submariner-lighthouse-coredns-66d5579b66-52f6j    1/1     Running   0             12d
    submariner-lighthouse-coredns-66d5579b66-jhqkm    1/1     Running   0             12d
    submariner-metrics-proxy-65n4c                    2/2     Running   3 (12d ago)   12d
    submariner-operator-7c99f89cfb-rppth              1/1     Running   2 (17h ago)   12d
    submariner-routeagent-27p7v                       1/1     Running   0             12d
    submariner-routeagent-jjw66                       1/1     Running   0             12d
    submariner-routeagent-nt78s                       1/1     Running   0             12d
    
  2. Verificare che la connessione Submariner funzioni correttamente. Nell'output, verificare che " RouteAgentConnectionDegraded " presenti un valore " status " pari a " "False"", a conferma che tutte le connessioni degli agenti di routing agli endpoint remoti siano state stabilite e siano operative.

    oc -n <managed_cluster_name> get managedclusteraddons submariner -o yaml
    

    Output di esempio:

    status:
      - lastTransitionTime: "2026-03-18T03:36:24Z"
        message: All RouteAgent connections to remote endpoints are established and healthy.
        reason: ConnectionsEstablished
        status: "False"
        type: RouteAgentConnectionDegraded
    

    Se la connettività risulta compromessa, reinstallare Submariner seguendo il Passo 4 della procedura di configurazione del Disaster Recovery regionale ODF.

Verifica dell'ODF sui cluster gestiti

Cluster gestito

Eseguire i seguenti passaggi su ciascun cluster gestito.

  1. Verificare che l'ODF StorageCluster sia pronto e che lo stato di Ceph sia HEALTH_OK. Nell'output, verificare che la colonna " PHASE " riporti " Ready " per " StorageCluster " e che la colonna " HEALTH " riporti " HEALTH_OK " per " CephCluster ".

    oc get storagecluster -n openshift-storage
    oc get cephcluster -n openshift-storage
    

    Output di esempio:

    NAME                 AGE   PHASE   EXTERNAL   CREATED AT             VERSION
    ocs-storagecluster   12d   Ready              2026-03-17T10:51:46Z   4.20.7
    NAME                              DATADIRHOSTPATH   MONCOUNT   AGE   PHASE   MESSAGE                       HEALTH      EXTERNAL   FSID
    ocs-storagecluster-cephcluster    /var/lib/rook     3          12d   Ready   Cluster created successfully  HEALTH_OK              5fb59e70-bd54-438f-9190-c09ddcf04c0c
    

    Se si tratta di una nuova installazione di ODF e non sono state distribuite applicazioni, si consiglia di reinstallare ODF seguendo la guida all'installazione di ODF.

  2. Verificare che siano presenti i file “ ServiceExports ” richiesti. Verificare che siano presenti le voci ocs-provider-server, rook-ceph-mon-* e rook-ceph-osd-*.

    oc get serviceexports -n openshift-storage
    

    Output di esempio:

    NAME                  AGE
    ocs-provider-server   12d
    rook-ceph-mon-d       12d
    rook-ceph-mon-e       12d
    rook-ceph-mon-f       12d
    rook-ceph-osd-0       12d
    rook-ceph-osd-1       12d
    rook-ceph-osd-2       12d
    

    Se il file " ocs-provider-server " ( ServiceExport ) non è presente, ricrearlo seguendo il Passo 5 della procedura di configurazione del ripristino di emergenza regionale ODF.

  3. Verificare che la configurazione di rete multicluster sia impostata correttamente su StorageCluster. Nell'output, verificare che " multiClusterService.enabled " corrisponda a " true " e che " clusterID " corrisponda al nome del cluster gestito. Verifica inoltre che l'annotazione ocs.openshift.io/api-server-exported-address sia presente e impostata correttamente.

    oc get storagecluster -n openshift-storage -o yaml
    

    Cerca i seguenti valori nell'output:

    network:
      multiClusterService:
        clusterID: <cluster-name>
        enabled: true
    

    E la seguente annotazione:

    ocs.openshift.io/api-server-exported-address: <cluster-name>.ocs-provider-server.openshift-storage.svc.clusterset.local:50051
    

Verifica dell'ODF Multicluster Orchestrator sul cluster hub

Gruppo di hub

Eseguire i seguenti passaggi sul sito cluster di hub.

  1. Verificare che i pod degli operatori OpenShift GitOps siano in esecuzione. Per poter utilizzare ODF Multicluster Orchestrator è necessario installare preventiv GitOps.

    oc get pods -n openshift-gitops
    

    Output di esempio:

    NAME                                                           READY   STATUS    RESTARTS   AGE
    cluster-6484df7d8f-fbk9b                                       1/1     Running   0          4d12h
    gitops-plugin-8646dcfd5d-kj5mf                                 1/1     Running   0          4d12h
    openshift-gitops-application-controller-0                      1/1     Running   0          4d12h
    openshift-gitops-applicationset-controller-664645457b-8n9gj    1/1     Running   0          4d12h
    openshift-gitops-dex-server-74ddb4bb94-trxk6                   1/1     Running   0          4d12h
    openshift-gitops-redis-68469975f8-mlkrq                        1/1     Running   0          14d
    openshift-gitops-repo-server-76567d7c46-j9fjq                  1/1     Running   0          4d12h
    openshift-gitops-server-6d74f8d998-f97zx                       1/1     Running   0          4d12h
    

    Se " GitOps " non è installato, consultare la guida all'installazione di " Red Hat OpenShift " GitOps Operator nella console web.

  2. Verificare che i pod dell'operatore ODF Multicluster Orchestrator siano in esecuzione nel namespace openshift-operators. Verificare che i pod odf-multicluster-console e odfmo-controller-manager presentino entrambi lo stato “ Running ”.

    oc get pods -n openshift-operators | grep -i odf
    

    Output di esempio:

    odf-multicluster-console-cdd786658-2bdbz   1/1   Running   0             12d
    odfmo-controller-manager-8585c4bf9-mwhvf   1/1   Running   2 (16h ago)   12d
    
  3. Verificare che il pod dell'operatore dell'hub Ramen sia in esecuzione nel namespace submariner-operator.

    oc get pods -n submariner-operator
    

    Output di esempio:

    NAME                                  READY   STATUS    RESTARTS      AGE
    submariner-operator-6bf8d56f74-7v44v  1/1     Running   3 (17h ago)   14d
    
  4. Verificare che il pod dell'operatore del cluster Ramen DR sia in esecuzione su ciascun cluster gestito nel namespace openshift-dr-system.

    oc get pods -n openshift-dr-system | grep -i ramen
    

    Output di esempio:

    ramen-dr-cluster-operator-785d878dbc-lbrgz   2/2   Running   0   2d15h
    

Verifica della policy di DR e dell' MirrorPeer e sul cluster hub

Gruppo di hub

Eseguire i seguenti passaggi sul sito cluster di hub.

  1. Verificare che la DRPolicy sia valida. Nell'output, verificare che la condizione " Validated " abbia come " status " il valore " "True"".

    oc get drpolicy -A
    oc describe drpolicy <drpolicy_name>
    

    Esempio di output da oc describe:

    status:
      conditions:
        - type: Validated
          status: "True"
    

    Se la DRPolicy non viene convalidata, verificare che i bucket degli oggetti " NooBaa " siano stati creati correttamente su entrambi i cluster gestiti.

  2. Verificare che la fase " MirrorPeer " sia " ExchangedSecret". Descrivi la risorsa “ MirrorPeer ” e seleziona il campo “ Phase ”.

    oc get mirrorpeers -A
    oc describe mirrorpeer <mirrorpeer_name>
    

    Esempio di output da oc describe:

    Status:
      Phase: ExchangedSecret
    Events: <none>
    

    Se la fase indica " ExchangingSecret", verificare la connettività di Submariner seguendo le istruzioni riportate nella sezione " Verifica della connettività di Submariner ".

Verifica degli operatori opzionali sui cluster gestiti

Cluster gestito

Se durante la configurazione di ODF RDR sono stati installati operatori opzionali, verificare che siano in esecuzione su ciascun cluster gestito.

L'utente è responsabile della gestione degli operatori opzionali, inclusi l'aggiornamento, il monitoraggio, il ripristino e la reinstallazione.

  1. Verificare che i pod degli operatori OpenShift GitOps siano in esecuzione. Verificare che i pod openshift-gitops-application-controller, openshift-gitops-server e gli altri pod GitOps presentino lo stato “ Running ”.

    oc get pods -n openshift-gitops
    
  2. Verificare che i pod degli operatori dell'API " OpenShift " per la protezione dei dati ( OADP ) siano in esecuzione. Verificare che i pod openshift-adp-controller-manager e velero presentino entrambi lo stato “ Running ”.

    oc get pods -n openshift-adp
    

    Output di esempio:

    NAME                                                  READY   STATUS    RESTARTS   AGE
    openshift-adp-controller-manager-7c8fc7f964-j2jnq    1/1     Running   1          12d
    velero-9cdf64b8b-9c2kk                               1/1     Running   1          12d
    

    Se manca un operatore, reinstallarlo seguendo la relativa guida all'installazione.

Raccolta dei log indispensabili

Cluster Hub Cluster gestito

Se non riesci a risolvere un problema seguendo i passaggi di verifica precedenti, raccogli i log indispensabili dal tuo hub e dai cluster gestiti e inviali al supporto di IBM.

Raccogliere i log del cluster di hub

Gruppo di hub

Eseguire il seguente script sul cluster hub per raccogliere informazioni diagnostiche.

#!/bin/bash
# Usage: ./hub-check.sh <cluster-name>
CLUSTER_NAME=$1
if [[ -z "$CLUSTER_NAME" ]]; then
  echo "Usage: $0 <cluster-name>"
  exit 1
fi
echo "===== Verify ACM ====="
ibmcloud oc cluster addon ls --cluster "$CLUSTER_NAME" | grep -i acm
oc get pods -n kube-system | grep acm
oc get pods -n open-cluster-management
oc get managedclusters
echo "===== Verify Submariner ====="
oc get pods -n submariner-operator
oc get managedclusteraddon -A | grep submariner
oc get managedclusteraddon -A -o yaml
oc get broker -A
echo "===== Verify Multicluster Operator ====="
oc get pods -n openshift-operators | grep -i odf
oc get drpolicy -A
oc get mirrorpeers -A
echo "===== Verify Additional Operators ====="
oc get pods -n openshift-gitops
oc get pods -n openshift-adp

Raccogliere i log dei cluster gestiti

Cluster gestito

Eseguire il seguente script su ciascun cluster gestito per raccogliere informazioni diagnostiche.

#!/bin/bash
# Usage: ./managedCluster-check.sh
echo "===== Verify Submariner ====="
oc get pods -n submariner-operator
oc get submariner -A
echo "===== Verify DR Operator ====="
oc get pods -n openshift-dr-system | grep -i ramen
echo "===== Verify ODF ====="
oc get storagecluster -n openshift-storage
oc get cephcluster -n openshift-storage
oc get serviceexports -n openshift-storage
oc get storagecluster -n openshift-storage -o yaml
echo "===== Verify Additional Operators ====="
oc get pods -n openshift-gitops
oc get pods -n openshift-adp

Per ulteriori indicazioni indispensabili, consulta le seguenti risorse:

Passi successivi