ESXi6 Update2 に Cisco VIRL をインストールする
ESXi6 Update2 に Cisco VIRL をインストールする手順を記載しておきます。
作業環境¶
Cisco 公式のインストールガイドは以下にあります。基本的に左記に記載されている手順を辿れば問題無いはずです。
今回は以下の環境で導入しています。
- vCenter が導入されている
- クラスタ構成になっている
- (Web Sphere Client では無く)vSphere Client から作業している
VIRL には vCenter もクラスタも不要です。ESXi だけの環境でも導入可能です。その場合は手順やスクリーンショットがやや異なりますので、読み替えてください(大きく手順は変わらないはずです)。
ネットワークの作成¶
VIRL は 5 つのネットワークを利用します。
インターフェイス | 名称 | 用途 | 備考 |
---|---|---|---|
eth0 | N/A | VIRL 自体へのアクセス用 | - |
eth1 | Flat | Layer2 での外部接続用 | 必要に応じて Promiscuous Mode に設定する |
eth2 | Flat1 | Layer2 での外部接続用 | 必要に応じて Promiscuous Mode に設定する |
eth3 | SNAT | Layer3 での外部接続用 | - |
eth4 | INT | クラスタリグ用 | - |
まず、ESXi 上にネットワークを作成します。Inventory → Hosts and Clusters を選択します。
VIRL をインストールしたい ESXi ホストを選択 → Configuration → Add Networking を選択します。
そのまま Next をクリックします。
外部ネットワークと接続する際は、そのネットワークと vmnic を関連付けておきます。
ネットワークラベルを入力して、Next をクリックします。ここでは VIRL_Flat という名称を指定しました。
Finish をクリックしてネットワークの作成を完了します。
ここまでの手順を繰り返し、Flat、Flat1、SNAT、INT を作成しておきます。
Promiscuous Mode の設定¶
Layer2 で外部接続したいネットワークは Promiscuous Mode の設定をしておきます。Flat ネットワークの Properties をクリックします。
vSwitch が選択された状態で Edit をクリックします。
Security タブをクリックします。
Promiscuous Mode のドロップダウンリストをクリックし、Accept をクリックします。
これで Promiscuous Mode の設定は完了です。Flat1 ネットワークも同様に設定しておきます。
OVF ファイルでの仮想マシンデプロイ¶
OVF ファイルで VIRL の仮想マシンをデプロイします。Inventory → VMs and Templates をクリックします。
File → Deploy OVF Template をクリックします。
Browse をクリックして VIRL の OVF ファイルを選択し、Next をクリックします。
Next をクリックします。
仮想マシン名を指定 & デプロイ先のデータセンターを選択し、Next をクリックします。
デプロイ先のクラスタを選択し、Next をクリックします。
デプロイ先の ESXi ホストを選択し、Next をクリックします。
ディスクフォーマットを選択します。VIRL のマニュアルでは Thick Provision Lazy Zeroed を指定するように記載されています(私の場合は Thin Provision にしていますが… ここはお好みで)。
先に作成したネットワークをマッピングしていきます。
Finish をクリックしてデプロイを開始します。
デプロイが完了するまで待ちます…
しばらくするとデプロイが完了するはずです。
仮想マシンのリソース調整¶
VIRL を起動する前に必要に応じて仮想マシンの CPU やメモリ等のリソースを調整しておきます。デプロイした VIRL 仮想マシンを右クリックし、Edit Settings をクリックします。
(Web 版では無い)vSphere Client から設定変更している為、警告が表示されます。警告は無視して OK をクリックし、続行します。
VIRL をデプロイした直後は以下のようになっていました。vCPU は 4、メモリは 8GB が割り当てられていました。
今回は CPU 8、メモリ 32GB を割り当てました。
必須ではありませんが、仮想マシン用にメモリを予約する設定をしておくとパフォーマンスが改善しますので、ホストマシンのメモリ容量に余裕があれば設定しておきます。Resources → Memory を選択し、Reserve all guset memory にチェックを入れておきます。
仮想マシンの電源オン¶
これで事前の準備は完了です。Power → Power On をクリックし、仮想マシンの電源をオンにします。
仮想マシンを起動するホストの推奨が表示された場合は任意に調整します。
今後の作業の為にコンソールを開いておきます。Open Console をクリックします。
IP アドレスの確認¶
しばらくして VIRL の起動が完了するとコンソールにログイン画面が表示されるはずです。初期状態ではユーザ名「virl」、パスワード「VIRL」でログイン出来ます。virl ユーザでログインして作業を続けます。
現状の VIRL はベースが Ubuntu 14.04.4 LTS になっています。
1 2 3 4 5 6 |
|
アップグレードの拒否に関して確認が表示されるので OK をクリックします。
デスクトップ上に ip-address というショートカットがあるので、これをダブルクリックします。
すると VIRL に割り当てられている IP アドレスが表示されます。以降はこのアドレスに対して SSH やブラウザでアクセスして作業を継続します。
固定 IP アドレスへの変更¶
ここまでの手順で確認したアドレスに対して SSH アクセスし、virl ユーザでログインします(上述の通り、初期パスワードは「VIRL」です)。初期状態で VIRL が外部とアクセスする eth0 が(固定アドレスでは無く)DHCP 設定になっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
今回は以下のように設定変更しました。DNS は元々、Google(8.8.8.8 と 8.8.4.4)が設定されていました。
項目 | 値 |
---|---|
アドレス | 10.100.4.238 |
ネットマスク | /16 |
ゲートウェイ | 10.100.254.254 |
DNS1 | 8.8.8.8 |
DNS2 | 8.8.4.4 |
具体的には eth0 部分を以下のように書き換えます。
1 2 3 4 5 6 |
|
設定ファイルの修正が完了したら、再起動します。
1 |
|
KVM の確認¶
KVM が利用出来る状態になっているか、確認します。virl ユーザで SSH ログインし、kvm-ok を実行します。「KVM acceleration can be used」と表示されれば OK です。
1 2 3 |
|
ライセンスのアクティベーション¶
次は VIRL のライセンス・アクティベーションを実施します。ブラウザで VIRL にアクセスします。https では無く、http でアクセスします。以下の画面が表示されたら User Workspace Management(以下、UWM)をクリックします。
UWM のログイン画面が表示されます。uwmadmin ユーザでログインします。初期状態でユーザ名は「uwmadmin」、パスワードは「password」です。
ログイン直後は以下のように表示されます。左側のナビゲーションから VIRL Server → Salt Configuration and Status をクリックします。
Reset keys and ID をクリックします。
初期状態では以下のように表示されます。
各々の欄には以下のように入力します。
Salt ID and domain¶
購入時にダウンロードしたライセンスファイルが「AB12CD35.virl.info.pem」なら、拡張子 .pem を除外して「AB12CD35.virl.info」と入力します。
Customer e-mail Address¶
ライセンスを購入した際に登録したメールアドレスを入力します。例えば「foobar@example.com」というメールアドレスでライセンス購入したのなら、「foobar@example.com」と入力します。
List of Cisco salt masters¶
以下のうち、どちらを入力します。今回は「1」の us 側を入力しました。
No. | 値 |
---|---|
1 | us-1.virl.info, us-2.virl.info, us-3.virl.info, us-4.virl.info |
2 | eu-1.virl.info, eu-2.virl.info, eu-3.virl.info, eu-4.virl.info |
Master sign public key¶
この項目については Cisco のマニュアルにも言及が無い為、初期値である「eft.pub」のままにしておきます。
Minion private RSA key in PEM format¶
ライセンスファイルの中身をそのままコピーします。ライセンスファイルの中身は以下のようになっているはずです(実際にはもっと長い文字列です)。
1 2 3 4 5 6 7 |
|
ライセンス情報入力例¶
入力例は以下の通りです。必要な値を入力したら下部にある Reset をクリックします。
問題無ければ以下のように Salt Status が表示されます。Last successful contact に日付が表示されていればアクティベーションに成功しています。もし、日付が上手く表示されていない場合はしばらくしてから画面中央の Check status now をクリックし、Last successful contact の状態が変わらないかを確認します。
VIRL 全体の設定¶
必要に応じて VIRL 全体の設定を調整します。VIRL Server → System Configuration から各種の設定を変更出来ます。基本的に変更する必要は無いと思いますが、「Usage report → Permit VIRL server to send usage information to Cisco?」のチェックは外しておいても良いと思います(お好みで…)。各設定の初期値は以下の通りです。
System¶
項目 | 値 |
---|---|
Hostname | virl |
Domain Name | virl.info |
NTP Server | pool.ntp.org |
Ramdisk enabled | uncheck |
VNC enabled | uncheck |
VNC password | letmein |
Primary Ethernet port | eth0 |
Use DHCP on primary Ethernet port? | check |
Static IP address | 127.0.0.1 |
Primary port network | 127.16.16.0 |
Primary port netmask | 255.255.255.0 |
Primary port gateway | 127.16.16.1 |
Primary DNS server IP address | 8.8.8.8 |
Secondary DNS server IP address | 8.8.4.4 |
Is your system behind a proxy? | uncheck |
HTTP/HTTPS Proxy | http://ymbk.example.com:80/ |
Network¶
項目 | 値 |
---|---|
Flat Network port | eth1 |
Flat Network address | 172.16.1.254/24 |
Flat Network address/mask | 172.16.1.0/24 |
Flat Network netmask | 255.255.255.0 |
Flat Network Gateway IP address | 172.16.1.1 |
Flat Address pool start address | 172.16.1.50 |
Flat Address pool end address | 172.16.1.253 |
Flat primary DNS server IP address | 8.8.8.8 |
Flat secondary DNS server IP address | 8.8.4.4 |
項目 | 値 |
---|---|
2nd Flat Network enabled | check |
2nd Flat Network port | eth2 |
2nd Flat Network address | 172.16.2.254/24 |
2nd Flat Network address/mask | 172.16.2.0/24 |
2nd Flat Network netmask | 255.255.255.0 |
2nd Flat Network Gateway IP address | 172.16.2.1 |
2nd Flat Address pool start address | 172.16.2.50 |
2nd Flat Address pool end address | 172.16.2.253 |
2nd Flat primary DNS server IP address | 8.8.8.8 |
2nd Flat secondary DNS server IP address | 8.8.4.4 |
項目 | 値 |
---|---|
Snat Network port | eth3 |
Snat Network address | 172.16.3.254/24 |
Snat Network address/mask | 172.16.3.0/24 |
Snat Network netmask | 255.255.255.0 |
Snat Network Gateway IP address | 172.16.3.1 |
Snat Address pool start address | 172.16.3.50 |
Snat Address pool end address | 172.16.3.253 |
Snat primary DNS server IP address | 8.8.8.8 |
Snat secondary DNS server IP address | 8.8.4.4 |
項目 | 値 |
---|---|
Control Network port | eth4 |
VIRL Services¶
項目 | 値 |
---|---|
VIRL Apache server port | 80 |
Start host-granted TCP port | 10000 |
End host-granted TCP port | 17000 |
First VM Serial Console TCP port | 17000 |
Last VM Serial Console TCP port | 18000 |
VIRL Web Services port | 19399 |
UWM port | 19400 |
AutoNetkit webserver port | 19401 |
Live Visualization webserver port | 19402 |
UWM web-ssh port | 19403 |
Nova websocket serial port | 19406 |
Nova websocket vnc port | 19407 |
Docker Registry port | 19397 |
Infrastructure¶
項目 | 値 |
---|---|
OpenStack password | password |
MySQL password | password |
Guest account present? | check |
Resources¶
項目 | 値 |
---|---|
RAM overcommit value | 2 |
Reset RAM overcommit | uncheck |
vCPU overcommit value | 3 |
Reset vCPU overcommit | uncheck |
Download proxy | |
Download proxy authentication | |
Download proxy exceptions | |
Allow insecure Docker registry | uncheck |
Usage report¶
項目 | 値 |
---|---|
Permit VIRL server to send usage information to Cisco? | check |
OpenVPN¶
項目 | 値 |
---|---|
OpenVPN server on/off | uncheck |
Use TCP port | uncheck |
TCP port number | 443 |
UDP port number | 1194 |
Client IP range start | 172.16.1.20 |
Client IP range end | 172.16.1.39 |
(Advanced) Certificate Authority certificate | |
(Advanced) server certificate |
VM Maestro のインストール¶
ここまでで VIRL サーバ側の設定は完了です。次は、検証したいトポロジーを作成したり、シミュレーションを開始する為のツール「VM Maestro」をクライアント側にインストールします。再度、VIRL のトップ画面にアクセスし、VM Maestro Clients & Python Libraries をクリックします。
Apache の Index 画面に各 OS 毎のバイナリが表示されます。自分が利用している OS に合わせたバイナリをダウンロードします。私の環境は macOS なので VMMaestro-dev-1.2.7-434.dmg をダウンロードしました。
macOS の場合はダウンロードした .dmg ファイルをダブルクリックしてマウントし、VMMaestro-1.2.7-434.app をアプリケーションディレクトリにコピーすれば OK です。
VM Maestro を起動する¶
アプリケーションディレクトリから VM Maestro を起動します。セキュリティ設定によっては「開発元が未確認のため開けません」と表示され、VM Maestro を開始出来ません。
この場合は VM Maestro のアイコンを右クリックし、Control キーを押しながら「開く」をクリックします。
スプラッシュスクリーンが表示され、VM Maestro が起動します。
ライセンス同意画面が表示されます。Remember my decision にチェックを入れた状態で OK をクリックします。
ユーザ体験を改善する為に Cisco へのフィードバックに関して表示されます。ここは OK をクリックして先に進みます。
VIRL サーバへのログイン画面が表示されます。初期値では接続先サーバが localhost になっている為、「x 4 web services are unverified.」と表示され、ログインが出来ません。
接続先サーバに VIRL の IP アドレスを入力します。Username と Password は、どちらも「guest」です(初期状態で guset / guest が入力されているはずです)。
VM Maestro の設定¶
VM Maestro の画面が表示されます。最初に右下にある「guest」というユーザ名をクリックします。
Web Services という画面が表示されます。全て緑色表示になっていることを確認します。問題無ければ OK をクリックします。
次は File → Preferences → Node Subtypes → Restore Defaults をクリックします。
OK をクリックします。
これで VM Maestro の設定も完了です。後は VM Maestro 上でトポロジーを作成し、シミュレーションを開始して検証を進めていきます。