VMware Cloud Foundation Aria vSAN vSphere

VMware Cloud Foundation を ESXi ホスト1台で構築するツール「Holodeck」とは?

日頃から vSphere 基盤に触れているみなさんは、「Holodeck」というツールをご存知でしょうか?

Holodeck は、VMware Cloud Foundation (以下 VCF と略称)を 1 台の ESXi ホスト内に構築することができるツールです。

これは、ESXi 自体を仮想化して、ESXi の上に ESXi を複数インストール方法(通称:ネステッド構成)を用いることで実現しています。

主に VCF の検証やホームラボ用としての用途が想定されています。

以前から VLC(VCF Lab Constructor)という、VCF をネステッドで構築できるツールがありましたが、Holodeck は、この VLC を中に組み入れて、使いやすく・再現性の高い構成を取れるようになったツール、とイメージするのが良いかもしれません。

Holodeck は、以下 TechZone のサイトでも紹介されています。
https://core.vmware.com/introducing-holodeck-toolkit

Holodeck のバージョン2.0で、新しく VMware Cloud Foundation 5.0 に対応しましたので、今回はツールの概要と実際に構築する場合の簡易的な手順をご紹介したいと思います。
(HoloDeck 2.0 はその後リリースされた VCF 5.1、VCF 5.1.1 など VCF 5.x に対応しています)

※ 本投稿は2023年7月に VMware 大村 が執筆し、その後 VMware (Broadcom) 川満が追記編集しています。

 

VCF Holodeck のメリット

まずは、Holodeck を使用するメリットについて考えてみます。

1. ハードウェア要件の軽減

  • Holodeck を使用することで、1 台の ESXi ホストで VCF を構成することができます。物理的に VCF を Standard アーキテクチャで構成する場合、Management 4台、Workload 3台の ESXi ホストが最低でも必要になります。ネステッド構成を取ることで、このハードウェア要件を軽減させることができます。

2. 各種インフラ用サーバの構築が不要

  • Holodeck の構成では、AD、DNS、NTP、DHCP などのサーバが環境内に自動的に構築されるため、これらを考慮する必要がありません。これにより、インフラ用の各種サーバの構築にかかる時間と手間を削減することができます。

3. 分離されたネットワーク

  • Holodeck はネストされた環境内にネットワークが構成されるため、既存のネットワークに影響を与えることがありません。また、外部と接続するための簡易的なルーター機能もデプロイできるため、セキュリティと利便性を両立できます。

4. 自動デプロイと再デプロイによる再現性

  • Holodeck の中に組み込まれた VLC 機能により、VCF の構築を完全自動化することができます。また、再デプロイも可能なため、スクラップ&ビルドが容易になります。これにより、様々な用途に応じて VCF 環境を迅速に準備することができます。

 

以上のようなメリットにより、これまで VCF に興味がありながらも、何らかの制限により難しかったケースにおいて、Holodeck を活用することで VCF の構築や検証を迅速かつ効率的に行うことができると考えています。

 

VCF Holodeck の概要

以下が Holodeck で構成される環境の全体イメージです。

最初にブートストラップ用のマシン (Windows Server 2019) を構築し、そのマシン上で Holodeck ツールを実行することになります。ツール自体は主に Powershell スクリプトとして実行され、指定した ESXi ホスト内に VCF 環境を全自動で構成します。

VCF の構成は Standard アーキテクチャとして、Management ドメイン 4 台、Workload ドメイン 4 台の ESXi ホストがネステッド構成で作成されます。

 

また、VCF Holodeck のネットワーク構成イメージは以下の通りで、ESXi ホスト内にクローズドなネットワークとして構成されます。

Holo-Router という簡易的なルーターを利用することで外部との接続を実現しており、ユーザは RDP もしくは ESXi コンソールで直接接続することで Holodeck 内環境の操作が可能です。

 

VCF Holodeck のインストール手順概要

Holodeck Toolkit のバージョンによって、どのバージョンの VMware Cloud Foundation に対応しているかが異なります。

これまで V1.3 は、VMware Cloud Foundation 4.5 までの対応でしたが、V2.0 で VMware Cloud Foundation 5.x に対応しています。

ESXi ホスト要件としては、vSphere 7.0 U3 以上である必要があります。

※ HoloDeck はあくまでも検証用として スタンドアロン ESXi にのみ対応しており、vCenter 管理下の ESXi をホストとして利用出来ないのでご注意ください。 vCenter 管理下の ESXi を検証環境として利用する場合は Nested ESXi を利用して Cloud Builder 経由での展開が可能です。

サイジングについては、基本的には 1 台の ESXi ホスト上に複数台の ESXi(VCF Standard アーキテクチャの場合は 8 台)が構成されることになりますので、それを見越したなリソースが必要になります。特に、ホームラボ用途の小規模環境ではメモリ不足になる可能性がありますので、ご注意ください。

ESXi ホスト 1 台あたりの推奨サイジングは、以下の情報を参考にしてください。

インストール手順については、基本的には、TechZone に記載の手順に従って進めていく形になります。
https://core.vmware.com/cloud-foundation-holodeck-20-setup

今回の記事では、この手順をベースに概要レベルでご紹介しつつ、いくつか補足を加えながら解説していきます。

構築手順の全体の流れは、以下のようなイメージで行なっていきます。

  1.  カスタム ISO イメージの作成
    • Holo-Console 用の Windows Server 2019 ISO イメージを作成する
  2.  ESXi ホストのネットワーク設定
    • ネステッド VCF 用の VSS (vSphere Standard Switch) と PortGroup を作成する
  3.  コンソールとルーターのデプロイ
    • Holo-Console (VCF環境を管理) と Holo-Router (外部アクセスを提供) の VM を作成する
  4.  ネステッド VCF のデプロイ
    • Holo-Console で VLC UI を起動し、ネステッド VCF をデプロイする

次の章から各 Step の内容を紹介していきます。

 

Step 1 : カスタム ISO イメージの作成

ネステッド VCF の構成は Holo-Console という Windows Server 2019 VM で行うことになります。
まずは、ブートストラップ用のマシン(別の Windows Server 2019 VM)を用意して、Holo-Console を手動展開するためのカスタム ISO を作成します。

 

ブートストラップ用のマシンに必要な要件は以下の通りです。

  • Windows Server 2019 OS
  • ESXi ホストへのネットワーク接続が可能なこと
  • インターネットアクセスが可能なこと
  • 200GB のディスク空き容量

Holodeck Toolkit の本体は以下フォームに入力することで入手可能です。
https://via.vmw.com/Get-Holo-Toolkit/

ISO イメージに含めるための各種リソースやツール類を用意します。

以下のパッケージをそれぞれダウンロードし、「C:\Users\Administrator\Downloads」に保存します。
※各ダウンロード URL は変わる可能性があるため、上記の手順が記載されたサイト内の最新情報(こちら)をご確認ください。

  • Windows Server 2019 ISO (評価版)
  • VMware VMTools package
  • Google Chrome Standalone
  • VMware PowerCLI (zip)
  • VMware PowerVCF (zip)
  • VMware Power Validated Solutions Module
  • PuTTY SSH Client
  • VMware OVFtool 4.5
  • VMware Cloud Foundation 4.5 Cloud Builder OVA
  • Notepad ++ 8.4.7
  • VMware vRealize Automation 8.11.2 Easy Installer

 

ダウンロードした  Holodeck の zip ファイルを解凍し、以下のコンフィグファイルを編集します。

  • createISO.ps1
    • ファイル名をダウンロードしたファイルと合わせる(バージョン名など)
    • ライセンスキーを入力(vSphere、NSX、vCenter Server、vSAN)
  • additionalfiles.txt / additionalcommands.bat
    • Notepad++ のファイル名をダウンロードしたファイルと合わせる(バージョンなど。DL 時期によって変わるので要注意)

 

続いて、Holo-Console 用の ISO を作成します。

PowerShell を起動し、createISO.ps1 を実行することで自動で作成されますが、約 7 分ほど掛かるため待ちます。

スクリプトの実行にデジタル署名エラーが出た場合は、PowerShell 実行ポリシー変更オプションを付けて実行することで解消できます。
(例:PowerShell -ExecutionPolicy Bypass .\ createISO.ps1

スクリプトの実行が完了したら、作成された ISOのファイル名を分かりやすい名前に変更しておきます。
(CustomWindows-XXXXXX.iso →Holo-Console-50.isoなど)

vSphere Client から データストアを開き、Holo-Console 用 ISO を ESXi ホストにステージングしたら Step 1 は完了です。

 

Step 2 : ESXi ホストのネットワーク設定

続いて、Holodeck を構築する先の ESXi ホスト側の設定を事前に行います。

 

おおまかには、ネステッド VCF 用の VSS (vSphere Standard Switch) と PortGroup を作成する作業になります。

ESXi Host Console もしくは vCenter からの以下の設定で作成します。

  • vSphere Standard Switch 作成
    • Name: VLC-A 、MTU: 9000、Uplink: 削除
  • Port Group 作成
    • Name: VLC-A-PG、VLAN ID: 4095、仮想スイッチ:  VLC-A、セキュリティ: 全て承諾(無差別モード、MAC アドレス変更、偽装転送)

 

※2つ目以降の Pod を作る場合は、A2、A3…とします。

 

Step 3 :コンソールとルーターのデプロイ

Holodeck のメインコンポーネントである、Holo-Console と Holo-Router の VM を作成します。

 

Holo-Console:

  • ネステッド VCF 環境を管理するコンソール用の VM です。
    事前に用意したカスタム ISO から VM 作成します。
  • vSphere Client から VM を作成(Windows Server 2019)し、ネットワークは Step 2 で作成したものを指定します。
  • Holo-Console ISO イメージをマウントして VM を起動すると、自動でスクリプトが実行されるので、OS が立ち上げるまで待ちます。

以下のようなデスクトップが表示されたらOKです。

 

Holo-Router:

  • 外部アクセスを提供(RDP)するルーター機能を持つVMです。
    OVA から VM 作成します。
  • vSphere Client から OVA ファイルをデプロイ(事前ダウンロードした holorouter2.0.ova ファイル)します。
  • Step 2 で作成した Holodeck 用ネットワーク と VM Network 両方に接続するように構成します。
  • External IP に設定した IP アドレスに外部からアクセス可能になります。
  • 作成した VM のコンソールに接続し、root でログオン&初期パスワードを変更しておきます。

 

Step 4 : ネステッド VCF のデプロイ

いよいよネステッド VCF をデプロイする作業に入ります。

 

流れとしては、Step 3 で作成した Holo-Console にログオンし、VLC (VCF Lab Constructor)を設定&実行することでデプロイを行います。 VLC がネステッド ESXi を構築し、その上に Cloud Builder を経由して VCF を 自動で Bring Up していく流れになります。

 

VLC(VCF Lab Constructor) GUI の実行:

 

  • Holo-Console VM に Administrator でログオン
  • VLC UI(C:\VLC\VLC-Holo-Site-1/VLCGui.ps) を起動
  • VLC UI で、JSON ファイル、Cloud Builder の OVA ファイル、ネットワーク情報などを設定
  • Validate ボタンで設定を検証したら、Construct ボタンを押してデプロイを開始(約3時間かかる)

 

Holo-Console の ISO を固めた段階で、必要なファイル類は用意されているため、基本的にはファイルを指定するだけで設定が済むという、VLC による展開をさらに簡単にできる点が Holodeck を使う一つのメリットと考えています。

※ちなみに、VLC は CUI のインタフェースも用意されていますが、今回は GUI ベースで実行しました。

上記手順のデプロイが完了したら、 展開結果の確認を行います。

SDDC Manager にログオンし、ワークロードにあるホストのステータスに異常がないことを確認したらひとまずOKです。

 

VCF Holodeck オプション手順

Step 4 までが、ネステッド VCF を構築するまでの手順になりますが、追加でいくつかのオプション手順が案内されています。

 

VCF ワークロードのホストを追加:

VLC GUI から Expansion Pack を選択して、事前に用意された設定ファイル(add_4_hosts_ESXi5-8.json)を指定することで可能になっています。

ただし、注意点として、追加したホストのコミッション作業は手動で操作が必要になっています。SDDC Manager の画面で、Bulk コミッション用ファイルを指定(add_4_hosts_ESXi5-8_bulk_commission VSAN.json)してコミッションを実行します。

 

オプション製品の検証用 VM を作成:

VCF 以外のオプション製品を検証するための Ubuntu VM を作成する手順も案内されています。

これらを使用して、VCF と他製品を組み合わせた場合のバリューを検証することも可能になっています。標準で含まれている Ubuntu VM テンプレートは、以下の製品検証用です。

  • vRealize Automation 検証用の Ubuntu マシン
  • SDN 検証用の Ubuntu マシン作成(MySQL用、Apache用)
  • Tanzu 検証用の Ubuntu マシン作成(ワークステーション用)

 

VCF Holodeck の想定ユースケース

最後にまとめとして、今回ご紹介した Holodeck のユースケースについて記載します。

1. PoC 実施時のハードウェア要件の軽減

  • VMware Cloud Foundation の PoC に興味があるものの、ハードウェア要件を満たすことが困難な場合に、VCF Holodeck を活用することができます。VCF Holodeck は、ネスト環境で VCF を実行するためのツールキットで、PoC の実施に必要なハードウェアを最小限に抑えることができます。これにより、PoC 実施の敷居を下げることができます。

2. VCF の機能検証

  • VCF Holodeck は、VCF の機能検証にも利用することができます。例として、ライフサイクル管理、パスワード管理、バージョンアップなど、これらの機能をVCF Holodeck で検証することにより、実際の環境での VCF の利用に向けた準備ができます。

3. 取り回しが便利なデモ環境として

  • VCF Holodeck は、デモ環境としても利用することができます。一度仕組みを構築してしまえば、スクラップ&ビルドが容易なため、再現性があるデモ環境として準備しておくことができます。お客様や社内ステークホルダーに対して、それぞれの要件に応じて環境を取り回すことができる便利なデモ環境として活用できます。

 

注意点としては、VCF はネスト構成となっているため、基本的には性能検証には向かないと考えられます。また、VCF のデプロイ部分は完全自動化されており、本来の構築方法とは大部分が異なるため、構築作業の事前確認にも適していません。

その他、冒頭にも記載した通り、あくまで検証用・ラボ用の構築ツールとして想定されたものであり、サポートが提供されるわけではありませんので、本番環境には避けていただけますと幸いです。

 

最後に

今回は、VCF をネストで構成することができるツール、Holodeck についてご紹介しました。

VCF の構築に敷居が高く感じていられる方や、リソース効率よく検証環境を持ちたい方には便利なツールとなっていると思いますので、ぜひ一度お試しいただけますと幸いです。