在一些操作系统上,网络块装置(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). 

外部链接 编辑