ラベル ESXi の投稿を表示しています。 すべての投稿を表示
ラベル ESXi の投稿を表示しています。 すべての投稿を表示

2017年5月31日水曜日

ESXi に独自のファイアウォールルールを追加する方法

概要

例えばあるポートの Outgoing を許可したい場合などです
実は vSphere Client からできなく直接 ESXi にログインしてコマンドで作業する必要があります
今回はその方法を紹介したいと思います

環境

  • ESXi 6.5.0, 4887370

設定方法

事前に ESXi の SSH ログインの有効と root ユーザのパスワードの設定を実施しておいてください
参考

  • cp /etc/vmware/firewall/service.xml /etc/vmware/firewall/service.xml.back
  • chmod 644 /etc/vmware/firewall/service.xml
  • chmod +t /etc/vmware/firewall/service.xml
<service id='0044'>
  <id>vchAccess</id>
  <rule id='0000'>
    <direction>outbound</direction>
    <protocol>tcp</protocol>
    <porttype>dst</porttype>
    <port>2377</port>
  </rule>
  <enabled>true</enabled>
  <required>true</required>
</service>
  • chmod 444 /etc/vmware/firewall/service.xml
  • esxcli network firewall refresh

Firewall のルールを管理している service.xml というファイルがあるのでそれを直接編集します
そしてその後 esxcli コマンドで設定を反映し完了となります

動作確認として vSphere Client でちゃんとポートがオープンになっているか確認してみましょう

ESXi を選択 -> 設定タブ -> 左サブメニューからシステム -> セキュリティプロファイル

で確認できます
今回であれば 2377 ポートが一覧に表示されていれば OK です

2016年12月22日木曜日

ESXi と VyOS の学習まとめ

概要

ESXi と VyOS 関連の記事をいろいろとポストしてきました
ちょっと連載チックになったのでまとめておきます

環境

  • ESXi 6.0 update 2
  • VyOS 1.1.7 (32bit 版)

この連載を一通り実施すると以下の環境を構築することができます
esxi_and_vyos_stydy_ret.png

ホスト PC に接続されている intra 部分は環境によって異なります
WiMAX2 などはルータで直接インターネットに接続されている状態になると思います

連載記事一覧

第一回

Windows 上の VirtualBox を使って ESXi 環境を構築してみた

まずは仮想化の基盤となる ESXi を構築します
スペックが要求されますが、Windows があれば構築できる手順になっています

第二回

ESXi に SSH 接続してログを確認する

構築した ESXi に SSH ログインできるようにします
ESXi 内をターミナルで操作してみましょう

第三回

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

実際にゲスト OS を使って VM を作成してみます
最低限のストレージやネットワークの構築も行います

第四回

VirtualBox 上の ESXi 上に作成した VM をインターネットに接続する

VM をインターネットに接続してみます
VirtualBox の NAT ネットワークを ESXi に接続しスイッチを作成して VM に接続します
これで VM 上で yum コマンドなどが実行できるようになります

第五回

VirtualBox 上の ESXi 上に作成した VM に SSH ログインできるようにする

これまで ESXi のブラウザコンソールで作業していのをホストマシンから SSH ログインできるようにしてみます
VirtualBox のホストオンリーアダプタを使って実現します

第六回

VirtualBox 上の ESXi の VM に VMware Tools をインストールする方法

VM を更に便利に操作できるように VMware Tools をインストールします
インターネットに接続した VM にライブラリをインストールしディスクから VMware Tools をインストールします

第七回

ESXi6.0 の Managed Object Browser (MOB) を有効にする方法

ちょっと番外編でありますが、MOB を有効にする方法を紹介しています
この後で API 操作するための準備になります

第八回

ESXi6.0 の API を使って ESXi とか VM を操作してみる (Ruby 編)

API を使って VM の操作やスイッチ、ストレージ情報の取得を行います
Ruby を使ってプログラムしながら操作します
インフラをプログラマブルに操作する感じを体験してもらえればと思います

第九回

ESXi6.0 上に VyOS をインストールしてみた

ESXi 上に仮想ルータである VyOS をデプロイします
ESXi と組み合わせることで仮想ネットワークを強力にサポートすることができます

第十回

VyOS で VLAN ID を振ったポートグループ内に DHCP サーバを構築してみた

VyOS の DHCP 機能を試しています
ポートグループ内に作成した VM に自動で IP を付与することができるようになります

第十一回

VyOS を使って異なる VLAN ID のポートグループを相互に通信できるようにしてみた

2 つのポートグループを作成しそのポートグループ内の VM の橋渡しを VyOS に行わせます
異なる IP 帯での通信を実現することができます

最後に

一応教材っぽくなったのでまとめてみました
今後も ESXi と VyOS ネタは紹介すると思いますが、一旦区切りとしてまとめてみました
自分用の検証環境を構築したい場合や手を動かして学びたい場合には良いかなと思います

ただ、vCenter がないので VMware 製品を深く学ぶことはできないと思います
あとはマシンのスペックやネットワークをそこまでは要求していないので大規模な検証には向いていないと思います

2016年12月17日土曜日

ESXi6.0 の API を使って ESXi とか VM を操作してみる (Ruby 編)

概要

ESXi6.0 の API を使って ESXi の操作や VM の操作をしてみました
素の API はおそらく SOAP でそのまま使うのは辛いので Ruby のライブラリを使って Ruby から操作してみました
また、ESXi の API を操作するにあたって Managed Object Browser を有効にしておくと良いと思います

環境

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

ライブラリのインストール

  • bundle init
  • vim Gemfile
gem "rbvmomi"
  • bundle install

サンプルコード

いくつかサンプルコードを紹介します
一番はじめに「接続」を必ず行ってから各種コードを実行してください

接続

require 'rbvmomi'

vim = RbVmomi::VIM.connect(
  host: '192.168.56.103',
  user: 'your-user',
  password: 'your-password',
  insecure: 'true'
)

という感じで接続してください
host, user, password は各自の環境に併せて変更してください
HTTPS で接続しに行くので、証明書など設定していない場合は「insecure」を指定するようにしてください

ESXi のバージョン情報の取得

puts vim.serviceInstance.RetrieveServiceContent.about.fullName

データストアの一覧の取得

hosts = vim.serviceInstance.RetrieveServiceContent.rootFolder.childEntity
hosts.each {|h|
  ds = h.datastore
  ds.each {|d|
    puts d.info.name
    puts d.info.url
  }
}

vSwitch の一覧の取得

hosts = vim.serviceInstance.RetrieveServiceContent.rootFolder.childEntity
hosts.each {|h|
  ns = h.network
  ns.each {|n|
    puts n.name
    puts n.vm.count
  }
}

VM の一覧の取得

hosts = vim.serviceInstance.RetrieveServiceContent.rootFolder.childEntity
hosts.each {|h|
  vmf = h.vmFolder
  puts vmf.childEntity.count
  vmf.childEntity.each {|vm|
    puts vm.name
  }
}

VM の起動

hosts = vim.serviceInstance.RetrieveServiceContent.rootFolder.childEntity
hosts.each {|h|
  vmf = h.vmFolder
  vmf.childEntity.each {|vm|
    if vm.guest.guestState != "running"
      puts vm.name
      vm.PowerOnVM_Task.wait_for_completion
    end
  }
}

VM のステータスを見て起動中以外であれば PowerOn しています
全台パワーオンします

最後に

Ruby を使って ESXi の操作をしてみました
一部の API を使って操作しただけなので他にもできることはたくさんあります
おそらく Web Client でできることはすべてできると思うので独自の UI やツールを作ることができると思います

認証も ID/PW のみなので、簡単に使えますが権限が強いユーザだと VM の起動や停止の他に削除等の Mofity/Delete 系の操作もできてしまうので、その辺の操作をする際には気をつけてください

SOAP の通信内容が見たい場合は、接続時に debug: 'true' を追加で指定すれば確認することができます

一点注意点として、今回使用したライブラリがあまりメンテナンスされていないようです
すべての API をコールしたわけではないのでわかりませんが、もしかすると ESXi6.0 だと対応されていない API があるかもしれません

参考サイト

2016年12月16日金曜日

ESXi6.0 の Managed Object Browser (MOB) を有効にする方法

概要

ESXi6.0 の場合、デフォルトで https://esxi_server_ip/mob にアクセスすると 503 のエラーが発生します
enable_mob_errors.png

MOB は API をコールしたりするときにリファレンスとしても使えるので有効にしておくと何かと便利です

環境

  • ESXi 6.0 update 2

有効にする

今回は Web Client を使って有効にします
アクセスしたらホストの「管理」から「詳細設定」を選択します
その中に「Config.HostAgent.plugins.solo.enableMob」という欄があるので確認します
enable_mob_enabled.png

該当の項目を選択して「アクション」から「オプションの編集」を選択すると設定ダイアログが表示されるので「True」を選択し保存します
enable_mob_enabled_dialog.png

これで設定は完了です
再度ブラウザで MOB にアクセスすると以下のように有効になっていることが確認できると思います
有効にするのに ESXi の再起動は不要です
enable_mob_confirm_mob.png

最後に

ESXi6.0 で Managed Object Browser を有効にしてみました
これで API での操作も捗りそうです
今回は Web Client から操作しましたが、この操作は ESXi に SSH してコマンドで有効/無効を切り替えることも可能です

Web Client が使えるならそれが一番簡単かなと思います

参考サイト

2016年12月15日木曜日

VirtualBox 上の ESXi の VM に VMware Tools をインストールする方法

概要

過去に VM を VirtualBox の NAT アダプタを使ってインターネットに接続する方法を紹介しました
ゲスト OS はこれまで使用してきた CenOS6 を使用します
使用している CentOS は minimal インストールしたので、当然ですが、VMware Tools はインストールされていません

環境

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

VMware Tools のインストールディスクをマウントする

Web Client で VM の設定を開き「アクション」から「ゲスト OS」で「VMware Tools のインストール」を選択します
install_vmtools_mounting_cd.png

上記作業は VM を指定した状態で実施してください
この操作を行うと自動で VM が起動します

インストール作業

では、ログインして作業をしていきます
VM の設定は事前に済ませておいてください
条件としてはインターネットに接続できれば良いので NAT アダプタから作成したポートグループが接続されていれば OK です
ifcfg 等の設定も済ませておいてください
そのあたりも過去の記事を参考にすると良いと思います

perl のインストール

VMware Tools のインストールには perl が必要になります
今回は minimal の CentOS なのでデフォルトで perl がインストールされていません
なので、yum を使って perl をインストールします

  • yum -y update
  • yum -y install perl perl-devel

プロキシが必要な場合は以下を設定してください

  • echo 'proxy=http://your.proxy-server.me:8080' >> /etc/yum.conf

コンパイルとインストール

  • mkdir /mnt/cdrom
  • mount -r /dev/cdrom /mnt/cdrom/
  • cd /tmp
  • cp /mnt/cdrom/VMwareTools-10.0.6-3560309.tar.gz .
  • tar zvxf VMwareTools-10.0.6-3560309.tar.gz
  • cd vmware-tools-distrib/
  • ./vmware-install.pl

いろいろと質問されますが基本は全部 Enter で OK です
インストールするパスなどを設定できるので、デフォルトが嫌であれば好きなパスを設定してください 

動作確認

インストールが完了するとすでにデーモンとして起動しています

  • vmware-toolbox-cmd -v

10.0.6.54238 (build-3560309) という感じでバージョンが表示されます
あとは Web Client で確認すると「全般情報」の部分にマシンの情報が表示されるようになっていると思います
install_vmtools_ret.png

最後に

VirtualBox 上の ESXi に作成した VM に VMware Tools をインストールしてみました
perl が必要だったので yum でインストールしましたが、yum をするためにインターネットに接続する必要があるので、その事前作業が必要です

これで VM に対してできることも結構増えたので更にいじっていきたいと思っています

2016年12月13日火曜日

VirtualBox 上の ESXi 上に作成した VM に SSH ログインできるようにする

概要

前回 作成した VM をインターネットに接続できるようにしてみました
今回はホストマシンから SSH できるネットワークを構築してみたいと思います

環境

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

VirtualBox へのホストオンリーアダプタの追加

まずは ESXi 用の VM にネットワークアダプタを追加します
追加するアダプタは「ホストオンリーアダプタ」を選択してください
enable_ssh_vm_add_hostonly_adapter.png

おそらく前回、前々回 まで完了していればすでにアダプター 2 まで使っているので 3 を使ってください

  • アダプタ1 -> ブリッジアダプタ -> VMkernel (ESXi 管理用)
  • アダプタ2 -> NAT -> VM のインターネット接続用
  • アダプタ3 -> ホストオンリーアダプタ -> VM 接続用

になっているかと思います

プロミスキャスモードの有効化

VirtualBox のアダプタにもプロミスキャスモードの設定があるので有効にします
「高度」を選択すればプロミスキャスモードを設定することができるので今回は「すべて許可」にしておきます
enable_ssh_vm_enable_promiscuous_vb.png

vSwitch の作成

VM に接続するための vSwitch を作成していきます
「ネットワーク」->「仮想スイッチ」と進み新規で vSwitch を作成します
enable_ssh_vm_create_vswitch.jpg

プロミスキャスモードの有効化

ポイントとしてプロミスキャスモードモードを ON にする必要があります
作成した vSwitch の設定から「セキュリティ」->「無差別モード」で「承諾」を選択します
enable_ssh_vm_enable_promiscuous_mode.jpg

プロミスキャスモードを ON にしないと同一ポートグループ (VLAN ID) 内でしか通信することができません
今回の場合、ホストマシンや同一 VMkernel 上にいるマシンからアクセスするので ON にするようがあります

ポートグループの作成

作成した vSwitch 内にポートグループを作成します
「ネットワーク」->「ポートグループ」から新規でポートグループを追加します
仮想スイッチは先ほど作成したスイッチを選択します
enable_ssh_vm_create_portgroup.jpg

ポートグループにはプロミスキャスモードの設定がないので作成できれば OK です

VM へのネットワークの追加

接続した VM に作成したポートグループの追加を行います
先ほど作成した名前のポートグループを新規で追加しましょう
enable_ssh_vm_add_network_tovm.jpg

追加作業

以下は必要であれば実施してください
基本的には ESXi が動作しているサーバから SSH するのでホストマシンにアクセスできれば作業は不要です

VMkernel NIC の追加

今回は ESXi を踏み台にして作成した VM に接続するので ESXi にもホストオンリーアダプタ用の NIC (VMkernel) を作成して IP を付与しておきます
enable_ssh_vm_config_network.jpg

これで ESXi から作成した VM への疎通ができました
これを実施した場合 vSwitch の構成は以下の通りになります
enable_ssh_vm_vswitch_struct.jpg

ファイアウォールルールの確認

ESXi のファイアウォールのルールで SSH の Outgoing が有効になっていない場合は有効にしましょう
「ネットワーク」から「ファイアルール」を表示して「出力ポート」欄の「22」を右クリックして有効化してください
enable_ssh_vm_enable_ssh.jpg

OS を起動して設定

動作確認用のゲスト OS は CentOS6 になります
今回の場合 NAT がすでにあるので eth1 として追加されます
/etc/sysconfig/network-scripts/ifcfg-eth1 を編集してください
以下のような感じのファイルを作成すれば OK です

DEVICE=eth1
HWADDR=00:0C:29:74:D4:89
ONBOOT=yes
BOOTPROTO=dhcp

ファイルを作成したら service netweork restart してください

動作確認

おそらく 192.168.0.0/24 台の IP が振られるので、その IP に SSH できるか確認してみてください
追加作業の VMkernel と ファイアウォールルールの設定もしていれば、ESXi から作成した VM に SSH することもできると思います

最後に

ホストマシンから ESXi 上に作成した VM に SSH できるネットワークを構築してみました
Web Client が使えるのであればターミナルが使えるので操作はできますが、ターミナルだとコピペができなかったり、キーバインドがおかしかったりとかなり操作がしづらいので、やはり SSH できるようにしたほうが良いと思います

2016年12月12日月曜日

VirtualBox 上の ESXi 上に作成した VM をインターネットに接続する

概要

前回 ESXi 上に VM を作成するところまでやってみました
しかしまだネットワークにつながっていないためライブラリのインストールなどができません
今回は VirtualBox の NAT インタフェースを使って VM をインターネットに接続してみました

環境

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

VirtualBox へのネットワークインタフェースの追加

まずは ESXi 用の VM に NAT ネットワークを追加します
元々 1 つブリッジアダプターがある場合は追加で 2 つ目に NAT を追加してください
vms_on_esxi_with_internet_config_nat_adapter.png

vSwitch の作成

追加した NAT アダプタ用の vSwitch を ESXi 上に追加します
「ネットワーク」から「標準仮想スイッチの追加」を選択します
vms_on_esxi_with_internet_add_vswitch1.png

スイッチの名前はお好きなものを入力してください
先程追加した物理 NIC (今回は vmnic1) を選択してください
vms_on_esxi_with_internet_add_vswitch2.png

ポートグループの作成

次に作成した vSwitch にポートグループを作成します
「ネットワーク」から「ポートグループを追加します」を選択します
vms_on_esxi_with_internet_add_portgroup1.png

名前は何でも OK です
VLAN ID も今回は 0 で OK です
仮想スイッチには先程作成したスイッチを選択してください
vms_on_esxi_with_internet_add_portgroup2.png

VM へのネットワークの追加

VM に NIC を追加して所属させるポートグループを選択しましょう
VM の設定から「ネットワークアダプタ 1」の設定項目を先程作成したポートグループにしましょう
vms_on_esxi_with_internet_config_vm.png

設定はこれで完了です

OS を起動して動作確認

今回 CentOS6 の minimal を動作確認に使用していますが、デフォルトだと eth が自動で起動しないので手動で起動しましょう

  • ifup eth0

自動起動したいのであれば以下のような感じで設定します

  • vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes

起動して ifconfig というで 10.0 台の IP が見れれば OK です
また、ping 8.8.8.8 あたりに通信できるかも確認すると良いと思います
通信できるのが確認できれば yum install も実行できるようになっていると思います

最後に

ESXi 上の VM を NAT でインターネットに接続できるようにしてみました
が、まだ SSH でログインできる状態ではありません
やはり VM に SSH できないのは少し使い勝手も悪いので、SSH もできるように設定してみたいと思います
それに関してはまたわかったら記事にでもしようかなと

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/config に vhv.enable = "true" を追記して hostd を再起動するだけでいけそうだということがわかったので、また今度検証してみようかと思います、、、
( 今回はだいぶ記事が長くなってしまったので省略します )

最後に

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

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

2016年12月8日木曜日

ESXi に SSH 接続してログを確認する

概要

ESXi に SSH する方法を紹介します
なんだかんだ SSH してログをみたりできると便利なので有効にしておくと後々幸せになるかもしれません

環境

  • VirtualBox 5.1.10
  • ESXi 5.5 update3
  • Windows7 Enterprise バージョン 6.1

設定方法

設定は ESXi を起動したターミナル上で行います
まず ESXi を起動して以下の画面にしてください
enable_esxi_ssh1.png

この画面でまずは「F2」を押します
カーソルのフォーカスはターミナルの画面内においてください
するとログイン画面になるので ESXi に設定した root ユーザでログインしてください
enable_esxi_ssh2.png

「System Customization」の画面の「Troubleshooting Options」を選択します
enable_esxi_ssh3.png

その中に「Enable SSH」という項目があるのでここで Enter をクリックします
enable_esxi_ssh4.png

すると右ペインの表示が「SSH is Enabled」となります
enable_esxi_ssh5.png

一旦ここで ESXi を再起動しましょう
初めの画面に戻って「F12」で再起動することができます

動作確認

再起動したら動作確認します
今回は teraterm で行いました
今回の設定だと認証にチャレンジレスポン認証を使用する必要があるためです

ユーザ名を入れて「チャレンジレスポンス認証を使う」にチェックします 
enable_esxi_ssh6.png

するとパスワード入力ダイアログが表示されるので ESXi の root ユーザのパスワードを入力します
enable_esxi_ssh7.png

成功すると以下のようにプロンプトが表示されます
hostname や who を実行した結果は以下の通りです
enable_esxi_ssh8.png

ではログを見てみましょう
ESXi 上で起動している VM のログは以下のパスで確認することができます

  • cd /vmfs/volumes/5847e5aa-e694a813-49e8-0800276adbc5/
  • cd VMware\ vCenter\ Server\ Appliance/
  • tail vmware.log

5847e5aa-e694a813-49e8-0800276adbc5 の部分は VM が乗っているデータストア固有の ID になるので各自の環境に合わせてください
その配下の VM 名配下に vmware.log というファイルがあるので、これに各 VM で行われた操作やイベントの詳細なログが記録されます

最後に

ESXi に SSH して主要なログを見る方法を紹介してみました
実際 SSH できると ESXi の挙動や仕組みを更に知ることができるので勉強にはなると思います
ただ、vSphere Client などで見るとわかるのですが、SSH が有効になっていると警告みたいなのが表示されます
当然ですが、セキュリティとしてはあまりよろしくないのでできれば vSphere Client で見れる範囲でオペレーションできるほうが望ましいと思います

とは言え SSH できたほうが便利なのは便利です

参考サイト