自然の赴くままに・そのときの 気分次第で・なんとなく

自分がその時その時に興味を持ったことを、なんとなく気の向くままに書いているブログです。

ESXi Arm Edition v1.2 でどこまでできるか「vSphere沼にハマっておぼれてみた」

VMware vSphere 7 の Arm Edition、どんどん更新されて今は ESXi Arm Edition v1.2。毎回アップグレードしているけれど、少しづつ良くなってきています。そこで、最新の 1.2 をレポート。

ESXi Arm Edition のおさらい

2018年に VMworld で初めて公開されたESXi Arm Edition、その後情報は時々見るけれどイメージを入手しテストはできるのかなと探していましたが、個人のところでは見つけることができずにいました。そうしたら今年いきなりRaspberry Pi 4で動くESXi Arm Edition が Flings | VMware Flingsから入手できるようになり、急ぎ Raspberry Pi 4 を手配するとともにイメージをダウンロードしました。

ESXi Arm Editionはその名の通り、Intel Platformで動いている ESXi を Arm Platform 上で動かすためのもので、Apple も Armベースの M1 に PC を移行させているように、最近 Arm 界隈はホットです。そして、物理ホストの仮想化については一段落の感があり、またクラウドへの移行が進みつつあるという中、残された仮想化の場所はクラウドに持っていくことができないエッジの部分になってくるわけで、そのエッジの部分に高価な Intel Platform の ESXi を配置せず、安価な Arm Platform をと検討するのは自然の流れのように思います。実際にそれらエッジ用途では組み込みの機器として Arm Platformが使われていることも多く、その部分は昔ながらのレガシーな仕組み、つまりハードウエアの上にOSを入れて、その上にアプリケーションを実装するという形のまま進んでいて、エッジの装置に何かあれば、現地で同じような作業をして実装しなおすことがまだまだ必要です。でも、その部分もハードウエアとOS以上を分離して抽象化してしまえば、それらの機器管理も運用も仮想マシンで対応していけば良くなるので、物理直接より楽になるかもしれません。例えばHAを組んでおき、トラブル時にはライブマイグレーションして継続運用するとか、メンテナンスも現地行かずに仮想マシンで検証した後、リモートで現地の仮想マシンと一気に入れ替えるなど、いろいろなことが考えられるようにあると思います。これ、もしESXi Arm Edition が出てくるようになったら、サーバーの仮想化として物理から vSphere に移行していったのと同じような流れになるかなぁとも思います。

ESXi Arm Editionの入手

別のブログにも書いてあるのですが、この記事はあえて独立した記事として書いているのでリンクを載せます。

flings.vmware.com

この中の

f:id:imaisato:20201224101254p:plain

ESXi Arm Edition Dowlload

からダウンロードすることができます。チェックボックスにチェックを入れて [DOWNLOAD] ボタンをクリックすると・・・・・直ぐにダウンロードにはなりません。VMware 製品利用の際に登録や管理をする My VMware の画面でログインを即されますので、自分のアカウントとパスワードを使い、My VMwareにログインします。My VMware自体は個人でかつ無料で登録できるので、アカウントを持っていない場合は「Don’t have an account Sign up now)」からアカウントを作っておきましょう。

f:id:imaisato:20201224101725p:plain

My VMware

ログインが済むとダウンロードの画面になります。

f:id:imaisato:20201224101955p:plain

ESXi for ARM

ここにある3つのファイルをダウンロードします。複数の Raspberry Pi 4 を使ってクラスタは作らず、1台だけで検証するなら VMware-VMvisor-Installer-7.0.0-17230755.aarch64.iso だけをダウンロードすれば OK です。他の 2つは HA を構成するときに必要なので、HA を構成する場合には、一緒にダウンロードしてください。

後はドキュメントをダウンロードしておきます。

f:id:imaisato:20201224102308p:plain

Documents Download

これで環境構築前の準備ができました。

ESXi Arm Edition ハードウエア環境の準備(必須編)

いよいよ ESXi Arm Edition を Raspberry Pi 4 にインストールしていきますが、その前に、ハードウエアを準備します。

Raspberry Pi 4

現在販売されている Raspberry Pi 4 はメモリーが 4GB と 8GB のものがあります。その中の 8GB のものを用意します。4GB でも環境は作れますが、あくまでも「作る」だけで終わってしまうので、8GB は必須だと思って下さい。そして基盤むき出しではなく、ケースに収めます。私の場合どうしてもファンの音が気になりファンレスにしたかったので、アルミのケースに山のようにヒートシンクを取り付け、どうにか稼働中も持てる程度の温度まで抑えていますが、ファンの音が気にならない場合は、ファン付きのほうが良い気がします。

f:id:imaisato:20201224104436j:plain

Raspberry Pi 4 8GB ケース入り

序にディスプレイも載せるとこんな感じになります。ディスプレイの表面保護シートを剥がしていない写真ですが、これだけで ESXi の画面確認ができるので楽になります。

f:id:imaisato:20201224104650j:plain

ディスプレイ付き

Micro SD

UEFIブートに必要な Micro SDを用意します。容量はそんなに大きくなくて大丈夫ですが、手に入るコスパの良いものを購入するのが良いです。私の場合、UEFI ブートの Micro SDは Raspberry Pi 4 買ったときについてきた 32GB のものを、ESXi Arm Edition のインストーラー媒体はちょうど良い USBメモリーが無かったので、こっちも Micro SD + Micro SD Card Reader のセットで用意しました。

f:id:imaisato:20201224104907j:plain

Micro SD

USB メモリー

Raspberry Pi 4 が小さいので、USB メモリーも小さいのを用意しています。vSphere 7 では ESXi のパーティション構成が今までとは異なる形になるので、vSphere 6.7 までで使っていた 16GB は使わず、新調した 256GB のものを用意しました。ただ、ESXi は 8GB でもインストールできるので、8GB 以上で用意できるものを選ぶとよいでしょう。

f:id:imaisato:20201224105119j:plain

SanDisk USB メモリー

ちなみに、パーティションはこのように変わっています。

f:id:imaisato:20201224105509p:plain

vSphere 7 パーティション

あとは、ESXi Arm Edition のインストール媒体を入れる USB メモリーが必要です。1GB あれば十分。私の場合、先の Micro SD + Micro SD Card Reader で代用しています。

ここまでが必須なアイテムで、ここからは自分でいろいろな環境を作りたいときに追加するものです。

ESXi Arm Edition ハードウエア環境の準備(オプション:任意に追加するもの)

私の場合、vSAN他検証しようと思っていましたので、いろいろと追加しました。

USB Type C HUB

あとからいろいろと追加できるように、USB Yype C の HUB を購入しました。これは USB C の PD ポート、USB 3.0 の Type A 2ポートと Ethernet ポートとかがついているのが便利でこれにしました。この HUB の Ethernet Port は 1G なのですが、ESXiArm Edition からは 100M にしか認識されません。でも、Ethernet ポートが増えるので良しとしています。

f:id:imaisato:20201224112521j:plain

Anker Power Expand

ストレージ

2.5インチ HDD や SSDは巨大だし、ということで、M.2 SSD を使うことにしました。これなら小さく作れます。3つあるのは vSAN のキャッシュ×1、キャパシティ×2のつもりです。

f:id:imaisato:20201224112954j:plain

M.2 SSD

これらを組み立てるとこんな感じになります。これでも Raspberry Pi 4 本体より周辺機器の方が大きいです。

f:id:imaisato:20201224113059j:plain

環境出来上がり

ESXi Arm Edition のインストール

これは詳細含めて別ブログに書いてあるので、こちらを参照してください。

qiita.com

インストールが終わると、vSphere Clientでこの画面見られます。

f:id:imaisato:20201224154731p:plain

VMware ESXi on Arm Fling

ストレージデバイスの追加(USB メモリーや USB ストレージの追加)

 vSphere Clientでホストに接続し、ストレージのデバイスを見ると、USBで接続したストレージデバイスが何も見えない状態です。

f:id:imaisato:20201224165002p:plain

ストレージデバイス

ターミナルエミュレータで ESXi に接続。

f:id:imaisato:20201224164043p:plain

SSHログイン

仮想マシンにUSBデバイスをパススルーするサービスを停止します。

/etc/init.d/usbarbitrator stop
chkconfig usbarbitrator off

f:id:imaisato:20201224164846p:plain

つながっているデバイスが表示される

この中からデータストアに使用するデバイスを見つけます。私の場合はキャパシティが

Local USB Direct-Access (mpx.vmhba34:C0:T0:L0)

Local USB Direct-Access (mpx.vmhba36:C0:T0:L0)

で、キャッシュが

Local USB Direct-Access (mpx.vmhba32:C0:T0:L0)

なので、この3つを控えます。ちなみに、

Local USB Direct-Access (mpx.vmhba35:C0:T0:L0)
Local USB Direct-Access (mpx.vmhba35:C0:T0:L1)

はSDカードリーダーの SD Cardと Micro SD、

Local USB Direct-Access (mpx.vmhba33:C0:T0:L0)

はブートに使っている USBメモリーです。

 

ESXi Arm Edition を vCenter Server に登録してみる

ESXi Arm Edition と言っても結局は普通の ESXi が Arm の上で動いているということになるので、そのまま vCenter Serverに登録ができます。

まずは、なにも登録していない vCenter Server に vSphere Client でログイン。

f:id:imaisato:20201224155032p:plain

vCenter Server 7 サマリ

新規データセンターを作成して、

f:id:imaisato:20201224155128p:plain

新規データセンター

新規ククラスタを追加して、

f:id:imaisato:20201224155346p:plain

新規クラスタ

クイックスタートで ESXi Arm Edition ホストを追加。

f:id:imaisato:20201224155456p:plain

クイックスタート

追加ホストはまとめて指定。

f:id:imaisato:20201224155615p:plain

ホストの追加

セキュリティアラートはチェックして、ホストサマリも確認。

f:id:imaisato:20201224155712p:plain

ホストサマリ

追加の実行!!

f:id:imaisato:20201224155739p:plain

確認して完了

ホストが追加される。

f:id:imaisato:20201224163316p:plain

ホストの追加完了

ここまででクラスタの構成が完了。

 これで、vCenter Server 配下に ESXi Arm Edition の Raspberry Pi 4 が登録されました。

 vSANが構成されるクラスタ構成を始める前にいくつか作業をします。一つ目は、vSphere HA をテストしたい場合の追加モジュールのインストールです。 vCenter Server 7.0d (Build 16749653) または vCenter Server 7.0c (Build 16620007) を使っている場合にのみ、追加モジュールを入れて vSphere HA が検証できます。私の場合はそのビルドのイメージは持っていなかったのでスキップしていますが、 vCenter Server 7.0d (Build 16749653) または vCenter Server 7.0c (Build 16620007)のイメージをお持ちの場合は、以下の手順で VIB を追加してください。

  • ESXi ホストをメンテナンスモードにする
  • Flings からダウンロードした FDM VIB を ESXi の任意の場所にアップロード
  • アップロードした ESXi にある VIB をインストール
 esxcli software vib install -v /vmware-fdm-7.0c-16620014.arm64.vib --no-sig-check
  • vCenter Server のクラスタ設定で HA を有効にする
  • ESXi ホストをメンテナンスモード解除する

私も他の vCenter Server では使えるかどうかはテストしていません。チャレンジャーな人はやってみてください。

 

このあとはストレージデバイスを使ってvSANを組みますが、それは次回の記事で書きます。

こちら=>ESXi Arm Edition v1.2 でどこまでできるか「vSphere沼にハマっておぼれてみた」vSAN編