解決方案
1992 年,Dave Hitz、James Lau 與 Michael Malcolm 創立 Network Appliance,打造專用的 NFS 檔案伺服器。Unix 檔案系統的夜間備份意味著數小時的複製或磁帶作業,而崩潰之後,一致性檢查可能耗費與停機時間一樣長的時間。
他們 1994 年的 USENIX 論文提出了 WAFL:此檔案系統可寫入任意位置,並將舊根留在原處,因此快照(Snapshot)就是一個唯讀複本,只要複製一個指標即可瞬間建立。寫時複製(copy-on-write)意味著快照只有在區塊開始分歧時才佔用空間;WAFL 最多可讓 20 個排程快照保持上線,並透過 .snapshot 目錄公開它們,讓使用者能自行復原已刪除的檔案。
同一機制也免除了非正常關機後漫長的一致性檢查,這是該設備的一大賣點。NetApp 的快照功能成為業界標準;該公司於 1995 年上市,營收突破 10 億美元,並成為領先的 NAS 供應商。
它達成了什麼
從不覆寫;快照就是一個指標
為何奏效
快照就是複製一個指標,因此建立它只需毫秒,而非數小時。
寫時複製意味著舊版本在資料變更之前幾乎不佔用磁碟。
使用者透過 .snapshot 目錄自行復原已刪除的檔案。
崩潰後快速重新啟動,消除了檔案伺服器最令人痛苦的難題。
可以套用什麼
如果你所畏懼的事情(備份、復原、重新啟動)代價高昂,就改變寫入路徑:當每一次變更在結構上都被版本化時,復原產物就是你早已擁有的指標。
後續發展
快照及其後繼技術(SnapMirror、FlexClone、去重複化)三十年來一直是 NetApp 的產品核心。1994 年的論文是儲存系統的經典之作,此後每一個主要檔案系統——包括 ZFS 與 Btrfs——都借用了它的寫時複製快照構想。
追溯依據
參考來源
- File System Design for an NFS File Server Appliance (full text) USENIX Winter 1994 · usenix.org
- File System Design for an NFS File Server Appliance (conference record) USENIX · usenix.org
- Hitz: NetApp market growth hinges on cloud, data management TechTarget · techtarget.com ·