2020年10月11日日曜日

ESXi Arm EditionをRaspberry Pi 4 (メモリ4GBモデル) にインストールする手順

Raspberry Piにインストール可能な「ESXi Arm Edition」が利用できるようになったとニュースで目にした。ちょうど、使い道が決まってなくて放置していたRaspberry Pi 4 (メモリ4GBモデル) があったので、実際にRaspberry Pi 4にESXi Arm Editionをインストールした

公式でインストール手順が記載されたマニュアル (ESXi Arm Edition | VMware Flingsの「Fling-on-Raspberry-Pi.pdf」) が用意されてはいるが、手順が少々複雑なので、私の方でもインストール手順をまとめておく。

(2020/10/25追記)
10/22にESXi Arm Edition v1.1がリリースされたため、バージョンアップ手順を以下に記載しました。

必要なものを準備

作業前に以下が必要となるため、予め準備をしておくこと。

  • microSDカードとUSBメモリの操作ができるWindowsマシン
  • Raspberry Pi 4 (メモリ4GB以上のもの)
  • Raspberry Pi操作用のモニター・キーボード
  • microSDカード (容量は小さくてOK)
  • USBメモリ (最低でも64GB程度は欲しい)

インストーラをダウンロード

ESXi Arm Editionをインストールするには、OSイメージだけでなく、Raspberry Pi 4のUEFIのデータが必要となる。

それぞれ以下リンクからダウンロードできるので、ダウンロードしておく。

UEFI用microSDカードの作成

通常、Raspberry PiではmicroSDカードにOSイメージをインストールして起動させるが、ESXi Arm EditionはSDカードにOSをインストールすることができない。しかし、OS起動のためにはmicroSDカードにUEFIのイメージが必要となるため、UEFIのためだけにmicroSDカードが必要となる。

1. Windows OSにてmicroSDカードをマウント

Windows OSにてmicroSDカードをマウントさせる。

2. フォーマット

Raspberry Pi OSがインストールされていたmicroSDカードを利用する場合は、UEFI領域が自動で認識するはずなので、この領域を右クリック→「フォーマット」を選択して、以下内容にてフォーマットする。デフォルトから変更する箇所はボリュームラベルのみとなるはずだ。

設定項目 設定値
容量 256MB
ファイルシステム FAT32
アロケーションユニットサイズ 512バイト
ボリュームラベル UEFI
フォーマットオプション クイックフォーマット

ちなみに、未使用のmicroSDカードの場合は、UEFI用のパーティションを切ってフォーマットすればよさそうだが、未検証となる。以前別記事でも記載しているが、Raspberry Pi Imager使えばmicroSDカードのパーティションが間違いなく設定されるので、今回は一度Raspberry Pi OS LightをmicroSDカードにインストールしたのち、UEFI領域のフォーマットを行った。

★【参考】Raspberry Pi Imagerを使ったRaspberry Pi OSのインストール手順

3. 「firmware-master.zip」からファイルをコピー

事前にダウンロードしている「firmware-master.zip」をエクスプローラーで開き、「boot」フォルダーの中身をmicroSDカードにそのままコピーする。

コピーしたのち、「kernel*.img」のファイルが4つあるはずなので選択して削除する。

4. 「RPi4_UEFI_Firmware_v1.20.zip」からファイルをコピー

事前にダウンロードしている「RPi4_UEFI_Firmware_v1.20.zip」をエクスプローラーで開き、すべてのファイルをmicroSDカードにそのまま上書きでコピーする。

5. 「config.txt」を編集 (メモリ4GBモデルのRaspberry Piのみ要対応)

UEFI領域にコピーしたファイルの中に、「config.txt」というテキストファイルがある。こちらのファイルの最下行に「gpu_mem=16」を追加する。

arm_64bit=1
enable_uart=1
uart_2ndstage=1
enable_gic=1
armstub=RPI_EFI.fd
disable_commandline_tags=1
disable_overscan=1
device_tree_address=0x1f0000
device_tree_end=0x200000
dtoverlay=miniuart-bt
gpu_mem=16   ←★追加

この設定は、メモリ8GBモデルでは不要となる。メモリ4GBモデルではこの設定を実施しないと、ESXiインストール時に「MEMORY_SIZE ERROR」が表示され、メモリ不足によりインストールが続行できなくなるので注意

6. microSDカードを取り外す

以上でmicroSDカードに対する事前作業は完了したため、Windows OSから取り外し、Raspberry Piに挿入する。

UEFIの設定

1. 起動時にESCキーを押してUEFIにログイン

Raspberry Pi起動画面が表示されているタイミングでESCキーを押してUEFIにログインする。

2. UEFIの設定変更

以下画面に遷移してUEFIの設定変更を行う。

設定場所 設定項目 設定値
Device Manager > Raspberry Pi Configuration > Advanced Configuration Limit RAM to 3GB Disabled
Device Manager > Console Preference Selection Preferred console Serial
Device Manager > Raspberry Pi Configuration > Display Configuration Virtual 800x600 x
Device Manager > Raspberry Pi Configuration > Display Configuration Virtual 1024x768 x

ESXi Arm Editionのイメージを入れたUSBメモリを作成

1. USBメモリにOSイメージを書き込む

Rufus」を使ってESXi Arm EditionのISOイメージ「VMware-VMvisor-Installer-7.0.0-16966451.aarch64.iso」を選択し、USBメモリに書き込みを行う。

2. USBメモリを取り外す

USBメモリを取り外し、Raspberry PiのUSB3.0のポートに挿入する。このUSBメモリはそのままESXi Arm EdtionにてESXiが上書きインストールされ、データストア領域としても使用される

USBメモリからESXi Arm Editionをインストール

1. USBメモリからブートする

Raspberry Pi起動画面が表示されているタイミングでESCキーを押してUEFIにログインし、「Boot Manager」を選択する。

インストーラが入ったUSBメモリを選択してブートする。

2. VMFS-Lの領域を8GBに減らす

ESXi 7.0はそのままインストールすると、余った領域がVMFS-Lと呼ばれる仮想フラッシュ用の領域で使用されてしまい、VMFS領域を作ることができない (正確には128GB以下のUSBメモリの場合は、すべてVMFS-Lで使用されてしまう)。USBメモリは容量が限られていることから、VMFS-Lの領域を8GBに制限する設定を行う。

ESXiのインストール開始時に「Shift+O」を押し、ブートオプション入力画面に遷移する。ブートオプションは以下を入力する。なお、「runweasel cdromBoot」までは予め入力されている。

runweasel cdromBoot autoPartitionOSDataSize=8192

3. いつものESXiのインストール画面が表示される

ここからはいつものESXiのインストール画面と同じとなる。前述しているが、microSDカードをインストール先に選ぶことはできないので、USBメモリに対してインストールを行う。

4. ブート順位変更

問題なくインストールが完了したら、ブート順位の変更を行う。

Raspberry Pi起動画面が表示されているタイミングでESCキーを押してUEFIにログインし、「Boot Maintenance Manager > Change Boot Order」を選択する。

「Change the order」にてUSBメモリの順位を一番上に変更する。「+」と「-」キーで順位を上下させることができる。

5. NTPを設定

あとは、通常のESXiと同様にIPアドレスやホスト名の設定等を行えばよいのだが、Raspberry Piの仕様でNTPを有効にしないと日時がかなりずれてしまうようなので、最低限NTPサーバに対して時刻同期の設定は行っておこう。

ARM版のCentOS 8を動かしてみる

実際に、ARM版のCentOS 8をESXi Arm Edition上に仮想マシンとしてインストールし動かしてみた。当たり前だが、インストール手順は通常のESXiとなんら変わることはなく起動まで成功した。ただし、CPU・メモリ・USBメモリのI/O性能は高くはないため、最小限のインストールをするだけでも、そこそこ時間を要するので注意。

なお、ARM版のCentOSにはopen-vm-toolsが含まれておらず、2020年10月時点ではパッケージとしても提供されていないため、ソースからビルドする必要がある。以下別記事にて手順をまとめているので参考にしていただきたい。

まとめ

ESXi Arm Editionはまだ開発段階であり、通常のESXiであれば評価期間が60日間であるところが、180日間を評価期間として利用できるようになっている (ちなみに、無償のESXiのライセンスは投入可能だった)。

そのため、ESXi Arm Editionを積極的に使っていくにはまだ早いかもしれないが、私のように自宅で未使用となっているRaspberry Piを持っている人が動作検証する分には大変楽しいのでお勧めとなる。

0 件のコメント:

コメントを投稿

人気の投稿