Un mémo sur comment migrer un cluster Proxmox 5 HA avec Ceph Luminous vers un cluster Proxmox 6 HA avec Ceph Nautilus.
La migration du cluster Proxmox Ceph se déroule en 3 étapes :
- Mise à jour de Corosync 2 vers 3
- Migration proxmox 5 vers 6
- Migration de Ceph Luminous vers Nautilus
Afin d’avoir une continuité de service, la migration de Proxmox 5 vers 6 a été réalisée noeud après noeud (sauf pour la mise à niveau de Corosync) tout en migrant les VM vers les noeuds en ligne.
De plus, toutes les VM ont été retirées des groupes de la HA afin que les VM ne migrent pas automatiquement sur les autres noeuds du cluster Proxmox.
Mise en garde
Faire des sauvegardes de toutes les VM et vérifier leur intégritées avant de procéder à la migration de Proxmox 5 vers 6.
Mise à jour de Corosync 3
Sur chaque noeuds du cluster Proxmox :
apt update && apt full-upgrade
systemctl stop pve-ha-lrm
systemctl stop pve-ha-crm
echo "deb http://download.proxmox.com/debian/corosync-3/ stretch main" > /etc/apt/sources.list.d/corosync3.list
apt update && apt full-upgrade
pvecm status
systemctl start pve-ha-lrm
systemctl start pve-ha-crm
Mise à jour de Proxmox 5.4 vers 6
Les étapes suivantes peuvent être faite noeud après noeud sans interruption de service, en ayant migrer les VM sur les autres noeuds.
- Modification des dépôts :
sed -i 's/stretch/buster/g' /etc/apt/sources.list
echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/ceph-luminous buster main" > /etc/apt/sources.list.d/ceph.list
apt update && apt full-upgrade
pvecm status
rm /etc/apt/sources.list.d/corosync3.list
Finalisation migration Ceph Luminous vers Nautilus
Attention, cette étape est la plus délicate et dangereuse. Avant de commencer l’étape de migration de Ceph Luminous vers Nautilus, s’assurer que le status du Ceph soit OK :
Autre attention particulière, si comme moi votre cluster Ceph a été migrer de Jewel vers Luninous, il faut impérativement vérifier que Ceph a effectué au moins un nettoyage complet de touts les PG lors de l’exécution de Luminous. Sinon, les démons de contrôle refuseront de rejoindre le quorum au démarrage, les laissant non fonctionnels.
Afin de vérifier si un nettoyage complet a été effectué sur tous les PG, vérifier avec la commande suivante si les drapeaux recovery_deletes et purged_snapdirs sont présent :
ceph osd dump | grep ^flags
Dans le cas contraire, d’après le doc officielle attendre entre 24 et 48h avant de procéder à la migration de Ceph Luminous vers Nautilus ou exécuter la commande suivante afin d’accélérer le processus de nettoyage :
ceph pg dump pgs_brief | cut -d " " -f 1 | xargs -n1 ceph pg scrub
nb : Je n’ai pas testé cette commande, car mon cluster Ceph était propre.
Si tout est OK, alors procéder à la migration de Ceph Luminous vers Nautilus.
- Adapter le fichier
/etc/pve/ceph.conf
:Depuis Nautilus, tous les démons utilisent l’option ‘keyring’ dans le fichier de configuration, il faut donc l’adapter. Le moyen le plus simple consiste à déplacer l’option « keyring » dans la section « client » et la supprimer partout ailleurs. Créer la section « client » si elle n’existe pas.
- Avant :
[global] ... keyring = /etc/pve/priv/$cluster.$name.keyring [osd] keyring = /var/lib/ceph/osd/ceph-$id/keyring
- Après :
[global] ... [client] keyring = /etc/pve/priv/$cluster.$name.keyring
sed -i 's/luminous/nautilus/' /etc/apt/sources.list.d/ceph.list
ceph osd set noout
apt update && apt dist-upgrade
systemctl restart ceph-mon.target
ceph mon dump | grep min_mon_release
systemctl restart ceph-mgr.target
ceph -s
- Dans mon cas, j’ai un soucis avec msgr2 :
- Activer msgr2 :
ceph mon enable-msgr2
ceph -s
Les monitors sont fonctionnels.
systemctl restart ceph-osd.target
ceph-volume simple scan
ceph-volume simple activate --all
reboot
- Une fois redémarrer, vérifier les OSD :
ceph osd tree
ceph osd require-osd-release nautilus
ceph osd unset noout
ceph -s
La migration de proxmox 5 vers Proxmox 6 et Ceph Luninous vers Nautilus est entièrement terminée.
Merci pour ton nouveau mémo.
Juste un petit ajout je pense important.
Il est fortement conseillé de tester son installation avec un « pve5to6 » avant d’attaquer les mises à jours.
Salutations
Christophe
Bonjour fred
Juste un question est ce que possible de crée un cluster de 3 serveurs avec stockage partager ceph malgré ces derniers ne sont pas identiques coté disques dur et mémoire RAM , exemple pve1: Disq=5*2.4 To RAM=128go , pve2 =5*1.2 To RAM=64go
Bonjour Kjairi,
techniquement tu peux mais c’est fortement déconseillé ;-)
Super tuto (comme d’habitude…)
Tous c’est bien passé.
J’ai juste été obligé de commenter :
deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
et deb https://enterprise.proxmox.com/debian/pve buster pve-no-subscription
dans /etc/apt/sources.list.d/pve-enterprise.list pour la mise à niveau de Ceph
et le système ne m’a pas demandé de redémarrer les services.