Mac OSをインストール可能なESXi7環境を構築する

スポンサーリンク

はじめに

この手順はApple社が認めているものではありません。

またVMware社が公式に認めているものでもありません。行う場合は自己責任でお願いいたします。

経緯

Mac OSはApple社が公式に販売しているハード以外で動作させることを認めておらず、VMwareのWorkstationなどはMac OSの仮想環境を構築することはできない。

※Apple社のソフトウェア使用許諾上認められていない。

ESXi6環境のホームラボの環境が厳しく、特に「おうちKubernetes」が厳しくなってきたので、増設することにした。

構成

VMware Compatibility Guideによると、MacMini 2018はESXi7.0b以降で(内蔵SSDが利用できない、Thunderbolt 3デバイスはSSDなど一部のデバイスのみ対応、といった)一部機能制限はあるが対応している。

MacMini 2014, 2012などの過去のデバイスであれば制限はない。

ちなみにそれぞれMac 8,1やMac7,1といった型番が設定されているがどれがどの端末であるかはAppleのサイトに確認方法が用意されている。

M1 MacMiniは9,1のようだ。

用意したもの

種別デバイス年式CPUメモリOS
作業PCMacBook Pro 13-inch2016Intel Core i5 2.9GHz8GBBig Sur (11.1)
インストール先Mac Mini 20182018Intel Core i3 3.6GHz64GBCatalina (10.15.7)
ブート用USB

(&ESXiインストール先)

Buffalo 16GB

USBデバイスは稼働中はずっと差しっぱなしになるデバイスのため、容量よりもできるだけ小さいものを選ぶのが良い。8GBあれば足りるはず。

つい先日、Mac Mini の内蔵SSDが認識できるベータ版がflingsに登録されたらしいが、とりあえずはVMwareからダウンロードできるISOだけで行う(=内蔵SSDが認識されない状態で構築する)

ブート可能なUSBディスクをMac (OSX Big Sur)で作成する

Windowsから作成するときはRufusというアプリが定番のようだが、Macから作成するためにコマンドでブータブルUSBを作成する。
全体的にVIRTUALLYWIREDを参考にさせてもらった。
Create a Bootable ESXi 7 USB Installer on macOS - VirtuallyWired
Create a bootable ESXi 7 USB Installer on macOS without 3rd party software in under 5 minutes.

USBをMacに接続し、マウントポイントを確認する

>diskutil list
今回は /dev/disk2 として認識されているUSBを利用する。外部デバイスは (external, physical) として認識されるようだ
disk2
※Install macOS Big Sur となっているのは、年末にOSアップデートに失敗して文鎮になってしまい、復旧のために作成したMac OSインストール用途USBだからです。

接続されているUSBをMS-DOS(FAT32)で初期化する

※事故防止のため、以下は#にしている。自分の環境では#->2に置き換える
>diskutil eraseDisk MS-DOS "ESXI" MBR disk#
esxiインストール用USB
くれぐれもディスクIDを間違えないように注意

コマンドからUSBをアンマウントする

物理的には接続解除はしない。この後作業するため、再度前ステップと同じマウントポイントを指定すること。

>diskutil unmountDisk /dev/disk#

USBにパーティションを作成する 要:管理者権限

>sudo fdisk -e /dev/disk#

パーティション1を作成(f 1)し、書き込み(write)、終了する(quite)

>f 1
>write
>quite

ESXiのインストールISOをマウントし、中身をUSBディスクにコピーする

展開したファイルを全てUSBにペーストする。コピーアンドペーストで良い。
ダウンロードしたファイルが破損していないかをを確認するためには、sha256チェックを行うと良い。
>shasum -a 256 <FILE_PATH>

USB上のISOLINUX.CFG を SYSLINUX.CFG にリネームし編集する

SYSLINUX.CFGを編集する。OS標準のノートアプリなどを利用するのはNG。
今回はVSCodeを利用する
>code /Volumes/ESXI/SYSLINUX.CFG

以下、設定変更内容

>diff -u /Volumes/ESXI-7.0B-16324942-STANDARD/ISOLINUX.CFG /Volumes/ESXI/SYSLINUX.CFG

--- /Volumes/ESXI-7.0B-16324942-STANDARD/ISOLINUX.CFG	2020-06-03 02:28:32.000000000 +0900
+++ /Volumes/ESXI/SYSLINUX.CFG	2021-02-19 18:14:32.000000000 +0900
@@ -5,7 +5,7 @@
 TIMEOUT 80
 LABEL install
   KERNEL mboot.c32
-  APPEND -c boot.cfg
+  APPEND -c boot.cfg -p 1
   MENU LABEL ESXi-7.0b-16324942-standard ^Installer
 LABEL hddboot
   LOCALBOOT 0x80

自動インストール対応

ESXiの自動インストール対応を行う。

code /Volumes/ESXI/BOOT.CFG

以下のような設定にする

❯ diff -u /Volumes/ESXI-7.0B-16324942-STANDARD/BOOT.CFG /Volumes/ESXI/BOOT.CFG
--- /Volumes/ESXI-7.0B-16324942-STANDARD/BOOT.CFG	2020-06-03 02:28:32.000000000 +0900
+++ /Volumes/ESXI/BOOT.CFG	2021-02-19 22:03:48.000000000 +0900
@@ -3,7 +3,7 @@
 timeout=5
 prefix=
 kernel=/b.b00
-kernelopt=cdromBoot runweasel
+kernelopt=ks=usb:/KS.CFG

上記ESXiインストールガイドに記載されているが、ファイルパスを大文字にしないといけない。

スクリプトのパスを入力するには、大文字を使用する必要があります。

参考:ESXi のインストールとセットアップ – VMware Docs

https://docs.vmware.com/jp/VMware-vSphere/7.0/vsphere-esxi-70-installation-setup-guide.pdf

KS.CFGの設定内容は以下を参考にさせていただいた。

ESXi のインストールを自動化する – virtual pantry
Automated ESXi Installation to USB using Kickstart
I frequently re-install ESXi on my physical host for various types of testing as I normally work with a number of future releases. Although the process just tak...

インストール前にOSXの起動設定を変更する

ここまで来るとあとはUSBメモリを指してブートオプションからUSBデバイスでブートするだけ。の認識だったのだが、ESXiを利用する前提でキーボード・マウスを用意していなかったので、Mac Mini のブートオプションを変えられないという痛恨のミスがあった(笑)

さらには別の端末のマウスとキーボードを利用してブートオプションを変えたものの、USBデバイスの中に入っているはずのESXiを起動できないことが発生し、少し悩んだ。

結論から言うと、こちらのページで紹介されているT2チップのセキュアブートの設定がデフォルトでONになっているため、「command」+「R」キーを押しながら電源をオンにすして、復元ボリュームを起動し、起動セキュリティユーティリティから、「安全な起動」を「セキュリティなし」に、「外部起動」を「外部メディアからの起動を許可」してあげる必要があった。

この設定はスクリーンショットが取れない(OS起動前の画面なのでディスプレイを撮影するしかない)ので、細かな手順は以下のAsciiのサイトを参考にするのが良い。

T2チップ搭載の新MacBook Pro強固すぎるセキュアブートとは?
新MacBook Proシリーズが搭載するApple T2チップは、内蔵SSDの瞬時暗号化やセキュアブートなどの機能を提供している。その詳細を見ていこう。

これらの設定を変更した上で再度USBデバイスから起動すると、無事にESXiがインストールできているはず。

タイトルとURLをコピーしました