CE 2.0 Nested on ESXiによるマルチノードクラスタ作成に失敗する件の原因と回避方法

⏱この記事を読むのに必要な時間は約 3 分です。

問題の事象

タイトルのとおりです。何故かESXi上ではマルチノードクラスタが作成できないという報告がNEXTフォーラムの英語のDiscussion Forumに投稿されていました。スレッドを追うと、複数件発生している模様。もう少し具体的に書くと、クラスタ内の1ノードを除いた他のノードが全てMedusaサービスの起動の段階でスタックし、クラスタの作成が先に進まなくなるといったものです。

自分も試してみたところ、再現しました。

原因

この問題は、Nutanix CVM内で稼働する、Medusaサービスに関連したHadesというサービスと、ESXi側の仕様が組み合わさって発生するものでした。

社内のSlackで開発の人に聞いてみたところ、Hadesの仕様上、クラスタ内の全てのディスクのシリアルが重複してはいけない、という要件があり、私のテスト環境を見てもらったところ「あなたの環境ではシリアルの重複が起きているよ」と言われました。

実際に、CVM上で list_disks コマンドを使うと、どのノードにも下記のように

nutanix@CVM:~$ list_disks
Slot  Disk      Model         Serial             Size
0     --------  ------------  -----------------  ------
1     /dev/sda  Virtual disk  drive-scsi0-0-0-0  536 GB
2     /dev/sdb  Virtual disk  drive-scsi0-0-0-1  536 GB

drive-scsi0-0-0-0とdrive-scsi0-0-0-1が居ました。これが重複の犯人。

では、なぜこんな雑なシリアルなのかというと、VMware ESXiがデフォルトでディスクのUUID情報をゲストOSに提供しない設定になっており、やむなくSCSIパスからこのようなシリアルが生成されている模様。

解決方法

少し調べてみたところ、ゲストOSにディスクのUUID情報を渡すための設定を見つけました。

  1. vCenterで、Nested-CE VMを右クリック
  2. [設定の編集]をクリック
  3. [仮想マシンオプション]タブ > 詳細 > 構成パラメータ の右の [設定の編集…]をクリック
  4. [構成パラメータの追加]をクリックし、名前は”disk.EnableUUID”、値は”TRUE”に設定し、[OK]

.vmxファイルを直接変更しても大丈夫です。
その後は、通常どおりNested CEをインストールし、マルチノードクラスターを作成するだけ。

設定に成功していれば、インストーラーの段階でディスクのシリアルが表示されます。

参考リンク

Nutanix or ヤギ のことををつぶやきます。