好吧,我对这些东西都很陌生。我以前从未在 Linux 服务器上工作过。我有一台 Ubuntu 服务器和 Debian 9。我在 Ubuntu 上安装了 nfs 服务器,在 Debian 上安装了 nfs 客户端。这些机器可以互相 ping 通,但问题是,当我尝试将 nfs 共享从 Ubuntu 挂载到 Debian 时,它显示
mount.nfs: connection timed out
我在 Debian 上运行的命令是:
# mount <ip of Ubuntu>:/export/nfs /mnt/nfs
/mnt/nfs
我在 Debian 中创建。这/export/nfs
是我在 Ubuntu 上创建的目录,所有权为nobody:nogroup
。我还编辑了/etc/exports
并在其中添加了以下内容:
/export/nfs <internal-network>/24(rw,insecure,all_squash).
我不知道问题出在哪里。有人能告诉我我做错了什么吗?
答案1
:
在命令之前指定 ubuntu 服务器的主机名。
对于 RedHat,但想法是一样的: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-nfs-mount.html
如果主机名是 myubuntu 并且共享是 /export/nfs 那么它不应该mount myubuntu:/export/nfs
只是mount :/export/nfs
另外,请确保 iptables 已打开并且没有阻塞端口。
答案2
如果客户端计算机上的目录 /mnt/nfs 尚不存在,请先创建它:
mkdir /mnt/nfs
看起来您想要长期挂载共享,而不仅仅是临时挂载?如果是这样,最好使用其他位置/mnt
,因为/mnt
这是用于临时挂载的 - 如果不是,也可以。
如果您想要修复它,只需将以下几行添加到您的/etc/fstab
文件中:
例如用 nano 打开文件:nano /etc/fstab
<ip of Ubuntu>:/export/nfs/ /mnt/nfs nfs rw,sync,hard,intr 0 0
并输入以下命令,挂载所有条目/etc/fstab
mount
使用 ip 或 dns-name 并不重要。
/etc/exports
在服务器端,每当使用命令编辑文件时,都必须重新加载该文件exportfs -a
另外尝试重新启动你的 nfs 服务器:
sudo /etc/init.d/nfs-kernel-server restart
如果系统不在同一子网中,还请检查它们之间是否有外部防火墙。使用 iptables -L 还可以检查系统上是否有内部防火墙。
答案3
如果需要,可以使用sudo
前缀提升权限
$ mount -t nfs -o _netdev,rw,proto=tcp,sec=sys [serverip]:[location] [local mount point]
不要忘记 netdev 前面的下划线
_netdev
是正确的 - 如果服务器不在线,将防止系统挂起
例子
$ mount -t nfs -o rw,_netdev,proto=tcp,sec=sys 10.10.2.1:/mnt/ZFS/PROXMOX/ /media/PROXMOX
运行mount -v
(详细)可能会给出线索