⏱この記事を読むのに必要な時間は約 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情報を渡すための設定を見つけました。
- vCenterで、Nested-CE VMを右クリック
- [設定の編集]をクリック
- [仮想マシンオプション]タブ > 詳細 > 構成パラメータ の右の [設定の編集…]をクリック
- [構成パラメータの追加]をクリックし、名前は”disk.EnableUUID”、値は”TRUE”に設定し、[OK]
.vmxファイルを直接変更しても大丈夫です。
その後は、通常どおりNested CEをインストールし、マルチノードクラスターを作成するだけ。
設定に成功していれば、インストーラーの段階でディスクのシリアルが表示されます。