NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix CE のバージョンアップ。(2019.11.22 → 2020.09.16)

Nutanix CE 2020.09.16 がリリースされたので、ためしに 2019.11.22 からバージョンアップしてみました。

既存環境

  • 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 登録ずみ。

ただし、ハードウェアの都合によりインストール時にいくつか工夫をしています。

Nutanix CE の Prism Element です。

f:id:gowatana:20200930230017p:plain

Prism Central です。

f:id:gowatana:20200930230042p:plain

ソフトウェアの入手

インストーラは、下記サイトからダウンロードできます。※要 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)に対応していなくて、失敗します。

f:id:gowatana:20200930230906p:plain

そして Nutanix CE を先だけアップグレードしようとしても、対応していない Prism Central に登録されているためエラーになってしまいます。

f:id:gowatana:20200930231037p:plain

そこで、今回は 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% の空き容量がないと下記のようなエラーにより、アップグレードが失敗します。

f:id:gowatana:20200930232109p:plain

これは、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 できました。

f:id:gowatana:20200930235941p:plain

Nutanix CE のアップグレード

Prism Element の、「設定」→「ソフトウェア アップグレード」→「AOS」から、アップグレードを実施します。

まず、メタデータの JSON ファイルと、ソフトウェアの tar.gz ファイルをアップロードします。

  • ce-aos-upgrade-2020.09.16-metadata.json
  • ce-aos-upgrade-2020.09.16.tar.gz

それぞれファイルを選択してから、「今すぐアップロード」をクリックします。

f:id:gowatana:20200930233639p:plain

アップロードが完了したら、「Upgrade」→「Upgrade Now」をクリックして、確認メッセージで「OK」をクリックして進めます。

f:id:gowatana:20200930233838p:plain

これでしばらく待つと、(1ノード構成なので)Prism がいったん接続不可になり、数分後にログイン画面にアクセスできるようになります。

f:id:gowatana:20200930234037p:plain

Prism にログインすると、「ソフトウェア アップグレード」画面や、「この Nutanix について」などから、2020.09.16 にバージョンアップされたことが確認できます。

ただし、この時点では AHV は以前のバージョンのままです。

f:id:gowatana:20200930234057p:plain

LCM での AHV のアップグレード

★ここから先は、このハードウェアだと AHV にネットワークアクセス不可になるので、ご注意ください。(この時点で、新バージョンの画面確認はできるので、いったん留まるほうがいいかもしれません・・・)

このバージョンの Nutanix CE では、AHV は「LCM」メニューからバージョンアップします。

f:id:gowatana:20200930234451p:plain

「オプション」→「インベントリを実行」をクリックし、確認画面で「OK」をクリックします。

f:id:gowatana:20200930234922p:plain

しばらく待ちます。

f:id:gowatana:20200930235020p:plain

インベントリの処理が完了すると、下記のようになります。

f:id:gowatana:20200930235108p:plain

画面右の「Software」→ AHV Hypervisor などを選択 →「Update」をクリックします。

f:id:gowatana:20200930235155p:plain

「Apply N Updates」をクリックすると、実際に処理がはじまります。

f:id:gowatana:20200930235315p:plain

あとは、しばらく待つと AHV がアップデートされ、自動再起動されて(本来は)アクセス可能になります。

ただし、今回は NUC Gen10 のハードウェアの都合により、NIC ドライバがあたらずネットワーク アクセスできなくなります。

f:id:gowatana:20200930235421p:plain

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 が管理できる状態になりました。(カーネルが古い微妙な状態ではあります)

f:id:gowatana:20201002085745p:plain

Prism Central のデプロイ

AHV が復旧できれば、このあと新バージョンの Prism Central を再デプロイします。(本来は普通に Prism Central もバージョンアップするだけですが・・・)

以上。

©2019 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。