趙二狗剛剛畢業,應聘進入了錘鈕匹科技有限公司,成為了這裡的新員工。入司的第一天是分配宿舍(背景音:天哪,還有宿舍!羨慕嫉妒恨!)。跟他在同一個宿舍的是公司的老員工王大拿,王大拿是該公司的架構師,對公司的情況基本上無所不知。請注意,這裡說的是公司的八卦新聞,哈哈! 趙二狗進了宿舍,王大拿正在那裡噼裏啪啦的敲鍵盤... ...
趙二狗: 前輩,我是新報道的同事。
沒有任何反應。
「前輩」,趙二狗提高了嗓門。
還是沒有任何反應。
「前輩!」,趙二狗大喝一聲。
王大拿忽的從椅子上站了起來,「幹毛,嚇死老子了」,王大拿略帶怒氣的說。
「前輩,我是新入職的同事,跟您一個宿舍,認識您很高興!」,趙二狗面帶笑容的說。
一聽這樣,王大拿笑了,「好說,好說,你隨便坐吧,我這忙著調程序呢」。
「週末還不休息!?」趙二狗小聲嘀咕著。
王大拿很憤憤,「是啊,孃的,遇到個Bug,阻塞好幾天了。」
「什麼問題?」趙二狗問。
「說了你也不懂,小鮮肉」,王大拿不屑的說。
王大拿繼續說, 「你知道什麼是快照嗎?」
「切,不就是快照,那有什麼不懂的,我也是堂堂985的碩士研究生,之前專門搞存儲的」,趙二狗很不爽。
「好小子,那你講講」,王大拿突然提起了興趣。
於是趙二狗同學開始娓娓道來... ...
什麼是快照
快照是存儲系統中的一種數據保護技術,主要是實現數據的邏輯保護。所謂邏輯保護,就是當數據出現誤刪除或者病毒等原因導致數據破壞的情況。通過快照技術,可以將數據恢復到某一個時間點的數據。
「不錯,接著說」,王大拿覺得趙同學還有兩下子。
從名字上可以猜出來,快照就好像給數據拍了一個照片,就好像我們日常生活中給人拍照片類似。以生活中拍照片為例,比如給你家娃娃拍了他2歲的照片,等他到5歲的時候,樣子變化很大。這個時候你想看看他2歲的時候長什麼樣,那你就可以拿出他2歲的照片看看。
對於存儲中的快照技術也是類似,在某個時間點,你給某個磁碟(或者存儲中的LUN)打一個快照,相當於讓存儲系統給這個磁碟拍了一個照片。當之後的使用過程中發生了意外,比如病毒把數據搞壞了等等。這個時候你就可以通過快照知道原來的數據是什麼樣的,這樣數據就可以找回來了。
快照的實現原理
」不錯,不錯,那快照的實現原理是什麼呢?「,王大拿覺得有點小看小趙同學了,於是接著問。
快照可以在文件系統或者塊設備層面實現,我們以塊存儲為例。塊存儲從普通用戶的角度來看就是磁碟。從用戶的角度磁碟其實就是一個線性空間,可以理解為一個很大的數組,比如512G或者4TB等。但磁碟的讀寫最小單位是一個扇區,也就是512位元組。這樣可以不用關心,這個跟我們後面講的快照的原理也沒有太大關係。