VMwareで仮想マシンをバックアップする時に、便利なのがカスタム静止スクリプトです。
バックアップ時にVMwareスナップショット前後でゲストOS上でスクリプトを流してくれて静止点を作れます。
- スナップショット前のサービス停止プレスクリプト (c:\windows\pre-freeze-script.bat)
- VMwareスナップショット
- スナップショット後のサービス開始ポストスクリプト (c:\windows\post-thaw-script.bat)
という流れですが、この処理にはタイムアウト時間があります。
VMwareカスタム静止スクリプトのタイムアウト時間は? | puti se blog
上記フローの1,2でタイムアウトやエラーでバックアップが失敗した場合、VMwareは3の「スナップショット後のサービス開始ポストスクリプト」を実行してくれるでしょうか?
レジュメ
VMwareバックアップ時のタイムアウトしスナップショットエラーとなった場合もカスタム静止スクリプトのポストスクリプトは実行される?
環境・前提条件:
- ホスト:VMware vSphere 5.5 U1
- ゲストOS:Windows Server 2012
で試してみました。
結果。スナップショットエラー時にポストスクリプトは実行してくれない
でした。
上記、二回バックアップを流し、タイムアウト15分を迎える場所を変えてみました。
上記画像の1ブロック目、1回目のエラー
- 「3. スナップショット後のサービス開始ポストスクリプト」時にタイムアウトの15分を迎えた場合、ポストスクリプトは途中で中断されエラーとなった
上記画像の2ブロック目、2回目のエラー
- 「1 スナップショット前のサービス停止プレスクリプト」時にタイムアウトの15分を迎えた場合、ポストスクリプトは実行されなかった
残念。
あまり期待してはダメですね。
(VMware 5.1の時はエラー時にポストスクリプトを実行してくれた記憶があったのに・・・?)
あと、VMwareのスナップショットタイムアウト値は
検証方法「3. スナップショット後のサービス開始ポストスクリプト」時にタイムアウトの15分を迎えた場合を試した方法
「3. スナップショット後のサービス開始ポストスクリプト」時にタイムアウトの15分を迎えた場合を試した方は法、プレスクリプトとポストスクリプトはプレスクリプト・ポストスクリプトに10分の待ち時間を入れたスクリプトで実行しました
pre-freeze-script.bat、 post-thaw-script.bat ともに
@echo off
set _LOG=c:\test.log
echo %date% %time% %~nx0 start >> “%_LOG%”
timeout /T 600
echo %date% %time% %~nx0 end >> “%_LOG%”
で、ゲストOSに配置しバックアップを実行した結果になります。
検証方法「1 スナップショット前のサービス停止プレスクリプト」時にタイムアウトの15分を迎えた場合を試した方法
「1 スナップショット前のサービス停止プレスクリプト」時にタイムアウトの15分を迎えた場合を試した方は法、プレスクリプトとポストスクリプトはプレスクリプト・ポストスクリプトに20分の待ち時間を入れたスクリプトで実行しました
pre-freeze-script.bat、 post-thaw-script.bat ともに
@echo off
set _LOG=c:\test.log
echo %date% %time% %~nx0 start >> “%_LOG%”
timeout /T 1200
echo %date% %time% %~nx0 end >> “%_LOG%”
で、ゲストOSに配置しバックアップを実行した結果になります。