首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过QEMU和NFS与Mac主机(OSX Catalina)和Linux来宾(Ubuntu 20.04)共享数据

问通过QEMU和NFS与Mac主机(OSX Catalina)和Linux来宾(Ubuntu 20.04)共享数据
EN

Server Fault用户
提问于 2021-04-30 17:23:17
回答 1查看 931关注 0票数 1

故事到目前为止

我们最近从Linux笔记本电脑迁移到Macbook Pro膝上型电脑( IT公司不再支持带有VPN的本地Linux膝上型计算机,所以它都是Macbook/OSX设备)。然而,我们所有的开发都需要使用Ubuntu和Debian,所以我们在虚拟机中运行所有的东西。我们的计划是使用QEMU (通过适当的硬件加速hvf)方便地按需拆分VM.我们能够通过这样的方式成功地推出我们的VM:

代码语言:javascript
复制
qemu-system-x86_64 \
  -m 4096 \
  -smp 4\
  -accel hvf \
  -show-cursor \
  -drive file=/public/my_os_disk.qcow2,if=virtio \
  -net user,hostfwd=tcp::8022-:22 \
  -net nic

这将启动我们的VM (Ubuntu)实例,其中包含4GB的RAM、4个内核、硬件加速,并允许我们通过ssh -p8022 username@localhost进入VM (从VM的角度来看端口22 )。

问题

我们如何在Linux来宾上设置NFS服务器,以便我们的Mac/OSX主机能够共享文件?如果主机也是Linux,我们可以像以前一样使用virtfs,但我们的解决方案似乎必须包括联网。我们已经在Ubuntu上设置了NFS服务器(使用常见文章,1,2)。然后,我们设置QEMU启动脚本以启用NFS端口 (即111,2049),如下所示:

代码语言:javascript
复制
qemu-system-x86_64 \
  -m 4096 \
  -smp 4\
  -accel hvf \
  -show-cursor \
  -drive file=/public/my_os_disk.qcow2,if=virtio \
  -net user,hostfwd=tcp::8022-:22,hostfwd=tcp::2049-:2049,hostfwd=tcp::111-:111 \
  -net nic

在Mac主机(或OSX主机)上,我们尝试通过以下方式挂载NFS共享(假设Linux来宾正在导出10.0.100.0/24子网上的D13路径):

代码语言:javascript
复制
mount -t nfs localhost:/export_from_linux  /my_mac_mount_path

然而,这只是无限期地挂起。

What是建立一个在Mac/OSX主机和运行在QEMU?中的Linux/Ubuntu客户之间共享文件的最佳方法(最好使用NFS)。

EN

回答 1

Server Fault用户

发布于 2023-06-04 00:39:34

您不需要主机the 111,只需2049年,或者您也可以使用从8049到2049的地图;因为2049年可能被macOS系统占用。

因此,至少需要让QEMU为备用NFS端口创建一个映射:

代码语言:javascript
复制
-netdev user,hostfwd=tcp::8049-:2049

现在,您可以在macOS端的端口8049上安装NFS;例如,安装到Debian NFSv4服务器上:

代码语言:javascript
复制
sudo mount -o port=8049,vers=4,resvport -t nfs 127.0.0.1:/export_from_linux /my_mac_mount_path

注意,我们使用一个选项在vers=4端强制执行macOS (您应该在Linux端运行一个与NSFv4兼容的服务器;即Debian 11's nfs-内核服务器)。

但是这里的主要键是resvport设置。无论出于什么原因,如果没有此设置,macOS将不会挂载。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1062191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档