お世話になります。
今回はProxmox6.2を6.3にアップグレードします。
<現在環境:1号機>
Ryzen 3500 32GB 256GB SSDサーバー
VM: Windows Server 2019 Essentials, Win10 Pro,簡易ファイルサーバ
IP: 192.168.70.201
<移行先環境:2号機>
Athlon 3000G 16GBメモリ、512GB SSD サーバー
IP: 192.168.70.50
「CPUとメモリがスペックダウンしている?」と思われたかもしれません。
移行先は一時的にこのCPUを使い、うまく移行が成功したらCPUとマザーボードとメモリをRyzenに差し替える予定です。(今回その検証を含めます)
6.2→6.3のインプレースアップグレードでもよいのですが、マイグレーション(クローン)の検証もしたかったのでノード間移行といたしました。
USBメモリからProxmox6.3を新規インストールした画面が以下です。
W10Templateというのはリンククローン用のいわゆるゴールドイメージで、ここから派生して複数のVMを展開することができます。部署ごとに違うアプリが入ったOSを作成するなどのシーンが想定されます。Sysprepした状態で保存するのが良いでしょう。
ここからクラスタを作成します。クラスタといってもCephで本当にクラスタとして動かすためではなく、VM移行のため2ノード間で疎通させる目的です。こちらのURLを参考にさせて頂きました。
https://fefcc.net/archives/1017
2号機のGUIから「クラスタに参加」を押し、先ほどのキーをペーストします。パスワードは1号機のrootパスワードです。Peerアドレスに自動的に1号機のアドレスが表示されているのが便利です。
画面をリフレッシュすると、2ノードのクラスタ画面となっています。今後は1号機2号機両方から同じ管理画面となります。CPUやメモリも合算表示となっています。
ここからVMを移行します。基本はマイグレーション(移動)で、Win10は万一のためクローンといたします。Windowsをクローンした場合はライセンスがおそらく再認証となるためご注意下さい。今回は試用版OSなので不問とします。
まずはオフラインでのマイグレーションです。Windows Serverを移行します。
エラーになってしまいました。CPUコアが6に設定してあったため、4コアしかないAthlonの2号機では動かないということのようです。同様に仮想CD-ROMドライブなどがアタッチされていると移行できませんので注意します。
Windows Server VMの「ハードウェア」オプションから4コアに編集します。VMのシャットダウンが必要です。
オフライン状態でマイグレーションが開始しました。32GBの仮想ディスクのため、1GbEネットワークだと以下の時間の目安となります。
https://note.cman.jp/network/speed.cgi
つづいてオンラインマイグレーションを行います。簡易サーバとしてWindows8.1を使っている想定とします。ノード間移行中、オンラインで使用し続けることができるかの検証となります。
やり方は先ほどと同じですが、オンライン状態かつコンソール画面を開いている状態にしてあります。
メモ帳は問題なく操作ができます。下のログに「マイグレート中」と表示されています。
無事に完了しました。極度に重い操作などしなければ、ユーザーが意識することなくノード間移行ができると考えて良いでしょう。ネットワーク負荷が高くなるため、クラスタ用にセカンダリNICでVLANを切ることが望ましいです。
つづいてオンラインクローンを行います。念のためバックアップも取っています。
と、ここでエラーになってしまいました。公式サイトによるとノード間のlocal-localクローンは未サポートとのことです。共有ディスクであれば可能とのことで、別の機会に検証いたします。
https://forum.proxmox.com/threads/clone-vms-in-proxmox-cluster-from-templates.72475/
無事に終わりました。この記事もマイグレーション中のVMから作成していますが、動作に遅延や瞬断は起きていません。実際は39ミリ秒の停止があったようです。実運用中のクライアントVMだったためか、オフラインマイグレーションよりも速度は1/4に低下しています。
今回はここまでにし、次回以降は以下の検証を行います。
・新しいCPUとマザーボードに交換し起動確認
・共有ストレージを作成し、テンプレートからのクローン(フル、リンク両方)
・ZFSミラーによる2ノード間レプリケーション