vSphere自宅ラボ構築 1回: 構築する環境

# 概要

vSphereのラボ環境を自宅に構築してみた際の内容になります。
本記事はその中でも全体の構成と各コンポーネントをまとめた内容となります。
もしvSphereやESXi環境を構築してみたい方がいらっしゃったらご参考に。


## 本記事の対象

- 自宅ラボを構築してみたい方
- vSphere環境構築の雰囲気を掴みたい方
- VLANやDNSは雰囲気知ってる方 ※細かい説明は省くと思います

## 自宅ラボ構築の流れ

1つの記事にすると長くなるためそれぞれで分けて、記事にしていきます。
(それぞれの記事単体でもそれなりに完結しているようにします)

- **1回: 構築する環境 ← 今ココ**
- [2回: ベアメタルへESXiをインストール](https://qiita.com/strawberryjam/items/be63410bdb316cc6e145)
- [3回: 仮想ルーター (VyOS) の構築](https://qiita.com/strawberryjam/items/8bd88e2d2a1ad14987db)
- [4回: DNS (Unbound) の構築](https://qiita.com/strawberryjam/items/2172da84253cd8233c89)
- [5回: vCenterの構築](https://qiita.com/strawberryjam/items/c47eb74fc23189078cbd)
- [6回: Nested ESXiでのvSphereクラスタ構築](https://qiita.com/strawberryjam/items/06c8240b3b30d7fe8e1e)

## 利用するテクノロジー

| テクノロジー        | 用途                          | バージョン       | リンク       |
| ------------- | --------------------------- | ----------- | --------- |
| ESXi          | 仮想化基盤                       | 8.0U2b      | [ダウンロードサイト](https://customerconnect.vmware.com/jp/downloads/details?downloadGroup=VC80U2B&productId=1345) |
| vCenter       | ESXiの集中管理やvSAN構成等に利用        | 8.0U2b      | [ダウンロードサイト](https://customerconnect.vmware.com/jp/downloads/details?downloadGroup=VC80U2B&productId=1345) |
| vSAN          | 複数のストレージを仮想化で1つに見せる         | 8.0U2       |           |
| VyOS          | 仮想ルーター<br>ネットワークセグメントを区切る用途 | 1.5-rolling | [ダウンロードサイト](https://github.com/vyos/vyos-rolling-nightly-builds/releases/tag/1.5-rolling-202404280021) |
| Ubuntu Server | 動作確認用の仮想マシンやDNSサーバーに利用      | 24.0.4      | [ダウンロードサイト](https://jp.ubuntu.com/download) |
| Unbound       | DNSサーバー<br>Ubuntuに展開        | 1.19.2      |           |

### 事前準備

上記表の内以下コンポーネントはISOが必要なため、ダウンロードサイトから事前にダウンロードしておきます

- ESXi ※インストールUSBにしておく
- vCenter
- VyOS
- Ubuntu Server

# 構成

最終的にゴールとする全体構成は以下図のようなイメージとなります。
それぞれ分解しながら構成の詳細を記載していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406495/79fa20d5-f15e-6738-14cc-6f4753e01042.png)

## マシン構成

マシンの構成は以下イメージ図のような構成にします。
ベアメタルにESXiインストールしつつ、その上にvCenterやDNSなどの管理系のマシンとNestedでESXiを3台立てます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406495/d008d6c2-e3b3-da40-4e4e-46f347e3df04.png)

今回Nestedで台数を増やしている理由としては主に以下2点です。
- vSphere with Tanzuなどで複数のESXiホストが必要な場合がある
- 環境を汚した場合のリセットが効きやすい

基本的にはベアメタルのesxi-00は管理系マシンを作成し、Nested側 (esxi-01~03) で自由に仮想マシンを構築していく予定です。

### ベアメタルスペック
esxi-00として利用するベアメタルマシンのスペックは以下となります

- CPU
    - 12コア (intel i7 12700)
- メモリ
    - 128GB (32GB × 4)
- ストレージ
    - 1TB × 1
        - システムストレージ and 管理系マシン用
    - 4TB × 1
        - Nested用
- GPU
    - AMD Radeon RX6400

### 仮想マシンスペック
構成する各仮想マシンのスペックは以下となります。

| 仮想マシン名         | vCPU | メモリ  | ストレージ                                                                                          | vNIC |
| -------------- | ---- | ---- | ---------------------------------------------------------------------------------------------- | ---- |
| VyOS           | 1    | 2GB  | - datastore1<br>- 16GB<br>- シン プロビジョニング                                                        | 3つ   |
| ubuntu-unbound | 2    | 8GB  | - datastore1<br>- 80GB<br>- シン プロビジョニング                                                        | 1つ   |
| vcsa ※1        | 2    | 14GB | - datastore1<br>- 579GB<br>- シンプロビジョニング                                                        | 1つ   |
| esxi-01~03     | 12   | 40GB | - datastore2<br>- 50GB: システムストレージ<br>- 150GB: vSANキャッシュ<br>- 1TB: vSANキャパシティ<br>- シック プロビジョニング | 1つ   |

※1 Tinyスペックを利用

![](https://paper-attachments.dropboxusercontent.com/s_7D79BA3C247F2ABAF67F3E84AF6A97973C7C63C8CF3AD17E77BD2E761EADD649_1714393952947_image.png)

## データストア構成

データストアは最終的には以下3つが用意される状態にします

- datastore1
- datastore2
- vsanDatastore

### datastore1
こちらはesxi-00上に構築予定のvCenterやVyOSなどの管理系のマシンに用います。
ESXiではシステムストレージが142GB以上の場合、インストール時に自動でこちらのデータストアが作成されます
そのため、今回esxi-00のシステムストレージは1TBのため、個別での作成は不要です。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-esxi-installation/GUID-474D003B-C6FB-465D-BC1B-5FD30F8E2209.html

### datastore2
こちらはNestedのESXi達に割り当てて、最終的にはNested側でvSANクラスタにします。
元となるストレージはesxi-00上の4TBのSSDをデータストア化します。
なお、自動で作成はされないため、別途作成を必要があります。

### vsanDatastore
こちらはNested上に自由に仮想マシンを構築するために用います。
esxi-00のdatastore2からNestedの3台のESXiのストレージを合体させる形とします。

- キャッシュ層
    - 450GB (150GB × 3)
- キャパシティ層
    - 3TB (1TB × 3)

### イメージ図
ざっくりイメージ図は以下です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406495/cde165cc-3084-1dc0-5cef-80eaf0be84c6.png)

## ネットワーク構成

今回は以下3つのネットワークを利用する用に構成していきます

- 192.168.0.0/24
    - VLAN0 (無し)
- 192.168.1.0/24
    - VLAN1
- 192.168.2.0/24
    - VLAN2

第3オクテットが0のネットワークは我が家で元々利用していて、作業用のWindowsマシン等が属しています。1と2のネットワークは新しく今回利用します。

また、今回の構成では、それぞれのネットワークのゲートウェイとして仮想ルーターのVyOSを構築します。
VyOSの設定は以下方針にしていきます。

- IPアドレス
    - vNIC1: 192.168.0.254
    - vNIC2: 192.168.1.254
    - vNIC3: 192.168.2.254
- スタティックルート
    - 対象ネットワーク
        - 0.0.0.0
    - ネクストホップ
        - 192.168.0.1
- SNAT
    - アウトバンドインターフェイス
        - vNIC1が割り当てられているインターフェイス
    - ソースネットワーク
        - 192.168.1.0/24
        - 192.168.2.0/24

ざっくりイメージ図は以下のような形です。
192.168.0.1が既存で用意されているインターネットとの通信のゲートウェイになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406495/fbee7651-33d8-f865-917f-ec882786e3d1.png)

### 仮想スイッチの構成
それぞれのネットワークはVLANで区切る予定のため、仮想スイッチのポートグループも考えておきます。

今回はベアメタルのESXiとNestedとでスイッチは分けつつ、ポートグループは各VLAN分を用意する想定にします。
NestedのESXi自体にはVLAN Trunkを割り当てて、Nested上からのVLANのタグは変更せず通すようにします。
(Nested上に構築される仮想マシンはDSwitchを通ったあと、vSwitchも通る)

- vSwitch (標準仮想スイッチ)
    - ESXiホスト
        - esxi-00
    - ポートグループ
        - VM Network (VLAN ID: 0)
        - VLAN-1 (VLAN ID: 1)
        - VLAN-2 (VLAN ID: 2)
        - VLAN-Trunk (VLAN ID: 4095)
- DSwitch (分散仮想スイッチ)
    - ESXiホスト
        - esxi-01
        - esxi-02
        - esxi-03
    - ポートグループ
        - DPG-VLAN-0 (VLAN ID: 0)
        - DPG-VLAN-1 (VLAN ID: 1)
        - DPG-VLAN-2 (VLAN ID: 2)

ざっくりイメージ図は以下のような形です。
※実際はRouterのところは前述のVyOSをESXi上に構築して利用するため、厳密には正しい図では無い
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406495/bba2af3c-c554-7793-6b25-5f83d5253082.png)

## DNSの構成

何かと名前解決を求めるソフトウェアも多いため、DNSも用意しようと思います。
今回は内向きDNSとしてUnboundをUbuntu Server上に展開して利用します。

一旦は以下のようにESXiとvCenterの登録までを考えておきます。
（今後ラボを利用する中で必要に応じて追記）

| FQDN               | IPアドレス        |
| ------------------ | ------------- |
| esxi-00.stjam.home | 192.168.0.101 |
| vcsa-00.stjam.home | 192.168.0.102 |
| esxi-01.stjam.home | 192.168.0.103 |
| esxi-02.stjam.home | 192.168.0.104 |
| esxi-03.stjam.home | 192.168.0.105 |

また、フォワーディング先はGoogleのパブリックDNSを利用していこうと思います。

- 8.8.8.8
- 8.8.4.4


## 全体構成図 (再掲)

構成要素の説明としては以上となります。
ここまでの要素を構築していくことで冒頭の以下図が完成する見込みです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406495/79fa20d5-f15e-6738-14cc-6f4753e01042.png)



# まとめ

本記事では思案した構築する環境について記載しました。
あらかじめしっかり決めておくとIPアドレスとかVLANの構成で後々違和感等が出にくくなるかなという印象です。
この内容をもとに次回から構築を実施していきます。

(vSphereは今までも何回か触れる機会がありましたが、いざ1からやろうとすると結構考えることあって楽しいですね)

**次の記事はこちら**

https://qiita.com/strawberryjam/items/be63410bdb316cc6e145

## おまけ (ただのベアメタルPCの感想)

今回用意したベアメタルPCですが、ASRock社のDeskMeet B660 Seriesというものになります。
最初はIntel NUCが欲しかったですが、現在撤退してしまっているので悩んでいた所こちらを発見して購入した経緯でした。

メモリが最大128GB、M.2SSD 2枚対応、GPU対応 (サイズの成約あり) と求めていたスペックは満たしていました。
ただし、私としてはちょうどよいサイズ感でしたが、一般的なNUCと比較すると大きめなためもし購入を検討される場合はそこは要確認かなという形です。(あと結構熱くなります)

https://www.asrock.com/nettop/Intel/DeskMeet%20B660%20Series/index.jp.asp