網絡塊設備

在一些操作系統上,網絡塊設備(Network Block Device, NBD)是一種設備節點,其內容由遠程計算機提供。網絡塊設備通常用於訪問非物理安裝於本地計算機上,而在遠程的存儲設備。例如,本地計算機可訪問連接於另一台計算機上的硬盤

技術上講,網絡塊設備由三部分組成,服務器、客戶端及連接之間的網絡。在設備節點工作的客戶端上,內核驅動/模塊控制該設備。每當程序試圖訪問該設備時,內核驅動將轉發請求(如果內核中沒有完全實現客戶端部分,可在使用者空間程序的幫助下完成)到實際存儲數據的服務器。在服務器上,來自客戶端的請求由用戶空間程序進行處理。

服務器端通常為運行在通用計算機上的用戶空間程序。服務器的所有功能都可由用戶空間程序處理,因為服務器只需通過正常的套接字與客戶端的通信,使用常規的文件系統接口訪問存儲設備。

網絡塊設備客戶端模塊適用於一些類Unix系統,包括Linux和Bitrig[1]。由於服務器是一個用戶空間程序,理論上任何類Unix平台都能運行。例如,NBD的服務器部分已經移植到了Solaris[2]

參見

  • iSCSI:許多GNU/Linux發行版上的iSCSI「目標工具」。tgtd可以配置任意塊設備為LUN後備存儲(磁盤,分區等)。這是應用最多的基於IP的塊設備轉發協議[3]
  • 循環設備:類似的機制,但使用的是本地文件
  • DRBD:分布式複製塊設備是Linux平台上的分布式存儲系統
  • ATA over Ethernet:通過以太網發送ATA命令

參考文獻

  1. ^ git.bitrig.org: NBD: Implement Network Block Device support.. May 20, 2015. 
  2. ^ Miroslav Kripac and Masaryk University Brno. Implementing Oracle Real Application Clusters Using Network Block Device Technology. December 10, 2002 [May 22, 2013]. (原始內容存檔於2016-12-07). 
  3. ^ iSCSI Adoption Continues its Upward Path. (原始內容存檔於2013-11-05). 

外部連結