ESXi6.7環境で手動VM作成
はじめに
前回セットアップしたESXi環境に手動でCentOS8を構築してみる。
本当はansible or terraformでVM構築するところを頑張りたかったのだが、イマイチイメージがわかなかったのでとりあえず手動で作成してみる。
前回から日が空いたのはひたすらお酒んので映画見ていたから。グラン・トリノ最高だった。。
ISOイメージの配置
まずはCentOS8のisoイメージをESXi環境に配置する。
公式のダウンロードページから環境にあったイメージを落としてくる。
その後ESXiの管理画面からストレージ -> データストアブラウザ -> ディレクトリの作成
を選択し、データストアアップロード用のディレクトリを作成する。作成したディレクトリを選択肢てアップロード
を選択肢、ダウンロードしたisoイメージをアップロードする。
VMの起動
isoイメージの配置が完了したら、手動でVMを作成する。
ESXi管理画面のトップページから仮想マシンの作成/登録
をクリックする。
その後以下のように入力してVMを作成する。
作成タイプの選択: 新規仮想マシンの作成 名前とゲストOSの選択: 名前: 任意の名前 互換性: デフォルト(使用しているESXiのバージョン) ゲストOSファミリ: Linux ゲストOSのバージョン: CentOS8(64ビット) ストレージの選択: 任意のストレージ 設定のカスタマイズ: CD/DVDドライブ: データストアISOファイル(先程配置したisoファイルを選択) その他はデフォルトでok(cpu, memory, diskなど変更する部分があれば変更) 設定の確認: 確認
仮想マシンのセットアップ
左ペインから仮想マシン
を選択し、先程作成した仮想マシン名をクリック。電源がついていなければパワーオン
をクリックする。
コンソール -> ブラウザコンソールを開く
を選択してコンソールを起動し、Install CentOS Linux 8
を選択してenter
言語を選択。
今回は日本語。
必要があればキーボードの設定を変更する。
ソフトウェアの選択でベース環境を選択。
今回はGUIを特に必要としないのでサーバ
を選択。
インストール先からインストールするデバイスを選択。
ネットワークとホスト名で既存のEthernetを有効化し設定を編集。
アドレスをデフォルトのDHCP以外で割り振る場合はここを編集する。今回はそのままDHCPで設定。
いずれは固定IPを払い出し、LAN内のDNSに登録してからVMを作成するような仕組みを整えたい。
設定が完了したらEthernetの接続をオンにする。
↓のようにIPアドレスやデフォルトルート、DMSのアドレスなどが表示されればok。
時刻と日付を選択してタイムゾーンをアジア/東京
に設定。
右上のネットワーク時刻の設定マークをクリックしてntpサーバを設定する。今回はnictのntpサーバを設定
ここまで設定したらインストールの開始
をクリックする。
インストール中にrootユーザのパスワードと一般ユーザの作成をする。
インストールが完了したら再起動。
再起動が完了したらローカルのマシンから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見ながら飲酒すればいいと思う。気づいたら届いてるから。
買ったもの
- 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を起動させることなので、そこを目指して環境構築頑張りやす。