vagrant - Fedora 22 上的 NFS Vagrant

标签 vagrant rpc fedora nfs libvirt

我正在尝试使用 libvirt 作为我的提供程序来运行 Vagrant。使用 rsync 是难以忍受的,因为我正在使用一个巨大的共享目录,但是当注释掉 nfs 设置并设置标准 rsync 配置时,vagrant 确实成功了。

config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777','fmode=777']

运行 vagrant up 后,Vagrant 永远卡在这一步

==> default: Mounting NFS shared folders...

在我的 Vagrantfile 中,我取消了此注释,并注释掉了 rsync 配置,这会打开 NFS。

config.vm.synced_folder ".", "/vagrant", type: "nfs"

当 Vagrant 运行时,它会将其回显到终端。

Redirecting to /bin/systemctl status  nfs-server.service
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
Redirecting to /bin/systemctl start  nfs-server.service
Job for nfs-server.service failed. See "systemctl status nfs-server.service" and "journalctl -xe" for details.

systemctl status nfs-server.service 的结果

dillon@localhost ~ $ systemctl status nfs-server.service
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2015-05-29 22:24:47 PDT; 22s ago
  Process: 3044 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=1/FAILURE)
  Process: 3040 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 3044 (code=exited, status=1/FAILURE)

May 29 22:24:47 localhost.sulfur systemd[1]: Starting NFS server and services...
May 29 22:24:47 localhost.sulfur rpc.nfsd[3044]: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
May 29 22:24:47 localhost.sulfur rpc.nfsd[3044]: rpc.nfsd: unable to set any sockets for nfsd
May 29 22:24:47 localhost.sulfur systemd[1]: nfs-server.service: main process exited, code=exited, status=1/FAILURE
May 29 22:24:47 localhost.sulfur systemd[1]: Failed to start NFS server and services.
May 29 22:24:47 localhost.sulfur systemd[1]: Unit nfs-server.service entered failed state.
May 29 22:24:47 localhost.sulfur systemd[1]: nfs-server.service failed.

journelctl -xe 日志中有大量内容,因此我不会在此处发布所有内容,但有一些内容以粗体红色显示。

May 29 22:24:47 localhost.sulfur rpc.mountd[3024]: Could not bind socket: (98) Address already in use
May 29 22:24:47 localhost.sulfur rpc.mountd[3024]: Could not bind socket: (98) Address already in use
May 29 22:24:47 localhost.sulfur rpc.statd[3028]: failed to create RPC listeners, exiting
May 29 22:24:47 localhost.sulfur systemd[1]: Failed to start NFS status monitor for NFSv2/3 locking..

在我运行 vagrant up 之前,我查看是否有任何进程使用 netstat -tulpn 绑定(bind)到端口 98,但没有看到任何内容,事实上,当 vagrant 挂起时,我再次运行 netstat -tulpn 来查看绑定(bind)到端口的内容98,什么也没看到。 (检查当前用户和 root)

更新:尚未收到任何回复。

我无法弄清楚我当前遇到的问题。我尝试使用 lxc 代替,但在启动时卡住了。我也不想使用 VirtualBox,但问题似乎在于 nfs,而不是管理程序。将尝试使用 Vagrant 提供的 rsync-auto 功能,但我更希望让 nfs 正常工作。

最佳答案

看起来,当使用 libvirt 时,用户可以控制 nfs 和 rpcbind,而 Vagrant 甚至不会像我想象的那样尝试接触这些东西。运行这些解决了我的问题:

service rpcbind start
service nfs stop
service nfs start

关于vagrant - Fedora 22 上的 NFS Vagrant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30542722/

相关文章:

git - 无法在 Vagrant 盒子上从 Git 克隆

centos - 如何使用 Chef 在 vagrant centos 盒子上设置综合构建器环境?

laravel - Vagrant Homestead root 密码是什么?

linux - linux 上的 matlab 无法绘制任何东西(无法加载 libstdc++.so.6 : version `CXXABI_1.3.8' not found)

linux - 如何在 linux 中列出目录中文件夹的完整路径?

Vagrant 开发构建抛出错误

java - Android 和桌面计算机之间的远程过程调用机制

serialization - 我需要一个 D 的序列化框架

python - ZeroRPC 发布/订阅聚合结果

linux - 如何通过终端查看硬盘上未分配的可用空间