ESXi6.7環境で手動VM作成

はじめに

前回セットアップしたESXi環境に手動でCentOS8を構築してみる。
本当はansible or terraformでVM構築するところを頑張りたかったのだが、イマイチイメージがわかなかったのでとりあえず手動で作成してみる。
前回から日が空いたのはひたすらお酒んので映画見ていたから。グラン・トリノ最高だった。。

ISOイメージの配置

まずはCentOS8のisoイメージをESXi環境に配置する。
公式のダウンロードページから環境にあったイメージを落としてくる。
その後ESXiの管理画面からストレージ -> データストアブラウザ -> ディレクトリの作成を選択し、データストアアップロード用のディレクトリを作成する。作成したディレクトリを選択肢てアップロードを選択肢、ダウンロードしたisoイメージをアップロードする。

f:id:ketch123:20200712214245p:plain

f:id:ketch123:20200712214341p:plain

VMの起動

isoイメージの配置が完了したら、手動でVMを作成する。
ESXi管理画面のトップページから仮想マシンの作成/登録をクリックする。

f:id:ketch123:20200712214653p:plain

その後以下のように入力してVMを作成する。

作成タイプの選択: 新規仮想マシンの作成
名前とゲストOSの選択: 
  名前: 任意の名前
  互換性: デフォルト(使用しているESXiのバージョン)
  ゲストOSファミリ: Linux
  ゲストOSのバージョン: CentOS8(64ビット)
ストレージの選択: 任意のストレージ
設定のカスタマイズ: 
  CD/DVDドライブ: データストアISOファイル(先程配置したisoファイルを選択)
  その他はデフォルトでok(cpu, memory, diskなど変更する部分があれば変更)
設定の確認: 確認

f:id:ketch123:20200729213635p:plain

仮想マシンのセットアップ

左ペインから仮想マシンを選択し、先程作成した仮想マシン名をクリック。電源がついていなければパワーオンをクリックする。 f:id:ketch123:20200729213733p:plain

コンソール -> ブラウザコンソールを開くを選択してコンソールを起動し、Install CentOS Linux 8を選択してenter

f:id:ketch123:20200731145756p:plain

言語を選択。
今回は日本語。

f:id:ketch123:20200731151127p:plain

必要があればキーボードの設定を変更する。

f:id:ketch123:20200731231334p:plain

ソフトウェアの選択でベース環境を選択。
今回はGUIを特に必要としないのでサーバを選択。

f:id:ketch123:20200731233314p:plain

インストール先からインストールするデバイスを選択。

f:id:ketch123:20200731233404p:plain

ネットワークとホスト名で既存のEthernetを有効化し設定を編集。
アドレスをデフォルトのDHCP以外で割り振る場合はここを編集する。今回はそのままDHCPで設定。

いずれは固定IPを払い出し、LAN内のDNSに登録してからVMを作成するような仕組みを整えたい。

f:id:ketch123:20200731231532p:plain

設定が完了したらEthernetの接続をオンにする。
↓のようにIPアドレスやデフォルトルート、DMSのアドレスなどが表示されればok。

f:id:ketch123:20200731231749p:plain

時刻と日付を選択してタイムゾーンアジア/東京に設定。

右上のネットワーク時刻の設定マークをクリックしてntpサーバを設定する。今回はnictのntpサーバを設定

f:id:ketch123:20200731232038p:plain

ここまで設定したらインストールの開始をクリックする。

インストール中にrootユーザのパスワードと一般ユーザの作成をする。

f:id:ketch123:20200731233612p:plain

インストールが完了したら再起動。

f:id:ketch123:20200731154243p:plain

再起動が完了したらローカルのマシンからssh接続を確認する。
設定が正常に完了していればsshができるはず。

[ketch:~/worklog][master]
ʕ◔ϖ◔ʔ < ssh 192.168.1.8
The authenticity of host '192.168.1.8 (192.168.1.8)' can't be established.
ECDSA key fingerprint is SHA256:rrl0I0mwvFGuK5o7jqYa+lp3PPuFXd39hvZp7fNqdx4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.8' (ECDSA) to the list of known hosts.
ketch@192.168.1.8's password:
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Fri Jul 31 23:44:31 2020
[ketch@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

ひとまずこれで手動でのVM作成は完了。

終わりに

手動作成は特に問題なくできた。
今回作成したVMからKickstartファイルを取得し、cliでのVM作成を整えていきたい。

Intel NUC10i7FNHにESXi6.7をインストール

はじめに

前々からやろうと思ってたブログを始めてみた。
アウトプットが無いことがずっとコンプレックスだったので、このブログで少しずつ解消していこう。

本題

IntelベアボーンキットであるNUC10i7FNHを買ってESXi6.7をインストールするまでのログをまとめる。

何故買ったのか

CKA(Certified Kubernetes Administrator)という資格を取得する際に、kindやkubeadmを使わずにクラスタ構築する練習(いわゆるkubernetes-the-hard-way)をやっていた。
ローカルのVMでノードを立ててクラスタを構築していたのだが、自分のMBP(2core/4thread,16G memory)だとファンがウォンウォン回る。それはそれは回る。まあクラウドで立てればいいじゃんと言われればそのとおりなのだが、いちいちインスタンス落としたりするのもめんどくさいので、ローカルに自由にいじれるそこそこスペックのインスタンスが欲しくなった。

また、お仕事している会社でESXiを使用しているので、家で構築することで勉強になってお給料アップ!!!!ということを狙ったりもしていた。お給料いっぱいほしい。。

ただ合計で10万を超える買い物だったので、貧乏社会人の自分にはなかなか購入ボタンを押す勇気がなかった。
と思っていたらお酒を飲んだテンションでポチッと購入していた。
欲しいけど値段がネックで買えない物がある場合はamazon見ながら飲酒すればいいと思う。気づいたら届いてるから。

買ったもの

到着 ~ 組み立て

届きました〜〜〜〜

f:id:ketch123:20200628214723p:plain
購入品

。。。
。。。。。
。。 。。。。。。。

パット見で分かる人もいらっしゃるかもしれませんが、メモリの種類を間違えました。。
デスクトップPC用の288pinのメモリを買ってしまった。。
これでインフラエンジニア名乗ってるの死ぬほど恥ずかしいな。
お酒飲んで高い買い物するの癖になってるのでいつかは治そうと思う。多分。

開封だったので返品処理をして全額返金してもらえました。めでたしめでたし。

組立自体はかなり簡単で、背面のネジを外して蓋を取り、メモリとディスクを差すだけだった(写真は取り忘れたので割愛)
ケーブル周りを整えれば機器準備は終わり。

VMwareのライセンス取得

ESXiインストール後に特にライセンスを入力しない場合、60日間で使用期限が切れてしまうらしい。無償版のライセンスがあるので、VMware vSphere Hypervisorのライセンスを取得する。

ライセンスのダウンロードページ へ行き、登録していなければアカウントの登録をする。正しく情報を入力できればコンポーネントとライセンスキーのペアが表示されるのでこれをメモなりブックマークなりしておく。

ESXiのカスタムiso作成

ESXiのisoはvmwareが公開してくれているのだが、どうやら公式のisoに入っているドライバだとnucのNICを識別できないよう。

https://www.virtuallyghetto.com/2020/01/esxi-on-10th-gen-intel-nuc-frost-canyon.html

そのため、公式のisoをベースにドライバを変更したカスタムisoを作成する必要がある。
幸い手順は先駆者がまとめてくれていたのでこれを参考にする。

この手順ではPowerCLIというvmwareが提供しているPowershellモジュールを使用するのだが、自分はwindows環境がなかったのでAWSWindowsインスタンスを作成して作業した。
一応MacでもPowershellは使えるらしいので試してみたが、下記のようなエラーで断念した。。

PS /Users/ketch/esxi-iso-build> Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Add-EsxSoftwareDepot: The 'Add-EsxSoftwareDepot' command was found in the module 'VMware.ImageBuilder', but the module could not be loaded. For more information, run 'Import-Module VMware.ImageBuilder'.
PS /Users/ketch/esxi-iso-build> Import-Module VMware.ImageBuilder
Exception: The VMware.ImageBuilder module is not currently supported on the Core edition of PowerShell.
PS /Users/ketch/esxi-iso-build>

(win機がない人)AWSインスタンス作成

ローカルにwin環境がない人はありがたくAWSインスタンスを借りましょう。
多少もたつくが無料枠のスペックで十分。
作成が終わったらRDPでつなぎましょう。

ビルドバンドルのダウロード

作業するWindows環境で下記のzipをダウンロードする
https://download3.vmware.com/software/vmw-tools/ESXi670-NE1000-32543355-offline_bundle-15486963.zip

powershellで以下を実行する

Install-Module -Name VMware.PowerCLI -Scope CurrentUser
Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Add-EsxSoftwareDepot .\ESXi670-NE1000-32543355-offline_bundle-15486963.zip
New-EsxImageProfile -CloneProfile "ESXi-6.7.0-20191204001-standard" -name "ESXi-6.7.0-20191204001-NUC" -Vendor "virten.net"
Remove-EsxSoftwarePackage -ImageProfile "ESXi-6.7.0-20191204001-NUC" -SoftwarePackage "ne1000"
Add-EsxSoftwarePackage -ImageProfile "ESXi-6.7.0-20191204001-NUC" -SoftwarePackage "ne1000 0.8.4-3vmw.670.3.99.32543355"
Export-ESXImageProfile -ImageProfile "ESXi-6.7.0-20191204001-NUC" -ExportToISO -filepath ESXi-6.7.0-20191204001-NUC.iso

(win機がない人)RDPで作成したisoをローカルに持ってくる

全然知らなかったけど、RDPでローカルとリモートのファイル共有ができるみたい。。
https://hacknote.jp/archives/50445/

ここまでやったらインスタンスは用済みなのでしっかり削除しておく。

ブータブルUSBの作成

先程作成したカスタムisoをUSBに焼いて、ブータブルusbを作成する。

今回使用したのはunetbootinというソフト。
winだとRufusとかが有名みたい。

ソフトをダウンロードしたらUSBをフォーマットし、isoを焼いていく。
ここも画像撮り忘れた。。

ESXiの起動

ブータブルisoを作成したらいよいよインストール。
usbをnucに挿して電源を起動する。

f:id:ketch123:20200628224103p:plain

f:id:ketch123:20200628224124p:plain

いくつか選択肢が出るが、基本的にデフォルトで問題ない。(rootのパスも聞かれた気がするので適宜設定)
2枚目の画像の下半分にIPアドレスが表示されればインストール完了。 設定したIPアドレスにアクセスすると、ESXiの管理画面が表示されるはず。
f:id:ketch123:20200628225445p:plain

ということでインストールは無事完了。
ここから快適に使うために色々整えていきます。

終わりに

ひとまずESXiの管理画面を表示させるところまでは終わらせられた。。
目標はAnsible(or Terraform)をMacから叩いてVMを起動させることなので、そこを目指して環境構築頑張りやす。