在一些操作系统上,网络块设备(Network Block Device, NBD)是一种设备节点,其内容由远程计算机提供。网络块设备通常用于访问非物理安装于本地计算机上,而在远程的存储设备。例如,本地计算机可访问连接于另一台计算机上的硬盘。
技术上讲,网络块设备由三部分组成,服务器、客户端及连接之间的网络。在设备节点工作的客户端上,内核驱动/模块控制该设备。每当程序试图访问该设备时,内核驱动将转发请求(如果内核中没有完全实现客户端部分,可在使用者空間程序的帮助下完成)到实际存储数据的服务器。在服务器上,来自客户端的请求由用户空间程序进行处理。
服务器端通常为运行在通用计算机上的用户空间程序。服务器的所有功能都可由用户空间程序处理,因为服务器只需通过正常的套接字与客户端的通信,使用常规的文件系统接口访问存储设备。
网络块设备客户端模块适用于一些类Unix系统,包括Linux和Bitrig[1]。由于服务器是一个用户空间程序,理论上任何类Unix平台都能运行。例如,NBD的服务器部分已经移植到了Solaris上[2]。
参见
参考文献
外部链接