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

发布于 2024-12-06 01:29:05 字数 330 浏览 0 评论 0原文

是否有任何方法可以在同一台计算机上运行 NBD(网络块设备)客户端和服务器而不导致系统死锁?

我非常疲惫地寻找这个问题的答案。如果有人可以提供帮助,我将不胜感激。

更新:

我正在编写一个与 Google 存储系统通信的 NBD 服务器。我想在 NBD 上挂载文件系统并备份我的文件。如果我最终不得不在另一台机器上运行服务器,我会非常失望。我已经有的一些想法似乎没有任何结果:

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

Is there any way to run an NBD (Network Block Device) client and server on the same machine without deadlocking the system?

I am very exhausted looking to find an answer for this. I appreciate if anyone can help.

UPDATE:

I'm writing an NBD server that talks to Google Storage system. I want to mount a file system on the NBD and backup my files. I will be hugely disappointed if I have to end up running the server on another machine. Few ideas I already had seem to lead nowhere:

  • telling the file system to open the block device using O_DIRECT flag to bypass the linux buffer cache
  • using a raw device (unfortunately, raw devices are character devices and FSes refuse to use them as underlying device)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

赠意 2024-12-13 01:29:05

仅供记录,自 2008

Just for the record, having the NBD client and server on the same machine has been possible since 2008.

懷念過去 2024-12-13 01:29:05

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

Use a virtual machine (not a container) - you need two kernels, but you don't need two physical machines.

谢绝鈎搭 2024-12-13 01:29:05

由于 NBD Sourceforge 项目的首页表示在这种情况下“几秒钟内”就会发生死锁,我猜答案是肯定的“不”。

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

Since the front page of the Sourceforge project for NBD say that a deadlock will happen "within seconds" in this scenario, I'm guessing the answer is a big "No."

Try to write a more complete question of what actual goal you're trying to accomplish. There's some times that you need to bang away at a little problem, and some times that you need to look at the big picture.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文