2015年6月7日日曜日

検証環境で、サーバーOSの仮想マシンをリンククローンで構成する (PowerCLI+LinkedCloneで手間短縮)

検証環境で、Horizon View等を構築する場合、ADやConnection Server、Security ServerやAppVolume ServerなどかなりたくさんのWindowsサーバーを必要とします。
vCenter Serverでクローンを簡単に作成することはできますが、いかんせん、ストレージに負荷がかかります、ディスクの容量も食ってしまいます。
Horizon View自体には、リンククローンでスナップショットベースの差分ディスクでの仮想マシン構成が可能です。
本番環境でこれを使うのはおすすめできませんが、一時的な検証環境であれば、リンククローンベースでも十分だと思うのですが、そのためにHorizon Viewを構築すると鶏が先か卵が先かという論理になってしまいます。まあ、そもそもサーバーの展開ツールではないので使い方間違っている感がありますね。

そこで、調べているとどうやらPowerShell(PowerCLI)を利用することで、vCenter Serverだけでリンククローンの仮想マシンを構築可能なようです。
これを使えば、FreeBSDやCentOSなどのHorizon View Managerが対応していない仮想マシンもリンククローンが作成できて便利です。

まずは、PowerCLIをインストールします。

しかし、PowerCLIのダウンロード場所は実にわかりにくいです。
MyVMwareから、vSphereの項に行き、vCenter Serverの項に行き、さらにドライバーとツールタブを開き、
「Automation Tools and SDKs」からダウンロードできます。




スクリプトは以下の通りです。
#↓マスター(ゴールド)イメージとなる仮想マシン名
$sOriginVM="Win7x86-Master"
#↓配置したいDataStoreを記載
$oHaichiDataStore = "DAS2102"
#↓配置したいESXiホストを記載
#※当然ながら、マスターと配置ホストで同じストレージが見えていないと失敗します。
$oHaichiESXiHostName = "192.168.X.X"
#リンククローンで新たに作成する仮想マシン名
$sNewVMName="CLWin7-01"
#マスターに使いたいスナップショット名
$oSnapShot = "Sysprep Just before"

Add-PSSnapin VMware.VimAutomation.Core
#vCenterServerのIPとユーザー名
Connect-VIServer -Server ESXiのIPアドレス -User ユーザー名(exp:administrator@vsphere.local) -Password パスワード

$oVCenterFolder=(Get-VM $sOriginVM).Folder
$oESXiHost = Get-VMHost $oHaichiESXiHostName

$oSnapShot = Get-Snapshot -vm $sOriginVM -name $oSnapShot
$oESXDatastore=Get-Datastore -Name $oHaichiDataStore
$oLinkedClone=New-VM -Name $sNewVMName -VM $sOriginVM -Location $oVCenterFolder -Datastore $oESXDatastore -LinkedClone -ReferenceSnapshot $oSnapShot -VMHost $oESXiHost

#仮想マシンの電源ON
Start-VM $oLinkedClone

#vCenter Serverから切断
disConnect-VIServer

これを流すだけでOKです。 カスタマイズすれば、フルクローン仮想マシンをループで一気に複数作成することもできます。
これで、デプロイ作業時間が激減するはずです。
参考:Michls Tech Blog

0 件のコメント:

コメントを投稿