我正在运行 Ubuntu 11.10 - 设置 NFS 以在许多其他服务器之间共享一个目录。防火墙需要打开哪些端口?
我正在尝试连接到我的开发服务器上的 NFS 文件夹。开发服务器上文件夹的所有者是 darren 和 group darren。
当我使用磁盘工具将它导出并安装到我的 Mac 时,它会安装,但是当我尝试打开该文件夹时,它说我没有权限。我已经设置了 rw、sync 和 no_subtree_check。Mac 上的用户对一堆组感到厌烦。
我是否需要设置相同的组和用户才能访问该文件夹?
几天前,我注意到一些很奇怪的事情(至少对我而言)。我运行 rsync 复制相同的数据,然后将其删除到 NFS 挂载,称为/nfs_mount/TEST
. 这/nfs_mount/TEST
是从nfs_server-eth1
. 两个网络接口上的 MTU 都是 9000,中间的交换机也支持巨型帧。如果我这样做,rsync -av dir /nfs_mount/TEST/
我将获得 X MBps 的网络传输速度。如果我这样做,rsync -av dir nfs_server-eth1:/nfs_mount/TEST/
我的网络传输速度至少为 2X MBps。我的 NFS 挂载选项是nfs rw,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountvers=3,mountproto=tcp
.
底线:两种传输都通过相同的网络子网、相同的线路、相同的接口、读取相同的数据、写入相同的目录等。唯一不同的是,一个是通过 NFSv3,另一个是通过 rsync。
客户端是 Ubuntu 10.04,服务器是 Ubuntu 9.10。
为什么 rsync 快得多?如何使 NFS 匹配该速度?
谢谢
编辑:请注意我使用 rsync 写入 NFS 共享或 SSH 到 NFS 服务器并在本地写入。两次我都这样做rsync -av
,从明确的目标目录开始。明天我将尝试使用普通副本。
Edit2(附加信息):文件大小范围为 1KB-15MB。文件已经被压缩,我试图进一步压缩它们但没有成功。我tar.gz
从那个dir
. 这是模式:
rsync -av dir /nfs_mount/TEST/
= 最慢的传输;rsync -av dir nfs_server-eth1:/nfs_mount/TEST/
= …我在 ESXi 中的 NFS 数据存储上遇到了大约5 秒的fsync 延迟,这是由某些虚拟机触发的。我怀疑这可能是由使用 NCQ/TCQ 的 VM 引起的,因为这不会发生在虚拟 IDE 驱动器上。
这可以使用fsync-tester(由 Ted Ts'o)和ioping 重现。例如使用具有 8GB 磁盘的 Grml 实时系统:
Linux 2.6.33-grml64:
root@dynip211 /mnt/sda # ./fsync-tester
fsync time: 5.0391
fsync time: 5.0438
fsync time: 5.0300
fsync time: 0.0231
fsync time: 0.0243
fsync time: 5.0382
fsync time: 5.0400
[... goes on like this ...]
Run Code Online (Sandbox Code Playgroud)
那是 5 秒,而不是毫秒。这甚至会在同一主机和数据存储上运行的不同 VM 上创建 IO 延迟:
root@grml /mnt/sda/ioping-0.5 # ./ioping -i 0.3 -p 20 .
4096 bytes …
Run Code Online (Sandbox Code Playgroud) 我有一台带有 NFSv4 的服务器。我正在将远程用户的主文件夹的内容安装到本地主机。能够读写内容,但是当我从本地主机检查挂载卷中文件的所有权时,它们都属于相应的远程用户和组(512)。有没有办法让它看起来像是属于本地主机上的本地用户和组(1000)?
远程主机上的/etc/exports(IP 为 192.168.1.110)
/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)
Run Code Online (Sandbox Code Playgroud)
本地主机上的/etc/fstab(IP 为 192.168.1.142)
192.168.1.110:/home/user512 /home/localuser/projects/project512 nfs rw,hard,intr,rsize=32768,wsize=32768 0 0
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序正在运行(在 RHEL5 上),它将数据流式传输到 NFS 共享上。最近,我看到很多 .nfsXXXX...(xxx 是一个十六进制数)出现在它的工作目录中,应用程序每小时写入一次文件,然后将它们移动到不同的文件名。
这些文件是什么?这是否表明出现了问题?如何做进一步诊断?
我有 Windows 7 专业版,但适用于 Windows 的 NFS 客户端仅包含在企业版和旗舰版中。
我想将一些 Windows 机器连接到我们的 NFS 服务器,以便我可以删除我们当前使用的 Samba 服务器。
是否有适用于 Windows 7 的免费 NFS 客户端?
我知道有一些工具,如 ProNFS 和 axeNFS,但它们不是免费的。
我有一个使用 NFS 在本地安装的远程分区。
'mount' 给出
192.168.3.1:/mnt/storage-pools/ on /pools type nfs (rw,addr=192.168.3.1)
Run Code Online (Sandbox Code Playgroud)
在我有出口的服务器上:
/mnt/storage-pools *(rw,insecure,sync,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)
然后我试试
touch /pools/test1
ls -lah
-rw-r--r-- 1 65534 65534 0 Dec 13 20:56 test1
chown root.root test1
chown: changing ownership of `test1': Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我错过了什么?拉我的头发。
服务器 A 曾经是 NFS 服务器。服务器 B 正在安装它的导出。一切都很好。然后A死了。刚关机。走了。消失了。
但是那个文件夹仍然安装在 B 上。我显然不能cd
进入它或任何东西。但是umount /mnt/myfolder
只是挂起,不会卸载。有没有办法在不重新启动 B 的情况下卸载它?
客户端和服务器都是 Linux 机器。
我正在尝试NFS
在两个 RHEL7 节点之间进行配置:
第一个节点:
[root@ip-10-164-175-246 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-164-175-246 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
[root@ip-10-164-175-246 ~]# cat /etc/exports
/var/www/html/ ip-10-184-161-46.ec2.internal(rw)
[root@ip-10-164-175-246 ~]#
Run Code Online (Sandbox Code Playgroud)
第二个节点:
[root@ip-10-184-161-46 ~]# mount ip-10-164-175-246.ec2.internal:/var/www/html/ /mnt/
[root@ip-10-184-161-46 ~]# touch /mnt/$$
touch: cannot touch ‘/mnt/3326’: Permission denied
[root@ip-10-184-161-46 ~]#
Run Code Online (Sandbox Code Playgroud)
为什么我不能通过/mnt/
NFS写入任何内容?
nfs ×10
linux ×3
ubuntu ×3
chown ×1
filesystems ×1
firewall ×1
latency ×1
mapping ×1
optimization ×1
permissions ×1
rsync ×1
unix ×1
vmware-esxi ×1
windows-7 ×1