あらかじめ、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直接続でもいけそうな気がします...。
0 件のコメント:
コメントを投稿