Par défaut, lorsqu'un utilisateur supprime un volume IBM® Software Hub de stockage, les données contenues dans ce volume ne sont pas supprimées et les services peuvent continuer à utiliser le volume jusqu'à ce qu'un Red Hat®
OpenShift® administrateur supprime la revendication de volume persistant afin de récupérer l'espace de stockage. De plus, le nom du volume de stockage ne peut pas être réutilisé à moins qu'il ne soit supprimé de la base de données où IBM Software Hub les métadonnées sont stockées.
- Qui doit accomplir cette tâche?
- Pour pouvoir effectuer cette tâche, vous devez posséder l'un des rôles suivants :
- Administrateur de cluster
- Administrateur d'instance
- Quand devez-vous terminer cette tâche?
- N'effectuez cette tâche que si vous êtes certain que les données stockées dans le volume ne sont plus nécessaires.
Avant de commencer
Pour effectuer cette tâche, vous devez disposer du nom d'affichage du volume de stockage à nettoyer. Le nom a le format namespace::volume-name.
- La
namespace partie du nom d'affichage vous indique dans quel projet se trouve la revendication de volume persistant.
- La
volume-name partie sert à identifier la revendication de volume persistant et le volume dans la base de données.
Important : vous devez supprimer le volume de stockage avant de terminer cette tâche.
Procédure
Pour nettoyer un volume de stockage :
- Définissez les variables d'environnement suivantes :
- Définissez la variable
VOLUME_NAME d'environnement sur la volume-name partie du nom d'affichage :
export VOLUME_NAME=<volume-name>
- Définissez la variable
PVC_NAME d'environnement sur le nom de la revendication de volume persistant :
export PVC_NAME=volumes-${VOLUME_NAME}-pvc
- Vérifiez que la revendication de volume persistant existe.
Le nom de la revendication de volume persistant a le format volumes-<volume-name>-pvc.
Le volume de stockage était dans le projet operands pour l'instance
oc get pvc \
--namespace=${PROJECT_CPD_INST_OPERANDS}
Le volume de stockage faisait partie d'un projet lié à l'instance
oc get pvc \
--namespace=${PROJECT_CPD_INSTANCE_TETHERED}
- Supprimez la revendication de volume persistant :
Le volume de stockage était dans le projet operands pour l'instance
oc delete pvc ${PVC_NAME} \
--namespace=${PROJECT_CPD_INST_OPERANDS}
Le volume de stockage faisait partie d'un projet lié à l'instance
oc delete pvc ${PVC_NAME} \
--namespace=${PROJECT_CPD_INSTANCE_TETHERED}
- Identifiez le pod principal de la base de données où IBM Software Hub les métadonnées sont stockées :
oc get cluster zen-metastore-edb \
--namespace=${PROJECT_CPD_INST_OPERANDS}
La commande doit renvoyer une sortie au format suivant :
NAME AGE INSTANCES READY STATUS PRIMARY
zen-metastore-edb 9d 2 2 Cluster in healthy state zen-metastore-edb-2
- Définissez la variable
DB_POD d'environnement sur le nom du pod principal :
- Ouvrez un shell bash dans le pod principal :
oc exec -it ${DB_POD} bash
- Connectez-vous à la base de données :
- Supprimer le volume de la base de données.
Attention : lisez attentivement les instructions avant d'exécuter les commandes suivantes. Une mauvaise exécution de la delete commande peut entraîner une perte de données.
- Vérifiez que l'instance de volume se trouve dans la base de données.
Avant d'exécuter la commande suivante, remplacez <nom-du-volume> par la volume-name partie du nom d'affichage du volume de stockage. Vous ne pouvez pas remplacer <nom-du-volume> par une variable d'environnement.
select * from service_instances where service_instance_display_name='<volume-name>';
- Supprimez l'enregistrement de l'instance de volume de la base de données.
Avant d'exécuter la commande suivante, remplacez <nom-du-volume> par la volume-name partie du nom d'affichage du volume de stockage. Vous ne pouvez pas remplacer <nom-du-volume> par une variable d'environnement.
delete from service_instances where service_instance_display_name='<volume-name>';
Par exemple, si le nom d'affichage du volume de stockage est
cpd-inst-1::my-storage-volume, vous remplacerez
<volume-name> par
my-storage-volume:
delete from service_instances where service_instance_display_name='my-storage-volume';