一、概述 虛擬化備份技術(shù)最早是由VMware提供和發(fā)起的,隨著虛擬化應(yīng)用在企業(yè)和各個(gè)行業(yè)的普及,主流的備份產(chǎn)品基本都支持VMware、Hyper-V、Citrix和基于Xen或KVM派生出來(lái)的虛擬化平臺(tái)。 虛擬機(jī)備份,不同于虛擬機(jī)快照,虛擬機(jī)備份是虛擬化數(shù)據(jù)保護(hù)最重要的基礎(chǔ)措施。很多剛接觸虛擬化的用戶(hù)經(jīng)常將虛擬機(jī)快照認(rèn)為是備份,其實(shí)是嚴(yán)重錯(cuò)誤的。原因如下: 1.快照永遠(yuǎn)不能成為虛擬化本地備份的解決方式。 2.一旦使用快照恢復(fù)以前的狀態(tài)就永遠(yuǎn)無(wú)法返回到現(xiàn)在狀態(tài)。 3.一旦虛擬機(jī)磁盤(pán)文件損壞,快照也隨之失效。 4.快照只能進(jìn)行基于整個(gè)虛擬機(jī)鏡像的恢復(fù),無(wú)法做到文件級(jí)或者應(yīng)用粒度還原。 5.快照只能作為一種保護(hù)虛擬化快速恢復(fù)的一種輔助手段。 6.不是所有的虛擬機(jī)都能使用快照,但是所有的虛擬機(jī)都可以使用備份。 7.過(guò)多的快照極度影響虛擬機(jī)性能,同時(shí)快照建立或刪除過(guò)程中有可能損毀虛擬機(jī)數(shù)據(jù)。 虛擬化平臺(tái)備份目前有兩種主流備份方案,一種為無(wú)代理備份(Agentless),另一種為有代理備份(Agent)或稱(chēng)為Guest OS級(jí)別備份。本文將通過(guò)分析對(duì)比無(wú)代理和有代理備份的優(yōu)勢(shì)、缺點(diǎn)來(lái)總結(jié)虛擬化備份的最佳實(shí)踐經(jīng)驗(yàn)。 二、無(wú)代理備份分析 無(wú)代理備份通常是指,在虛擬機(jī)上不需要安裝任何備份代理程序(或稱(chēng)為客戶(hù)端、探針),通過(guò)在ESXI主機(jī)或Hypervisor集群上部署一個(gè)或幾個(gè)代理虛擬機(jī)(備份代理應(yīng)用)來(lái)捕獲備份VM。 無(wú)代理備份的優(yōu)勢(shì)非常明顯: 1.部署安裝簡(jiǎn)單,無(wú)需在每個(gè)虛擬機(jī)上安裝備份代理,僅通過(guò)配置hypervisor集成即可全自動(dòng)部署完畢。 2.無(wú)代理備份充分利用虛擬化廠(chǎng)家提供的專(zhuān)用備份接口,在備份虛擬機(jī)時(shí),可優(yōu)化資源耗用,降低備份時(shí)虛擬機(jī)自身負(fù)載壓力。 3.在專(zhuān)屬適配的虛擬化平臺(tái)上使用無(wú)代理備份產(chǎn)品,可實(shí)現(xiàn)一些虛擬化平臺(tái)特有的備份、恢復(fù)功能。(比如CBT\RCT塊跟蹤、瞬時(shí)恢復(fù)、虛擬機(jī)復(fù)制等) 4.按虛擬化廠(chǎng)家宣傳,無(wú)代理備份和恢復(fù)速度更快。 5.無(wú)代理備份在實(shí)現(xiàn)LAN-FREE或Server-Free備份方式上更有優(yōu)勢(shì)。 正如上所述,無(wú)代理備份被很多備份廠(chǎng)家,特別是虛擬化廠(chǎng)家極力推崇。很多用戶(hù)也認(rèn)為無(wú)代理備份能跟虛擬化平臺(tái)結(jié)合更好。 但實(shí)際應(yīng)用上無(wú)代理備份也有很多問(wèn)題,實(shí)際操作中,發(fā)現(xiàn)無(wú)代理備份的缺陷如下: 1.受限于虛擬化廠(chǎng)家提供的備份接口,部分無(wú)代理備份產(chǎn)品無(wú)法做到應(yīng)用程序感知、細(xì)粒度數(shù)據(jù)恢復(fù)以及RDM(裸磁盤(pán)映射)虛擬機(jī)備份。 2.無(wú)代理備份對(duì)VM做備份時(shí),虛擬化平臺(tái)先對(duì)要備份的VM抓取快照,再將快照信息傳遞給無(wú)代理備份軟件。而正是這個(gè)VM快照,對(duì)于高I/O或數(shù)據(jù)量極大的VM(TB級(jí)的VM)和有多磁盤(pán)結(jié)構(gòu)的VM最容易出現(xiàn)問(wèn)題,快照時(shí)間可能會(huì)持續(xù)數(shù)小時(shí)甚至數(shù)天??煺者^(guò)程中一旦虛擬機(jī)磁盤(pán)文件出現(xiàn)異常,很有可能導(dǎo)致VM崩潰。在備份即將結(jié)束,刪除快照時(shí)也可能出現(xiàn)類(lèi)似的情況。而且,虛擬化平臺(tái)自身快照經(jīng)常出現(xiàn)無(wú)法靜默應(yīng)用的情況。特別是數(shù)據(jù)庫(kù)類(lèi)型VM,在恢復(fù)時(shí)可能會(huì)出現(xiàn)數(shù)據(jù)一致性問(wèn)題。 3.在實(shí)際場(chǎng)景下,無(wú)代理備份資源耗用并不比有代理方式低,而且在某些情況下消耗更多。無(wú)代理虛擬化備份需要特別注意CPU資源的消耗,因?yàn)樗拗鳈C(jī)CPU是一種更有限的資源,通常1個(gè)core與6個(gè)或更多的虛擬機(jī)共享。仔細(xì)分析,在備份時(shí)造成CPU使用率峰值有兩個(gè)主要原因。其一,當(dāng)備份代理必須掃描整個(gè)文件系統(tǒng)以查找符合備份條件的文件(通常是自上次備份以來(lái)更改的那些文件)時(shí),CPU會(huì)出現(xiàn)峰值。例如,在增量備份或差異備份期間,這種目錄樹(shù)的遍歷非常耗時(shí)且需占用大量CPU資源。其二,備份過(guò)程中的數(shù)據(jù)的實(shí)際傳輸會(huì)導(dǎo)致CPU出現(xiàn)峰值。目前虛擬化廠(chǎng)家針對(duì)第一個(gè)CPU峰值問(wèn)題,相繼開(kāi)發(fā)出了塊跟蹤技術(shù)(例如VMware的CBT、Hyper-V 2016的RCT等),通過(guò)跟蹤底層磁盤(pán)塊的改變,不再遍歷對(duì)比VM內(nèi)的目錄文件,來(lái)優(yōu)化增量\差異備份時(shí)的資源消耗,。 4.真實(shí)場(chǎng)景下,無(wú)代理備份速度較慢。在不降低業(yè)務(wù)應(yīng)用程序速度的情況下,無(wú)代理備份一般限制每個(gè)宿主機(jī)上同時(shí)備份2個(gè)VM。盡管無(wú)代理解決方案聲稱(chēng)具有優(yōu)勢(shì),它們使用塊跟蹤技術(shù),可減少傳輸?shù)臄?shù)據(jù)。但是無(wú)代理備份方法更多的采用是一種盲掃,需要對(duì)備份過(guò)程采用“拉取”方法,會(huì)降低CPU的速度。很多無(wú)代理備份產(chǎn)品可調(diào)整VM并發(fā)備份數(shù)量,一般最大為10-15個(gè)左右并發(fā)(最大數(shù)量限制也是由虛擬化平臺(tái)自身限制,同備份軟件無(wú)關(guān))。但實(shí)際場(chǎng)景下,不建議開(kāi)啟最大并發(fā),會(huì)極大加重虛擬化平臺(tái)的負(fù)載壓力,要根據(jù)實(shí)際虛擬機(jī)數(shù)量以及平臺(tái)性能來(lái)確定最合理的并發(fā)備份數(shù)。 5.無(wú)代理備份嚴(yán)重依賴(lài)Tools類(lèi)工具(例如VMware Tools、Hyper-v系統(tǒng)集成工具、KVM的virt-tools等),當(dāng)VM的tools無(wú)法正常運(yùn)行或者沒(méi)有及時(shí)更新時(shí),會(huì)導(dǎo)致無(wú)代理備份出現(xiàn)無(wú)法使用CBT/RCT塊跟蹤或快照異常、VM無(wú)法靜默等情況。 6.無(wú)代理備份通常要求虛擬機(jī)所在存儲(chǔ)卷至少保留有25%的剩余空間,如果存儲(chǔ)空間不足,無(wú)代理備份快照會(huì)引起存儲(chǔ)卷告警或者虛擬機(jī)快照失敗。 7.如果虛擬機(jī)所在的存儲(chǔ)卷發(fā)生掉卷或者處于非活動(dòng)狀態(tài),無(wú)代理備份將失敗。 三、有代理備份分析 有代理是指安裝在服務(wù)器上執(zhí)行特定功能的小型應(yīng)用程序。常見(jiàn)的例子是備份應(yīng)用程序在服務(wù)器上安裝的客戶(hù)端,用于備份服務(wù)器并為運(yùn)行在該服務(wù)器上的應(yīng)用程序提供特定的服務(wù)。自從虛擬化流行起來(lái)后,有代理備份方式并不受虛擬化用戶(hù)歡迎。其原因如下: 1.部署方式復(fù)雜,需要在要備份的虛擬機(jī)中安裝客戶(hù)端代理程序,對(duì)于擁有龐大虛擬機(jī)數(shù)量的用戶(hù)來(lái)說(shuō),這是個(gè)致命的問(wèn)題。 2.軟件兼容性問(wèn)題,有代理方式在VM中安裝,通常要先做環(huán)境檢查,排除與備份軟件不兼容的情況(例如防病毒、系統(tǒng)兼容性、特殊安全應(yīng)用等)。 3.當(dāng)要備份的VM都過(guò)于集中在集群中某幾臺(tái)宿主機(jī)時(shí),會(huì)導(dǎo)致并發(fā)備份時(shí)宿主機(jī)資源負(fù)載加重,并沖擊業(yè)務(wù)虛擬網(wǎng)絡(luò)。 4.有些備份軟件不具備針對(duì)物理設(shè)備的磁盤(pán)塊跟蹤功能,有代理備份時(shí)采用文件級(jí)備份,增量\差異備份時(shí)會(huì)加重VM的負(fù)載壓力。同時(shí)備份速度慢。 5.有代理相比無(wú)代理維護(hù)更困難。比如,關(guān)機(jī)的VM無(wú)法備份或者個(gè)別VM基于安全需要只開(kāi)放部分端口,導(dǎo)致代理程序無(wú)法連接或無(wú)法傳輸數(shù)據(jù)等。 盡管有代理備份方式在虛擬化環(huán)境下劣勢(shì)明顯,但自身也有很多優(yōu)勢(shì): 1.備份VM時(shí)不依賴(lài)虛擬化平臺(tái)快照,在Guest OS系統(tǒng)上直接調(diào)用系統(tǒng)快照(系統(tǒng)vss或LVM快照等),對(duì)于高I/O和數(shù)據(jù)量大的VM以及多磁盤(pán)結(jié)構(gòu)VM的備份,穩(wěn)定性更好。 2.備份VM時(shí)帶有應(yīng)用程序感知,可支持Exchange、SQL-server、AD、Oracle、SharePoint、文件等細(xì)粒度恢復(fù)。 3.對(duì)于支持物理設(shè)備塊跟蹤的備份軟件來(lái)說(shuō),有代理備份相比無(wú)代理備份備份和恢復(fù)速度更快。 4.有代理備份在備份帶有數(shù)據(jù)庫(kù)業(yè)務(wù)的虛擬機(jī)時(shí),可配置調(diào)取數(shù)據(jù)庫(kù)備份腳本,不僅可以單獨(dú)備份數(shù)據(jù)庫(kù),還可使數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性更有保障。 5.有代理備份不受虛擬化平臺(tái)并發(fā)備份數(shù)限制,只要網(wǎng)絡(luò)能夠承受,并發(fā)VM備份數(shù)量無(wú)上限。 6.可支持的虛擬化平臺(tái)廣泛,有代理備份方式幾乎可以支持所有的虛擬化平臺(tái),在軟件授權(quán)允許的情況下,基本不受虛擬化廠(chǎng)家限制。 四、虛擬化備份的實(shí)踐經(jīng)驗(yàn) 根據(jù)自己在項(xiàng)目中的一些實(shí)施經(jīng)驗(yàn),在大規(guī)模的虛擬機(jī)備份上可以采用以下備份步驟(以VMware虛擬化為例): 1.在當(dāng)前虛擬化平臺(tái)中提取全部虛擬機(jī)信息到EXCEL表單中,將數(shù)據(jù)量大(超TB的)、多磁盤(pán)結(jié)構(gòu)、RDM、核心數(shù)據(jù)庫(kù)類(lèi)型(高I/O)、已掉存儲(chǔ)卷(或所在存儲(chǔ)卷非活動(dòng)狀態(tài)的)的VM等全部篩選出來(lái)。在這類(lèi)無(wú)法使用無(wú)代理備份的VM中安裝有代理備份。 2.除上述類(lèi)型之外的虛擬機(jī)可采用無(wú)代理方式備份。 3.采用無(wú)代理備份虛擬機(jī)(特別是Windows系統(tǒng)虛擬機(jī))務(wù)必確認(rèn)VMware Tools已經(jīng)正確安裝,并且VMware Tools各項(xiàng)系統(tǒng)服務(wù)正常運(yùn)行。有發(fā)生提示VMware Tools更新或無(wú)法運(yùn)行的,需要及時(shí)更新VMware Tools或卸載重新安裝。 4.規(guī)劃備份網(wǎng)絡(luò)架構(gòu),環(huán)境要求是否符合使用LAN-BASE\LAN-FREE\SERVER-FREE等配置要求。 1)傳統(tǒng)LAN-BASE架構(gòu)中,無(wú)代理虛擬化備份網(wǎng)絡(luò)要最少達(dá)到千兆網(wǎng)絡(luò)標(biāo)準(zhǔn)(推薦萬(wàn)兆網(wǎng)絡(luò))。最佳實(shí)踐建議,在每臺(tái)ESXI主機(jī)上富余至少一個(gè)物理網(wǎng)口,將該物理網(wǎng)口分配至備份專(zhuān)用虛擬網(wǎng)絡(luò)中,備份數(shù)據(jù)通過(guò)每臺(tái)ESXI主機(jī)上的專(zhuān)用網(wǎng)口走備份傳輸網(wǎng)絡(luò),與業(yè)務(wù)網(wǎng)絡(luò)隔離,避免備份時(shí)大數(shù)據(jù)量傳輸對(duì)業(yè)務(wù)網(wǎng)絡(luò)造成沖擊。備份存儲(chǔ)服務(wù)器,可考慮采用多網(wǎng)卡綁定,同時(shí)如果交換機(jī)支持,可在備份存儲(chǔ)服務(wù)器連接的交換機(jī)端口上使用多鏈路匯聚方式,增加備份存儲(chǔ)服務(wù)器帶寬。如無(wú)法滿(mǎn)足最佳實(shí)踐要求,建議備份數(shù)據(jù)流走虛擬網(wǎng)絡(luò)中負(fù)載壓力較低的非核心業(yè)務(wù)網(wǎng)段。 2)在LAN-FREE架構(gòu)中,要特別注意實(shí)施前環(huán)境檢查,主要檢查VMFS卷結(jié)構(gòu)以及存儲(chǔ)狀態(tài)、多路徑映射、存儲(chǔ)LUN結(jié)構(gòu)等。如發(fā)現(xiàn)虛擬化存儲(chǔ)中存在組合卷(由多個(gè)存儲(chǔ)lun組成的一個(gè)VMFS卷),這種卷VMware自身不支持LAN-FREE備份,只能使用LAN-BASE方式。此外,LAN-FREE架構(gòu)的備份涉及到生產(chǎn)存儲(chǔ)mapping,實(shí)施有一定風(fēng)險(xiǎn),如果操作不當(dāng),后果嚴(yán)重。 3)Server-Free架構(gòu)一般需要存儲(chǔ)設(shè)備和備份軟件之間互相兼容,不同的備份產(chǎn)品支持的存儲(chǔ)設(shè)備不同,因此實(shí)際項(xiàng)目中使用該方法不多。 5.虛擬機(jī)備份要準(zhǔn)備單獨(dú)的備份存儲(chǔ)服務(wù)器或備份存儲(chǔ)設(shè)備,不可占用寶貴的生產(chǎn)存儲(chǔ)空間。同時(shí)基于安全性考慮,備份數(shù)據(jù)如果同生產(chǎn)數(shù)據(jù)放置在同一存儲(chǔ)上,一旦存儲(chǔ)發(fā)生故障,將無(wú)備份數(shù)據(jù)可供恢復(fù)。要做到備份數(shù)據(jù)同生產(chǎn)數(shù)據(jù)分開(kāi)存放。 6.備份時(shí)間窗口規(guī)劃。任何備份產(chǎn)品在備份時(shí)均會(huì)對(duì)前端應(yīng)用造成不同程度的業(yè)務(wù)影響。因此,在實(shí)施備份項(xiàng)目中,一定要預(yù)留好備份時(shí)間窗口。備份時(shí)間窗口一般預(yù)留在業(yè)務(wù)較少時(shí)段,根據(jù)備份數(shù)據(jù)的總體大小以及傳輸率可大概計(jì)算出備份所需時(shí)間。由于虛擬化平臺(tái)虛擬機(jī)數(shù)量多,建議根據(jù)不同業(yè)務(wù)類(lèi)型劃分成虛擬機(jī)組,為虛擬機(jī)組預(yù)留不同的備份窗口。 7.虛擬機(jī)備份周期直接影響數(shù)據(jù)可恢復(fù)的時(shí)間點(diǎn),因此,要針對(duì)不同業(yè)務(wù)的虛擬機(jī)分組,按照RPO/RTO的要求制定不同的備份周期。 8.是否采用重復(fù)數(shù)據(jù)刪除。要根據(jù)虛擬化存儲(chǔ)數(shù)據(jù)量、備份存儲(chǔ)所需空間以及備份時(shí)間窗口來(lái)決定是否采用重復(fù)數(shù)據(jù)刪除。如要備份的虛擬機(jī)多,數(shù)據(jù)量大,且備份所需存儲(chǔ)空間不足,備份窗口時(shí)間短,采用重復(fù)數(shù)據(jù)刪除是最佳方案。但重復(fù)數(shù)據(jù)刪除對(duì)備份存儲(chǔ)服務(wù)器硬件性能有一定要求,因此建議參考備份產(chǎn)品廠(chǎng)家要求配置重刪服務(wù)器。此外,重刪有一定風(fēng)險(xiǎn),一旦重刪數(shù)據(jù)庫(kù)損壞,所有備份將無(wú)法恢復(fù)。建議對(duì)于開(kāi)啟重刪的備份數(shù)據(jù),一定要有第二份副本,盡量滿(mǎn)足備份的3-2-1原則要求。最后,重復(fù)數(shù)據(jù)刪除每個(gè)備份廠(chǎng)家均有最佳實(shí)踐做法,但基本思路一致,一般先備份虛擬化平臺(tái)中幾個(gè)典型虛擬機(jī),之后再批量備份可達(dá)到最佳重刪效果。 9.無(wú)代理備份虛擬機(jī)并發(fā)限制,一般建議一個(gè)備份計(jì)劃按照VMware默認(rèn)2個(gè)虛擬機(jī)并發(fā)備份為佳??筛鶕?jù)虛擬化平臺(tái)性能、網(wǎng)絡(luò)帶寬使用綜合考慮后,調(diào)整并發(fā)數(shù)量。但建議不要將并發(fā)數(shù)調(diào)整過(guò)多或啟用最大并發(fā),否則虛擬化平臺(tái)壓力極大,可能出現(xiàn)通信問(wèn)題,虛擬機(jī)業(yè)務(wù)出現(xiàn)意外,備份失敗。 10.根據(jù)業(yè)務(wù)制定好備份計(jì)劃,備份計(jì)劃之間要確保留有一定的時(shí)間間隔。避免在同一時(shí)間段,出現(xiàn)大批量虛擬機(jī)同時(shí)啟動(dòng)備份的情況,造成網(wǎng)絡(luò)和CPU負(fù)載大面積波動(dòng)。 11.依據(jù)不同業(yè)務(wù)類(lèi)型,確定備份保留周期。時(shí)效性強(qiáng)的業(yè)務(wù)建議備份可保留1-2周時(shí)間。需要?dú)w檔的虛擬機(jī)建議保留周期設(shè)定為3個(gè)月以上。保留周期同備份存儲(chǔ)使用率密切相關(guān),因此要細(xì)致規(guī)劃不同虛擬機(jī)組的數(shù)據(jù)保留時(shí)間。 12.采用有代理備份的Windows VM,為了部署方便,可采用遠(yuǎn)程推送方式安裝備份代理。如果推送條件不滿(mǎn)足,則使用本地安裝。推送或本地安裝代理前一定要注意安裝環(huán)境檢查,可從補(bǔ)丁、兼容性、網(wǎng)絡(luò)、配置等方面逐一排查。 13.虛擬化備份方案實(shí)施后,要密切觀(guān)察1-2周每天的備份情況以及業(yè)務(wù)影響情況,發(fā)現(xiàn)備份異常或影響正常業(yè)務(wù)要及時(shí)調(diào)整備份策略,不斷優(yōu)化備份方案直至備份穩(wěn)定。 五、總結(jié) 虛擬化備份項(xiàng)目看似簡(jiǎn)單,但需要從虛擬機(jī)數(shù)量、存儲(chǔ)架構(gòu)、網(wǎng)絡(luò)架構(gòu)、備份計(jì)劃周期等多方面考慮備份方案,結(jié)合虛擬化平臺(tái)的實(shí)際情況確定實(shí)施流程,并不斷優(yōu)化備份策略。 |
|
|
來(lái)自: jxl0716 > 《待分類(lèi)》