網絡塊設備

在一些操作系統上 ， 網絡塊設備 （ Network Block Device, NBD ） 是一種設備節點 ， 其內容由遠程計算機提供 。 網絡塊設備通常用於訪問非物理安裝於本地計算機上 ， 而在遠程的存儲設備 。 例如 ， 本地計算機可訪問連接於另一臺計算機上的硬盤 。 技術上講 ， 網絡塊設備由三部分組成 ， 服務器 、 客戶端及連接之間的網絡 。 在設備節點工作的客戶端上 ， 內核驅動 / 模塊控制該設備 。 每當程序試圖訪問該設備時 ， 內核驅動將轉發請求 （ 如果內核中沒有完全實現客戶端部分 ， 可在使用者空間程序的幫助下完成 ） 到實際存儲數據的服務器 。 在服務器上 ， 來自客戶端的請求由用戶空間程序進行處理 。 服務器端通常爲運行在通用計算機上的用戶空間程序 。 服務器的所有功能都可由用戶空間程序處理 ， 因爲服務器只需通過正常的套接字與客戶端的通信 ， 使用常規的文件系統接口訪問存儲設備 。 網絡塊設備客戶端模塊適用於一些類Unix系統 ， 包括Linux和Bitrig 。 由於服務器是一個用戶空間程序 ， 理論上任何類Unix平臺都能運行 。 例如 ， NBD的服務器部分已經移植到了Solaris上 。