2019年4月4日木曜日

[Part 1]Nutanix CE 2019.02.11のAHVを対応外のバージョンから無理やりアップグレードしたときに起きた問題と解決策

はじめに

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"
}
図にするとこんな感じです。黄色がアップグレード元としてOKなバージョンを表します。結構前のバージョンまで対応しています。ちなみにこの図の中にないバージョンがメタデータに含まれていたりしますが、おそらく社内向けに出回った非公開のビルドです。また、リリース日が極めて近いビルドに関しては、バグ修正版として出たものでしょう。これに関しては(おそらく)両方を同一の世代と見なします。

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"
}
こちらも図にするとこんな感じです。アップグレード元として対応するのは1世代前までです。

つまり、何らかの理由で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をアップグレードできない状態になった

長くなってきたので次回へ続く

0 件のコメント:

コメントを投稿