⏱この記事を読むのに必要な時間は約 5 分です。
はじめに
Nutanixのソフトウェアを更新する際には「どのバージョンからのアップグレードが可能か」を意味する”Upgrade Path”が存在します。アップグレードメニューでソフトウェアバイナリと一緒にアップロードする「メタデータファイル」によって、システムレベルでチェックが行われますが、あらかじめNutanixのSupoort Portalを参照し、机上でも確認したほうがいいでしょう。
Nutanix CEにおけるUpgrade Pathは、原則的に「1世代前からのアップグレードのみ」となっています(商用版とは異なります)。そして、古い世代のバイナリはリンクが非公開になってしまいます。今回、中の人が自らこの原則に反した(要するに自業自得な)結果起きた問題と、それを解決したステップを紹介します。
2019年3月に、AOS 5.10.X 相当のNutanix CE 2019.02.11 が公開されました。これに含まれるAOSとAHVは、メタデータファイルに記述されたUpgrade Pathの対応世代に差異があります。
AOSのUpgrade Path
{
"stage": "GA",
"upgrade_from": [
"2017.05.11",
"2017.05.22",
"2017.07.20",
"2018.01.31",
"2018.02.26",
"2018.04.17",
"2018.05.01",
"2018.07.20",
"2018.08.01",
"2018.08.02",
"2018.08.07",
"2018.08.14",
"2018.08.31",
"2018.09.13",
"2019.02.08"
],
"codename": "ce",
"version_array": [
2,
0,
1,
9,
0,
2,
1,
1
],
"hex_md5": "86f3b43c98bc2f7e55eeaf28dfee760c",
"version_id": "2019.02.11",
"size": 3437545204,
"release_date": 1549904400,
"release_notes_url": "http://next.nutanix.com/t5/Discussion-Forum/Download-Nutanix-CE-Docs-and-Guides/m-p/20765/highlight/true#M9078"
}
AHVのUpgrade Path
{
"_comment:": "WARNING Do not edit the contents of this file. The versions listed in this file have been tested and qualified to support 1-click upgrades.",
"hex_md5": "25a58c7573148e50c2f3b7ee0d3c83c6",
"hypervisor_type": "kvm",
"nos_version": [
"2019.02.11"
],
"size": 249057887,
"upgrade_from": [
"el7.nutanix.20180425.199",
"el7.nutanix.20180720.240",
"el7.nutanix.20180814.248",
"el7.nutanix.20180829.249",
"el7.nutanix.20180912.256"
],
"version_id": "el7.nutanix.20190211.279"
}
つまり、何らかの理由で2世代以上前の状態だったCEのAOSを最新の状態にアップグレードしてしまうと、AHVがアップグレードできない状態となってしまいます。そのため、やはりNutanix CEは原則通り、毎世代アップグレードするのが正解と言えるでしょう。
アラート
とりあえずAOSとAHVのバージョンが一致していなくても見かけ上は問題なく動くかもしれませんが、こんな感じでアラートが上がります。ちゃんと上げたほうがいいですね。
私の環境は2つ前の2018.01.31(AHV: el7.nutanix.20180123.170)だったのですが、先にAOSを2019.02.11に上げてしまったので、AHVを無理やりel7.nutanix.20190211.279に上げてみました(そして問題発生&トラブルシュートしました)。
まとめ
この時点での問題:CEをちゃんと毎世代アップグレードしなかったせいで、AHVをアップグレードできない状態になった
長くなってきたので次回へ続く