2016年4月9日土曜日

インスタントクローンを使ってみよう その3(動きの確認)

PowerCLIでHoriozn Viewのライセンスガ無くても手軽(?)に利用できる、インスタントクローンですが、そもそもどんな感じかを動きを確認してみたいと思います。

まず、マスターVM(親)VMで、エディタを開き未保存の文章を編集中の状態にします。


↓マスターの画面

その上で、
http://infratraining.blogspot.jp/2016/04/blog-post.html
で、投稿したスクリプトを実行します。

子VMができます。
この時点で、親VMは、一切の操作ができない静止状態となります。

では、子VMを操作・・・と行きたいのですが、vCenter Serverに接続されたvSphere Client、または、vSphere Web Clientで、VMRCを経由した画面コンソールでは、子VMが操作できません。
Webベースのリモートコンソールを利用するか、子VMが稼働するESXiに直接vSphere Clientを接続すれば、コンソールから子VMを操作できます。

子VMを見てもらえばわかると思いますが、親VMと全く同じ、未保存で編集中のテキストファイルもそのままの状態で複数の子VMができていると思います。

さて、ここからがトライアルです。

Q.
子VMをシャットダウンして、再度起動したら普通に起動するのでしょうか?

A.
仮想マシンをパワーオンすると、親VMがフリーズした部分からいきなり始まります。
レジュームから復帰したマシンのようなイメージです。

Q.
親VMはフリーズしていますが、正常にシャットダウンはできますか?

A.
できません。パワーオン状態のままフリーズしていますので、強制シャットダウンをするという形になります。仮想マシンとしてはパワーオン状態のままフリーズしている感じになります。

Q.
子VMが起動している状態で、親VMを強制パワーダウンさせたらどうなりますか?

A.
子VMは影響なくそのまま動作します。ただし、その後親VMをパワーオンできるのは、子VMがすべてシャットダウンしてからです。
親VMがシャットダウンされた状態で、子VMを起動すると「仮想マシン"子VM"のパワーオン時にESXホストからエラーを受信しました。フォークの子のパワーオンは、その親が静止中でないため失敗します。」 というメッセージが表示され起動できません。



総合的に見ると、リンククローンは仮想マシンのディスクの状態を、差分から仮想マシンを作成しますが、インスタントクローンは、ディスクとメモリーの状態の差分から仮想マシンを作成します。
マスターの仮想マシンは、レジューム(メモリー状態を保持してマシンをスリープや電源断にするいわゆる休止状態)状態の機能を利用するところにあります。

そう言われれば確かに、もともとvSphereには「サスペンド」というレジューム機能が提供されていますので、この機能を元にクローンが実行されているようなイメージだと思います。


以上で、インスタントクローンの検証は終わりですが、きちんと業務で利用する際は、Horizon Viewの機能を使って行うのがよいと思います。





インスタントクローンを使ってみよう その2(スクリプト実行)

Horizon View 7がリリースされ、いよいよインスタントクローンが正規に利用できるようになりましたが、PowerShellでの実装方法もあります。

あらかじめ、PowerCLIをインストールしておきましょう。
https://my.vmware.com/group/vmware/details?downloadGroup=PCLI630R1&productId=491

その後、FLINGSから、Extenstionをダウンロードして、PowerShellで利用できるようにします。

ダウンロード先
https://labs.vmware.com/flings/powercli-extensions

注意する必要があるのは、このExtensionは、PowerCLI6.3 R1用とそれ以外のモデルと別れています。新しくPowerCLIをインストールする場合現在は、PowerCLI6.3しかダウンロードできませんので、こちらをダウンロードする必要があります。



ダウンロードしたZIPファイルを開くと、「VMware.VimAutomation.Extensions」のフォルダを、Modulesフォルダはいかに配置します。
通常ですと、x64の場合、
C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Modules
配下に置くことになります。


さて、インスタントクローンを作る上での注意点ですが
  • インスタントクローンのマスター(親)となるVMは、OSを起動しておきましょう。
  • VMware Toolsは、コマンド実行の観点から、バージョン10からのサポートとなります。
  • あとは、vSphere6 Update1から正式に動作します。
    (vSphere6のUpdate無しですと、正常に動作しません)

を、あらかじめ押さえておきましょう。



さて、準備ができたら、以下のコマンドを流しましょう。

import-module VMware.VimAutomation.Core
import-module VMware.VimAutomation.Extensions

#vCenterServer IP
$ovCenterIP = "192.168.XX.YY"  #vCenter ServerのIPアドレス
#インスタントクローンの元VM
$parentVM = "InstantMaster-VM" #マスター(親)のVM名
#ゲストのログインユーザー/パスワード
$parentVMUser = "domain\administrator"  #ドメインのユーザー
$parentVMPass = "password"              #ドメインパスワード
#インスタントクローンVM名称
$childVMNameMaster = "InstantChild"     #子(チャイルド)VMの頭につける名称

#インスタントクローン設定情報
#IP設定用情報配列を作成
$childConfigSettings = @(0..2)

#IP設定情報
$childConfigSettings[0] = @{
 'ipaddress' = "192.168.XXX.YY1";
 'netmask'   = "255.255.255.0";
 'gateway’  = "192.168.XXX.254";
 'dns'       = "192.168.XXX.253";
}

$childConfigSettings[1] = @{
 'ipaddress' = "192.168.XXX.YY2";
 'netmask'   = "255.255.255.0";
 'gateway’  = "192.168.XXX.254";
 'dns'       = "192.168.XXX.253";
}

$childConfigSettings[2] = @{
 'ipaddress' = "192.168.XXX.YY3";
 'netmask'   = "255.255.254.0";
 'gateway’  = "192.168.XXX.254";
 'dns'       = "192.168.XXX.253";
}


#vCenterServerのIPとユーザー名
Connect-VIServer -Server $ovCenterIP -User administrator@vsphere.local -Password vCenterServerのパスワード

#インスタントクローンを有効化
↓仮想マシンにバッチファイルを用意してそれを実行する場合は--PostCloneScriptをつける
#$parentForkVM = Enable-InstantCloneVM -VM $parentVM -guestUser $parentVMUser -GuestPassword $parentVMPass -PostCloneScript C:\temp\WindowsPostScript.bat 
$parentVM = Get-VM $parentVM
$parentForkVM = Enable-InstantCloneVM -VM $parentVM -guestUser $parentVMUser -GuestPassword $parentVMPass
#$parentForkVM = Get-VM $parentVM

#インスタントクローン開始
for($i=0;$i -lt 3;$i++)
{
    $childVMName = $childVMNameMaster+$i
    $childForkVm = New-InstantCloneVM -ParentVM $parentForkVM -Name $childVMName -ConfigParams $childConfigSettings[$i]
}

#電源ON
for($i=0;$i -lt 3;$i++)
{
    $childVMName = $childVMNameMaster+$i
    Get-VM $childVMName | Start-Vm -RunAsync
}

#vCenter Serverから切断
disConnect-VIServer -Confirm:$False


これでインスタントクローンが体験できます。
ちなみに、これはvCenter Serverを経由してスクリプトを実行していますが、どうやらESXi直接続でもいけそうな気がします...。


vSphere Web Clientにログインする前にメッセージを表示する(vSphere6 Update2)

vSphere Web Clientを利用するのは、システム管理者の一部だけだと思いますが、vSphere 6 Update2から、PSCの認証においてRSA連携や証明書連携ができるようになったとリリースノートに書かれています。

この機能と併せて追加されているのが、コメント表示と同意機能です。

まずは、PSCの設定画面ですが、

https://PSCのIPまたはFQDN/psc/

にアクセスすることで、設定画面を表示できます。


ここで、ログイン画面に同意チェックボックスやコメントを入れることができます。

設定をすると、以下のようにチェックボックスが増えていることがわかります。


「次に同意します」 の横の文字を押すとコメントが表示されます。

正直、この機能が必要なケースがどれくらあるのかよくわかりませんが、おそらくワールドワイドでなんらかのリクエストがあったのだろうと思います。






2016年4月2日土曜日

ついにvCenter Serverも脱Flashに、vSphere HTML5 Web Clientが初お目見え

ずっとご紹介をしてきた、vSphere Embeded Host Clinet改め、vSphere Host Clientも、vSphere6 Update2より正式にリリースされました。
vSphere Host Clientは、今までのC#クライアントとといわれるvSphere Clientの代わりとなるもので、これによりC#版といわれるいわゆるクラサバ版のvSphere Clientの終焉を意味するのだと思います。(もうだいぶ前から無くなると言われていましたからね)

さて、残るは、FlashベースのvSphere Web Clientの今後ですが、vSphere 5.5時代に比べて、vSphere 6になって高速化したという話しでしたが、使い始めた最初速度が速いのですが、どうもDBにいろいろな情報が溜まってくると、重くなるように感じます。

昨年のVMworld 2015において、「vSphere Web Client」のHTML5化が発表されましたが、まずEmbeded Host Clientがリリースされ、次はいよいよだと思っていましたが、ついにVMware Flings」に登場したのが「vSphere HTML5 Web Client」です。


 まだ、FLINGSで出たてと言うこともありこれからの製品ですが、早速使ってみました。
FLINGSにしては珍しい「OVA」形式での提供です。つまりバーチャルアプライアンス版になります。

VAを展開をし、vCenter Serverと接続する必要があるのですが、接続前に1つだけ作業が必要です。

vCenter Server Applianceを利用の場合、
まず、rootでログインします。

↓Shellを有効化します。
#shell.set --enable True

↓シェルに入ります
#shell

↓デフォルトシェルをBASHに変更します。
#/usr/bin/chsh -s "/bin/bash" root
これを行った上で、展開したVAにログインします。


ユーザー名、パスワードは以下の通りでデフォルト設定されています。
 USER:root
 PASSWORD:demova


ログイン後、vCenterと接続する作業を行います。
/etc/init.d/vsphere-client configure --start yes --user root --vc <IP_Address_Of_vCenter>

作業は、これで完了です。

ちなみに、このVAは、:5480ポートの管理画面も持っています。
(なつかしいvCSA5.5時代の画面ですね)


この画面からVA再起動やIPアドレスの変更などが可能です。


さて、肝心の画面ですが、まずログイン画面に関してはvCenter Serverに接続されるPSCに依存していますので、PSCのログイン画面、つまりvSphere Web Clientにログインするときと同じ画面が表示されます。(URLもPSCのアドレスになります)

ログイン後、展開したVAにリダイレクトされます。


画面は、vSphere Host Clientと違い、グレー調のシンプルな画面です。
仮想マシンの電源ONやOFF、コンソールの表示が可能です。
コンソールは、vSphere Web Clientと同じようにブラウザーで別タブで表示される形ですが、今まで出ていたスクロールバーが出なくなりその分、快適に動作します。

vDSの情報やOVAの展開など、まだできないことはありますが、仮想マシンの編集やvMotion、仮想マシンのコピーやテンプレートの作成は可能です。


仮想マシンの編集画面

一部は、vCenterからのAPIをコールしているのか、日本語で表示されています。

まだまだできることは少ないというのが、印象ですがUIに対するパフォーマンスは、現行のvSphere Web Clientに比べるとかなりよい感じです。
今後のバージョンアップに期待しましょう。

ダウンロードはこちらかできます。
VMware Flings : vSphere HTML5 Web Client
https://labs.vmware.com/flings/vsphere-html5-web-client