Utilisez cette procédure pour supprimer un nœud de stockage Ceph d’un cluster Ceph. La suppression de l’espace de stockage Ceph est gérée comme un processus Red Hat plutôt que comme un processus Contrail Cloud de bout en bout. Toutefois, cette procédure démontre la suppression d’un nœud de stockage d’un environnement dans le contexte de Contrail Cloud.
Avant de commencer, assurez-vous que les nœuds restants dans le cluster sont suffisants pour conserver la quantité requise de pgs et de réplicas pour votre cluster de stockage Ceph. Assurez-vous que le cluster Ceph et la pile overcloud sont sains. Pour vérifier l’intégrité de votre overcloud, consultez Vérifier l’intégrité du quorum et du nœud.
Tous les exemples de cette procédure proviennent d’un environnement de laboratoire pour démontrer la suppression de stockage dans le contexte de Contrail Cloud. Les exemples de sortie dans les exemples fournis seront différents des informations de votre déploiement cloud spécifique. Dans les exemples utilisés pour cette procédure, « storage3 » sera le nœud ciblé pour la suppression.
Supprimez le nœud de stockage :
- Recherchez la connexion entre le serveur bare metal et le serveur overcloud. La sortie de la commande ci-dessous nous montre que le sérer que nous recherchons est « overcloud8st-cephstorageblue1-0 ». Ces informations seront utilisées ultérieurement au cours de la procédure.
(undercloud) [stack@undercloud ~]$ openstack ccloud nodemap list
+---------------------------------+----------------+------------+----------------+
| Name | IP | Hypervisor | Hypervisor IP |
+---------------------------------+----------------+------------+----------------+
| overcloud8st-afxctrl-0 | 192.168.213.69 | controler2 | 192.168.213.6 |
| overcloud8st-afxctrl-1 | 192.168.213.52 | controler3 | 192.168.213.7 |
| overcloud8st-afxctrl-2 | 192.168.213.58 | controler1 | 192.168.213.5 |
| overcloud8st-ctrl-0 | 192.168.213.73 | controler2 | 192.168.213.6 |
| overcloud8st-ctrl-1 | 192.168.213.63 | controler1 | 192.168.213.5 |
| overcloud8st-ctrl-2 | 192.168.213.59 | controler3 | 192.168.213.7 |
| overcloud8st-cephstorageblue1-0 | 192.168.213.62 | storage3 | 192.168.213.62 |
| overcloud8st-compdpdk-0 | 192.168.213.56 | compute1 | 192.168.213.56 |
| overcloud8st-cephstorageblue2-0 | 192.168.213.61 | storage2 | 192.168.213.61 |
| overcloud8st-cephstorageblue2-1 | 192.168.213.80 | storage1 | 192.168.213.80 |
+---------------------------------+----------------+------------+----------------+
- De l’undercloud en tant qu’utilisateur
heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph est sain :
[root@overcloud8st-ctrl-1 ~]# sudo ceph -s
cluster:
id: a98b1580-bb97-11ea-9f2b-525400882160
health: HEALTH_OK
- Recherchez les OSD qui résident sur le serveur à supprimer (overcloud8st-cephstorageblue1-0). Nous identifions osd.2, osd.3, osd.6 et osd.7 à partir de l’exemple ci-dessous :
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 10.91638 root default
-3 3.63879 host overcloud8st-cephstorageblue1-0
2 hdd 0.90970 osd.2 up 1.00000 1.00000
3 hdd 0.90970 osd.3 up 1.00000 1.00000
6 hdd 0.90970 osd.6 up 1.00000 1.00000
7 hdd 0.90970 osd.7 up 1.00000 1.00000
-7 3.63879 host overcloud8st-cephstorageblue2-0
1 hdd 0.90970 osd.1 up 1.00000 1.00000
4 hdd 0.90970 osd.4 up 1.00000 1.00000
8 hdd 0.90970 osd.8 up 1.00000 1.00000
10 hdd 0.90970 osd.10 up 1.00000 1.00000
-5 3.63879 host overcloud8st-cephstorageblue2-1
0 hdd 0.90970 osd.0 up 1.00000 1.00000
5 hdd 0.90970 osd.5 up 1.00000 1.00000
9 hdd 0.90970 osd.9 up 1.00000 1.00000
11 hdd 0.90970 osd.11 up 1.00000 1.00000
- Alors que vous êtes toujours connecté au contrôleur openstack, marquez osd.2, osd.3, osd.6 et osd.7 comme non opérationnels :
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd out 2
marked out osd.2.
[root@overcloud8st-ctrl-1 ~]# sudo osd out 3
marked out osd.3.
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd out 6
marked out osd.6.
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd out 7
marked out osd.7.
À partir de l’undercloud en tant qu’utilisateur heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph renvoie un état « health_ok » avant de continuer.
- De l’undercloud en tant qu’utilisateur
heat-admin
, SSH au nœud Ceph overcloud8st-cephstorageblue1-0, et arrêtez les services OSD :
[root@overcloud8st-cephstorageblue1-0 ~]# sudo systemctl stop ceph-osd@2.service
[root@overcloud8st-cephstorageblue1-0 ~]# sudo systemctl stop ceph-osd@3.service
[root@overcloud8st-cephstorageblue1-0 ~]# sudo systemctl stop ceph-osd@6.service
[root@overcloud8st-cephstorageblue1-0 ~]# sudo systemctl stop ceph-osd@7.service
À partir de l’undercloud en tant qu’utilisateur heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph renvoie un état « health_ok » avant de continuer.
- À partir de l’undercloud en tant qu’utilisateur
heat-admin
, SSH retourne dans le contrôleur et supprime d’autres informations sur les OSD d’overcloud8st-cephstorageblue1-0 :
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd crush remove osd.2
removed item id 2 name 'osd.2' from crush map
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd crush remove osd.3
removed item id 3 name 'osd.3' from crush map
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd crush remove osd.6
removed item id 6 name 'osd.6' from crush map
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd crush remove osd.7
removed item id 7 name 'osd.7' from crush map
[root@overcloud8st-ctrl-1 ~]# sudo ceph auth del osd.2
updated
[root@overcloud8st-ctrl-1 ~]# sudo ceph auth del osd.3
updated
[root@overcloud8st-ctrl-1 ~]# sudo ceph auth del osd.6
updated
[root@overcloud8st-ctrl-1 ~]# sudo ceph auth del osd.7
updated
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd rm 2
removed osd.2
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd rm 3
removed osd.3
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd rm 6
removed osd.6
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd rm 7
removed osd.7
[root@overcloud8st-ctrl-1 ~]# sudo ceph osd crush rm overcloud8st-cephstorageblue1-0
À partir de l’undercloud en tant qu’utilisateur heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph renvoie un état « health_ok » avant de continuer.
- Dans la machine virtuelle undercloud, recherchez l’ID du nœud de stockage Ceph :
(undercloud) [stack@undercloud ~]$ openstack server list | grep overcloud8st-cephstorageblue1-0
| 7ee9be4f-efda-4837-a597-a6554027d0c9 | overcloud8st-cephstorageblue1-0 | ACTIVE | ctlplane=192.168.213.62 | overcloud-full | CephStorageBlue1
- Lancez une suppression à l’aide de l’ID de nœud de l’étape précédente :
(undercloud) [stack@undercloud ~]$ openstack overcloud node delete --stack overcloud 7ee9be4f-efda-4837-a597-a6554027d0c9
À partir de l’undercloud en tant qu’utilisateur heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph renvoie un état « health_ok » avant de continuer.
- Vérifiez que le nœud bare metal est dans un état de
power off
et available
:
(undercloud) [stack@undercloud ~]$ openstack baremetal node list | grep storage3
| 05bbab4b-b968-4d1d-87bc-a26ac335303d | storage3 | None | power off | available | False |
- De l’hôte de saut lorsque l’utilisateur marque le nœud de stockage avec 'status : dedeleteing'
contrail
afin que le profil Ceph en soit supprimé. Ajoutez le 'status : deleting' au fichier storage-nodes.yml pour storage3, puis exécutez le script storage-nodes-assign.sh.
[contrail@5a6s13-node1 contrail_cloud]$ cat config/storage-nodes.yml
storage_nodes:
- name: storage1
profile: blue2
- name: storage2
profile: blue2
- name: storage3
profile: blue1
status: deleting
[contrail@5a6s13-node1 contrail_cloud]$ ./scripts/storage-nodes-assign.sh
À partir de l’undercloud en tant qu’utilisateur heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph renvoie un état « health_ok » avant de continuer.
- À partir de l’hôte de saut en tant qu’utilisateur, exécutez openstack-deploy.sh pour régénérer les modèles afin qu’ils
contrail
reflètent l’état actuel :
[contrail@5a6s13-node1 contrail_cloud]$ ./scripts/openstack-deploy.sh
À partir de l’undercloud en tant qu’utilisateur heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph renvoie un état « health_ok » avant de continuer.
Si l’objectif est de supprimer complètement le nœud métallique nu, procédez comme suit :
Modifiez le fichier config/storage-nodes.yml et supprimez le nœud bare metal.
Modifiez le fichier inventory.yml et incluez le 'status : deleting' au nœud à supprimer :
[contrail@5a6s13-node1 contrail_cloud]$ cat config/inventory.yml
...
inventory_nodes:
- name: "storage3"
pm_addr: "10.84.129.184"
status: deleting
<<: *common
Exécutez le inventory-assign.sh
script :
[contrail@5a6s13-node1 contrail_cloud]$ ./scripts/inventory-assign.sh
À partir de l’undercloud en tant qu’utilisateur heat-admin
, SSH à l’un des contrôleurs openstack, puis exécutez sudo ceph -s
pour vérifier que le cluster Ceph renvoie un état « health_ok » avant de continuer.
Vérifiez que le nœud métallique nu a été retiré. Entrez la commande suivante pour afficher la liste des nœuds :
(undercloud) [stack@undercloud ~]$ openstack ccloud nodemap list |grep storage
| overcloud8st-cephstorageblue2-1 | 192.168.213.80 | storage1 | 192.168.213.80 |
| overcloud8st-cephstorageblue2-0 | 192.168.213.61 | storage2 | 192.168.213.61 |