Entfernen von OpenShift Data Foundation
Lesen Sie die folgenden Themen, um die Implementierung Ihrer OpenShift Data Foundation zu verwalten.
ODF aus Ihren Apps entfernen
Um die ODF aus Ihren Apps zu entfernen, können Sie Ihre App oder Bereitstellung und die entsprechenden PVCs löschen.
Wenn Sie die ODF und alle Ihre Daten vollständig entfernen möchten, können Sie Ihren Speichercluster entfernen.
- Listen Sie Ihre PVCs auf und notieren Sie den Namen der PVC und des entsprechenden PV, die Sie entfernen wollen.
oc get pvc
- Entfernen Sie alle Pods, die den Persistent Volume Claim anhängen.
- Listen Sie alle Pods auf, die derzeit den PVC anhängen, den Sie löschen möchten. Wenn keine Pods zurückgegeben werden, verfügen Sie über keine Pods, die derzeit Ihren PVC verwenden.
Beispielausgabeoc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
app ocs-storagecluster-cephfs
- Entfernen Sie den Pod, der den PVC verwendet. Wenn der Pod Teil einer Bereitstellung ist, entfernen Sie die Bereitstellung.
oc delete pod <pod_name>
oc delete deployment <deployment_name>
- Überprüfen Sie, ob der Pod bzw. die Bereitstellung entfernt wurde.
oc get pods
oc get deployments
- Listen Sie alle Pods auf, die derzeit den PVC anhängen, den Sie löschen möchten. Wenn keine Pods zurückgegeben werden, verfügen Sie über keine Pods, die derzeit Ihren PVC verwenden.
- Optional Löschen Sie den PVC. Durch das Löschen des PVC werden Ihre App-Daten vom Speicherdatenträger gelöscht.
oc delete pvc <pvc_name>
Entfernen Sie Ihre angepasste ODF-Ressource
Führen Sie die folgenden Schritte aus, um die ODF-Ressourcen aus Ihrem Cluster zu entfernen.
Die folgenden Schritte führen zu Datenverlusten. Sichern Sie die Daten auf Ihren lokalen Datenträgern, bevor Sie Ihre ODF-Implementierung entfernen.
Wenn Sie die angepasste OcsCluster
-Ressource aus Ihrem Cluster löschen, werden die folgenden Ressourcen gelöscht. Darüber hinaus kann es bei allen Apps, die auf Daten auf Ihren lokalen Datenträgern zugreifen müssen, zu Ausfallzeiten
kommen.
- ODF-Treiber-Pods.
- Die PVCs MON und OSD.
- Alle Daten von Ihren Datenträgern. Wenn Sie jedoch PVCs mithilfe der NooBaa-Speicherklasse erstellt haben und Ihre Apps Daten in den Sicherungsspeicher geschrieben haben, werden die Daten in Ihrem Sicherungsspeicher nicht gelöscht.
- Rufen Sie den Namen der angepassten
OcsCluster
-Ressource ab.
Beispielausgabe für eine kundenspezifische Ressource mit der Bezeichnungoc get ocscluster
ocscluster-vpc
.NAME AGE ocscluster-vpc 4s
- Löschen Sie die angepasste
OcsCluster
-Ressource. Ersetzen Sie<ocscluster_name>
durch den Namen Ihrer angepassten Ressource.
Beispielbefehl für eine kundenspezifischeoc delete ocscluster <ocscluster_name>
OcsCluster
-Ressource mit der Bezeichnungocscluster-vpc
.oc delete ocscluster ocscluster-vpc
- Löschen Sie alle PVCs, die Sie erstellt haben.
oc get pvc
- Optional Wenn Sie ODF nicht erneut installieren möchten, können Sie ODF-Add-on aus Ihrem Cluster entfernen.
ODF bereinigen
- Kopieren Sie eines der folgenden Bereinigungsskripte auf der Grundlage Ihres ODF-Einsatzes.
- VPC oder Satellite mit dynamisch bereitgestellten Platten Bereinigen Sie die verbleibenden Kubernetes-Ressourcen aus Ihrem Cluster. Speichern Sie das folgende Script in einer Datei mit dem Namen
cleanup.sh
auf Ihrer lokalen Maschine.#!/bin/bash ocscluster_name=`oc get ocscluster | awk 'NR==2 {print $1}'` oc delete ocscluster --all --wait=false kubectl patch ocscluster/$ocscluster_name -p '{"metadata":{"finalizers":[]}}' --type=merge oc delete ns openshift-storage --wait=false sleep 20 kubectl -n openshift-storage patch persistentvolumeclaim/db-noobaa-db-0 -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephblockpool.ceph.rook.io/ocs-storagecluster-cephblockpool -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephcluster.ceph.rook.io/ocs-storagecluster-cephcluster -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephfilesystem.ceph.rook.io/ocs-storagecluster-cephfilesystem -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstore.ceph.rook.io/ocs-storagecluster-cephobjectstore -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/noobaa-ceph-objectstore-user -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/ocs-storagecluster-cephobjectstoreuser -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch noobaa/noobaa -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch backingstores.noobaa.io/noobaa-default-backing-store -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch bucketclasses.noobaa.io/noobaa-default-bucket-class -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagecluster.ocs.openshift.io/ocs-storagecluster -p '{"metadata":{"finalizers":[]}}' --type=merge sleep 20 oc delete pods -n openshift-storage --all --force --grace-period=0 sleep 20 for item in `oc get csiaddonsnodes.csiaddons.openshift.io -n openshift-storage| awk 'NR>1 {print $1}'`; do kubectl -n openshift-storage patch csiaddonsnodes.csiaddons.openshift.io/$item -p '{"metadata":{"finalizers":[]}}' --type=merge done kubectl -n openshift-storage patch configmap/rook-ceph-mon-endpoints -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch secret/rook-ceph-mon -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagesystems.odf.openshift.io/ocs-storagecluster-storagesystem -p '{"metadata":{"finalizers":[]}}' --type=merge
- Klassische Cluster oder Satellite-Cluster mit lokalen Platten Bereinigen Sie die verbleibenden Kubernetes-Ressourcen aus Ihrem Cluster. Speichern Sie das folgende Script in einer Datei mit dem Namen
cleanup.sh
auf Ihrer lokalen Maschine.#!/bin/bash ocscluster_name=`oc get ocscluster | awk 'NR==2 {print $1}'` oc delete ocscluster --all --wait=false kubectl patch ocscluster/$ocscluster_name -p '{"metadata":{"finalizers":[]}}' --type=merge oc delete ns openshift-storage --wait=false sleep 20 kubectl -n openshift-storage patch persistentvolumeclaim/db-noobaa-db-0 -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephblockpool.ceph.rook.io/ocs-storagecluster-cephblockpool -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephcluster.ceph.rook.io/ocs-storagecluster-cephcluster -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephfilesystem.ceph.rook.io/ocs-storagecluster-cephfilesystem -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstore.ceph.rook.io/ocs-storagecluster-cephobjectstore -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/noobaa-ceph-objectstore-user -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch cephobjectstoreuser.ceph.rook.io/ocs-storagecluster-cephobjectstoreuser -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch noobaa/noobaa -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch backingstores.noobaa.io/noobaa-default-backing-store -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch bucketclasses.noobaa.io/noobaa-default-bucket-class -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagecluster.ocs.openshift.io/ocs-storagecluster -p '{"metadata":{"finalizers":[]}}' --type=merge sleep 20 oc delete pods -n openshift-storage --all --force --grace-period=0 if oc get po -n openshift-local-storage|grep -operator; then LOCAL_NS=openshift-local-storage else LOCAL_NS=local-storage fi oc delete ns $LOCAL_NS --wait=false sleep 20 kubectl -n $LOCAL_NS patch localvolume.local.storage.openshift.io/local-block -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n $LOCAL_NS patch localvolume.local.storage.openshift.io/local-file -p '{"metadata":{"finalizers":[]}}' --type=merge sleep 20 oc delete pods -n $LOCAL_NS --all --force --grace-period=0 for item in `oc get csiaddonsnodes.csiaddons.openshift.io -n openshift-storage| awk 'NR>1 {print $1}'`; do kubectl -n openshift-storage patch csiaddonsnodes.csiaddons.openshift.io/$item -p '{"metadata":{"finalizers":[]}}' --type=merge done kubectl -n openshift-storage patch configmap/rook-ceph-mon-endpoints -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch secret/rook-ceph-mon -p '{"metadata":{"finalizers":[]}}' --type=merge kubectl -n openshift-storage patch storagesystems.odf.openshift.io/ocs-storagecluster-storagesystem -p '{"metadata":{"finalizers":[]}}' --type=merge
- VPC oder Satellite mit dynamisch bereitgestellten Platten Bereinigen Sie die verbleibenden Kubernetes-Ressourcen aus Ihrem Cluster. Speichern Sie das folgende Script in einer Datei mit dem Namen
- Führen Sie das Script
cleanup.sh
aus.sh ./cleanup.sh
- **Klassische Cluster oder Satellite-Cluster mit lokalen Platten Nachdem Sie das Bereinigungsscript ausgeführt haben, melden Sie sich bei jedem Workerknoten an und führen Sie die folgenden Befehle aus.
- Stellen Sie einen Debug-Pod bereit und führen Sie den Befehl
chroot /host
aus.oc debug node/<node_name> -- chroot /host
- Führen Sie den folgenden Befehl aus, um alle Dateien oder Verzeichnisse in den angegebenen Pfaden zu entfernen. Wiederholen Sie diesen Schritt für jeden Workerknoten, den Sie in der OCS-Konfiguration verwendet haben.
Beispielausgabe:rm -rvf /var/lib/rook /mnt/local-storage
removed '/var/lib/rook/openshift-storage/log/ocs-deviceset-0-data-0-6fgp6/ceph-volume.log' removed directory: '/var/lib/rook/openshift-storage/log/ocs-deviceset-0-data-0-6fgp6' removed directory: '/var/lib/rook/openshift-storage/log' removed directory: '/var/lib/rook/openshift-storage/crash/posted' removed directory: '/var/lib/rook/openshift-storage/crash' removed '/var/lib/rook/openshift-storage/client.admin.keyring' removed '/var/lib/rook/openshift-storage/openshift-storage.config' removed directory: '/var/lib/rook/openshift-storage' removed directory: '/var/lib/rook' removed '/mnt/local-storage/localblock/nvme3n1' removed directory: '/mnt/local-storage/localblock' removed '/mnt/local-storage/localfile/nvme2n1' removed directory: '/mnt/local-storage/localfile' removed directory: '/mnt/local-storage'
- Stellen Sie einen Debug-Pod bereit und führen Sie den Befehl
- Optional: Klassische Cluster oder Satellite-Cluster mit lokalen Platten Wenn Sie die lokalen Datenträger, die Sie in Ihrer Konfiguration verwendet haben, nicht mehr verwenden möchten, können Sie sie aus dem
Cluster löschen. Listen Sie die lokalen PVs auf.
Beispielausgabe:oc get pv
local-pv-180cfc58 139Gi RWO Delete Available localfile 11m local-pv-67f21982 139Gi RWO Delete Available localfile 12m local-pv-80c5166 100Gi RWO Delete Available localblock 12m local-pv-9b049705 139Gi RWO Delete Available localfile 12m local-pv-b09e0279 100Gi RWO Delete Available localblock 12m local-pv-f798e570 100Gi RWO Delete Available localblock 12m
- Löschen Sie die lokalen PVs.
oc delete pv <pv_name> <pv_name> <pv_name>
- Nach dem Löschen Ihrer PVCs und PVs müssen Sie auch die Speicherdatenträger aus Ihrem Konto löschen. Informationen zum Suchen und Entfernen nicht verwendeter Speicherdatenträger in Ihrem Konto finden Sie unter Warum sehe ich nach dem Löschen meines Clusters noch Gebühren für Blockspeichereinheiten?.
OpenShift Data Foundation-Add-on deinstallieren
Das Add-on für OpenShift Data Foundation über die Konsole deinstallieren
Führen Sie die folgenden Schritte aus, um das Add-on für die OpenShift Data Foundation aus Ihrem Cluster zu entfernen.
Wenn Sie alle ODF-Ressourcen und -Daten aus Ihrem Cluster entfernen wollen, entfernen Sie die CRDs, bevor Sie das Add-on deinstallieren.
- Wählen Sie in der Konsole den Cluster aus, für den Sie das Add-on OpenShift Data Foundation entfernen möchten.
- Scrollen Sie zu Ihren installierten Add-ons.
- Klicken Sie auf der OpenShift Data Foundation-Karte auf das Symbol Aktionen und anschließend auf Deinstallieren.
Add-on der OpenShift Data Foundation über die Befehlszeilenschnittstelle deinstallieren
Sie können das Add-on OpenShift Data Foundation über die Konsole oder die CLI von Ihrem Cluster deinstallieren.
Wenn Sie alle ODF-Ressourcen und -Daten aus Ihrem Cluster entfernen wollen, entfernen Sie die CRDs, bevor Sie das Add-on deinstallieren.
- Deinstallieren Sie das Add-on.
ibmcloud oc cluster addon disable openshift-container-storage -c <cluster_name>
- Überprüfen Sie, dass das Add-on entfernt wurde.
ibmcloud oc cluster addon ls -c <cluster_name>
Fehlerbehebung bei der ODF
Um die Informationen zur Fehlerbehebung bei der ODF zu erfassen, können Sie den Befehl oc adm must-gather
verwenden und das ODF-Image angeben. Weitere Informationen finden Sie unter Clusterdaten zusammenstellen.
Beispielbefehl:
oc adm must-gather --image=registry.redhat.io/ocs4/ocs-must-gather-rhel8:latest --dest-dir=ocs_mustgather
Mit der Rook-Community-Toolbox können Sie Fehler beim Ceph-Cluster beheben. Weitere Informationen finden Sie in der Dokumentation Rook.
Weitere Informationen finden Sie in den allgemeinen Themen zur Fehlerbehebung.