我可以使用 Linux 从远程计算机挂载 /dev 文件夹,然后在本地主机上为远程 kvm 文件创建链接,并将其与 qemu-kvm 一起使用吗?比如#qemu-systemx-86_64 --enable-kvm
。我使用 sshfs 挂载远程目录,并在本地 /dev 目录中创建指向远程 kvm 的符号链接。当我运行 qemu 时,它显示failed to initialize KVM: Permission denied
答案1
不,您无法通过 sshfs、NFS 或类似方式(或任何其他伪文件系统)导出 /dev 目录。这些不是可以通过这种方式访问的“真实”文件。它们可以在本地访问,并且用于与本地现象进行交互。
话虽如此,可以执行诸如通过 ssh 将磁盘内容发送到远程磁盘之类的操作,但这不是通过复制设备文件来完成的 - 它是通过 dd 之类的方式将设备文件流式传输到 ssh 来完成的,然后使用远程执行的 dd 来接受来自 ssh 的标准输入,如下所示:
dd if=/dev/sda | ssh user@computer dd of=/dev/sda
使用 RDMA 也可以实现结构化的内存消息发送/接收队列,但这本身就是一个很大的课题,如果您只是想在机器之间共享应用程序内存空间,那么它可能不是您想要的。
如果您确实想在机器之间共享应用程序的内存,那么这可能需要异步完成(因为复制内存成本高昂,而且很容易出现延迟问题),并且需要在应用程序内完成。必须设计应用程序来实现这一点,而 KVM/QEMU 则不是。