“叮鈴鈴……”一陣急促的電話鈴聲響起,把老張從美夢拉回了現實。
雖然腦海里仍回味著剛才的美夢,老張的動作卻沒有絲毫遲疑,快速把手伸向床邊,拿起手機,這是他多年的職業習慣。
剛接通,就聽見那邊傳來揪心的嚎哭:“張工,我第一個想到的就是給你打電話,你可要救救我!”
老張聞言立刻從床上坐起,醒了醒腦子,鎮定地問:
“小丁?發生什么事了?慢慢說,把事情說清楚點兒。”
“好的張工,事情是這樣的... ...”
≈≈≈半小時前
任職數據庫管理員的小丁,正在公司做著數據庫變更工作,此時已是深夜,只見他坐在位置上止不住地打哈欠... ...“快了,快了,再堅持一會就能回家了。”
他搖搖頭,感覺有了點精神,重新對著屏幕點了幾下,驀地發現一絲不對勁,這個不對勁讓他倒吸了一口涼氣:
“等...等等...我剛才在做什么?我把這么重要的數據表給刪了???”
“我去!今天的數據備份還沒有做完,不可能依靠備份來恢復數據了,這下完了……”
小丁癱軟在椅子里,感覺一股涼氣從腳尖爬到頭頂,“怎么辦,怎么辦,犯了這么低級的錯誤,這我鐵定是要被開除了... ...對了!張工!找張工!他那么厲害,肯定能幫我!”
深入絕境之人會抓住一切可以抓的東西,并且牢牢抓住。此刻,張工就是小丁的救命稻草,只見他掏出手機給老張打了電話……
電話這邊,聽完小丁哭訴的張工搞清楚了事情的來龍去脈,略微思索,計上心頭,安撫小丁道:“小丁,我想到一個辦法,你呆在公司,我馬上過去。”
≈≈≈20分鐘后
張工來到公司后,二話不說就對著系統進行檢查,過了一會兒,只見他松了一口氣,對小丁說:“小丁,要不是公司關鍵數據庫應用都跑在戴爾易安信SC存儲上,你就闖大禍了。”
小丁聽了很是驚訝:“奇怪,SC不是
數據存儲的嗎?這次備份沒有做完,怎么能恢復呢?”
張工聞言呵呵一笑:“當初之所以決定采購戴爾易安信SC存儲,除了考慮該存儲的性能、穩定性外,就是看中了SC存儲基于指針方式的Redirect-on-write(寫重定向)快照技術,可以實現幾乎不影響性能的分鐘級快照,能夠應對突發事件如誤操作、勒索病毒等企業經常遭遇的風險。
經過老張對SC存儲上的卷進行的一系列快照掛起操作,情況終于恢復到誤刪除操作之前10分鐘的狀態,大家趕緊把丟失的10分鐘數據手工輸入到表中,最終關鍵應用恢復正常,從而避免了一起嚴重的數據丟失事故。
擁有快照技術的戴爾易安信SC存儲
雖然創建和管理現有卷的快照是當今企業級存儲系統最基本的功能,但
戴爾易安信SC存儲的快照技術,真正為快照的實踐應用提供了可行性。
▲▲▲點擊圖片了解更多戴爾易安信SC系列存儲
一個快照就是一個邏輯卷,其內容與某一時刻的源卷內容完全相同。當快照在存儲系統中創建之后,源卷會繼續其正常的I/O活動而不會影響所創建的快照。相比傳統的快照技術,SC系列存儲快照技術的優點包括:
· 幾乎無限量的快照數量;
· 瞬間完成創建;
· 不論快照的數量而對系統性能不產生影響。
戴爾易安信 SC系列存儲的快照實現
在對快照創建和管理的所有方面,戴爾易安信 SC系存儲系統實施了一種全新的方法,從而克服了目前市場上其他技術的局限性:
· 亞秒級的即時快照創建;
· 允許每個卷有數千個快照;
· 幾乎沒有性能降級;
· 性能、創建時間和恢復時間與卷大小和快照數量無關;
· 對快照的快照,用于靈活的系統開發與測試。
基于虛擬頁管理的戴爾易安信SC系列存儲的基本架構特點,使這些重要技術尤其是基于存儲的快照技術突破成為可能。
Redirect-on-write(而非 Copy-on-write),它通常也被稱為“元數據”拷貝,即所有的數據并沒有被真正拷貝到另一個位置,只是指示數據實際所處位置的指針被拷貝。
在Redirect-on-write技術下,當已經有了快照時,如果有人試圖改寫原始的LUN上的數據,快照軟件會首先將原始的數據塊拷貝到一個新位置(專用于復制操作的存儲資源池),然后再進行寫操作。
ROW原理圖
以后當引用原始數據時,快照軟件將指針映射到新位置,或者,當你引用快照時,將指針映射到老位置。
Redirect-on-write使用指針的方式來保存改變的數據塊,而傳統的Copy-on-write(寫時復制,COW)快照技術,則是將發生數據改變之前的數據塊copy到快照區,因此Redirct-on-copy的快照方式不會發生實際的數據塊移動。
顯然,這種方式極大地降低了快照對系統性能的影響,從而使分鐘級別的快照能夠成為現實。
傳統Copy-on-write拷貝的影響
COW快照需要消耗一些存儲空間——建立快照卷。
當我們為一個數據卷創建一個快照之后,這些預留的空間用來存放快照時間點之后源數據卷中被更新的舊數據。
COW快照在初始化的過程中僅僅創建用來描述源數據塊位置的指針信息(元數據),而不是完整地將源數據塊拷貝過來。因此初始化的過程幾乎可以在瞬間完成,對系統的影響也很小。
COW快照會跟蹤數據卷的寫操作和數據塊變化。當某個數據塊發生改變時,在將舊的數據覆蓋之前,首先將該塊的舊數據復制到預留的快照卷,該步驟僅在數據卷相應數據塊位置發生第一次寫操作請求時進行。
COW示意圖
這個處理過程確保快照出來的數據與發起快照的那個精確時間點保持完全一致,這個過程也體現了“Copy-on-write”這個名字的含義。
如果我們需要訪問某個時間點的快照數據,沒有改變過的塊直接從數據卷讀取,已經改變并被復制的塊則從快照空間讀取。從快照被創建那一刻開始,每個快照都會跟蹤記錄描述塊改變的元數據信息。
COW快照的主要優勢在于空間的高效利用,因為快照卷只需要保留發生過變化的數據塊,與數據卷相比要小得多。
但是我們也知道,COW快照有個缺點,它會引起數據卷性能的下降。這是因為創建快照之后,對數據卷的寫操作會增加一個等待的過程——即將舊數據塊復制到快照卷的過程所造成的性能損失,在進行差分快照時是無法避免的。
而Redirect-on-write方法雖未將這種缺陷完全予以消除,但明顯地降低了由此帶來的性能損失,提供了在執行快照時無可比擬的卓越性能,這源于其基本架構原則。
Data Instant Replay
當寫入請求對源卷和快照共享的數據區進行修改時,戴爾易安信SC存儲采用的是基于Redirect-on-write機制的Data Instant Replay快照方法。
傳統的Copy-on-write快照方法涉及三個磁盤尋道操作,戴爾易安信SC存儲系統的Data Instant Replay方法僅涉及兩個此類操作,從而提升快照效率,使SC系列快照技術成為類似CDP一樣,做分鐘級別的多份快照,而不影響存儲性能。
Data Instant Replay快照技術原理如下圖,對源卷做多次快照后,每份快照都會有不同的改變過的數據塊,而改變的數據塊通過指針與源卷之間做基于時間點的對應。
當我們希望在SC存儲上恢復到Snapshot 4時,所有Snapshot4中改變過的數據庫均通過指針與源卷中的數據頁元數據發生交互,從而實現快照卷的掛起使用。
快照之上的快照
一旦一個快照被定義為可寫快照,隨之產生的問題就是可否對該快照再進行快照。
盡管寫重定向技術非常直觀和有用,但是其他存儲供應商卻很少提供。戴爾易安信SC存儲支持創建現有可寫快照的快照,而不影響與快照相關的任何其他特性,包括即時創建、基于實際使用情況的最小空間占用以及高性能。
▲▲▲點擊圖片了解更多戴爾易安信SC存儲
在復雜的開發和測試環境中,對快照進行快照的特性是一個極大的優點。該特性可節省大量存儲空間(通過避免完整拷貝),支持更好的測試和開發(通過輕松創建多重拷貝),并提供邏輯備份(甚至是對使用快照的應用)。
??快照場景舉例
1場景 1:測試遠程鏡像功能而不干擾鏡像過程
如今,幾乎每個關鍵后端應用都在備份站點有一個鏡像備份。像其他任何備份解決方案一樣,必須不時地對該備份站點進行測試,否則當實際需要時,其有可能無法工作。
對備份系統進行測試意味著,激活相關服務器并使用備份站點上的數據。傳統存儲解決方案無法在不干擾鏡像過程的情況下完成測試任務,因此會有一個時間窗口,其間數據沒有被復制到備份站點。
而戴爾易安信SC存儲系統,則提供了一個用于測試備份站點而不干擾鏡像過程的簡單流程,如下所述▼:
① 創建備份卷的快照;
② 將該快照設置為可寫快照;
③ 將該快照映射至備份站點上的服務器,就好像它是源卷一樣。
在執行完這些簡單步驟之后,測試環境達到以下配置:
· 到備份卷的鏡像過程從不會被打斷,數據復制過程對備端的應用測試進程“無意識”;
· 備份服務器被映射至一個可寫快照,完全模擬一個災難恢復場景,一旦測試進度結束,快照即被刪除,無需任何恢復或信息同步。
2場景 2:測試卷大小的變更而不干擾正常生產應用
由于應用要求,我們需要不時地增加某個卷的大小。
戴爾易安信SC存儲系統內建的虛擬化功能,使得該操作在存儲方面的影響非常微小。
增加卷大小是一個并非受所有應用支持的復雜操作,操作時應當慎重。除了少數應用外,調整卷大小都要求中斷應用的運行,而在所有標準下,中斷時間的長短都是衡量數據中心是否卓越的一個關鍵指標。
盡管戴爾易安信SC存儲系統不能解決應用內部的復雜性,但它能夠簡化此類過程的測試。可以采用下面的方法來輕松測試卷大小變更,而不干擾正常生產應用▼
①創建生產卷的快照;
②將該快照設置為可寫快照;
③創建被測試應用的一個新實例,并將新建的可寫快照映射至該實例;
④使用新實例執行測試增加卷大小的程序,逐漸增加可寫快照的大小,并對流程進行全面調試,直到所有問題都得到解決;
⑤然后對生產卷的執行同樣的程序,同時保持可寫快照以備參考;
⑥操作完成后刪除可寫快照。
該流程提供了一個對復雜的卷大小變更過程進行脫機測試,而不干擾生產的方法。測試過程是對生產過程的完全復制:盡管用于測試的應用實例“看到”一個讀/寫卷的大小被加大,但它“不會意識到”這是一個快照而非一個卷。
而且,快照創建和卷大小調整是瞬間完成的,沒有實際的數據拷貝,且該過程可以測試多次而沒有任何延遲。此外,由于快照是差分的,所以增加卷大小所需的實際空間在測試階段并未被占用。
由此我們可以看到,戴爾易安信SC存儲獨具特色的快照技術,可以最大限度的發揮存儲的使用效率,并能在防止邏輯錯誤、提升備份窗口、多份數據測試應用的場景下發揮巨大的作用。