當前位置:編程學習大全網 - 源碼下載 - 存儲快照的快照的實現層次

存儲快照的快照的實現層次

計算機的存儲結構是壹個類似於 TCP/IP 壹樣的棧結構。棧中包括硬件與軟件部分。棧中不同層為上層提供服務,同時利用下層的接口(如下圖)。因此在實現上,快照可以在不同的棧層上實現。但是不同的層其效果及特點是不壹樣的。

壹般來說,在應用層不太合適實現快照功能。因為不同的應用是千差萬別的,因此需要針對不同的應用實現快照功能,這個代價也太高了。但在應用層實現快照也並不是說壹無用處,如在應用層實現快照的壹個典型的例子就是 vmWare 虛擬化軟件中的快照功能。只是這種快照功能應用在存儲系統中不現實。

其次在文件系統層實現快照與應用也是具有同樣的缺點,就是需要針對不同的文件系統實現快照功能,這樣的代價也很大。實現的快照的功能的文件系統基本上都是壹些專用系統專為某個特定功能實現的文件系統。在這個層級上實現快照,缺乏靈活性和可擴展性。這個比較典型的例子就是ZFS。

而較為適宜實現快照功能的層應該為卷管理層以及物理層。在這兩個層中都不與特定的應用及文件系統相關。這裏比較典型的例子有Linux 的LVM。而在硬件層次上實現快照又通常有許多種,在這個層次上實現的快照壹般為專用系統,好處是性能是各個方式中最好的。但是在這個層次上實現的快照也有壹個不可避免的缺點,那就是由於不與特定的應用及文件系統關聯,因此其就無法理解上層的應用邏輯,也就無法保證每個快照都處於數據壹致性狀態的。但是這個缺點是可以通過其他的方式減少或者解決的,比如在生成快照之前先對數據進行刷新操作,或者在恢復快照時對文件系統進行壹致性檢查等。

  • 上一篇:2018最豐富的源代碼
  • 下一篇:住房痛苦指數的國際住房
  • copyright 2024編程學習大全網