3

什么方法可以在同一台机器上运行 NBD(网络块设备)客户端和服务器而不会使系统死锁?

我已经筋疲力尽地寻找这个问题的答案。如果有人可以提供帮助,我将不胜感激。

更新:

我正在编写一个与谷歌存储系统对话的 NBD 服务器。我想在 NBD 上挂载一个文件系统并备份我的文件。如果我最终不得不在另一台机器上运行服务器,我会非常失望。我已经有的几个想法似乎无济于事:

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

3 回答 3

3

仅作记录,自2008 年以来就有可能在同一台机器上拥有 NBD 客户端和服务器。

于 2013-08-17T20:36:19.123 回答
1

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

于 2012-01-29T11:14:00.270 回答
0

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

尝试写一个更完整的问题,说明您要实现的实际目标。有时您需要解决一个小问题,有时您需要着眼于全局。

于 2011-09-21T13:54:32.997 回答