Umbrelアップデート記録 (v0.5.4→v1.2.2)
ご無沙汰しております!少しノード運用から離れ気味でしたが、重い腰を上げてようやくUmbrelのメジャーバージョンアップを行ったので記録を残しておきます。
基本的にはこちらの記事と同様の手順で移行を試みました。
ただ、当方の動作環境は移行元も移行先も仮想環境というところで、いくつか躓いた点がありました。
1. Hyper-V上のUmbrelでUSBストレージが使えない
移行元の環境は Windows11 上の Hyper-V 内に作った Umbrel v0.5.4 (OSはubuntu 22.04) でした。上で紹介した手順では移行元でデータエクスポート用のスクリプトを実行し、USB接続したストレージに移行データを逃がす必要があります。
ところが Hyper-Vの設定上では内蔵SSDやHDDをゲストOSのものとしてマウントできるものの、USBストレージに対してはできませんでした。
諸々調べたところ、同じネットワーク上に存在する端末間でUSBデバイスを共有する USB/IP という手法があり、今回はこれを使って解決することができました。
具体的には Hyper-V が動作している Windows に USBストレージを接続して USB/IP のサーバとして動作させ、USB ストレージを共有します。Hyper-V 上の Umbrel は USB/IP のクライアントとして動作させ、共有された USB ストレージをアタッチします。
異なる OS 間でも共有できるのか不安ではありましたが、前述のスクリプトでも USB ストレージが検知され、特に支障なくデータをエクスポートできました。
2. 移行先でインポートに失敗する
移行先の環境は Synology NAS (DiskStation DS1821+) 上の Virtual Machine Managerです。最近のNASは単体で仮想環境も構築できるほどに多機能で、常時起動していても怪しまれることなく、一般家庭でノードを維持するにはもってこいです。
Virtual Machine ManagerはHyper-Vと異なり、NASに接続したUSBストレージをマウントすることができますが、何度試してもインポートが始まりませんでした。
「インポートが始まらない」というキーワードで調べてみると、手動でumbrelディレクトリ直下に /import
を作成し、そこにUSBストレージの中身をコピーすることでもインポートを実行できる…との情報が見つかりました(余談ですが質問者はあのアントノプロス氏です)。
しかしこれでもうまくいかず。何度やってもrsync
コマンドが特定のファイルをコピーする際にエラーを吐いて失敗します。
エラーコードから原因を調べてみると、どうやらumbrelディレクトリの空きスペースが数十MB程度しかなく、容量不足でファイルコピーに失敗している様子。インストール先の選択時には用意した 2TB の仮想ストレージが正しく認識されていたのにどうしてこうなったのか…
さらに調べてみるとコミュニティに同じような現象の報告が。しかも自分と同じ Synology NAS 上のVMにインストールした際の報告で、仮想ディスクコントローラを virtIO
から SATA
に変更することで解決したとのこと。
仮想ディスクコントローラを SATA
に変更して再インストールしたところ正しく 2TB のストレージが認識され、インポートも自動的に始まりました。
その後は特に詰まるところもなくあっさりと起動、全行程半日程度で移行は完了しました。