UiPath Documentation
automation-suite
2.2510
true
Guia de instalação do Automation Suite no Linux
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Os dados do cluster parecem perdidos após uma reinicialização devido à ordem incorreta de montagem do Rancher e do disco etcd

Restaure os dados ocultos etcd e corrija a ordem de montagem do disco do Rancher e etcd após uma reinicialização do Automation Suite no Linux.

Description​

Em instalações em vários discos, o disco etcd dedicado, montado em /var/lib/rancher/rke2/server/db, deve ser montado após seu diretório pai, /var/lib/rancher. Se a ordem de montagem for revertida, de modo que /var/lib/rancher seja montado em cima de um disco etcd já montado, os dados etcd ficarão ocultos sob a montagem /var/lib/rancher.

Uma reinicialização que dispara novamente essa ordem de montagem incorreta faz com que o nó do servidor RKE2 parece perder todos os volumes persistentes, declarações de volume persistentes e aplicativos, mesmo que os dados etcd subjacentes ainda estejam presentes no disco.

A partir do Automation Suite 2.2510.4, o comando uipathctl rke2 prereq run verifica essa condição. Para executar a verificação, use o seguinte comando:

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

Se a ordem de montagem estiver incorreta, a verificação falhará com o seguinte erro:

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

Em versões anteriores ou se você preferir não executar a verificação prereq completa, verifique a ordem de montagem diretamente:

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 /

Se os IDs do dispositivo não forem todos diferentes, o disco etcd não será montado em seu caminho esperado.

Solução​

Importante:

Para um cluster de vários nós, aplique as seguintes etapas a um nó do servidor de cada vez e confirme se o nó está íntegro antes de passar para o próximo nó. Faça backup do cluster e coloque-o no modo de manutenção antes de começar. Execute todos os comandos como raiz (sudo -i).

Para corrigir a ordem de montagem e restaurar os dados ocultos etcd, siga as seguintes etapas:

  1. Interrompa a drenagem de nós e os serviços do servidor RKE2, em seguida, desconstrua os dois caminhos:

    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. Mova apenas o volume pai /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
    RANCHER_UUID=$(blkid -o value -s UUID /dev/uipathvg/rancherlv)
    mount -t xfs -o defaults,nofail UUID="$RANCHER_UUID" /var/lib/rancher
    
  3. Instale o disco etcd em um local temporário, para que os dados ocultos fiquem expostos em vez de serem cobertos novamente:

    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. Copie os dados ocultos etcd para o disco etcd:

    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    
  5. Desmonte o local temporário, limpe os dados obsoletos do disco pai e monte o disco etcd em seu caminho aninhado correto:

    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. Atualize /etc/fstab para que a ordem de montagem persista entre as reinicializações. A montagem pai (/var/lib/rancher) deve ser declarada antes da montagem aninhada (/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
    

    Antes de reinicializar, verifique se ambos os caminhos são montados corretamente:

    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    
  7. Verifique a ordem de montagem e reinicie os serviços de 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​
  • Solução​

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades