メインコンテンツへスキップ
  1. Blogs/

Nested ESXiを使った低コストなinstall検証

·2481 文字·
Blog VMware VSphere ESXi
hiroki
著者
hiroki
クラウドを作るお仕事をしてます。
目次
esxi-install-update - 関連記事
4: << この記事 >>

はじめに
#

ESXiのinstall/updateの検証は物理サーバーの再起動を伴うため、気軽にできなかったり再起動に10-20分かかり非常に面倒です。

検証のコストが高いと細かい検証作業を避ける傾向が出たり、システムの更新や改善が遅れてサポート期限を助長してしまうので可能な限りコストを下げることが重要です

今回はNested ESXiを使った検証コスト削減手法を解説したいと思います。

今回targetにする「検証」とは、install/updateによるvibパッケージの変化やinstall時にエラーが出ないかになります。

新しいversionでのESXiの挙動(VMの稼働に問題ないか等)や、物理サーバー依存の問題はチェックできませんので注意です。

1. Nested ESXiとは?
#

Nested ESXiとは、物理ESXiの上にVMとしてESXiを構築することを指し入れ子構造になるのでNestedと呼ばれています。

この利点として「VMなので」

  • 大量展開が可能
  • snapshotを使ったESXiの状態保持が可能
  • powerON/OFFが高速

があります。これが検証という繰り返し作業が多い内容に非常に効果的です。

Nested ESXiは他の様々なblogで紹介されているので、仕組み等の詳細は割愛します。

2. Nested ESXiのdeploy
#

Nested ESXiには、VMwareの超有名エンジニアのwilliamlamさんが作っている、「Nested ESXi Virtual Appliance」がとにかく簡単に作れるのでこれを使います。

今まではwilliamlamさんのblogで公開されていましたが、今はVMware Flingsに移動されたようです。

Nested ESXi Virtual Applianceは、VMとしてESXiを構築するときに必要なカスタマイズを全て設定してくれた状態にしてova-fileとして提供してくれています。
alt text

1. broadcomアカウントを作成する

VMware製品を使っていう人は、broadcomアカウントに移行済み or 作成済みだと思うので特に問題はないと思います。

2. FlingsからVirtual Applianceをダウンロード

VMware Flingsにアクセスすれば、常にTOP10には表示されているのですぐ見つかると思います。 自分の欲しいESXiのversionをdownloadしましょう。

alt text

3. portgroupの作成

Nested ESXiに使用するportgroupにはportgroupのセキュリティー設定を3つとも許可にしておきます。

alt text

3つのセキュリティ設定はざっくりいうと「vnicと異なるmacaddressの通信を許可するか」です。 Nested ESXiではvnicのmac-addressがvmnicに付与されますが、vmkernelのmac-addressはvSphereが自動生成したものを利用します。

結果としてvnicと異なるmac-addressで通信することになるので、セキュリティー設定が拒否のままだと、通信がdropされてしまい疎通不可になります。

alt text

4. ovaをdeploy

ovaのdeploy時にESXiのipやpassword等も設定します。

項目 説明
VLAN ID 物理ESXi側のPGでvlanを解決する場合は空欄
Nested ESXi内部でvlanを解決する場合はmanagement-ipに使用するvlanを入力
VMFS チェックを入れるとNested ESXiのlocal-diskから、datastoreを自動生成する
便利なのでTrueがおすすめ
Syslog 使わないならば空欄でOK

vlanをどちらで解決するか?

  • 通常VMにはvlanを設定したPGを付与することで、仮想SWでvlanの解決をしてguestOSではvlanの設定をしないことがほとんどです。
  • しかしNested ESXiの場合は内部でもvlanを使い分けたいことがあります。(他のvmkernel用、Nested ESXi上にVMを建てたいなど…)
  • そこでNested ESXiにはトランクポートのPGを付与することで、vlanの解決をNested ESXiの仮想SW側で実施することができます。

alt text

ansibleでもdeployできます。

- name: Deploy nested esxi
  community.vmware.vmware_deploy_ovf:
    hostname: "{{ vcenter_network.ip }}"
    username: "{{ vcenter_creds.user }}"
    password: "{{ vcenter_creds.password }}"
    datacenter: Datacenter
    validate_certs: false
    name: "{{ inventory_hostname }}"
    cluster: p_cluster
    datastore: nvme
    networks:
      "VM Network": "{{ portgroup }}"
    disk_provisioning: "thin"
    power_on: true
    wait_for_ip_address: true
    ovf: "Nested_ESXi8.0u1a_Appliance_Template_v1.ova"
    inject_ovf_env: true
    properties:
      guestinfo.hostname: "{{ esxi_network.fqdn }}"
      guestinfo.ipaddress: "{{ esxi_network.ip }}"
      guestinfo.netmask: "{{ esxi_network.mask }}"
      guestinfo.gateway: "{{ gateway }}"
      #guestinfo.vlan: ""
      guestinfo.dns: "{{ dns }}"
      guestinfo.domain: "{{ domain }}"
      guestinfo.ntp: "{{ ntp }}"
      guestinfo.password: "***"
  delegate_to: localhost

5. HostClientを確認する

HostClientにloginできれば、Nested ESXiの構築は完了です。

alt text

3. 検証の高速化
#

snapshotを使う
#

Nested ESXiならではの利点はやはりsnapshotです。ESXiの設定変更前にsnapshotをとっておくことで即座に切り戻しが可能になります。

例えばprofile install/updateの違いを解説した記事では、以下のように実施していました。

profile updateとprofile installの違い
·6995 文字
Blog VMware VSphere
  1. snapshotを取得
  2. esxcli software profile installを実施
  3. esxcli software vib listでinstall後のvibパッケージ確認
  4. snapshotから切り戻し
  5. esxcli software profile updateを実施
  6. esxcli software vib listでupdate後のvibパッケージ確認
  7. profile install/updateによる差分をcheck

他にも様々な設定を一旦Nested ESXiで試す → 即座に切り戻しができるようになるのでかなり活用の幅が広いです。

任意のESXiイメージを使う
#

Nested ESXiで利用されているのはVMware純正のESXiイメージですが、ベンダーイメージを使って検証したい場合があるかもしれません。

その場合はNested ESXiにvCenterから任意のESXiのISOをマウントしてクリーンインストールしましょう。これによって「Nested ESXi Virtual Appliance」のESXiを構築するときに必要なカスタマイズを全て設定してくれた状態を保ちつつ好きなESXiイメージを使用することができます。

VMのオプションから起動時にBIOS/EFIに入るように設定を追加しないと、インストール済みのESXiが起動してしまうので注意しましょう。
alt text
esxi-install-update - 関連記事
4: << この記事 >>

Related

Image Builderでカスタムイメージを作る
·3430 文字
Blog VMware VSphere ESXi
profile updateとprofile installの違い
·6995 文字
Blog VMware VSphere
ESXiを自動でインストール
·3901 文字
Blog VMware VSphere RedfishAPI Python Kickstart Ansible