於 VMesxi ghettoVCB 分類下的文章
前言
在設定 ghettoVCB 時,有時會有一些錯誤訊息出現。所以整理了一下最近常發生的一些訊息。主要分為版本問題和Snapshot found for「host」, backup will not take place的錯誤訊息。使用 ghettoVCB 上還算穩定的,就我個人來說除了這兩個問題外,幾乎沒有其他太大的問題發生。
ghettoVCB 版本問題
在版本的問題上,主要是因 ESXi 5.1 版為最新版本,而 ghettoVCB 尚未更新至最新版。因此在執行上會有錯誤產生。若使用 VMware ESXi 5.1版的,以下有個地方要修改。要不然在使用上會無法使用。 ghettoVCB 可分為 ghettoVCB.sh 和 ghettoVCB-restore.sh ,所以兩個都需要修改。
沒修改設定之前會出現以下錯誤
You’re not running ESX(i) 3.5, 4.x, 5.x!
修改設定
ghettoVCB.sh
大約在第231行會看到以下程式碼,請加入 || [[ "${ESX_VERSION}" == "5.1.0" ]]。多加上5.1版本的判斷。這邊有修改好的 ghettoVCB.sh
1 2 3 4 5 6 7 8 9 10 |
~ # vi ghettoVCB.sh # 修改前 230 ESX_VERSION=$(vmware -v | awk '{print $3}') 231 if [[ "${ESX_VERSION}" == "5.0.0" ]]; then 232 VER=5 # 修改後 230 ESX_VERSION=$(vmware -v | awk '{print $3}') 231 if [[ "${ESX_VERSION}" == "5.0.0" ]] || [[ "${ESX_VERSION}" == "5.1.0" ]]; then 232 VER=5 |
ghettoVCB-restore.sh 介紹
ghettoVCB-restore.sh 主要是用來還原備份,也屬於ghettoVCB中的一部份。
在這個腳本中支持兩個主要的用途
1. 還原一個VM的備份,包括所有在這個VM內的VMDK
2. 還原多個VM的備份,包括所有在這個VM內的VMDK
使用腳本時先注意,該還原目地有足夠的空間,然後在嘗試還原。以避免問題的產生。支持的還原格式: zeroedthick(default behavior)、2gbsparse、thin、eagerzeroedthick。
詳細內容可參考: VMware官網–ghettoVCB-restore.sh
使用需求
1. 需使用 ghettoVCB 備份
2. ESX(i) 3.5、4或5.x
3. 使用SSH連線到該台ESXi host
前置作業
相信會使用到還原的部份,想必都已經下載好相關檔案才對。所以在此部份就簡單帶過,若有不懂的可參考 [VMware ESXi 備份 ghettoVCB.sh 基本設定]前半段設定。
1. 開啟 SSH
前言
在了解 [VMware ESXi 備份ghettoVCB.sh基本設定] 後,接下來就來介紹一些比較進階的用法。有助於整體 ghettoVCB 的設定。本篇主要說明進階設定的部份,較為細部若有不懂的請在查看基本設定。
設定項目
1. 修改LOG存放位置
2. 設定NFS
3. 設定MAIL
4. 防火牆設定
5. 排程設定
進階設定
1. 修改LOG存放位置
由於VMware ESXi 重開機後會自動還原一些設定,造成備份後所產生的LOG被刪除掉。所以為了避免此問題發生。可以手動修改LOG儲存位置的設定,才不會每次一重開機後資料就不見了。(建議存到/vmfs/volumes/datastore1內或是自行設定的NFT內)
建立存放LOG的資料夾並修改設定 提供修改好的 ghettoVCB.sh 參考
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
~ # mkdir /vmfs/volumes/datastore1/log ~ # vi ghettoVCB.sh # /LOG_OUTPUT 搜尋此字串後找到,以下訊息 # 修改tmp 改為指定存放log的路徑 # 修改前 USE_VM_CONF=0 USE_GLOBAL_CONF=0 BACKUP_ALL_VMS=0 EXCLUDE_SOME_VMS=0 EMAIL_LOG_HEADER=/tmp/ghettoVCB-email-$$.header EMAIL_LOG_OUTPUT=/tmp/ghettoVCB-email-$$.log EMAIL_LOG_CONTENT=/tmp/ghettoVCB-email-$$.content # 修改後 USE_VM_CONF=0 USE_GLOBAL_CONF=0 BACKUP_ALL_VMS=0 EXCLUDE_SOME_VMS=0 EMAIL_LOG_HEADER=/vmfs/volumes/datastore1/log/ghettoVCB-email-$$.header EMAIL_LOG_OUTPUT=/vmfs/volumes/datastore1/log/ghettoVCB-email-$$.log EMAIL_LOG_CONTENT=/vmfs/volumes/datastore1/log/ghettoVCB-email-$$.content |
ghettoVCB.sh 介紹
ghettoVCB.sh 此腳本主要是針對 VMWare ESXi 備份、還原使用。目前能使用的版本有ESX(i)3.5/4.x/5.x,使用的方法類似VMware的VCB的工具執行備份。ghettoVCB.sh的工作流程大致為,執行虛擬機的快照,然後進行備份,當備份完成後會刪除快照。而此腳本最大的特色為可在虛擬機在線時備份,而不用停機備份。
詳細內容可參考 VMware官網
ghettoVCB.sh設定
一、前置作業
開啟SSH
1. 開啟SSH
[Configuration] → [Security Profile] → [Properties]
2. [SSH] → [Options] → [Start]
一、 前言
在使用此還原方式有幾個前提要注意一下
(1)所備份出來的格式需為vmx和vmdk 如下圖
(2)要還原的檔案最好是存在本機上的,盡量不要用nfs掛載或是其他方式來還原。這樣的話在效能上會變差,也容易出問題。
(3)若使用該備份檔還原的話。新的記錄也會直接記錄在此備份檔內。下次若要在還原的話,此備份檔就不會是一開始所備份的內容。
二、 還原步驟
1. 移動備份檔
首先在開始還原之前,要先確定要還原的該檔是在本機內,而不是透過NFS掛載。如果備份檔是存在NFS內的話。請先將要還原的該檔移動到本機內。
1.1 [Configuration]→ [Storage]→ [backup(請選擇備份檔所在的資料夾)]→ [Browse Datastore]
1.2 請選擇要搬移的備份檔。
再這邊要再提醒一下。一旦搬移後在原備份所在地就不會有該檔案了喔。
更新日期: 2012.10.18
最新內容更新請參考此篇 [VMware ESXi 備份還原 ghettoVCB-restore.sh 設定]
一、 介紹
此腳本主要是用來還原虛擬機的備份。也屬於ghettoVCB中的一部份。
在這個腳本中支持兩個主要的用途
1. 恢復一個備份的VM包含所有在這個資料儲存區的VMDKs
2. 恢復多個儲存於資料儲存區的備份的VM,包含所有在這個資料儲存區的VMDKs
使用腳本時先注意,該還原目地有足夠的空間,然後在嘗試還原。以避免問題的產生。支持的還原格式:zeroedthick(default behavior)、2gbsparse、thin、eagerzeroedthick。
使用需求:
需使用ghettoVCB.sh備份
ESX(i) 3.5、4或5.x
能SSH連線訪問的到該台主機
詳細內容可參考: VMware官網–ghettoVCB-restore.sh
二、 ghettoVCB-restore.sh 設定說明
首先,先下載ghettoVCB-restore,然後上傳到要還原的該台主機上,若不知怎麼上傳的人可以參考此篇的前半部
1. 解壓縮上傳的資料
解壓縮後會看到ghettoVCB-restore.sh該檔。此檔案就是用來將備份的VM還原使用。
~ # tar -zxvf lamw-ghettoVCB-518cef7.tar.gz
tar: warning: skipping header ‘g’ lamw-ghettoVCB-518cef7/ lamw-ghettoVCB-518cef7/README lamw-ghettoVCB-518cef7/ghettoVCB-restore.sh lamw-ghettoVCB-518cef7/ghettoVCB-restore_vm_restore_configuration_template lamw-ghettoVCB-518cef7/ghettoVCB-vm_backup_configuration_template lamw-ghettoVCB-518cef7/ghettoVCB.conf lamw-ghettoVCB-518cef7/ghettoVCB.sh ~ # cd lamw-ghettoVCB-518cef7 ~ # ls ghettoVCB-vm_backup_configuration_template README ghettoVCB-restore.sh ghettoVCB.conf ghettoVCB-restore_vm_restore_configuration_template ghettoVCB.sh |
更新日期: 2012.10.20
最新內容更新請參考此篇 [VMware ESXi ghettoVCB 版本問題和錯誤訊息]
一、錯誤訊息
會出現此錯誤訊息,主要是因為當正在使用的虛擬機VM要備份的時後,會先做出一個snapshot檔。然後在備份的中途若有不當的中斷或停止時。此snapshot檔就會無法自動刪除。進而造成下次要備份時出現此錯誤訊息Snapshot found for「host」, backup will not take place。因此錯出現此錯誤訊息時需要手動自行刪除。
~# ./ghettoVCB.sh -f backup
Logging output to “/tmp/ghettoVCB-2011-12-30_15-50-12.log” … Insufficient arguments. 2011-12-30 15:50:13 — info: ========== ghettoVCB LOG START=============== 2011-12-30 15:50:13 — info: CONFIG – VERSION = 2011_11_19_1 2011-12-30 15:50:13 — info: CONFIG – GHETTOVCB_PID = 1428525 2011-12-30 15:50:13 — info: CONFIG – VM_BACKUP_VOLUME = /vmfs/volumes/backup 2011-12-30 15:50:13 — info: CONFIG – VM_BACKUP_ROTATION_COUNT = 3 2011-12-30 15:50:13 — info: CONFIG – VM_BACKUP_DIR_NAMING_CONVENTION= 2011-12-30_15-50-12 2011-12-30 15:50:13 — info: CONFIG – DISK_BACKUP_FORMAT = thin 2011-12-30 15:50:13 — info: CONFIG – POWER_VM_DOWN_BEFORE_BACKUP = 0 2011-12-30 15:50:13 — info: CONFIG – ENABLE_HARD_POWER_OFF = 0 2011-12-30 15:50:13 — info: CONFIG – ITER_TO_WAIT_SHUTDOWN = 3 2011-12-30 15:50:13 — info: CONFIG – POWER_DOWN_TIMEOUT = 5 2011-12-30 15:50:13 — info: CONFIG – SNAPSHOT_TIMEOUT = 15 2011-12-30 15:50:13 — info: CONFIG – LOG_LEVEL = info 2011-12-30 15:50:13 — info: CONFIG – BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2011-12-30_15-50-12.log 2011-12-30 15:50:13 — info: CONFIG – VM_SNAPSHOT_MEMORY = 0 2011-12-30 15:50:13 — info: CONFIG – VM_SNAPSHOT_QUIESCE = 0 2011-12-30 15:50:13 — info: CONFIG – VMDK_FILES_TO_BACKUP = all 2011-12-30 15:50:13 — info: CONFIG – EMAIL_LOG = 0 2011-12-30 15:50:13 — info: 2011-12-30 15:50:16 — info: Snapshot found for 「host」, backup will not take place 2011-12-30 15:50:16 — info: ###### Final status: ERROR: All VMs failed! ###### 2011-12-30 15:50:16 — info: ========== ghettoVCB LOG END ================= |
更新日期: 2012.10.18
最新內容更新請參考此篇 [VMware ESXi 備份 ghettoVCB.sh 進階設定]
進階設定
1. 修改LOG存放位置
由於VMware esxi5重開機後會自動還原一些設定,進而刪除掉備份後所產生的LOG。所以為了避免此問題發生。
可以手動修改設定讓LOG存在不會被刪除的地方。
~ # vi ghettoVCB.sh
# /LOG_OUTPUT 收詢此字串後找到,以下訊息 # 將黃色字體的部份修改為所要存放的路徑後儲存執行,即可。 # (建議存到/vmfs/volumes/datastore1內或是自行設定的NFT內) USE_VM_CONF=0 USE_GLOBAL_CONF=0 BACKUP_ALL_VMS=0 EXCLUDE_SOME_VMS=0 EMAIL_LOG_HEADER=/tmp/ghettoVCB-email$$.header EMAIL_LOG_OUTPUT=/tmp/ghettoVCB-email-$$.log EMAIL_LOG_CONTENT=/tmp/ghettoVCB-email-$$.content |
2. 設定NFS
在設定NFS的方式有兩種,請選一種適合的就可以了
2.1 長久掛載nfs
[Configuration]→[Storage]→[Ass Storage]→[Network File System]
Server:請輸入NFS主機的IP或是名稱
Folder:請輸入NFS主機所分享資料夾的完整路徑
Datastore Name:請輸入在ESXI上NFS資料夾的名稱
然後就一直按Next就可以完成了
近期迴響