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見ながら飲酒すればいいと思う。気づいたら届いてるから。
買ったもの
- NUC10i7FNH
- Samsung 32GB DDR4 2666MHz RAM Memory
- 1枚32GBを買って足りなくなったら追加できるようにした(nucは2スロット)
- Samsung 970 EVO Plus 500GB PCIe NVMe M.2(なんか知らんけど音がなります。)
- isoファイルを置いたりするので余裕を持って500GB
- NVMeにした理由は特にないです。。買ってみたかっただけ。。
- サンワサプライ 電源コード(3P・ストレートコネクタ) 2m
- 今回買ったNUCの型番にはACアダプタしか付属していないため、いわゆるミッキー型の電源コードを買う必要があった
- エレコム 電源タップ 配線しやすい180°スイングプラグ 3個口 2m
- デスク周りに使っていたタップの電力が不安になってきたので、別コンセントから引っ張るためのタップ
到着 ~ 組み立て
届きました〜〜〜〜
。。。
。。。。。
。。 。。。。。。。
パット見で分かる人もいらっしゃるかもしれませんが、メモリの種類を間違えました。。
デスクトップ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環境がなかったのでAWSでWindowsインスタンスを作成して作業した。
一応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に挿して電源を起動する。
いくつか選択肢が出るが、基本的にデフォルトで問題ない。(rootのパスも聞かれた気がするので適宜設定)
2枚目の画像の下半分にIPアドレスが表示されればインストール完了。
設定したIPアドレスにアクセスすると、ESXiの管理画面が表示されるはず。
ということでインストールは無事完了。
ここから快適に使うために色々整えていきます。
終わりに
ひとまずESXiの管理画面を表示させるところまでは終わらせられた。。
目標はAnsible(or Terraform)をMacから叩いてVMを起動させることなので、そこを目指して環境構築頑張りやす。