Snapshot 技術(shù)從根本上改變了對(duì)數(shù)據(jù)的備份/恢復(fù)、歸檔的操作方式。

     備份數(shù)據(jù)可以保護(hù)由于用戶(hù)誤操作或者硬件故障造成數(shù)據(jù)丟失,對(duì)數(shù)據(jù)歸檔(archiving data )可以生成完整的具有一致性的數(shù)據(jù)集合的副本,用于將數(shù)據(jù)恢復(fù)在線到將來(lái)的某一個(gè)時(shí)間。備份保護(hù)免于故障,歸檔可以使業(yè)務(wù)暫停并恢復(fù)工作(可以在另外的地點(diǎn))。

     從backup 的數(shù)據(jù)中經(jīng)常會(huì)只需恢復(fù)某個(gè)文件或某個(gè)目錄,而不必進(jìn)行整個(gè)文件系統(tǒng)的恢復(fù)。 而歸檔archive 往往要完整地進(jìn)行恢復(fù)。容災(zāi) Disaster recovery (DR) 和備份和歸檔的特點(diǎn)類(lèi)似,用于防止故障,更強(qiáng)調(diào)災(zāi)害、整個(gè)建筑災(zāi)難的情況。類(lèi)似歸檔,DR 的數(shù)據(jù)必須具有一致性,使作業(yè)可以在容災(zāi)點(diǎn)繼續(xù)。

     對(duì)數(shù)據(jù)備份可以包括對(duì)項(xiàng)目的歸檔,在另一地的項(xiàng)目歸檔可以用于從災(zāi)難恢復(fù)。

     備份和歸檔最重要的問(wèn)題是速度。當(dāng)把大量數(shù)據(jù)備份到磁帶或者其他的介質(zhì)時(shí),由于數(shù)據(jù)量很大,備份本身就對(duì)系統(tǒng)產(chǎn)生了很大的工作負(fù)荷,使得系統(tǒng)性能下降,備份必須盡快完成以避免對(duì)用戶(hù)產(chǎn)生影響。所以備份工作一般在下班時(shí)間,對(duì)于24×7 的環(huán)境,則沒(méi)有下班時(shí)間,“BACKUP WINDOW”越來(lái)越小。

     對(duì)備份速度的主要限制是由于磁帶機(jī)的速度,現(xiàn)代磁帶機(jī)的速度一般每秒幾兆字節(jié),幾百GB 的數(shù)據(jù)就需要多臺(tái)高速磁帶機(jī)并行處理。數(shù)據(jù)的一致性是另一個(gè)問(wèn)題,為防止正在備份的文件被修改,簡(jiǎn)單的備份程序會(huì)鎖定文件處于不可寫(xiě)狀態(tài),而這只能通過(guò)offline或single user mode 進(jìn)行。

     備份程序雖然試圖解決在線備份的問(wèn)題,但是用戶(hù)仍然面臨數(shù)據(jù)完整和一致性的問(wèn)題,備份無(wú)法保證是可以恢復(fù)的。

     NetApp 的Snapshot, SnapMirror 和 SnapRestore™提供給系統(tǒng)管理員有力的解決這些問(wèn)題的工具。


  • 恢復(fù)Restore

         常常因?yàn)橛脩?hù)錯(cuò)誤而進(jìn)行恢復(fù),用戶(hù)經(jīng)常意外刪除、覆蓋或其他方式修改了不該改的文件,對(duì)于DBA 和SAPDBA,這樣的機(jī)會(huì)特別容易發(fā)生。現(xiàn)代系統(tǒng)往往提供了很大的硬件保護(hù),時(shí)數(shù)據(jù)在硬件意外時(shí)不丟失。

         Snapshot 為用戶(hù)提供了自己恢復(fù)錯(cuò)誤的能力,不需要依靠系統(tǒng)管理員從磁帶定位,恢復(fù)自己的文件。


  • 在線備份Live Backup

         Snapshot 是當(dāng)前文件系統(tǒng)的一個(gè)只讀的、一致的副本,提供了巧妙的解決在線備份的解決方案。在進(jìn)行備份前,對(duì)文件系統(tǒng)拍快照,快照只需一兩秒就完成。然后把最新的Snapshot 目錄中的數(shù)據(jù)備份。由于快照目錄下的數(shù)據(jù)只讀,永遠(yuǎn)不會(huì)被改變,所以可以保證備份到磁帶的數(shù)據(jù)的一致性,這樣磁帶備份的速度不會(huì)影響數(shù)據(jù)一致性,因?yàn)閷?duì)當(dāng)前文件系統(tǒng)的改變不會(huì)影響到快照的數(shù)據(jù)。用戶(hù)當(dāng)前的文件系統(tǒng)總是可以讀寫(xiě)的,用戶(hù)的作業(yè)不受影響,而備份設(shè)備看到在備份前即時(shí)做的快照,它穩(wěn)定不變。

         這種隨時(shí)(在線)生成具有數(shù)據(jù)一致性的、可以恢復(fù)的檔案的能力,具有無(wú)比重要的價(jià)值。


  • 數(shù)據(jù)庫(kù)備份Database Backup

         Snapshot 提供了特別方便的方法對(duì)關(guān)系型數(shù)據(jù)庫(kù)文件( 包括DBM 文件、email/messaging 數(shù)據(jù)庫(kù),如Exchange 和Notes,動(dòng)態(tài)WEB 頁(yè)面內(nèi)容數(shù)據(jù)庫(kù),不僅是傳統(tǒng)的RDBM,像Oracle, Sybase, SQLServer 等)。

         傳統(tǒng)的方式在備份前保證數(shù)據(jù)一致性的方法是關(guān)閉控制數(shù)據(jù)庫(kù)的應(yīng)用程序。備份過(guò)程往往包括,關(guān)閉應(yīng)用程序,進(jìn)行備份,重啟應(yīng)用程序,停機(jī)時(shí)間完全取決于備份的速度,從幾分鐘到幾個(gè)小時(shí)。進(jìn)行熱備份需要將應(yīng)用程序、數(shù)據(jù)庫(kù)轉(zhuǎn)換為熱后備模式,備份完成后再轉(zhuǎn)換回正常運(yùn)行模式,熱后備模式影響系統(tǒng)的性能,需要盡量縮短熱后備時(shí)間。

         利用Snapshot 可以把停機(jī)時(shí)間縮短到幾秒種—-生成Snapshot 的時(shí)間。操作方式:停應(yīng)用,拍照,重起應(yīng)用,把在Snapshot 目錄里的內(nèi)容倒到備份介質(zhì),這種備份的數(shù)據(jù)/歸檔具有數(shù)據(jù)一致性的保證,確保應(yīng)用程序可以立刻使用。

         同樣重要的一點(diǎn),這些快照可以保存在線存在很長(zhǎng)時(shí)間,萬(wàn)一數(shù)據(jù)庫(kù)毀壞就可以立刻用來(lái)恢復(fù),極大地減少了恢復(fù)時(shí)間。


  • 數(shù)據(jù)遷移和復(fù)制Backup to Disk

         磁帶設(shè)備的速度比較慢,系統(tǒng)的吞吐量執(zhí)行tar/dump/pkzip 類(lèi)型的工具只有幾百KB/s,硬盤(pán)相對(duì)快很多,所以在數(shù)據(jù)中心數(shù)據(jù)臨時(shí)dump 到磁盤(pán)設(shè)備,然后再下帶。隨著磁盤(pán)的降價(jià)和性能提高,這種方法越來(lái)越流行。

         Network Appliance 的 VolCopy 功能提供給用戶(hù)將數(shù)據(jù)高速整卷遷移到另一臺(tái)Filer的方法,速度達(dá)到~45 GB/hour。使用VolCopy,用戶(hù)可以在另一臺(tái)機(jī)器FILER 上生成一個(gè)完全一樣的文件系統(tǒng),包括原數(shù)據(jù)系統(tǒng)的所有Snapshot。復(fù)制時(shí)目標(biāo)系統(tǒng)不可用,一旦復(fù)制完成目標(biāo)系統(tǒng)的數(shù)據(jù)就可在線。VolCopy 提供了一種快速將數(shù)據(jù)從一個(gè)卷遷移到新的位置的方法,可用于升級(jí)到新的系統(tǒng),或者生成一個(gè)副本,副本的數(shù)據(jù)進(jìn)行磁帶備份而不管源數(shù)據(jù)正在發(fā)生變化,或者用于容災(zāi)。


  • 自動(dòng)文件系統(tǒng)復(fù)制SnapMirror

         Data ONTAP(Filer 的操作系統(tǒng))利用WAFL Snapshot 功能提供了自動(dòng)的文件系統(tǒng)級(jí)的復(fù)制功能:SnapMirror。通過(guò)SnapMirror 技術(shù),一個(gè)源filer 可以將一個(gè)或多個(gè)文件系統(tǒng)復(fù)制到伙伴Filer,使伙伴Filer 上的文件系統(tǒng)與源Filer 的自動(dòng)生成的Snapshot 同步。伙伴Filer 可以分布在任何地方,可以在同一大樓或者地球的另一邊,只要源和目的之間有網(wǎng)絡(luò)連接和復(fù)之?dāng)?shù)據(jù)需要的帶寬。

         SnapMirror 在WAFL 里的對(duì)block 進(jìn)行操作,效率很高。文件系統(tǒng)是由磁盤(pán)中的塊組成的,Snapshot 文件系統(tǒng)一個(gè)固化的版本,表示文件系統(tǒng)拍照時(shí)的狀態(tài)。

         WAFL 利用內(nèi)部的塊映射表(block map file)記錄了哪些塊屬于哪些不同的Snapshot,block map file 記錄每個(gè)BLOCK 是否屬于當(dāng)前文件系統(tǒng)或是某個(gè)快照。 如下表,BLOCK 28854的數(shù)據(jù)在Active File System 和Snapshot 1 中,而snapshot2,3,…20 都沒(méi)有用這塊。

         WAFL block map file 使得SnapMirror 很容易確定兩個(gè)Snapshot 的數(shù)據(jù)變化(增量),例如上表, block 28856 不在Snapshot 1, 卻在Snapshot 2。.假如Snapshot 2 在Snapshot 1 之后拍的, block 28856 一定Snapshot 1 拍完后假如到Snapshot2 的,而 block 28854在Snapshot 1 里,但Snapshot 2 里沒(méi)有,所以是Snapshot 1 拍完后刪除的。通過(guò)比較兩個(gè)快照的不同, SnapMirror 可以十分有效地順序?qū)⒆兓瘮?shù)據(jù)復(fù)制到另一臺(tái)設(shè)備。

         SnapMirror 復(fù)制開(kāi)始時(shí),目標(biāo)Filer 安排源Filer 拍快照”Snap A”,建立與源Filer的TCP 連接,開(kāi)始傳輸”Snap A” 文件系統(tǒng)的塊。

         數(shù)據(jù)傳輸完成后,目的Filer 上的數(shù)據(jù)十完整的、具有一致性保證的,而且完全等于”Snap A” 文件系統(tǒng),包括與SnapMirror 無(wú)關(guān)的“Snap A”快照時(shí)的SnapShot 的信息。目標(biāo)Filer 上的數(shù)據(jù)可以被用戶(hù)只讀訪問(wèn)。當(dāng)“Snap A”傳輸時(shí),源Filer 上的數(shù)據(jù)也正在發(fā)生變化,然而 WAFL 的 copy-on-write 策略保證了所有變化數(shù)據(jù)在傳輸期間寫(xiě)入到新的“Snap A”以外的block。

         為了保證目標(biāo)Filer 自動(dòng)復(fù)制源Filer,變化的塊也要傳往目標(biāo)Filer。目標(biāo)filer 安排源filer 進(jìn)行另一個(gè)Snapshot,”Snap B”,然后建立另一條TCP 連接傳輸兩次快照期間變化的數(shù)據(jù)。

         當(dāng)目標(biāo)Filer 接受完成SnapB,其數(shù)據(jù)是具有數(shù)據(jù)一致性且等于源Filer 的SnapB,SnapA會(huì)被刪除,新一輪傳輸又再啟動(dòng)。

         SnapMirror 通過(guò)在目標(biāo)Filer 上的一個(gè)簡(jiǎn)單的配置文件控制, /etc/snapmirror.conf, 設(shè)定Snapshot 的發(fā)生間隔和數(shù)據(jù)傳輸?shù)臅r(shí)間。 該文件包含下列格式的命令行:

         srcfiler:srcvol dstfiler:dstvol schedule

         srcfiler, srcvol, dstfiler 和dstvol 分別代表source filer, source volume,destination filer, 和destination volume 的名稱(chēng)。管理員利用后面的變量值控制復(fù)制傳輸?shù)奶匦?。例如throttle value,閾值,限制Filer 間的數(shù)據(jù)傳輸最高帶寬kilobytes per second。

         Schedule 參數(shù)由4 個(gè)獨(dú)立變量組成,minutes,hours,days of the month,和days of the week,表示傳輸發(fā)生的時(shí)間。

         例如, /etc/snapmirror.conf 如下的一項(xiàng):

         sf:sv df:dv 2000 30 8,12,16,20 * 1,2,3,4,5

         將使得目標(biāo)volume 在 8:30am, 12:30pm, 4:30pm 和8:30pm, 每周一到周五,進(jìn)行同步,閾值是2000 KB/S 或2 Megabytes/Second,兩臺(tái)filer 間的最大數(shù)據(jù)傳輸帶寬。*表示所有的月。

         srcfiler:srcvol dstfiler:dstvol – * * * *

         指示目標(biāo)卷盡快與源卷同步,-表示以網(wǎng)絡(luò)允許的最大帶寬傳輸。

         在源Filer 上的配置文件/etc/snapmirror ,控制只有指定的Filer 才可以進(jìn)行復(fù)制。提供復(fù)制的安全性。

  • 分享到

    多易

    相關(guān)推薦