はじめに
私は2021年に新卒でインフラエンジニアとして働いています。
その中で、個人的な学習としてESXiのサーバを構築しました。
自分専用のESXiがあると、何かと勉強の幅が広がるので、初級インフラエンジニアの方は持っておくことをおすすめします!
私自身初めての自作PCからの、初めてのESXiインストールです。
初めてだらけだったので、間違っている部分があると思いますが、参考程度に眺めてみていただければと思います。
本記事の対象者
- 初めて自作PC(サーバ)を作成する人
- 自作PC(サーバ)に興味がある人
- ESXiのインストールをしようとしている人
- 初心者インフラエンジニアで暇な人
作成の要望
私が自作PCを作成するにあたり、欲しいと思った要望です。
- 自作サーバは物理的に小さくしたい
- ESXiを使用した複数機能を持つサーバを作成したい
- 複数の仮想サーバを立ててもある程度耐えられる処理能力が欲しい
ということを考えました。
これらから、実際にパーツを購入するための要件を以下のように絞りました。
- マザーボード(MB)の規格はMini-ITX
- PCケースもMini-ITX対応の最小のもの
- ESXi7.0のハード要件を満たす
それでは、実際に購入した部品をまとめます。
購入品
合計金額:¥46,767(クーポン未使用で¥51,967)
※購入は全て2022/9/26~2022/10/1に行いました。
※その他、キーボード / マウス / モニター / 各種ケーブル等は家に余っていたものを使用
-
マザーボード
製品名:GIGABYTE H610I DDR4(H610 1700 Mini-ITX)
購入場所:メルカリ
状態:中古
価格:13,000円(1,300OFFクーポン使用) -
CPU
製品名:Intel Core i3 12100 BOX
購入場所:じゃんぱら
状態:未使用・未開封
価格:18,750円(100OFFクーポン使用) -
RAM
製品名:G.SKILL F4-2666C19D-16GNT
購入場所:ドスパラ
状態:新品
価格:5,390円(300OFFクーポン使用) -
DISK
製品名:SUNEAST 320GB
購入場所:Yahoo!ショッピング
状態:新品
価格:2,950円(500OFFクーポン使用) -
ケース
製品名:RGEEK PCケース
購入場所:Yahoo!ショッピング
状態:新品
価格:7,378円(3,000OFFクーポン使用) -
DC-ATX-160W
製品名:Yiteng
購入場所:Amazon
状態:新品
価格:1,999円 -
ACアダプタ
製品名:12V 10A 120W 汎用ACアダプター
購入場所:Amazon
状態:新品
価格:2,500円
組み立ては省きます。
次からは組み立てして、起動確認後からのお話です。
ESXi7.0インストール
まず、ESXi7.0はインストーラーイメージを作成する必要があります。
インストーラーイメージを作成後に、作成した自作サーバにインストールします。
ESXi7.0インストーラーイメージ作成手順
1. 準備
-
インストーラーイメージを作成するWindowsPCで、作業用フォルダを用意する
わかりやすくて長くなければなんでもいい(例:D:\ESXi-Customizer)
※パスが長すぎるとエラーになる可能性があるので、できるだけ短くすること -
NICドライバのダウンロード
前提として、ESXi7.0の場合のNICドライブである
Community Networking Driver for ESXiページから、Community Networking Driver for ESXiをダウンロードする。 -
ダウンロードファイルの解凍
解凍後,vib20/net-community配下にある VMW_bootbank_net-community_1.2.*.0-1vmw.700.1.0.15843807.vib ファイルのみをaで作成したフォルダに格納する。
使用したVIBファイル:
VMW_bootbank_net-community_1.2.7.0-1vmw.700.1.0.15843807.vibNICドライバの選定方法
NICドライバ持たない公式からダウンロードできるisoイメージを使用すると、「No Network Adapters」エラーが出る。
NICの確認
上記画面で、以下を実行することで、ESXi ダイレクト コンソール インターフェースから使用可能なNICの情報を確認することができるAlt + F1 << 開始 localhost.localdmain login: root << rootと入力 password: << 空欄 [root@localhost:~] lspci -v | grep "Class 0200" -B 1 0000:00:1f.6 Network controller Ethernet controller: Intel Corporation Ethernet Connection (17) I219-V Class 0200: 8086:1a1d Alt + F2 << 終了
結果
以下であることが確認できました。種類 詳細 モデル Ethernet Connection (17) I219-V ブランド名 Intel Corporation VID 8086 DID 1a1d 結論
ESXi6.5, 6.7では、Ethernet Connection (17) I219-Vに対応できるNICドライバがありませんでした。ESXi7.0はCommunity Networking Driver for ESXiで対応可能であることが分かったので、こちらを使用しました。
-
カスタムイメージ自動作成スクリプトをダウンロード
Githubをダウンロードして、ESXi-Customizer-PS.ps1のみをaで作成したフォルダに格納する。
実際に使用したpsファイル:ESXi-Customizer-PS.ps1 -
空のUSBメモリ
作成したカスタムイメージをUSBメモリに展開してインストールメディアにするために必要である。ツールで作成する際に、中身が削除されるので、消えてほしくないファイル等は移動させておきます。
2. VMwarePowerCLIをインストール
VMwarePowerCLIとは、WindowsPowerShellにコマンドからインストールをして、VmwareをCLI操作(vCenter、ESXiなど複数のバックアップを取得等)することができる。
-
インストール
WindowsPowerShellを管理者権限で開き、以下実行する。
※結構時間かかりましたPS C:\Windows\system32> Install-Module -Name VMware.PowerCLI -Scope CurrentUser 続行するには NuGet プロバイダーが必要です PowerShellGet で NuGet ベースのリポジトリを操作するには、'2.8.5.201' 以降のバージョンの NuGet プロバイダーが必要です。NuGet プロバイダーは 'C:\Program Files\PackageManagement\ProviderAssemblies' または 'C:\Users\futak\AppData\Local\PackageManagement\ProviderAssemblies' に配置する必要があります。'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force' を実行して NuGet プロバイダーをインストールすることもできます。今すぐ PowerShellGet で NuGet プロバイダーをインストールしてインポートしますか? [Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y 信頼されていないリポジトリ 信頼されていないリポジトリからモジュールをインストールしようとしています。このリポジトリを信頼する場合は、Set-PSReposit ory コマンドレットを実行して、リポジトリの InstallationPolicy の値を変更してください。'PSGallery' からモジュールをインストールしますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): Y
-
セキュリティポリシー変更
CurrentUserがVMwarePowerCLIを実行できるようセキュリティポリシーを変更するPS C:\Windows\system32> Set-ExecutionPolicy Unrestricted 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): Y
-
セキュリティポリシー確認
CurrentUserが「Unrestricted」になっていればOK
※RemoteSignedでなければ問題ないPS C:\Windows\system32> Get-ExecutionPolicy -List Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Unrestricted LocalMachine Unrestricted
-
VMwarePowerCLI 確認コマンド
下記コマンドから、バージョン12.7.0であることが確認できるPS C:\Windows\system32> Get-PowerCLIVersion PowerCLI Version ---------------- VMware.PowerCLI 12.7.0 build 20091289 --------------- Component Versions --------------- VMware Common PowerCLI Component 12.7 build 20067789 VMware Cis Core PowerCLI Component PowerCLI Component 12.6 build 19601368 VMware VimAutomation VICore Commands PowerCLI Component PowerCLI Component 12.7 build 20091293
ExecutionPolicy(PoweeShellの実行ポリシー)の詳細については下記リンクを参照
3. カスタムインストーラーイメージ作成
- 準備で作成したフォルダに移動
PS C:\Windows\system32> cd D:\ESXi-Customizer
- 準備したフォルダの中身に不備がないことを確認
PS D:\ESXi-Customizer> dir ディレクトリ: D:\ESXi-Customizer Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 2022/08/12 4:11 22755 ESXi-Customizer-PS.ps1 -a---- 2022/03/10 22:27 229174 VMW_bootbank_net-community_1.2.7.0-1vmw.700.1.0.15843807.vib
- offline bundleの作成
実際のコード↓
.\ESXi-Customizer-PS.ps1 -ozip -v70 -pkgDir <NICドライバ保存フォルダ> -nsc
PS D:\ESXi-Customizer> .\ESXi-Customizer-PS.ps1 -ozip -v70 -pkgDir D:\ESXi-Customizer\ -nsc This is ESXi-Customizer-PS Version 2.8.2 (visit https://ESXi-Customizer-PS.v-front.de for more information!) (Call with -help for instructions) Logging to C:\Users\kobat\AppData\Local\Temp\ESXi-Customizer-PS-30640.log ... Welcome to VMware PowerCLI! Log in to a vCenter Server or ESX host: Connect-VIServer To find out what commands are available, type: Get-VICommand To show searchable help for all PowerCLI commands: Get-PowerCLIHelp Once you’ve connected, display all virtual machines: Get-VM If you need more help, visit the PowerCLI community: Get-PowerCLICommunity Copyright (C) VMware, Inc. All rights reserved. Running with PowerShell version 5.1 and VMware PowerCLI version 12.7.0 build 20091289 Connecting the VMware ESXi Software depot ... [OK] Getting Imageprofiles, please wait ... [OK] Using Imageprofile ESXi-7.0U3g-20328353-standard ... (Dated 09/01/2022 00:00:00, AcceptanceLevel: PartnerSupported, The general availability release of VMware ESXi Server 7.0U3g brings whole new levels of virtualization performance to datacenters and enterprises.) Loading Offline bundles and VIB files from D:\ESXi-Customizer\ ... Loading D:\ESXi-Customizer\VMW_bootbank_net-community_1.2.7.0-1vmw.700.1.0.15843807.vib ... [OK] Add VIB net-community 1.2.7.0-1vmw.700.1.0.15843807 [OK, added] << ##ここでドライバが追加されている Exporting the Imageprofile to 'D:\ESXi-Customizer\ESXi-7.0U3g-20328353-standard-customized.zip'. Please be patient ... All done. << ##これが確認できればOK
- isoイメージ作成
実際のコード↓
.\ESXi-Customizer-PS.ps1 -izip <3で作成できたzipファイルのパス> -v70 -nsc
PS D:\ESXi-Customizer> .\ESXi-Customizer-PS.ps1 -izip .\ESXi-7.0U3g-20328353-standard-customized.zip -v70 -nsc This is ESXi-Customizer-PS Version 2.8.2 (visit https://ESXi-Customizer-PS.v-front.de for more information!) (Call with -help for instructions) Logging to C:\Users\kobat\AppData\Local\Temp\ESXi-Customizer-PS-30640.log ... Running with PowerShell version 5.1 and VMware PowerCLI version 12.7.0 build 20091289 Adding base Offline bundle .\ESXi-7.0U3g-20328353-standard-customized.zip ... [OK] Getting Imageprofiles, please wait ... [OK] Using Imageprofile ESXi-7.0U3g-20328353-standard-customized ... (Dated 09/01/2022 00:00:00, AcceptanceLevel: PartnerSupported, The general availability release of VMware ESXi Server 7.0U3g brings whole new levels of virtualization performance to datacenters and enterprises. (customized)) Exporting the Imageprofile to 'D:\ESXi-Customizer\ESXi-7.0U3g-20328353-standard-customized.iso'. Please be patient ... All done. << ##これが確認できればOK
エラー:Fail to create VibSigner object, Could not get string.が出た時の対処法
問題・エラー
「offline bundleの作成」や「isoイメージ作成」の際に、「Fail to create VibSigner object, Could not get string.」というエラーが出ました。
PS D:\ESXi-Customizer> .\ESXi-Customizer-PS.ps1 -izip .\ESXi-7.0U3g-20328353-standard-customized.zip -v70
An unexpected error occurred:
Fail to create VibSigner object, Could not get string.
If requesting support please be sure to include the log file
C:\Users\***\AppData\Local\Temp\ESXi-Customizer-PS-*****.log
解決策
コマンドに「-nsc」というオプションを付けて実行する
4. インストールメディア作成(USB)
USBメモリをインストールメディア(ブータブルUSB)にするためにRufusを使います。
- 最新版のRufusをダウンロードしてください。(下記画像は使用当時のバージョン)
- インストールメディア作成方法
a ダウンロードした「rufus-3.**.exe」を実行する。
b. ブートの種類のみ、「選択」から作成したisoイメージを選択する。
c. その他の値はデフォルト値で、「スタート」を押す。
※出てくるポップは全てOK
- USBを戻す方法
a. Windows+Rで「diskmgmt.msc」を開く
b. 戻したいボリュームを選択して、右クリックからフォーマットを選択
c. 下記画像を参考にして、OKを押す
ESXi7.0インストール
1. OSData パーティションを指定する
ESXi7.0ではデフォルトで、OSData パーティションが最大120GBまで確保されてしまい、VMFS 領域(VM等を作成する容量)が無い・少量になってしまいます。
そこで、オプションで適切なサイズをsystemMediaSizeで指定してインストールすることが可能です。
systemMediaSizeに指定するパラメータは4種類ある
ESXi のシステム ストレージの概要 > ESXi 7.0 のシステム ストレージのサイズ
種類 | 詳細 |
---|---|
min | 32 GB、1 台のディスクまたは組み込みのサーバ用 |
small | 64 GB、512 GB 以上の RAM を搭載したサーバ用 |
default | 128 GB |
max | 使用可能なすべての容量を使用、マルチテラバイトのサーバ用 |
本件サーバは、minを使用する。
設定手順
-
文字が入力できるので、”systemMediaSize=min”と入力後、Enterを押下する。
※失敗手順
ブータブルUSB内にある「boot.cfg」の設定を変更する方法もあるらしいが、うまくいかなかったbootstate=0 title=Loading ESXi installer timeout=5 prefix= kernel=/b.b00 kernelopt=runweasel cdromBoot systemMediaSize=min << # 末尾の部分を追加 modules=/jumpstrt.gz --- /useropts.gz --- /features.gz --- /k.b00 --- /uc_intel.b00 --- /uc_amd.b00 --- /uc_hygon.b00 --- /procfs.b00 --- /vmx.v00 --- /vim.v00 --- /tpm.v00 --- /sb.v00 --- /s.v00 --- /atlantic.v00 --- /bnxtnet.v00 --- /bnxtroce.v00 --- /brcmfcoe.v00 --- /elxiscsi.v00 --- /elxnet.v00 --- /i40en.v00 --- /iavmd.v00 --- /icen.v00 --- /igbn.v00 --- /ionic_en.v00 --- /irdman.v00 --- /iser.v00 --- /ixgben.v00 --- /lpfc.v00 --- /lpnic.v00 --- /lsi_mr3.v00 --- /lsi_msgp.v00 --- /lsi_msgp.v01 --- /lsi_msgp.v02 --- /mtip32xx.v00 --- /ne1000.v00 --- /nenic.v00 --- /netcommu.v00 --- /nfnic.v00 --- /nhpsa.v00 --- /nmlx4_co.v00 --- /nmlx4_en.v00 --- /nmlx4_rd.v00 --- /nmlx5_co.v00 --- /nmlx5_rd.v00 --- /ntg3.v00 --- /nvme_pci.v00 --- /nvmerdma.v00 --- /nvmetcp.v00 --- /nvmxnet3.v00 --- /nvmxnet3.v01 --- /pvscsi.v00 --- /qcnic.v00 --- /qedentv.v00 --- /qedrntv.v00 --- /qfle3.v00 --- /qfle3f.v00 --- /qfle3i.v00 --- /qflge.v00 --- /rste.v00 --- /sfvmk.v00 --- /smartpqi.v00 --- /vmkata.v00 --- /vmkfcoe.v00 --- /vmkusb.v00 --- /vmw_ahci.v00 --- /bmcal.v00 --- /crx.v00 --- /elx_esx_.v00 --- /btldr.v00 --- /esx_dvfi.v00 --- /esx_ui.v00 --- /esxupdt.v00 --- /tpmesxup.v00 --- /weaselin.v00 --- /esxio_co.v00 --- /loadesx.v00 --- /lsuv2_hp.v00 --- /lsuv2_in.v00 --- /lsuv2_ls.v00 --- /lsuv2_nv.v00 --- /lsuv2_oe.v00 --- /lsuv2_oe.v01 --- /lsuv2_oe.v02 --- /lsuv2_sm.v00 --- /native_m.v00 --- /qlnative.v00 --- /trx.v00 --- /vdfs.v00 --- /vmware_e.v00 --- /vsan.v00 --- /vsanheal.v00 --- /vsanmgmt.v00 --- /tools.t00 --- /xorg.v00 --- /gc.v00 --- /imgdb.tgz --- /basemisc.tgz --- /resvibs.tgz --- /imgpayld.tgz build=7.0.3-0.55.20328353 updated=0
※ブータブルUSB内にある「boot.cfg」の設定変更により、ホスト名やIPアドレス等を設定することも可能なようです。 >>Automated ESXi Installation to USB using Kickstart
2. インストール
基本的には、F11またはEnterでインストールを進めていく
3. インストール完了後
以下設定をサーバ上で直接変更した
- IPv4アドレスを任意のアドレスのスタティックIP
- ホスト名を「ESXi7-01」
ライセンスの割り当て
VMware vSphere Hypervisor 7.0 ダウンロード センターでログインする。
「ライセンスとダウンロード」>「ライセンス情報」>「ライセンス キー」をコピーする。
HostClient(HTTP)から「ホスト」>「管理」>「ライセンス」>「ライセンスの割り当て」から、コピーしたライセンス キーを張り付ける。
まとめ
PCのパーツ購入から、ESXi7.0インストールまでいかがだったでしょうか。
PCのパーツによって組み立て方法が異なると思うので、本記事では省きました。
ESXiのインストーラーイメージ作成は結構難しい気がしています。
ESXi作成に当たって参考にしたサイトをまとめておきます。