*VMの自動起動スクリプト [#r080c0c4]

RIGHT:更新日 &lastmod();

PowershellとバッチファイルでVMをまとめて起動させたり、shutdownさせたりできる

***VMware vSphere PowerCLI [#o5d4e7f2]

VM用のコマンドレットを利用するためにVMware vSphere PowerCLIを以下からDLして、Windows Serverにインストール

-https://my.vmware.com/jp/group/vmware/details?downloadGroup=PCLI550&productId=352

バッチからPowershellのスクリプトを呼び出す。~
スクリプトでPowerCLIをスナップインし、
仮想PFに接続し、VMの起動・Shutdownを行う。 


***VM起動 [#qc45e935]

''start.bat''(起動バッチ)

 @echo off
 
 set ScriptPath="C:\Usr\VMware\Powershtest\Start.ps1"
 
 REM 【ポリシー設定】(Powershaellでスクリプトを動くようにする)
 @powershell.exe Set-ExecutionPolicy -executionpolicy Unrestricted
 
 REM PowerShellExec
 powershell.exe -command "& '%ScriptPath%'"

''Start.ps1''

 # スナップインの追加
 Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue
 
 # 仮想PFと接続
 Connect-VIServer -Server "192.168.10.76" -User "root" -Password "*****"
 
 # VMを起動
 Start-VM -VM "HA-Cent6"
 # 20秒時間待ち
 "20秒時間待ち・・・・(1)"
 Start-Sleep -s "20"
 Start-VM -VM "Vine6"
 "20秒時間待ち・・・・(2)"
 Start-Sleep -s "20"
 Start-VM -VM "Vine6_SvMotion"
 
 # 仮想PFの切断 (-Confirm:$false は確認メニューを表示しない)
 Disconnect-VIServer -Server "192.168.10.76" -Confirm:$false

***VMのshutdown [#u222a8b7]

''sd.bat''(Shutdown バッチ)

 @echo off
 
 set ScriptPath="C:\Usr\VMware\Powershtest\sd.ps1"
 
 REM 【ポリシー設定】
 @powershell.exe Set-ExecutionPolicy -executionpolicy Unrestricted
 
 REM PowerShellExec
 powershell.exe -command "& '%ScriptPath%'"


''sd.sp1''

 # スナップインの追加
 Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue
 
 Connect-VIServer -Server "192.168.10.76" -User "root" -Password "*****"
 "10秒時間待ち・・・・"
 Start-Sleep -s "10"
 # VMをシャットダウン( Stop-VMだと電源OFF)
 Shutdown-VMGuest -VM "HA-Cent6" -Confirm:$false
 Shutdown-VMGuest -VM "Vine6" -Confirm:$false
 Shutdown-VMGuest -VM "Vine6_SvMotion" -Confirm:$false
 
 Disconnect-VIServer -Server "192.168.10.76" -Confirm:$false

-Confirm:$false は確認画面を表示しない設定

color(red){注)Stop-VMレットはshutdownではなくPowerOFF};

***実行 [#j9f333a0]

それぞれのバッチファイルのショートカットを作成し、管理者権限で実行

管理者権限の設定はショートカットのプロパティ→ショートカットプロパティ→詳細設定~
管理者として実行

**Teraterm マクロで、ESXiをShutdown [#de3259a8]


***Teraterマクロ [#b4a33785]

-host_sd.ttl

 connect '192.168.10.104 /ssh /auth=challenge /user=root /passwd=******'
 wait ']'
 sendln '/bin/poweroff' ← haltはすぐshutdownするみたい
 wait ']'
 sendln 'exit'

-/auth=challenge: チャレンジレスポンス認証を使う
-/auth=passwd:  パスフレーズを使用
-wait ']' :       ']'が表示されるまで待つ

***Teratermマクロを起動するバッチ [#lee4af89]

-host_sd.bat

 @echo off
 echo "ESXi Shutdown......"
 "C:\usr\teraterm\ttpmacro.exe" C:\temp\host_sd.ttl


&ref("./VM起動停止.png");

''説明''

-起動遅延時間
ユーザーが ESXi ホストを起動すると、ESXi ホストは自動起動が構成されている仮想マシンのパワーオンを開始します。ESXi ホストは、最初の仮想マシンをパワーオンした後、指定されている遅延時間だけ待機し、続いて次の仮想マシンをパワーオンします。仮想マシンのパワーオンは、[仮想マシンあたりの優先順序] ペインで指定されている起動順に行われます。

-VMware Tools が起動したらすぐに続行
仮想マシンの起動遅延時間を短縮します。指定されている遅延時間が経過する前に VMware Tools が起動すると、ESXi ホストは遅延時間の経過を待たずに次の仮想マシンをパワーオンします。

-シャットダウン遅延時間
ユーザーが ESXi ホストをパワーオフするときには、ESXi ホストはそれ自体で実行されている仮想マシンのパワーオフを開始します。仮想マシンのパワーオフは起動順の逆順で行われます。ESXi ホストは、最初の仮想マシンをパワーオフした後、指定されているシャットダウン遅延時間だけ待機し、続いて次の仮想マシンをパワーオフします。ESXi ホストのシャットダウンは、すべての仮想マシンがパワーオフした後で行われます。

-シャットダウン アクション
ホストがシャットダウンするときにそのホスト上の仮想マシンに適用されるシャットダウン アクションを選択します。
--ゲスト シャットダウン
--パワーオフ
--サスペンド
--なし

**CentOSをshutdownするには以下を追加 [#fb690009]

***sudoコマンドの環境追加 [#i607c105]

以下コマンドで/etc/sudoers ファイルを編集~
(直接編集はしない方が良い。誤記でsudoが起動しなくなる)

 # sudo visudo

 ## Allow root to run any commands anywhere
 root    ALL=(ALL)       ALL
 okada   ALL=(ALL)       ALL ←追加

追加箇所を記入するとokadaがsudoを利用できるようになる~
(パスワードは必要)

-ファイルpassにパスワードを記入(行末にEnterが必要)

以下のように使用するとパスワードが不要なる

 $ sudo -S </home/okada/pass ls
 pass  pass~

***以下のbatとマクロを追加 [#h05faf6a]

-centos-test_sd.ttl

 connect '192.168.10.27 /ssh /auth=passwd /user=okada /passwd=*****'
 wait ']'
 sendln '/usr/bin/sudo -S </home/okada/pass /usr/sbin/shutdown -h now' 
 wait ']'
 sendln 'exit'

-centos-test_sd.bat

 @echo off
 echo " centos-test Shutdown......"
 "C:\usr\teraterm\ttpmacro.exe" C:\temp\UPS\centos-test_sd.ttl
 echo "Wait 5S or Enter Any Key......."
 timeout /T 5

この部分をhost_sd.batに追加する。


***WindowsでShutdown時にbatを起動させる [#c55e11cd]

-「gpedit.msc」を起動

&ref("./SD時起動BAT.png");

&ref("./SD時起動BAT2.png");

-起動確認
-UPSユーティリティ起動確認


&ref("./SD時起動BAT3.png");

''富士電機ユーティリティDL''

-USB
-USB (今回はこちらをインストール)
--https://www.fujielectric.co.jp/products/power_supply/ups/software/power-ux.html

-RS-232C
--https://www.fujielectric.co.jp/products/power_supply/ups/software/power-sol.html

***ESXiのUSBパススルー [#a2fcb83e]

デバイスパススルーを有効にする。(BIOSでインテルのI/O仮想化技術「VT-d」を有効にする)

先にUSBコントロールを追加する。

&ref("./USBパススルー0.png");

&ref("./USBパススルー1.png");

&ref("./USBパススルー2.png");


**参考 [#cefa6d4e]

-http://www.atmarkit.co.jp/ait/articles/0812/10/news150_7.html
-https://docs.vmware.com/jp/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-5FE08AC7-4486-438E-AF88-80D6C7928810.html
-http://www.sky.jp/sub98.html

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS