只讀取兩次備份之間磁盤上發(fā)生了變化的數(shù)據(jù)塊。
其結果是自從目標快照創(chuàng)建后的一切改動都沒有了。
讀取發(fā)生了變化的數(shù)據(jù)塊的內容并寫入存儲中的備份 依次處理其它磁盤 所有磁盤處理完畢后,當然,客戶機安裝了 VMware tools, 65536),刪除快照不能影響虛機當前的狀態(tài)和數(shù)據(jù),VMware 提供了 vmsync 內核模塊來實現(xiàn)文件系統(tǒng)一致性快照,在做這種快照之前和之后,(958398464,第二個是 delta 文件。
直到有一種成功或者全部失敗。
VMware tools 承擔 VSS Requester 的角色,這項必須被安裝,第一次是必須做全備份,二進制數(shù)據(jù)保存在這個文件中,然后再創(chuàng)建第二個快照,(145096704,依次嘗試 san,它使用 virtual disk API 和部分 vSphre API 來創(chuàng)建和管理虛機的快照,這樣虛機的性能也就不受到影響了, 在非 Windows 客戶機上要實現(xiàn)應用一致性快照的話,gSoap 是一種比較常見的用于C/C++語言編寫 web service 客戶端程序的套件,其中包括另外兩個文件的信息 # Extent descriptionRW 25165824 VMFS " sammy-target-win-small-flat.vmdk " # Change Tracking FilechangeTrackPath = " sammy-target-win-small-ctk.vmdk " 第二個文件是 Extent description 文件,客戶機安裝了 VMware tools,然后創(chuàng)建 delta vmdk 文件,可見, 1.2.2 刪除快照 顯然,其中,或者選擇了但是客戶機內沒有安裝 VMware tools:創(chuàng)建 crash-consistent snapshot 選擇了,遵循 Copy-on-write 機制, 在 vCenter 客戶端中,vSphere 限定一個虛機最多有 32 個快照,往往會創(chuàng)建 Quiseced 類型的快照,備份程序可以運行在一個虛機之內, 相對于全量備份時將vmdk 的全部數(shù)據(jù)塊都保存下來(左圖),數(shù)據(jù)存儲(datastore),客戶端程序也可以指定特定的傳輸模式。
1.6.2 LAN(NBD) 模式#p#分頁標題#e# 這種模式下,快照會被刪除,Exchange server 以及 Oracle 等)。
3.2 恢復流程 簡要過程: 備份程序使用 vSphere API 建立和待恢復虛機的連接。
按照數(shù)據(jù)分塊。
這種失敗會帶來很多問題,VSS 再通知已經(jīng)注冊的文件系統(tǒng)以及各應用的 VSS writer 執(zhí)行各自的數(shù)據(jù)下刷和凍結操作(應用的暫時凍結不能超過60秒) 一旦完成,ESXi 為每個開啟了 CBT 的虛機的虛擬磁盤都創(chuàng)建了一個 ctk 文件,需要確保虛機處于關機狀態(tài) 同樣也利用快照, 因為快照會帶來讀和寫損失。
詳細情況請閱讀https://www.vmware.com/support/pubs/sdk_pubs.html 1.3.2 VDDK 和 VADP VDDK 全稱是 Virtual Disk Development Kit(虛擬磁盤開發(fā)包),其實現(xiàn)方式主要可以分為兩種: 在較新的 Windows 客戶機上,因此, 1.3 VMware API VMware 提供非常豐富的 API: 其中,有 MS VSS,在存在 多個快照的情況下, 關于各種傳輸模式的概念,文件系統(tǒng)被解凍,然后再對它修改。
表示一個發(fā)生變化的數(shù)據(jù)塊,好的傳輸模式能大大增強傳輸傳輸效率。
下圖是個簡單示例: 后面兩種類型的快照被稱為 quiseced snapshot。
VMware tools 將就結果告訴 hostd Hostd 再執(zhí)行快照操作 操作結束, 1.2.4 恢復到快照 恢復到快照操作也比較好理解,對備份來說,下面是其第一個磁盤對應的三個文件): sammy-target-win-small.vmdk (配置文件, SAN 模式對備份來說是最佳選擇。
因此一個虛機不能有太多的快照。
該磁盤的所有變化塊寫入完成后, 默認的快照是第一種,大小 633 字節(jié)) sammy-target-win-small-flat.vmdk (二進制文件, 文件系統(tǒng)一致快照(file-system-consistent snapshot): 在做快照之前,包括數(shù)據(jù)中心(datacenter)。
ESXi 需要判斷從哪里去讀:對于沒有修改的數(shù)據(jù)塊,此時的快照是文件系統(tǒng)一致的,(265289728,但是對恢復來說卻不是,要得到后兩種快照。
要求和最佳實踐等,該服務器必須能夠通過SAN網(wǎng)絡訪問到VMFS LUN,它們主要用做管理 vSphere 虛擬化環(huán)境;另一類是數(shù)據(jù)平面API,調用QueryChangedDiskAreas 接口,包括: (1)VMware 虛機備份和恢復 (2)KVM 虛機備份和恢復 (3)云與備份 (4)OpenStack 與備份 (5)公有云與備份 1. 與備份有關的VMWare基礎知識1.1 VMware 虛機磁盤在 ESXi 宿主機上的文件 簡單來說。
1566 cylinders,Microsoft VSS 服務能夠通過協(xié)調商務應用(比如SQL Server,VSS 服務又調用已經(jīng)注冊的 VSS Writer 來執(zhí)行相應的操作,保存虛機在某個時間點上的狀態(tài)和快照,因為極限情況是所有的數(shù)據(jù)都被拷貝到delta vmdk 并且都沒修改了,它的主要功能包括: create, 1.6.1 SAN 模式 這種模式要求 VMware 備份程序所在的物理服務器能夠通過 FC/iSCSI/SAS SAN 網(wǎng)絡訪問到虛擬磁盤,你也可以通過手工的方式來確定hotadd是否能成功,對于其他語言,RO = 只讀) 從數(shù)據(jù)的角度看: (綠色部分是從虛機視角看數(shù)據(jù);最下面的紅框是 base vmdk 中的數(shù)據(jù);中間的紅框是 delta vmdk 中的數(shù)據(jù)) 現(xiàn)在可以簡單總結一下 VMware 快照的特點: 快照保存虛機在某一個時間點的狀態(tài)和數(shù)據(jù) 對一個虛機做快照,其實相當于將 VMware 的 Snapshot manger 功能挪到了備份軟件的后端存儲,其中。
按照前面的順序再對文件系統(tǒng)和應用進行解凍 再說一下 VMware tools,它可以通過 requester-writer 方式來實現(xiàn)有凍結需求的應用和文件系統(tǒng)在快照之前進行凍結和快照之前進行解凍。
快照只是內部數(shù)據(jù)。
vCenter 會向用戶提示需要做 consolidation 了,來保證應用或者文件系統(tǒng)一致性 使用 VDDK API 建立和快照的第一個磁盤的連接 對該磁盤。
對外部不可見,需要讀取全部的數(shù)據(jù)塊, 1.2 快照(Snapshot) 虛機的快照是虛機在某個時間點的狀態(tài)和數(shù)據(jù),先將它從父vmdk 中拷貝到 delta vmdk, 對該磁盤, 1.6.3 HotAdd 模式 當備份存儲運行在虛機之內時,以及存儲硬件等來提供一致的陰影復制(shadow copies)。
hotadd (虛擬磁盤附加到備份程序所在虛機成為其一個磁盤) 和 LAN (備份程序通過 LAN 訪問虛擬磁盤), 65536), startOffSet,然后 delta vmdk 被刪除,而不適用于 IDE 類型的,這種傳輸模式下,這些驅動能增強虛機的用戶體驗,這是效率最高的傳輸模式,狀態(tài)是指虛機的狀態(tài)。
其結果類似 (117768192,支持全量和增量備份,它能幫助開發(fā)人員創(chuàng)建訪問虛機存儲的應用,因為,該操作會檢查虛機當前所有的 vmdk 分層, vmsync 內核模塊以及自定義腳本由誰來調用呢?VMware 提供了 VMware Tools,而這種網(wǎng)絡的帶寬往往有限;而 hotadd 走的是數(shù)據(jù)/存儲網(wǎng)絡, 1.3.1 VMware API 和 SDK VMware 通過 Web Service 向客戶端提供訪問接口,或者編寫了應用一致性操作腳本:創(chuàng)建 application-consistent snapshot 1.6 虛擬磁盤傳輸模式(Tranport modes) 這個傳輸模式是指虛機或者虛機快照的虛擬磁盤中的數(shù)據(jù)被傳送到備份程序的傳輸方式,當備份程序在其所在的虛機(proxy)上使用 hotadd 模式連接到第一個磁盤后, 65536),VMware 在不同的環(huán)境中支持使用不同的傳輸模式,Windows 提供了 VSS(Volume Shadow Copy Service) 服務,當有成功時, 第一個文件保存的是該磁盤的元數(shù)據(jù), 獲取 CBT 變化塊的函數(shù)的定義為:QueryChangedDiskAreas(snapshot,你可以在 proxy 上看到該磁盤以及它的兩個分區(qū): Disk /dev/sdc: 12.9 GB。
往往會創(chuàng)建 Quiseced 類型的快照,它們用于操作虛機的虛擬磁盤,現(xiàn)在 VWC 里面選擇 Guest-Install/Upgrade VMware Tools,新增了三個文件: -rw------- 1 rootroot 786944 Jul 11 10 : 55 sammy-target-win-small- 000001 - ctk.vmdk -rw------- 1 rootroot 28672 Jul 11 10 : 55 sammy-target-win-small- 000001 - delta.vmdk -rw------- 1 rootroot 428 Jul 11 10 : 55 sammy-target-win-small- 000001 .vmdk 第一個依然是 ctk 文件,它需要被安裝在客戶機內,快照的基本操作包括: 創(chuàng)建快照(create) 刪除快照(delete) 快照合并(consolidate) 恢復到快照(revert) 1.2.1 創(chuàng)建快照 對上面的虛機創(chuàng)建一個快照, snapshot 代表當前的快照,然后再基于這些信息從 VMDK 所在的 FC/iSCSI/SAS LUN 中直接讀取數(shù)據(jù),它是一個獨立的程序,SYNC driver, 12884901888 bytes 255 heads,對該磁盤,大小 12884901888 字節(jié)) sammy-target-win-small-ctk.vmdk (二進制文件, 在老的 Windows,當出現(xiàn)這種情況時, #p#分頁標題#e# 應用一致性(application-consistent snapshot):在做快照之前。
63 sectors/track,之前的快照磁盤變?yōu)橹蛔x, 寫損失:寫的時候,vCenter 給虛機所在的 ESXi 的 hostd 服務發(fā)出指令 ESXi 上的 Hostd 將請求傳給客戶機內的 VMware tools VMware tools 以 VSS Requester 的身份通知 VSS,需要的時候,還有VSS support,包括不必要的磁盤空間占用,如果不指定傳輸模式的話, Perl,使得基于它開發(fā)的各種虛機備份應用能夠做到增量備份,內存中的臟數(shù)據(jù)都被刷進磁盤;在快照做完之后,配置等;數(shù)據(jù)是指虛機的虛擬磁盤中的數(shù)據(jù),獲取它與上次備份時磁盤之間發(fā)生了變化的數(shù)據(jù)塊列表 調用 VDDK API,包括運行狀態(tài),執(zhí)行快照恢復 結束后,虛機的每個虛擬磁盤由ESXi 宿主機上的三個文件組成(這里的虛機名字是 sammy-target-win-small,然后登錄虛機。
以及虛機性能下降,下面會介紹使用API獲取該文件中數(shù)據(jù)的方法,它還提供了包括Java, 43122688),一類是控制平面的API,VADP API 會按照順序,并斷開與虛機的連接 特點: 在操作前,很短時間之后虛機就可以照常運行,nbd 走的是管理網(wǎng)絡。
相當于將虛機當前的磁盤設為只讀模式,在這個過程中,獲取它與上次備份時磁盤之間發(fā)生了變化的數(shù)據(jù)塊列表 調用 VDDK API。
VADP API 從vCenter 或者 ESXi 上獲取 VMFS LUN 的信息,IO 還在進行時進行快照會得到這種快照。
每項的格式為 (offset,應用被暫時凍結,它調用 VSS 服務,但是在做恢復時, .NET,即老的快照的 changeID,即 VixDiskLib, convert,客戶端程序需要調用 Disconnect API 來斷開已經(jīng)建立的連接,比如鼠標更加平滑。
或者安裝了 vmware vmsync driver:創(chuàng)建 filesystem-consistent snapshot 選擇了,大小 78694 字節(jié)) 其中,有 MS VSS 但沒有應用 vss writers,從 delta vmdk 讀,而且?guī)捦容^大。
2. 傳統(tǒng)VMware環(huán)境的備份軟件的基本架構 3. 簡要 VMware 虛機鏡像備份和恢復流程3.1 備份流程 簡要過程: 備份程序使用 vSphere API 建立和虛機的連接, shrink,它將會接受新的數(shù)據(jù)寫操作,, 利用 VADP API,使用高級的傳輸方式。
VDAP 使用該功能,有如下幾種可能結果: 沒選擇,快速恢復應用,ESX/ESXi 主機從其存儲中讀取數(shù)據(jù),(132120576。
第三個文件是 CTK 文件,保存的是過去某時間點虛機的狀態(tài),(如下圖中的s2) (3)待刪除快照不再虛機的數(shù)據(jù)路徑上:不需要合并,請閱讀 MVware 的相關文檔,有不同的操作系統(tǒng)版本, deviceKey。
在快照做完之后,可以使用 SSL 加密(NBDSSL),而且快照的保留時間不超過一天,。
這種模式支持任何類型的存儲,文件系統(tǒng),再寫入快照磁盤的相應位置,簡單來說,直接刪除, 如果虛機的快照有兩個虛擬磁盤,并備份虛機的配置信息 使用 vSphere API 創(chuàng)建快照,(如下圖中的s1) (2)待刪除快照在虛機的數(shù)據(jù)路徑上:delta vmdk 中的數(shù)據(jù)會想父快照的 vmdk 合并,但是區(qū)別在于,備份結束,也就是變化時間段的后端點; deviceKey 是目標虛擬磁盤的 device ID; startOffSet 是開始獲取變化塊的offset; changeID 是指變化時間段的前端點,客戶端的一次讀操作。
因此,它相當于電腦突然斷電了磁盤時的狀態(tài), delta vmdk 的大小不會超過 base vmdk 的大小。
那 VSS 服務,這里有三種可能: (1)快照是基于原始虛機的:delta vmdk 中的數(shù)據(jù)會向 base vmdk 合并。
不使用的時候, 本系列文章會介紹云與備份之間的關系,內存中應用的所有數(shù)據(jù)都被刷到磁盤,關閉與磁盤的連接,需要增加相應的步驟, and rename 虛擬磁盤文件 創(chuàng)建 redo logs 和刪除 vmdk 文件 訪問 vmdk 文件中任意數(shù)據(jù), changeID),(如下圖中的 s3) 現(xiàn)在可以簡單總結一下刪除快照的特點: 1.2.3 快照合并(consolidation)#p#分頁標題#e# 上面談到了快照刪除操作的數(shù)據(jù)合并可能會失敗,客戶端程序可以調用 GetTransportMode() API 返回該連接所使用的傳輸模式,第三個是非二進制文件。
因此。
找到前面步驟所掛接的磁盤。
1.6.4 傳輸模式的選擇 備份程序都是調用 VDAP 的 Connect/ConnectEx 接口來建立和 vmdk 的連接的, defragment, REST,包括 filesytem-quiseced snapshot 和 applicaiton-quiseced snapshot。
將冗余的 delta 文件先合并再刪除,需要編寫具體應用對應的腳本,也就是說后端存儲必須負責維護第一次全備份和以后每次delta備份之間的關系,VDDK 基于 Virtual disk API。
除了快照定義文件以外, 讀損失:當讀取某一塊數(shù)據(jù)時,以及讀取元數(shù)據(jù) 連接到遠端 vSphe 存儲, 網(wǎng)絡(network)等,使用,可以關閉它,然后再利用 API 獲取本次快照和上次備份所對應快照之間發(fā)生變化了的數(shù)據(jù)塊,并恢復虛機的配置信息 使用 vSphere API 創(chuàng)建快照。
虛機的文件系統(tǒng)被暫時凍結,刪除快照,從所存?zhèn)浞葜凶x取變化塊的數(shù)據(jù),它是 VMware tools 和 Windows VSS 之間交互的橋梁,以 VSS 為例,再使用已保存的備份中的數(shù)據(jù)將發(fā)生了變化的快照磁盤中相應的數(shù)據(jù)塊覆蓋掉 快照的磁盤 vmdk 文件都被恢復后,在 Windows 系統(tǒng)上,來保證應用或者文件系統(tǒng)一致性 使用 VDDK API 建立和快照的第一個磁盤的連接。
在操作結束后,我們可以將與與備份相關的API分為兩類,hotadd 和 nbd(ssl)都走的是以太網(wǎng),length),是一組操作 VMDK 格式的虛擬磁盤文件的函數(shù),hotadd 和 nbd 三種模式。
它的安裝包里面包括了很多的驅動,該功能將會對磁盤帶來一點性能損失。
這種模式只能用于 SCSI 模式的虛擬磁盤。
則需要通過 SOAP 協(xié)議訪問其 web service, 以及 Ruby 等幾種語言在內的 SDK,可以利用 ESXi 的 SCSI HotAdd 特性來將虛擬磁盤直接掛在到該虛機上成為其一個本地磁盤,可能需要從不同的 vmdk 上讀取數(shù)據(jù),就是將虛機的 base vmdk 指向目標快照的 vmdk,再雙擊安裝程序開始安裝過程,下圖是一個示例: 要使用這種模式: 備份程序需要運行在物理服務器之內,連接的傳輸模式將會是 san/hotadd/nbdssl/nbd 中的一種,而這種網(wǎng)絡往往被單獨出來,基于 CBT 的增量備份只保存自從上次備份以來的發(fā)生了變化了的數(shù)據(jù)塊(右圖)。
依次處理其它磁盤 將虛機revert到已恢復快照 刪除快照,這些接口可用于管理虛機和其他虛擬設施, total 25165824 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical /physical): 512 bytes / 512 bytesI /O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x836df02a Device BootStartEndBlocks Id System /dev/sdc1 * 2048 206847 102400 7 HPFS/NTFS/ exFAT /dev/sdc2 206848 25163775 12478464 7 HPFS/NTFS/exFAT 然后 proxy 就可以象讀取自己的磁盤一樣從該磁盤讀取文件了,包括 SAN (備份程序所在的服務器能夠直接通過 FC 或者 iSCSI 和虛機磁盤所在的存儲連接),并斷開與虛機的連接 特點: 利用快照功能,備份應用,再通過 LAN 網(wǎng)絡發(fā)到備份程序所在的主機,要創(chuàng)建 quiseced snapshots,然后delta vmdk 被刪除,hotadd 和你手工把一個快照的某個vmdk 掛接到另一個運行著的虛機的原理和要求是一樣的,但是建議最多只有 2-3 個,刪除快照 雖然備份時上傳的是 delta 數(shù)據(jù)塊,下面講到 CTK 的時候再說,就成了這樣子: (RW = 讀寫, Python。
但是它對備份帶來的好處是顯而易見的,當需要修改某一塊中的數(shù)據(jù)時,其完整的流程大概為: 用戶發(fā)出 quiesced snapshot 創(chuàng)建請求給 vCenter,它用于保存變化塊的元數(shù)據(jù), 1.5 Quiseced Snapshot 和 VMware Tools 虛機快照按照不同的一致性可以分為三種: 崩潰一致快照(crash-consistent snapshot):當虛機上的應用還在運行,分辨率更高,調用QueryChangedDiskAreas 接口,也有應用 vss writers, 注意安裝 VMware tools 的時候,聲音效果更好等等;除了這些驅動以外,應用被解凍,用戶可以選擇是否創(chuàng)建 quiesced snapshot: 不同的情況下, expand,從父 vmdk 讀;對已經(jīng)修改了的數(shù)據(jù)塊, Virtual disk API, 。
#p#分頁標題#e# 只將變化的數(shù)據(jù)塊寫入后端存儲, 1.4 CBT (Changed Block Tracking 塊修改跟蹤) CBT 是 VMware 在 vSphere 4.0 版本引入的為了實現(xiàn)增量備份的一個功能,在調用后對應用進行凍結或者解凍, VMWare 提供了 SYNC 驅動; 在 Linux 系統(tǒng)上,當然了, 65536), VADP 全稱是 VMware Storage APIs - Data Protection(VMware 存儲API-數(shù)據(jù)保護)。