NBD客户端和服务器在同一台机器上

时间:2011-09-21 13:40:44

标签: deadlock

是否有任何方式在相同的计算机上运行NBD(网络块设备)客户端和服务器而不会使系统死锁?

我非常疲惫,希望找到答案。如果有人能提供帮助,我感激不尽。

更新:

我正在写一个与谷歌存储系统对话的NBD服务器。我想在NBD上挂载文件系统并备份我的文件。如果我必须最终在另一台机器上运行服务器,我将非常失望。我已经拥有的一些想法似乎无处可去:

  • 告诉文件系统使用O_DIRECT标志打开块设备以绕过linux缓冲区缓存
  • 使用原始设备(遗憾的是,原始设备是字符设备,FSes拒绝将它们用作底层设备)

3 个答案:

答案 0 :(得分:2)

仅仅为了记录,自2008以来就可以在同一台机器上安装NBD客户端和服务器。

答案 1 :(得分:1)

使用虚拟机(不是容器) - 您需要两个内核,但不需要两台物理机。

答案 2 :(得分:0)

由于NBD的Sourceforge项目的front page表示在这种情况下会在几秒钟内发生死锁,我猜测答案是一个很大的“不行”。

尝试写一个更完整的问题,了解您要实现的目标。有时你需要解决一个小问题,有时你需要看一下大局。