恢復(fù)比備份費(fèi)時(shí)的五個(gè)原因
譯文發(fā)現(xiàn)恢復(fù)比備份還要費(fèi)時(shí),許多人感到很驚訝,但這一點(diǎn)都不奇怪。事實(shí)上,每個(gè)人都應(yīng)該為這種差異做好計(jì)劃,并納入到備份設(shè)計(jì)中。
以下是恢復(fù)起來(lái)通常比備份慢的五個(gè)原因。
RAID寫(xiě)開(kāi)銷(xiāo)
大多數(shù)現(xiàn)代磁盤(pán)陣列使用基于奇偶校驗(yàn)的獨(dú)立磁盤(pán)冗余陣列(RAID)來(lái)構(gòu)建,RAID級(jí)別從3到6。其他磁盤(pán)陣列使用糾刪碼來(lái)構(gòu)建,這與基于奇偶校驗(yàn)的RAID面臨相似的挑戰(zhàn)。
將數(shù)據(jù)寫(xiě)入陣列時(shí),基于奇偶校驗(yàn)的RAID需要計(jì)算奇偶校驗(yàn)信息。從這同一個(gè)陣列讀取數(shù)據(jù)時(shí)不進(jìn)行這種計(jì)算,因此讀比寫(xiě)快得多。寫(xiě)開(kāi)銷(xiāo)對(duì)性能的影響可能很小,也可能很大,這取決于RAID級(jí)別及/或糾刪碼中使用的設(shè)置。但所有這種陣列都面臨一些寫(xiě)開(kāi)銷(xiāo),您需要找出自己的寫(xiě)開(kāi)銷(xiāo)有多大。
寫(xiě)時(shí)拷貝快照
與寫(xiě)開(kāi)銷(xiāo)相似的一個(gè)概念是,在使用寫(xiě)時(shí)拷貝快照的陣列和NAS文件管理器中發(fā)生的情況。當(dāng)您創(chuàng)建寫(xiě)時(shí)拷貝快照時(shí),它只是將一根棍子立在地上作為參考點(diǎn)。最初創(chuàng)建快照時(shí),幾乎不會(huì)發(fā)生I/O;所有的重活都在之后發(fā)生。寫(xiě)操作試圖覆蓋需要為快照保存的塊時(shí),該塊會(huì)在允許繼續(xù)寫(xiě)操作之前拷貝到快照區(qū)。這就是為什么名為寫(xiě)時(shí)拷貝。
與RAID寫(xiě)開(kāi)銷(xiāo)一樣,這僅在寫(xiě)入時(shí)發(fā)生。快照開(kāi)銷(xiāo)也可能非常大,因?yàn)樗Q于保存在該特定卷上的快照數(shù)量。更多的快照加大了在寫(xiě)操作繼續(xù)之前需要拷貝單個(gè)寫(xiě)內(nèi)容的機(jī)會(huì);因此,寫(xiě)時(shí)拷貝卷上的快照越多,寫(xiě)新數(shù)據(jù)時(shí)的性能就越差。
寫(xiě)入到文件系統(tǒng)
下一個(gè)寫(xiě)開(kāi)銷(xiāo)出現(xiàn)在寫(xiě)入到文件系統(tǒng)時(shí),尤其是含有數(shù)百萬(wàn)個(gè)文件的密集系統(tǒng)時(shí)。當(dāng)您恢復(fù)文件時(shí),文件系統(tǒng)必須先創(chuàng)建一個(gè)文件來(lái)恢復(fù)該數(shù)據(jù)。該文件的創(chuàng)建是單獨(dú)的操作,無(wú)論文件大小如何,都需要耗費(fèi)時(shí)間。如果有數(shù)百萬(wàn)個(gè)文件要恢復(fù),這個(gè)文件創(chuàng)建時(shí)間實(shí)際上可能比恢復(fù)本身所花的時(shí)間還長(zhǎng)。
不堪重負(fù)的事務(wù)日志
關(guān)系型數(shù)據(jù)庫(kù)具有跟蹤數(shù)據(jù)庫(kù)所有更改的事務(wù)日志。數(shù)據(jù)庫(kù)在事務(wù)日志中快速記錄事務(wù)的能力通常不是大多數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)中必須考慮的方面。然而,大型恢復(fù)每秒創(chuàng)建的事務(wù)可能比平常工作日需要?jiǎng)?chuàng)建的事務(wù)多得多,因而給事務(wù)日志帶來(lái)了比平常大得多的負(fù)載。因此,事務(wù)日志也會(huì)減慢恢復(fù)速度。
多路備份流
考慮恢復(fù)比備份慢時(shí)要注意的最后一方面是多路(multiplexing)。好消息是,只有直接從磁帶恢復(fù)時(shí),才會(huì)出現(xiàn)這種開(kāi)銷(xiāo)。如果備份系統(tǒng)基于磁盤(pán),不會(huì)出現(xiàn)這個(gè)問(wèn)題。這實(shí)際上是過(guò)去二十年來(lái)許多人放棄磁帶的主要原因。
要理解這個(gè)問(wèn)題,應(yīng)考慮磁帶驅(qū)動(dòng)器的主要問(wèn)題:它們比實(shí)際需要的速度快得多。現(xiàn)代流式磁帶驅(qū)動(dòng)器的速度比典型增量備份的速度快10倍到20倍。為解決這個(gè)問(wèn)題,業(yè)界開(kāi)發(fā)了多路技術(shù):將多個(gè)備份流交織成一個(gè)流,其速度快得足以讓磁帶驅(qū)動(dòng)器滿(mǎn)意。20年前多路開(kāi)發(fā)出來(lái)時(shí),這個(gè)領(lǐng)域的大多數(shù)人覺(jué)得別無(wú)選擇,因?yàn)樗麄儽仨氉尨艓?qū)動(dòng)器滿(mǎn)意,才能進(jìn)行成功的備份。然而,恢復(fù)面臨龐大的開(kāi)銷(xiāo)。
如果您從多路磁帶恢復(fù),備份軟件必須讀取整個(gè)磁帶,并丟棄除您需要的流之外的所有流。如果多路設(shè)置為10,磁帶驅(qū)動(dòng)器必須讀取所有10路流,丟棄其中的9路流。這對(duì)恢復(fù)速度有很大影響。如果將其與上述某種寫(xiě)開(kāi)銷(xiāo)結(jié)合起來(lái),情況可能會(huì)變得更糟。如果磁盤(pán)驅(qū)動(dòng)器無(wú)法像磁帶驅(qū)動(dòng)器讀數(shù)據(jù)一樣快地寫(xiě)數(shù)據(jù),磁帶驅(qū)動(dòng)器不得不停止和啟動(dòng),以便磁盤(pán)驅(qū)動(dòng)器跟上速度。
評(píng)估恢復(fù)延遲,設(shè)定預(yù)期
找出環(huán)境存在什么樣的恢復(fù)速度開(kāi)銷(xiāo),然后納入到備份設(shè)計(jì)中,這點(diǎn)很重要。在您要恢復(fù)數(shù)據(jù)的每種類(lèi)型的系統(tǒng)上對(duì)每種不同類(lèi)型的數(shù)據(jù)執(zhí)行測(cè)試恢復(fù)。這包括您在數(shù)據(jù)中心、每個(gè)大型文件服務(wù)器中使用的每種不同類(lèi)型的RAID。搞清楚什么樣的恢復(fù)速度是規(guī)定的恢復(fù)速度,然后詢(xún)問(wèn)供應(yīng)商可以怎樣加快這個(gè)恢復(fù)速度。
隨后對(duì)大型恢復(fù)期間會(huì)發(fā)生什么準(zhǔn)確地設(shè)定預(yù)期。開(kāi)會(huì)討論恢復(fù)重要的文件服務(wù)器需要多長(zhǎng)時(shí)間,并向受影響的人解釋為什么會(huì)這樣。供應(yīng)商可以幫助解釋它是否無(wú)能為力,您可以接受這一點(diǎn),也可以研究一種全然不同的備份技術(shù)。
重要的是在需要恢復(fù)任何數(shù)據(jù)之前做好所有這些工作。盡可能全面地進(jìn)行恢復(fù)測(cè)試,看看恢復(fù)比備份慢的程度,并相應(yīng)地調(diào)整設(shè)計(jì)和預(yù)期。
原文標(biāo)題:??5 reasons restores can take longer than backups??,作者:W. Curtis Preston