Vagrant 戴着软呢帽的流浪汉22

Vagrant 戴着软呢帽的流浪汉22,vagrant,rpc,fedora,nfs,libvirt,Vagrant,Rpc,Fedora,Nfs,Libvirt,我正试图用libvirt作为我的提供者来运行Vagrant。使用rsync是无法忍受的,因为我正在处理一个巨大的共享目录,但是当注释掉nfs设置并设置标准rsync配置时,vagrant确实成功了 config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777','fmode=777'] 流浪汉在跑完流浪汉后,永远挂在这一步上 ==> default: Mounting NFS shared folders...

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

config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777','fmode=777']
流浪汉在跑完流浪汉后,永远挂在这一步上

==> default: Mounting NFS shared folders...
在我的vagrant文件中,我有一个未注释的rsync配置,并注释掉了它,它打开了NFS

config.vm.synced_folder ".", "/vagrant", type: "nfs"
当“流浪者”运行时,它会将此信息回传到终端

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状态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之前,我查看是否有任何进程通过netstat-tulpn绑定到端口98,但没有看到任何内容。事实上,当vagrant挂起时,我再次运行netstat-tulpn,查看绑定到端口98的内容,但没有看到任何内容。(选中当前用户和根用户)

更新:尚未收到任何回复


我没能弄清楚我现在的问题。我尝试改用lxc,但在启动时遇到了问题。我也不希望使用VirtualBox,但问题似乎在于nfs而不是虚拟机监控程序。将尝试使用Vagrant提供的rsync自动功能,但我更愿意让nfs工作。

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

service rpcbind start
service nfs stop
service nfs start

nfs server.service
的systemd单元依赖项包含
rpcbind.target
但不包含
rpcbind.service

一个简单的解决方案是创建一个文件
/etc/systemd/system/nfs server.service
,其中包含:

.include /usr/lib/systemd/system/nfs-server.service

[Unit]
Requires=rpcbind.service
After=rpcbind.service

在CentOS 7上,我需要做的就是 正在安装缺少的rpcbind,如下所示:

yum-y安装rpcbind

systemctl启用rpcbind

systemctl启动rpcbind

systemctl重新启动nfs服务器

我花了一个多小时才发现并尝试了以下方法:)


Michel

我在Fedora 22上使用libvirt和VirtualBox提供程序进行NFS装载时遇到问题。在咬牙切齿之后,我终于发现这是防火墙的问题。Fedora在默认情况下似乎附带了
firewalld
服务。停止该服务-
sudo systemctl stop firewalld
-对我来说是个好办法

当然,理想情况下,您应该配置此防火墙,而不是完全禁用它,但我不知道如何做到这一点