UiPath Documentation
automation-suite
2.2510
true
Linux の Automation Suite のインストール ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

Rancher と etcd ディスクのマウント順序が正しくないため、再起動後にクラスターのデータが失われるように見える

Linux の Automation Suite で再起動した後、非表示の etcd データを復元し、Rancher と etcd ディスクのマウント順序を修正します。

説明​

マルチディスク インストールでは、 /var/lib/rancher/rke2/server/dbにマウントされた専用の etcd ディスクは、親ディレクトリ /var/lib/rancherの後にマウントする必要があります。マウント順序を逆にして、すでにマウントされている etcd ディスクの上に /var/lib/rancher マウントすると、etcd データは /var/lib/rancher マウントの下に隠れてしまいます。

この誤ったマウント順序を再起動して再トリガーすると、基になる etcd データがまだディスク上に存在する場合でも、RKE2 サーバー ノードは永続ボリューム、永続ボリュームのクレーム、およびアプリケーションがすべて失われたように見えます。

Automation Suite 2.2510.4 以降では、uipathctl rke2 prereq run コマンドはこの条件をチェックします。チェックを実行するには、次のコマンドを使用します。

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

マウントの順序が正しくない場合、チェックは次のエラーで失敗します。

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

以前のバージョンの場合、または完全な prereq チェックを実行したくない場合は、マウント順序を直接確認します。

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 /

デバイス ID がすべて異なるわけない場合、etcd ディスクは期待されるパスにマウントされていません。

解決策​

重要:

マルチノード クラスターの場合は、以下の手順を一度に 1 つのサーバー ノードに適用し、ノードが正常であることを確認してくださいから次のノードに移動します。開始する前に、クラスターをバックアップし、メンテナンス モードにします。すべてのコマンドを root (sudo -i) として実行します。

マウント順序を修正し、非表示の etcd データを復元するには、次の手順を実行します。

  1. ノード ドレインと RKE2 サーバー サービスを停止し、両方のパスをアンマウントします。

    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. 親 /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. etcd ディスクを一時的な場所にマウントし、非表示のデータが再度覆われるのではなく公開するようにします。

    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. 非表示の etcd データを etcd ディスクにコピーします。

    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    cp -ax /var/lib/rancher/rke2/server/db/. /mnt/tmp_db/
    
  5. 一時的な場所をアンマウントし、親ディスクから古いデータをクリアして、etcd ディスクを正しい入れ子になったパスにマウントします。

    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. /etc/fstab を更新して、再起動してもマウント順序が維持されるようにします。親マウント (/var/lib/rancher) は、入れ子になったマウント (/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
    

    再起動する前に、両方のパスが正しくマウントされていることを確認します。

    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    mountpoint /var/lib/rancher
    mountpoint /var/lib/rancher/rke2/server/db
    
  7. マウント順序を確認し、クラスター サービスを再起動します。

    df -h | grep rancher
    systemctl start rke2-server
    systemctl start node-uncordon
    df -h | grep rancher
    systemctl start rke2-server
    systemctl start node-uncordon
    
  • 説明​
  • 解決策​

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得