UiPath Documentation
automation-suite
2.2510
true
Guide d'installation d'Automation Suite sur Linux
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Les données du cluster semblent perdues après un redémarrage en raison d’un ordre de montage du disque Rancher et etcd incorrect

Restaurez les données etcd masquées et corrigez l’ordre de montage du disque Rancher et etcd après un redémarrage d’Automation Suite sous Linux.

Description​

Sur les installations multi-disques, le disque etcd dédié, monté sur /var/lib/rancher/rke2/server/db, doit être monté après son répertoire parent, /var/lib/rancher. Si l'ordre de montage est inversé, de sorte que /var/lib/rancher soit monté sur un disque etcd déjà monté, les données etcd sont masquées sous le montage /var/lib/rancher.

Un redémarrage qui déclenche à nouveau cet ordre de montage incorrect fait que le nœud de serveur RKE2 semble perdre tous les volumes persistants, les revendications de volume persistantes et les applications, même si les données etcd sous-jacentes sont toujours présentes sur le disque.

À partir d'Automation Suite 2.2510.4, la commande uipathctl rke2 prereq run vérifie cette condition. Pour exécuter la vérification, utilisez la commande suivante:

./bin/uipathctl rke2 prereq run cluster_config.json --versions ./versions/helm-charts.json --log-level=debug --included disk --node-type server -v
./bin/uipathctl rke2 prereq run cluster_config.json --versions ./versions/helm-charts.json --log-level=debug --included disk --node-type server -v

Si l'ordre de montage est incorrect, la vérification échoue avec l'erreur suivante:

❌ [RKE2_DISK]
   ❌ [Rancher_Etcd_Mount_Order] '/var/lib/rancher/rke2/server/db' is not mounted. Configure the cluster disk (--cluster-disk-name) before continuing, or if both disks are already mounted, do the data migration if required, unmount and remount (or reboot) so '/var/lib/rancher' is mounted before '/var/lib/rancher/rke2/server/db'.
❌ [RKE2_DISK]
   ❌ [Rancher_Etcd_Mount_Order] '/var/lib/rancher/rke2/server/db' is not mounted. Configure the cluster disk (--cluster-disk-name) before continuing, or if both disks are already mounted, do the data migration if required, unmount and remount (or reboot) so '/var/lib/rancher' is mounted before '/var/lib/rancher/rke2/server/db'.

Sur les versions antérieures, ou si vous préférez ne pas effectuer la vérification complète des prérequis, vérifiez directement l'ordre de montage:

stat -c '%n -> %D' /var/lib/rancher/ /var/lib/rancher/rke2/server/db /
stat -c '%n -> %D' /var/lib/rancher/ /var/lib/rancher/rke2/server/db /

Si les ID de périphérique ne sont pas tous différents, le disque etcd n'est pas monté sur son chemin d'accès attendu.

Solution​

Important :

Pour un cluster multi-nœuds, appliquez les étapes suivantes à un nœud de serveur à la fois et confirmez que le nœud est sain avant de passer au nœud suivant. Sauvegardez le cluster et mettez-le en mode de maintenance avant de commencer. Exécuter toutes les commandes en tant que racine (sudo -i).

Pour corriger l'ordre de montage et restaurer les données etcd masquées, procédez comme suit:

  1. Arrêtez le drainage de nœud et les services de serveur RKE2, puis déplacez les deux chemins:

    systemctl stop node-drain.service
    systemctl stop rke2-server
    rke2-killall.sh
    umount /var/lib/rancher
    umount /var/lib/rancher/rke2/server/db
    systemctl stop node-drain.service
    systemctl stop rke2-server
    rke2-killall.sh
    umount /var/lib/rancher
    umount /var/lib/rancher/rke2/server/db
    
  2. Montez le volume parent /var/lib/rancher uniquement:

    RANCHER_UUID=$(blkid -o value -s UUID /dev/uipathvg/rancherlv)
    mount -t xfs -o defaults,nofail UUID="$RANCHER_UUID" /var/lib/rancher
    RANCHER_UUID=$(blkid -o value -s UUID /dev/uipathvg/rancherlv)
    mount -t xfs -o defaults,nofail UUID="$RANCHER_UUID" /var/lib/rancher
    
  3. Montez le disque etcd dans un emplacement temporaire, afin que les données masquées soient exposées au lieu d'être à nouveau couvertes:

    mkdir -p /mnt/tmp_db
    ETCD_UUID=$(blkid -o value -s UUID /dev/uipathetcdvg/etcdlv)
    mount -t xfs -o defaults,nofail UUID="$ETCD_UUID" /mnt/tmp_db
    mkdir -p /mnt/tmp_db
    ETCD_UUID=$(blkid -o value -s UUID /dev/uipathetcdvg/etcdlv)
    mount -t xfs -o defaults,nofail UUID="$ETCD_UUID" /mnt/tmp_db
    
  4. Copiez les données etcd masquées sur le disque etcd:

    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    
  5. Démontez l’emplacement temporaire, effacez les données obsolètes du disque parent et installez le disque etcd sur son chemin imbriqué correct:

    umount /mnt/tmp_db
    rmdir /mnt/tmp_db
    find /var/lib/rancher/rke2/server/db -mindepth 1 -delete
    mount -t xfs -o defaults,nofail UUID="$ETCD_UUID" /var/lib/rancher/rke2/server/db
    umount /mnt/tmp_db
    rmdir /mnt/tmp_db
    find /var/lib/rancher/rke2/server/db -mindepth 1 -delete
    mount -t xfs -o defaults,nofail UUID="$ETCD_UUID" /var/lib/rancher/rke2/server/db
    
  6. Mettez à jour /etc/fstab afin que l'ordre de montage soit conservé entre les redémarrages. Le montage parent (/var/lib/rancher) doit être déclaré avant le montage imbriqué (/var/lib/rancher/rke2/server/db):

    # uipath-rancher
    UUID=<rancher-disk-uuid>    /var/lib/rancher    xfs    defaults,nofail    0    0
    # uipath-etcd
    UUID=<etcd-disk-uuid>    /var/lib/rancher/rke2/server/db    xfs    defaults,nofail    0    0
    # uipath-rancher
    UUID=<rancher-disk-uuid>    /var/lib/rancher    xfs    defaults,nofail    0    0
    # uipath-etcd
    UUID=<etcd-disk-uuid>    /var/lib/rancher/rke2/server/db    xfs    defaults,nofail    0    0
    

    Avant de redémarrer, vérifiez que les deux chemins sont correctement montés:

    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    
  7. Vérifiez l'ordre de montage et redémarrez les services du cluster:

    df -h | grep rancher
    systemctl start rke2-server
    systemctl start node-uncordon
    df -h | grep rancher
    systemctl start rke2-server
    systemctl start node-uncordon
    
  • Description​
  • Solution​

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour