Nutanix CE 2020.09.16 がリリースされたので、ためしに 2019.11.22 からバージョンアップしてみました。
- 既存環境
- ソフトウェアの入手
- 普通にアップデート(これは失敗する)
- Prism Central の登録解除(と削除)
- AHV での空き容量の確認 / 容量確保
- Nutanix CE のアップグレード
- LCM での AHV のアップグレード
- AHV の復旧(この環境の場合のみ)
- Prism Central のデプロイ
既存環境
- Nutanix CE 2019.11.22
- シングル ノード構成
- ハードウェア: Intel NUC Gen10(BXNUC10i5FNH)
- インストール イメージ USB: 8GB
- ディスク(m.2): 250 GB SSD(SATA)
- ディスク(2.5"): 500 GB SSD
- Prism Central 2019.11.22 登録ずみ。
ただし、ハードウェアの都合によりインストール時にいくつか工夫をしています。
Intel NUC Gen 10に Nuanix CEインストールするには・・・
— Go Watanabe (@gowatana) 2020年9月13日
コア数的にi5モデル
Legacy Boot有効にする。(PowerタブでLegacy S3 Standby選択しておく)
NICドライバがあたらないので e1000eドライバを更新する。
(要ログイン)https://t.co/wWZVa2pdcA
あとM.2 SSDは、NVMeではなくSATAで用意する。
Nutanix CE の Prism Element です。
Prism Central です。
ソフトウェアの入手
インストーラは、下記サイトからダウンロードできます。※要 NEXT アカウント
https://next.nutanix.com/discussion-forum-14/download-community-edition-5-18-38417
今回はアップグレードなので、下記のファイルをダウンロードしておきます。
- ce-aos-upgrade-2020.09.16.tar.gz
- ce-2020.09.16-metadata.zip
- ce-pc-upgrade-2020.09.16.tar.gz(ただしこの投稿では使わず・・・)
そして「ce-2020.09.16-metadata.zip」を解凍し下記の JSON ファイルを使用します。
- ce-aos-upgrade-2020.09.16-metadata.json
- ce-pc-upgrade-2020.09.16-metadata.json(ただしこの投稿では使わず・・・)
普通にアップデート(これは失敗する)
まず、普通に Prism Central → Prism Element の順番でのアップデートを試みます。
ただし、これは残念ながら新しい Prism Central が既存の Nutanix CE(の AOS)に対応していなくて、失敗します。
そして Nutanix CE を先だけアップグレードしようとしても、対応していない Prism Central に登録されているためエラーになってしまいます。
そこで、今回は 2020.09.16 バージョンにバージョンアップするために、Prism Central をいったん登録解除(と削除)します。
Prism Central の登録解除(と削除)
Prism Central は、下記の投稿の末尾にある要領で、登録解除します。
そして、Prism Central は再デプロイすることになるので、 VM(ここでは lab-nxpc-01)も削除してしまいます。この VM は Prism Element から削除できないので、acli で削除します。
CVM$ acli -y vm.delete lab-nxpc-01 lab-nxpc-01: pending lab-nxpc-01: complete
AHV での空き容量の確認 / 容量確保
Nutanix CE のアップグレードは、通常の 1-Click 的な「ソフトウェア アップグレード」から実施するのですが、Nutanix CE では AHV の 「/(root)」ファイルシステム の空き容量が不足しているケースが多いかなと思います。
90% の空き容量がないと下記のようなエラーにより、アップグレードが失敗します。
これは、CVM での下記のコマンドでも確認できます。
CVM$ ncc health_checks hardware_checks disk_checks host_disk_usage_check --use_rpc=0
この環境では、下記のような使用率でした。
[root@NTNX-6197a6e0-A ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sdc1 6.8G 6.0G 491M 93% /
空き容量の確保に無理があったので・・・
[root@NTNX-6197a6e0-A ~]# du -h /home/install/phx_iso/mnt/* 424M local/images/diagnostics/kvm 424M local/images/diagnostics 4.0K local/images/hypervisor/kvm/20150120/diamond_image 8.0K local/images/hypervisor/kvm/20150120 12K local/images/hypervisor/kvm 16K local/images/hypervisor 3.8G local/images/svm/2019.11.22-stable 3.8G local/images/svm 4.2G local/images 83M local/livecd 4.3G local 4.0K stage
今回はやむなくインストール時に使用されるイメージを削除してしまいました。(本来は削除すべきではないですが、ラボなので・・・)
[root@NTNX-6197a6e0-A ~]# rm -rf /home/install/phx_iso/mnt/local/images/svm/2019.11.22-stable
微妙ながらも、十分な空き容量が確保できました。
[root@NTNX-6197a6e0-A ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sdc1 6.8G 2.3G 4.2G 35% /
問題となっていた ncc のチェックを単体で実行すると、PASS できました。
Nutanix CE のアップグレード
Prism Element の、「設定」→「ソフトウェア アップグレード」→「AOS」から、アップグレードを実施します。
まず、メタデータの JSON ファイルと、ソフトウェアの tar.gz ファイルをアップロードします。
- ce-aos-upgrade-2020.09.16-metadata.json
- ce-aos-upgrade-2020.09.16.tar.gz
それぞれファイルを選択してから、「今すぐアップロード」をクリックします。
アップロードが完了したら、「Upgrade」→「Upgrade Now」をクリックして、確認メッセージで「OK」をクリックして進めます。
これでしばらく待つと、(1ノード構成なので)Prism がいったん接続不可になり、数分後にログイン画面にアクセスできるようになります。
Prism にログインすると、「ソフトウェア アップグレード」画面や、「この Nutanix について」などから、2020.09.16 にバージョンアップされたことが確認できます。
ただし、この時点では AHV は以前のバージョンのままです。
LCM での AHV のアップグレード
★ここから先は、このハードウェアだと AHV にネットワークアクセス不可になるので、ご注意ください。(この時点で、新バージョンの画面確認はできるので、いったん留まるほうがいいかもしれません・・・)
このバージョンの Nutanix CE では、AHV は「LCM」メニューからバージョンアップします。
「オプション」→「インベントリを実行」をクリックし、確認画面で「OK」をクリックします。
しばらく待ちます。
インベントリの処理が完了すると、下記のようになります。
画面右の「Software」→ AHV Hypervisor などを選択 →「Update」をクリックします。
「Apply N Updates」をクリックすると、実際に処理がはじまります。
あとは、しばらく待つと AHV がアップデートされ、自動再起動されて(本来は)アクセス可能になります。
ただし、今回は NUC Gen10 のハードウェアの都合により、NIC ドライバがあたらずネットワーク アクセスできなくなります。
AHV の復旧(この環境の場合のみ)
この環境では、もともと工夫して NUC Gen10 にインストールしていたこともあり、AHV のアップグレード後に AHV で NIC が認識できなくなってしまいました。とりあえずアクセスできるように復旧しました。
以前の Linux カーネルで起動
以前のバージョンの Linux カーネルにあわせた Linux ドライバであれば NIC が利用できるので、前バージョンのカーネルで起動します。AHV 起動時のブートメニューで 2番目(下記の #1)を選択するか、grub2 のメニューを編集して再起動します。アップグレード後の AHV の grub2 メニューです。
[root@NTNX-6197a6e0-A ~]# grep ^menuentry /boot/grub2/grub.cfg | awk -F\' '{print $2}' | nl -v0 0 Nutanix Community Edition AHV (4.19.84-2.el7.nutanix.20190916.276.x86_64) el7.nutanix.20190916.276 1 Nutanix Community Edition AHV (4.4.77-1.el7.nutanix.20191030.415.x86_64) el7.nutanix.20190916.276 2 Nutanix Community Edition AHV (0-rescue-e67178d20cc6411d9dfee273238fc525) el7.nutanix.20190916.276
メニュー選択を変更します。
[root@NTNX-6197a6e0-A ~]# grub2-editenv list saved_entry=Nutanix AHV (4.19.84-2.el7.nutanix.20190916.276.x86_64) [root@NTNX-6197a6e0-A ~]# grub2-set-default 1 [root@NTNX-6197a6e0-A ~]# grub2-editenv list saved_entry=1
AHV を再起動します。これで物理 NIC が eno1 として認識されます。
[root@NTNX-6197a6e0-A ~]# reboot
Open vSwitch Bridge(br0)への NIC 追加
ovs-vsctl show で確認すると、なぜか br0 ブリッジから物理 NIC(この環境では eno1)が外されてしまっていたので、あらためてアップリンクの Bond ポートを作成します。
これは、AHV 経由で CVM に SSH ログインして設定します。
[root@NTNX-6197a6e0-A ~]# ssh nutanix@192.168.5.2
manage_ovs で確認すると Bond ポートが存在しません。
nutanix@NTNX-6197a6e0-A-CVM:192.168.20.52:~$ manage_ovs show_uplinks Bridge: br0
manage_ovs で Bond ポートを作成します。
nutanix@NTNX-6197a6e0-A-CVM:192.168.20.52:~$ manage_ovs --bridge_name br0 --bond_name br0-up --interfaces eno1 update_uplinks
これで、AHV / CVM と外部ネットワークが接続できるようになります。
AHV のメンテナンスモード解除
LCM でのアップグレード処理の途中で停止していたためか、AHV がメンテナンス モード(schedulable: False)のままになっています。
nutanix@NTNX-6197a6e0-A-CVM:192.168.20.52:~$ acli host.get 192.168.20.51 192.168.20.51 { cpu_usage_ppm: 212663 cvm_memory_size_bytes: 17179869184 cvm_num_vcpus: 2 cvm_uuid: "ef200e69-9130-41a7-b04d-283e369964d0" logical_timestamp: 51923 max_mem_ha_reserved_bytes: 0 mem_assigned_bytes: 0 mem_usage_bytes: 20008927232 memory_size_bytes: 67173875712 node_state: "kEnteredMaintenanceMode" num_cpus: 8 schedulable: False uuid: "96935ab7-12f2-4002-bc8c-058a75628574" }
このままでは VM が起動できないので解除します。
nutanix@NTNX-6197a6e0-A-CVM:192.168.20.52:~$ acli host.exit_maintenance_mode 192.168.20.51
メンテナンス モードが解除されました。
nutanix@NTNX-6197a6e0-A-CVM:192.168.20.52:~$ acli host.get 192.168.20.51 192.168.20.51 { cpu_usage_ppm: 212663 cvm_memory_size_bytes: 17179869184 cvm_num_vcpus: 2 cvm_uuid: "ef200e69-9130-41a7-b04d-283e369964d0" logical_timestamp: 51924 max_mem_ha_reserved_bytes: 0 mem_assigned_bytes: 0 mem_usage_bytes: 20008927232 memory_size_bytes: 67173875712 node_state: "kAcropolisNormal" num_cpus: 8 schedulable: True uuid: "96935ab7-12f2-4002-bc8c-058a75628574" }
ひとまず、これで Prism にアクセスできて、VM が管理できる状態になりました。(カーネルが古い微妙な状態ではあります)
Prism Central のデプロイ
AHV が復旧できれば、このあと新バージョンの Prism Central を再デプロイします。(本来は普通に Prism Central もバージョンアップするだけですが・・・)
以上。