UiPath Documentation
automation-suite
2.2510
true
Automation Suite unter Linux – Installationsanleitung
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Clusterdaten scheinen nach einem Neustart aufgrund einer falschen Bereitstellungsreihenfolge von Rancher und etcd verloren zu gehen

Stellen Sie ausgeblendete etcd-Daten wieder her und korrigieren Sie die Bereitstellungsreihenfolge des Rancher- und etcd-Datenträgers nach einem Neustart der Automation Suite unter Linux.

Beschreibung​

Bei Installationen mit mehreren Datenträgern muss der dedizierte etcd-Datenträger, der unter /var/lib/rancher/rke2/server/db bereitgestellt ist, nach seinem übergeordneten Verzeichnis /var/lib/rancher bereitgestellt werden. Wenn die Bereitstellungsreihenfolge umgekehrt wird, sodass /var/lib/rancher auf einem bereits bereitgestellten etcd-Datenträger bereitgestellt wird, werden die etcd-Daten unter der /var/lib/rancher -Bereitstellung ausgeblendet.

Ein Neustart, der diese falsche Bereitstellungsreihenfolge erneut auslöst, führt dazu, dass der RKE2-Serverknoten anscheinend alle persistenten Volumes, persistenten Volume-Anforderungen und Anwendungen verliert, obwohl die zugrunde liegenden etcd-Daten immer noch auf dem Datenträger vorhanden sind.

Ab Automation Suite 2.2510.4, Der Befehl uipathctl rke2 prereq run überprüft diese Bedingung. Um die Prüfung durchzuführen, verwenden Sie den folgenden Befehl:

./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

Wenn die Bereitstellungsreihenfolge falsch ist, schlägt die Prüfung mit dem folgenden Fehler fehl:

❌ [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'.

Überprüfen Sie bei früheren Versionen oder wenn Sie die vollständige Voraussetzungsprüfung nicht durchführen möchten, die Bereitstellungsreihenfolge direkt:

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 /

Wenn die Geräte-IDs nicht alle unterschiedlich sind, wird der etcd-Datenträger nicht unter seinem erwarteten Pfad bereitgestellt.

Lösung​

Wichtig:

Wenden Sie für einen Cluster mit mehreren Knoten die folgenden Schritte jeweils auf einen Serverknoten an und vergewissern Sie sich, dass der Knoten fehlerfrei ist, bevor Sie zum nächsten Knoten wechseln. Sichern Sie den Cluster und versetzen Sie ihn in den Wartungsmodus, bevor Sie beginnen. Führen Sie alle Befehle als Stamm (sudo -i) aus.

Um die Bereitstellungsreihenfolge zu korrigieren und die ausgeblendeten etcd-Daten wiederherzustellen, führen Sie die folgenden Schritte aus:

  1. Stoppen Sie den Knoten-Drop und die RKE2-Serverdienste und heben Sie dann die Bereitstellung beider Pfade auf:

    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. Nur das übergeordnete Volume /var/lib/rancher bereitstellen:

    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. Stellen Sie den etcd-Datenträger an einem temporären Speicherort bereit, sodass die ausgeblendeten Daten offengelegt werden, anstatt wieder abgedeckt zu werden:

    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. Kopieren Sie die ausgeblendeten etcd-Daten auf den etcd-Datenträger:

    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    
  5. Heben Sie die Bereistellung des temporären Speicherorts auf, löschen Sie die veralteten Daten vom übergeordneten Datenträger und stellen Sie den etcd-Datenträger in seinem korrekten geschachtelten Pfad bereit:

    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. Aktualisieren Sie /etc/fstab, sodass die Bereitstellungsreihenfolge nach Neustarts beibehalten wird. Die übergeordnete Bereitstellung (/var/lib/rancher) muss vor der geschachtelten Bereitstellung (/var/lib/rancher/rke2/server/db) deklariert werden:

    # 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
    

    Stellen Sie vor dem Neustart sicher, dass beide Pfade korrekt bereitgestellt werden:

    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    
  7. Überprüfen Sie die Bereitstellungsreihenfolge und starten Sie die Clusterdienste neu:

    df -h | grep rancher
    systemctl start rke2-server
    systemctl start node-uncordon
    df -h | grep rancher
    systemctl start rke2-server
    systemctl start node-uncordon
    
  • Beschreibung​
  • Lösung​

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben