- blogs:
- cles::blog
« PS2 出荷終了へ :: ヒョウ柄の東京ばな奈をお土産に »
2012/12/29
ghettoVCB がハングするのでスクリプトをちょっと手直ししてみた
ESXi 上の VM のバックアップを取るときには以前から ghettoVCB を使っているのですが、いくつかのマシンで途中でスクリプトがだんまりになってしまって、うまくバックアップがとれないという症状が発生していました。
これまでいろいろと試行錯誤してみて分かったことは、
・ESXi のバージョンに依存した問題で、該当のマシンであれば 100% ハングする。
・ハングはスナップショットの削除待ちの部分。手動でスナップショットを削除してやれば、スクリプトは何事もなかったように動き出す。
という2点でした。
さすがにちょっと手動で vmdk のバックアップを取るのも面倒になってきたので本格的に対策をしようと思って調べてみたところ、同じような問題にぶち当たって解決しているエントリ*1*2を見つけたので、これを参考に対策をしてみることにしました。
† スクリプトの改造点
以前作った qmail 向けのパッチと合わせたのが下記のパッチです。
僕のところではこれで正常にバックアップが取れることを確認しました。
diff -u ghettoVCB.sh.org ghettoVCB.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
---
+++
@@ -932,7 +932,7 @@
SNAPSHOT_ID=$(${VMWARE_CMD} vmsvc/snapshot.get ${VM_ID} | grep -E '(Snapshot Name|Snapshot Id)' | grep -A1 ${SNAPSHOT_NAME} | grep "Snapshot Id" | awk -F ":" '{print $2}' | sed -e 's/^[[:blank:]]*//;s/[[:blank:]]*$//')
${VMWARE_CMD} vmsvc/snapshot.remove ${VM_ID} ${SNAPSHOT_ID} > /dev/null 2>&1
else
- ${VMWARE_CMD} vmsvc/snapshot.remove ${VM_ID} > /dev/null 2>&1
+ ${VMWARE_CMD} vmsvc/snapshot.removeall ${VM_ID} > /dev/null 2>&1
fi
#do not continue until all snapshots have been committed
@@ -1119,7 +1119,8 @@
for i in ${EMAIL_TO};
do
buildHeaders ${i}
- "${NC_BIN}" -i "${EMAIL_DELAY_INTERVAL}" "${EMAIL_SERVER}" "${EMAIL_SERVER_PORT}" < "${EMAIL_LOG_CONTENT}" > /dev/null 2>&1
+# "${NC_BIN}" "${EMAIL_SERVER}" "${EMAIL_SERVER_PORT}" < "${EMAIL_LOG_CONTENT}" > /dev/null 2>&1
+ awk '{gsub(/\r/,""); gsub(/$/,"\r"); print $0;}' "${EMAIL_LOG_CONTENT}" | "${NC_BIN}" -v -C -i 1 "${EMAIL_SERVER}" "${EMAIL_SERVER_PORT}" > /dev/null 2>&1
if [ $? -eq 1 ]; then
logger "info" "ERROR: Failed to email log output to ${EMAIL_SERVER}:${EMAIL_SERVER_PORT} to ${EMAIL_TO}\n"
fi
@@ -1127,7 +1128,8 @@
unset IFS
else
buildHeaders ${EMAIL_TO}
- "${NC_BIN}" -i "${EMAIL_DELAY_INTERVAL}" "${EMAIL_SERVER}" "${EMAIL_SERVER_PORT}" < "${EMAIL_LOG_CONTENT}" > /dev/null 2>&1
+# "${NC_BIN}" "${EMAIL_SERVER}" "${EMAIL_SERVER_PORT}" < "${EMAIL_LOG_CONTENT}" > /dev/null 2>&1
+ awk '{gsub(/\r/,""); gsub(/$/,"\r"); print $0;}' "${EMAIL_LOG_CONTENT}" | "${NC_BIN}" -C -v -i 1 "${EMAIL_SERVER}" "${EMAIL_SERVER_PORT}" > /dev/null 2>&1
if [ $? -eq 1 ]; then
logger "info" "ERROR: Failed to email log output to ${EMAIL_SERVER}:${EMAIL_SERVER_PORT} to ${EMAIL_TO}\n"
fi
- *1: ghettoVCB が動作せず、バックアップできない問題 - rain -しとしと降る雨の夜に-
- *2: VMware Communities: ghettoVCB.sh hangs when trying to...
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/5474
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« PS2 出荷終了へ :: ヒョウ柄の東京ばな奈をお土産に »
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . YahooBB から「マルウェア感染による不正通信遮断のご連絡」というメールが来た(18472)
2 . HEIC を JPEG にオンラインで変換する(16832)
3 . PatchCleaner で肥大化した C:\Windows\Installer をお掃除(14698)
4 . Windows 7 で MS 純正ツールを使って ISO イメージをマウントする(14050)
5 . BIOS 起動の Windows を UEFI ブートに変換する(12835)
2 . HEIC を JPEG にオンラインで変換する(16832)
3 . PatchCleaner で肥大化した C:\Windows\Installer をお掃除(14698)
4 . Windows 7 で MS 純正ツールを使って ISO イメージをマウントする(14050)
5 . BIOS 起動の Windows を UEFI ブートに変換する(12835)
cles::blogについて
Referrers