Articles of nfs

有谁知道哪里可以find一个好的NFS4 ACL资源?

我试图在已经使用POSIX ACL的环境中使用NFS4 ACL。 我在网上find了一些网站,解释了有关NFS4 ACL的一些技术细节,以及它们是如何创build的,但是当我尝试执行它们时,这些工具似乎失败了。 有没有人有一个很好的资源/教程来解释如何设置NFS4的ACL? 当我尝试更改从服务器设置的ACL时: [root@ny-bar01 foo_server]# nfs4_setfacl -e /nfs/obfuscate/ Operation to request attribute not supported. Failed to instantiate ACL. 当我尝试从客户端更改ACL集时: [root@ny-baz02 foo_client]# nfs4_setfacl -R -e . Failed setxattr operation: Operation not permitted An error occurred during recursive file tree walk.

依次读取大文件时NFS性能差

我有一个NFS3服务器与多个客户端。 每个客户端都依次读取不同的大文件,性能非常差。 以下是我在iostat服务器上观察文件所在磁盘的情况: 设备:rrqm / s wrqm / sr / sw / s rmb / s wmb / s avgrq-sz avgqu-sz await svctm%util sdX 24.33 0.00 712.67 0.00 18.41 0.00 52.91 11.95 16.91 1.40 100.00 正如你所看到的, %util是100%。 同时,I / O总吞吐量( rMB/s+wMB/s )约为18MB / s,比磁盘速度慢10-20倍。 这和rMB/s与r/s的比率,导致我得出这样的结论:不是一次读取每个文件的大块,NFS最终以小块读取文件,在不同文件之间大量交织块。 这反过来导致大量的磁盘查找,性能下降。 你会说证据certificate这个结论是正确的吗? 你会推荐什么来解决这个问题? 我可以更改阅读应用程序,并可以调整服务器和客户端上的NFS设置。 我使用内核2.6.18的RedHat 5.6, 我相信限制rsize到32KB(我很乐意在这方面被certificate是错误的)。 编辑:当只有一个客户端读取单个文件时,情况如何: 设备:rrqm / […]

NFSv4 – ACL不起作用

我已经安装了NFSv4服务器(Debian)和客户端(Ubuntu / Mythbuntu)。 看起来uid 用户名映射工作得很好(即使用户名不匹配,我在ls -l上也得到了正确的用户名),但是ACL不起作用。 我已经安装了nfs4-acl-tools,并且可以在客户端上正确读取ACL,但是它们没有得到应用。 ACL需要做什么工作? 澄清; 用户名映射适用于常规权限。 使用uid / gid应用ACL(我甚至可以通过uid设置ACL,并且它们可以工作)。

在使用22TB导出的JFS文件系统运行NFS的Debian服务器上的写入性能不佳

我正在运行一个debian服务器,通过NFS(nfs-kernel-server)导出一个大的JFS文件系统(22TB)。当试图写入NFS共享时,性能非常差。 22TB磁盘坐在使用iSCSI安装的NAS上。 它会在预计的线速度附近爆发片刻,然后闲置几秒钟。 在低kb /秒时测量的stream量非常less。 等待偷看写。 从NFS安装读取时,系统以预期的速度(11MB / sec)运行。 使用SFTP,rsync或本地应对(非nfs)时不会发生此问题。 这个问题在稳定和testing版本之间依然存在。 在同一台机器上,我有一个14TB的ext4文件系统使用完全相同的导出configuration,不会共享问题。 这个份额不是经常使用,因此不会消耗资源。 NFS服务器: cat /etc/exports /data2 10.1.20.86(rw,no_subtree_check,async,all_squash) cat /sys/block/sdb/queue/scheduler noop [deadline] cfq cat /etc/default/nfs-kernel-server RPCNFSDCOUNT=8 RPCNFSDPRIORITY=0 RPCMOUNTDOPTS=–manage-gids NEED_SVCGSSD= RPCSVCGSSDOPTS= NFS客户端: cat /etc/fstab 10.1.20.100:/data2 /root/incoming nfs rw,noatime,soft,intr,noacl 0 2 cat /sys/block/sdb/queue/scheduler noop [deadline] cfq cat /proc/mounts 10.1.20.100:/data2/ /root/incoming nfs4 rw,noatime,vers=4,rsize=262144,wsize=262144,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.20.86,minorversion=0,addr=10.1.20.100 0 0 这个问题让我非常难过。 任何帮助将非常欢迎。 谢谢。

在Windows 8非企业上挂载NFS

我已经阅读了类似问题的答案,但是我想在这里以非常狭窄的范围来提问。 假设Windows 8,而不是企业(这意味着没有提供本地NFSfunction的Unix应用程序的服务),我怎么能挂载一个NFS共享? 编辑:第三方软件是可以接受的,唯一的答案,我想。

重新启动后NFS服务器不能共享

我有两个Linode容器。 Box A是我们的通用Web服务器。 偶尔需要访问Box B,它被设置为一个NFS服务器。 当Box B重新启动时,Box A无论如何都无法访问任何NFS共享。 经过几个小时的故障排除,我终于能够缩小到一个单一的步骤。 Box B重新启动后: $ sudo service nfs restart 这些都是最新的CentOS 6.8盒。 我相信NFS相关的软件包都是通过yum安装的。 整个事情的build立确实遇到了一些麻烦, 这不是一个平稳的过程,但重新启动nfs服务后,一切都很好。 如果我 $ sudo service –status-all 重启之前和之后没有区别。 也许这是一个时间问题? 但我不知道如何开始麻烦拍这个。 我能做什么? 其他注意事项: 我正在使用autofs自动安装来自Box A的按需共享,但共享也不会手动挂载 我花了我的时间在Windows和Mac台式机和服务器,但我已经在Linux上运行多年的网站。 我精通我需要做的事情,但这并不是我的安慰,我花了很多时间用Googlesearch新的东西。 我甚至不知道在哪里检查。 我没有看到任何明显的日志,但告诉我要寻找什么,我会发布。 更新 在框B上: [shorowitz@BoxB ~]$ sudo chkconfig –list nfs nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off [shorowitz@BoxB ~]$ […]

如何允许写入挂载的NFS分区

你如何允许特定的用户权限写入NFS分区? 我在本地主机(一个Fedora安装)上挂载了一个NFS共享,并且我可以以root身份读写,但是我无法写成apache用户,即使我本地共享中的所有文件和目录和远程主机是由Apache拥有。 例如,我已经通过这一行挂载在我的/ etc / fstab中: remotehost:/data/media /data/media nfs _netdev,soft,intr,rw,bg 0 0 这两个位置都是由apache拥有的: [root@remotehost ~]# ls -la /data total 24 drwxr-xr-x. 6 root root 4096 Jan 6 2011 . dr-xr-xr-x. 28 root root 4096 Oct 31 2011 .. drwxr-xr-x 4 apache apache 4096 Jan 14 2011 media [root@localhost ~]# ls -la /data total 16 drwxr-xr-x […]

把pulseaudio移出家门

我们有一堆Ubuntu桌面,其主目录作为NFS共享挂载。 如果一个NFS连接被丢弃,即使看起来不到一秒钟,pulseaudio也会失去主意。 结果要么是暂时的软锁(Ubuntu会让屏幕灰屏),崩溃,甚至是一些恐慌。 您可以通过简单的Googlesearch条件查看无数的NFS + pulseaudio问题。 由于这个原因,我真的只想把脉冲从家里搬出来,放在更合适的地方或机器特定的地方。 出于某种原因,pulseaudio是关于安全性的。 即使我不确定为什么对于一个声音守护进程来说如此重要,我并不是很在意这一点。 但是他们的限制太狭隘了。 例如,我试着将/〜/ /脉冲到/ tmp,它会返回以下内容: Failed to create secure directory: Too many levels of symbolic links 而脉搏将退出。 然后,我碰到这个线程 ,它声明了可以设置为将脉冲指向其他目录的环境variables。 所以我试着设置脉冲发射器( /etc/xdg/autostart/pulseaudio.desktop )来使用下面的Exec行: Exec='PULSE_DIR="/tmp/$( whoami )-pulse"; PULSE_CONFIG_PATH=PULSE_DIR; PULSE_STATE_PATH=PULSE_DIR; PULSE_RUNTIME_PATH=PULSE_DIR; mkdir -p $PULSE_DIR && chmod 700 $PULSE_DIR && start-pulseaudio-x11' 我甚至尝试设置权限和所有者的东西,我认为脉冲会很满意。 我从bug 662中发布的stacktrace中收集了我想要的内容(关于这个问题的更多信息也在这里)。 但是,这组命令导致脉冲抛出以下,然后退出。 Failed to create secure directory: Permission […]

NFS软装载超时太慢

我们有一个非常繁忙的服务器集群。 我们的16台应用程序服务器为每台机器上的本地SSD提供应用程序,但它们也处理图像,然后由我们的cdn提供服务。 正因为如此,我们有一对中央映像服务器,我们从我们的应用程序服务器上挂载。 我们最近遇到了一个需要我们closures的图像服务器的问题。 没有什么大不了的,我们的CDN仍然会服务于我们大部分的图像,所以没有人应该注意到停机时间。 不完全的.. 应用程序服务器不是继续正常的操作,而是加载并崩溃,或者变得没有响应。 经过一天的挖掘,我们把问题缩小到了我们的nfs坐标上。 即使没有读取或写入NFS的装载,简单的事实,这是事端,导致Apache完全冻结。 没有什么大不了的,我们做了一些研究,发现我们将nfs卷作为硬盘挂载,我们需要切换到软mount,使用intr ,同时设置timeo值和retr值。 我们把重试次数设置为0,并设置timeo=1 (十分之一秒,所以我认为1是最低的)。 通过这些设置,我们closures映像服务器以复制早期的崩溃,并等待发生的事情。 结果是好的,但只是整个系统没有崩溃,但服务,因为如此缓慢,它可能已经下降。 看来,即使在十分之一秒的时间内,nfs挂载时间也太长了,所以我们最终在负载平衡器上积累了大量的连接,也许是1/10的容量。 为了validation我的结果,我从16个应用服务器中的4个卸载了nfs mount,并且向这4个服务器请求级别是完全正常的。 那么,有没有办法为nfs mount设置一个较低的超时时间,或者在发生错误时卸载驱动器,并且在down服务器恢复联机后自动重新挂载? 或者,有没有另一种解决scheme,我不能为我们的系统增加一些复杂性?

我如何testingfcntl()锁与我的NFS安装程序一起工作?

从SQLite常见问题解答 : 多个应用程序或同一应用程序的多个实例可以同时访问单个数据库文件吗? … SQLite使用读写器锁来控制对数据库的访问。 …但请小心:如果数据库文件保存在NFS文件系统上,则此locking机制可能无法正常工作。 这是因为fcntl()文件locking在许多NFS实现上被破坏。 如果多个进程可能试图同时访问文件,则应该避免将SQLite数据库文件放在NFS上。 … 是否有一个简单的testing,看看fcntl()locking是否适用于我的NFS客户端和服务器的组合?