2016年12月9日金曜日

VirtualBox 上の ESXi6.0 で VM を作成してみる (CentOS 編)

概要

前回 VirtualBox 上に ESXi をインストールしてみました
今回はその作成した ESXi 上に VM を 1 台作成してみます

環境

  • VirtualBox 5.1.10
  • ESXi 6.0 update 2
  • Windows7 Enterprise バージョン 6.1
    • Intel Core i5-5300U CPU @ 2.30GHz
    • メモリ 10GB
    • ストレージ 120GB (SSD)

事前作業

VirtualBox 上で事前に作業を行っておきます

VM へのディスク追加

今回、新規で作成する VM は新規のデータストアに登録したいので事前にそれ用のディスクを追加しておきます
まず VirtualBox でディスクを追加します
「設定」から「ストレージ」を選択し SATA のコントローラ配下にディスクを 1 つ追加しましょう
first_vm_on_esx_pre_storage_up.png

容量はとりあえず 50 GB にしました
最終的に上記のような感じで追加できれば OK です

イメージファイルのダウンロード

今回はゲスト OS に CentOS をインストールしてみます
以下のリンクから iso ファイルをダウンロードしてください
http://ftp.riken.jp/Linux/centos/6/isos/i386/CentOS-6.8-i386-minimal.iso

32bit OS を選択しているのは理由は最後に説明します

ESXi での作業

ここから ESXi 上で作業していきます

vSphere Web Client でアクセスする

ブラウザで ESXi に接続します
以下の画面が表示されたら「Open the VMware Host Client」を選択します
first_vm_on_esx_top_page.png

するとログイン画面が表示されるので ESXi の root ユーザでログインしましょう
first_vm_on_esx_login_page.png

ログインできてホストの一覧が表示されれば OK です

データストアの追加

まずは VM に追加したディスクをデータストアとして ESXi に登録します
ストレージを選択し「新しいデータストア」を選択します
first_vm_on_esx_creating_datastore1.png

「新しい VMFS データストアの作成」を選択します
first_vm_on_esx_creating_datastore2.png

VirtualBox の VM に追加したディスクを選択します、名前はお好きなものを入力してください
first_vm_on_esx_creating_datastore3.png

ディスクすべての領域をデータストアとして利用するかどうか選択できます
今回は特に他の用途で使う予定もないのですべての領域をデータストアとして使います
first_vm_on_esx_creating_datastore4.png

問題なければ「完了」でデータストアを作成しましょう
first_vm_on_esx_creating_datastore5.png

一覧に表示されれば OK です
first_vm_on_esx_creating_datastore6.png

※ちなみにこの作業は必須ではありません、すでに十分な量のデータストアがあるのであればそれを使ってください

VM の作成と設定

それでは ESXi 上に VM を作成していきます
「仮想マシンの作成/登録」を選択します
first_vm_on_esx_creating_vm1.png

「新規仮想マシンの作成」を選択します
first_vm_on_esx_creating_vm2.png

名前を適当に設定しましょう
「ゲスト OS ファミリ」には「Linux」を選択し「ゲスト OS のバージョン」には「Red Had Enterprise Linux 6 (32 ビット)」を選択します
first_vm_on_esx_creating_vm3.png

データストアは余裕のあるところを選択しましょう
今回は事前に作成した VM 用のデータストアを選択します
first_vm_on_esx_creating_vm4.png

VM のカスタマイズ画面になります
今回はデフォルトの値からメモリとディスクの値だけを少し縮小しました
first_vm_on_esx_creating_vm5.png

問題なければ完了を押して VM を作成しましょう
vSphere Web Client の一覧画面に表示されると思います
first_vm_on_esx_creating_vm6.png

iso ファイルをデータストアにアップロードする

ダウンロードした CentOS の iso ファイルを ESXi 上のデータストアに配置します
作成した VM のディスクドライブに iso ファイルをマウントするためアップロードします
vSphere Web Client を使ってデータストアブラウザからアップロードすれば OK です
first_vm_on_esx_upload_iso.png

※なぜか自分の環境では vSpehre Web Client ( or vSphere Client ) を使ってアップロードができたなかったのでここだけ scp コマンドで直接 ESXi に iso ファイルを転送しました

iso ファイルをディスクドライブに設定する

データストアにアップロードした CentOS のイメージを VM のディスクドライブにマウントします
作成した VM を選択し「設定の編集」を選択します
first_vm_on_esx_setting_iso1.png

「CD/DVD ドライブ1」という設定項目があるので「データストア ISO ファイル」に変更します
そして先程データストアにアップロードした iso ファイルを選択してください
first_vm_on_esx_setting_iso2.png

問題なく完了すればディスクドライブへの iso ファイルの設定は完了です

vmx.allowNested = “TRUE” を設定する

これは VirtualBox 上で ESXi を動作させているため設定する項目になります
ESXi をサーバ単体で動作させている場合には不要な設定となります

これは作成した VM の .vmx ファイルを直接編集しなければなりません
.vmx ファイルは ESXi 上にあるので SSH ログインしましょう
SSH できたら VM が存在するデータストア配下に移動して .vmx ファイルを編集してください

  • /vmfs/volumes/58493b22-e99921e9-5adb-0800277b723b/centos6
  • vi centos6.vmx

58493b22-e99921e9-5adb-0800277b723b の部分はデータストアに振られた固有の ID となりますので、各自の環境に合わせてください
で以下を最後の行に追記してください

vmx.allowNested = "TRUE"

これで OK です
ちなみにこれを設定しないで VM を起動しようとすると以下のようなエラーとなります
enter image description here

VM の起動 (CentOS のインストールと設定)

それでは VM を起動してみましょう
iso がちゃんと設定されていれば CentOS のインストール画面が表示されると思います
インストール画面はコンソール上で進めていけば OK です
first_vm_on_install_centos.png

ここからは CentOS のインストール方法の紹介になるので詳細は省きますが、特につまづくとこはないと思います
ディスクを完全に初期化をするように促されると思うので、一旦初期化したほうが良いと思います

なぜ 32bit 版なのか

単刀直入にいうと 64bit 版を動作させることができないためです
VT-x という「インテル バーチャライゼーション・テクノロジー」という CPU の機能があるのですが、VirtualBox 上で動作する ESXi の場合、この機能が使えないようです
で、VT-x 機能が使えないと ESXi 上では 64bit OS を動作させることができないという問題が発生します

ということで今回は素直に 32bit 版の OS をゲスト OS としてインストールしてみました
が、後々調査してみると Nested Virtualization のときに ESXi 上の /etc/vmware/configvhv.enable = "true" を追記して hostd を再起動するだけでいけそうだということがわかったので、また今度検証してみようかと思います、、、
( 今回はだいぶ記事が長くなってしまったので省略します )

最後に

VirtualBox 上にデプロイした ESXi6.0 上に VM を作成してみました
VirtualBox 上で nest させている環境なので、特有のエラーが結構出ましたが最終的には VM を起動することができました

素直に ESXi 単体でサーバを動作させている場合にはこんなに大変な手順にはならないと思います

0 件のコメント:

コメントを投稿