「ESXi上にNutanix CE AHVをインストールした」でインストールしたNutanix CE環境をアップデートしてみた。
2021/03/17追記: CE 5.11からCE 5.18へのアップデートを行い、その時のキャプチャも追加した
トラブルポイントのまとめ
なんとなく手順を進めていったらいくつかキツイ問題が発生してアップデートプロセスが止まったりした。今回発生した問題は下記3点
・AHVのrootパーテーション容量が足らない
・AHV内の標準仮想マシン設定にあるPC Typeが初期値に戻るので既存の仮想マシンが起動しない
・AHV内のCVM仮想マシン設定にあるPC Typeがpc-i440fx-rhel7.3.0になり起動しない
・CVM仮想マシンのメモリが12GBだとサービスが起動しない
なお、調査の際に参考になったページ「Nutanix CE: Cannot Start VM」「Guest VM Running in Nested Nutanix CE on VMware vSphere Won’t Boot」
CVM仮想マシン上のサービスが起動しないあたりは「PRISM SERVICES HAVE NOT STARTED YET. PLEASE TRY AGAIN LATER」
実際に実施した手順はもっといろいろあったが、完了後に、たぶんこの順序で実施すれば大丈夫だったんだろう、というものを下記に手順として残す。
手順1 アップデータ入手
「Download Community Edition (CE-2020.09.16/CE 5.18)」もしくは「Download Nutanix CE, Docs, and Guides (CE-2019.11.22/CE 5.11.1.2)」から下記のファイルをダウンロード。
・「Metadata for AOS, AHV upgrades and PC deployment」のce-2020.09.16-metadata.zip か ce-2019.11.22-metadata.zipを展開してjsonファイルを取りだしておく
・「AOS Upgrade」(ce-pc-upgrade-2020.09.16.tar.gz か ce-2019.11.22-upgrade.tar.gzのままで使う)
・「AHV Upgrade」(CE 5.18ではLCMからの操作に変更。CE5.11.1.2は host-bundle-el7.nutanix.20191030.415.tar.gz のままで使う)
手順2 CVM仮想マシンの自動起動を止める
この後、何回かNutanix CE仮想マシンを再起動する。その際にCVM仮想マシンの起動が完了するのを待っていると時間がかかるので、自動起動を止める。
「virsh list –all」でCVM仮想マシンのIDを確認して、「virsh autostart <ID> –disable」と実行すると自動起動が止まる。
手順3 Nutanix CE仮想マシンのディスク拡大
AHVのrootパーテーションの空き容量が足らない為アップデートが失敗することがある。
その場合はvSphere側でNutanix CE仮想マシンのディスクサイズを拡大する。
たぶん、ハードディスク1は10GB未満だと失敗するので12GB程度にする。
標準の「ハードディスク1」が約7GBとなっている。
これを、12GBに増やす。
変更後、Nutanix CE仮想マシンを再起動する。
再起動後、vSphereのコンソールを開き「root」ユーザでログインする。デフォルトパスワードは「nutanix/4u」
ログイン後、現在のディスク使用状況と、システムディスクである/dev/sdaのパーテーション構成を確認する。
「df -h」と「fdisk -l /dev/sda」を実行する。
パーテーション変更は「fdisk /dev/sda」を実行して行う。
既存のパーテーションを「d」で消して、新しいパーテーションを作成しなおす、という形になる。
bootフラグのセットも忘れずに
最後は「w」で書き込みを実行する。
再起動しないと新しいパーテーションで認識してくれないので、再度Nutanix CE仮想マシンを再起動する。
再起動後、再度「fdisk -l /dev/sda」と「df -h」を実行してみると、fdiskの方は新しいディスクサイズで認識しているが、rootパーテーションはまだ古い容量のままとなっている。
「resize2fs /dev/sda1」を実行してファイルシステムの拡張を行い、新しいディスク容量が反映される。
手順4 CVM仮想マシンの自動起動を戻す
AHV内のCVM仮想マシンの自動起動設定を戻し、自動起動するようにする。
「virsh list –all」でCVM仮想マシンのNameを確認して、「virsh autostart <Name>」を実行する。(起動していない場合はIdが割り当てられていないので、Nameで指定する必要がある)
自動自動設定ができたかどうかは「/etc/libvirt/qemu/autostart/」にXMLファイルがあるかで確認する。
「virsh start <Name>」でCVM仮想マシンを起動するか、rebootでNutanix CE仮想マシンを再起動する。
手順5 AOSアップデート
Nutanixにログインして「設定」の「ソフトウェアアップグレード」にある「AOS」を開く。
「AOS base softwareバイナリをアップロード」のリンクをクリック
AOS BASE SOFTWAREメタデータファイルは「ce-aos-upgrade-2020.09.16-metadata.json」か「ce-2019.11.22-upgrade-metadata.json」
AOS BASE SOFTWAREバイナリファイルは「ce-aos-upgrade-2020.09.16.tar」か「ce-2019.11.22-upgrade.tar.gz」
を指定する。
「今すぐアップロード」をクリックする。
上記の様になったらアップロード成功。
「Upgrade Now」を選択してアップデートを開始する。
アップグレードが進んでいきます。
ちなみに「Nothing To Do?」は下記の2048ゲームが表示されます。
途中、CVM仮想マシンの再起動などがあり、完了します。
手順6 Hypervisorのアップデート(CE 5.18の場合)
CE5.18では「LCM」にHypervisorのアップデートが移動している。
「LCM」の「Inventory」タブを開く
「Perform Inventory」を選択し、実行
Inventory終了後、「Updates」の「Software」に移動すると、アップデート可能なソフトウェア一覧が表示されている。
チェックをいれて「Update」ボタンを押す
適用確認で「Apply ? Updates」をクリック
アップデートが適用されるのを待つ
途中でhypervisorの再起動が2回実行されるので「Unable to reach server. Please check your network connection」という表示がしばらく出続けるが無視しておく
…とはいえ、30分以上経過しても表示上は↑の38%から変化しないのは不安なので、念のためログインしなおしてみても表示は変わらずでした。
45分ぐらい経過したところで、ようやく64%に進みました。
約1時間で終了
手順6 Hypervisorのアップデート(CE 5.11の場合)
CE 5.11ではNutanixの「設定」の「ソフトウェアアップグレード」にある「Hypervisor」を選択。
「upload a Hypervisor Binary」をクリックし、下記の選択をして「今すぐアップロード」する。
HYPERVISOR メタデータファイル「host-bundle-el7.nutanix.20191030.415-metadata.json」
HYPERVISOR バイナリファイル「host-bundle-el7.nutanix.20191030.415.tar.gz」
続いて、「Upgrade Now」を実施する。
で、アップグレードが進んでいきます。
たぶん、下記の様な「71%」から30分以上待っても進まないと思います。
いまの状態はHypervisorはアップデートできたものの、その上のCVM仮想マシンが起動していない状態となります。
手順7 AHV上の仮想マシンの標準設定の修正
vSphere上でNutanix CE 5.11を稼働させた場合、標準設定の状態ではNutanix上で作成した仮想マシンが起動しませんでした。
CE5.11で起動させるためには、「/var/cache/libvirt/qemu/capabilities/3c76bc41d59c0c7314b1ae8e63f4f765d2cf16abaeea081b3ca1f5d8732f7bb1.xml」 のalias=’pc’をpc-i440fx-rhel7.2.0の行に付け直します操作が必要でした。
該当ファイルは下記の様な形になっていて、「alias=’pc’」がpc-i440fx-rhel7.3.0の行についています。
これを「pc-i440fx-rhel7.2.0」の行に「alias=’pc’」設定を移動させます。
手順としては、pc-i440fx-rhel7.3.0の行をpc-i440fx-rhel7.2.0書き換えて、既存のpc-i440fx-rhel7.2.0設定を削除するのが簡単でしょう。
CE5.18の場合は、pc-i440fx-rhel7.6.0 にalias=’pc’ がありました。CE 5.11を稼働させた時のESXiサーバとハードウェアが異なっているせいかどうかわかりませんでしたが、pc-i440fx-rhel7.6.0設定のままで動いたので、そのままにしています。
もし、動かない場合は、pc-i440fx-rhel7.2.0 に移動挿せてみてください。
手順8 AHV上のCVM仮想マシン設定の修正
CE5.11へのアップデート時は、CVM仮想マシンの仮想マシンタイプ設定が「pc-i440fx-rhel7.3.0」に設定されていました。(CE5.18へのアップデート時は、pc-i440fx-rhel7.2.0設定のままでした)
設定の確認は「virsh dumpxml <name>|less」で行います。
設定変更は「virsh edit <Name>」となります。
viコマンドでxmlファイルが開かれますので、「pc-i440fx-rhel7.3.0」を「pc-i440fx-rhel7.2.0」に書き換えて保存します。
また、「<memory unit=’KiB’>~</memory>」のメモリ容量を増加させます。Nutanix CE標準だと最低28GBとなっているようです。
参考としてGUIから設定できるCVMに割り当てられる容量は下記の様になっています。
これ以外の値に変更したい場合は、直接xmlを書き換えます。今回は約26GBで設定しています。
この後、CVM仮想マシンを再起動します
面倒ならNutanix CE仮想マシンごとrebootします。