Articles of nfs

NFS I / O监视

我有一个NFS挂载的目录,我想监视它的I / O使用情况(MB / s的读取和写入)。 推荐的方法是什么? 这是NFS客户端,我没有访问NFS服务器。 我对一般的I / O使用不感兴趣(否则我会使用vmstat / iostat)。 它也有多个NFS挂载,我有兴趣监视一个特定的挂载(或者我可能已经使用空灵)。 谢谢!

在nfs挂载之前运行的Crontab

运行Cronjob @reboot返回nfs共享上的文件不存在。 例 @reboot python /abs/path/to/script.py 启动时从crontab发来的邮件读取“或多或less” /usr/bin/python can't open file "/abs/path/to/script.py": [Error No. 2] No such file or folder. 脚本可以从命令行运行,没有问题 理论上说,在mount已经运行之前,cronjob正在运行。 问题。 这个理论是正确的吗? 有没有办法强制这个工作,直到驱动器已经挂起wa?? ….除了在命令中join睡眠60以外。 ;)我已经尝试过了,但是碰到并错过了,我需要这个脚本快速运行100%的时间。

DRBD与GlusterFS进行复制

我需要build立一个解决scheme来托pipe内部的git仓库。 它需要支持数十万(或更多)的存储库。 我计划使用多个“哑”服务器与共享存储,所以基本上当客户端试图访问存储库 – 它将被负载平衡器redirect到任何可用的服务器。 任何对存储库的更改 – 都将在所有节点上进行复制。 我的第一个想法是使用GlusterFS,但我读过它不能很好地处理小文件。 我也在考虑使用DRBD来复制所有的东西,但是与GlusterFS相比,这需要更多的设置,而且看起来更加复杂。 哪一个提供更好的performance? 基本上我试图解决的问题是,当任何服务器发生故障时 – 我希望其他人仍然能够提供数据。

我能做些什么来优化1GBit家庭networking上的NFS拷贝速度?

我有一个1 GBit / sec交换机作为中心点的家庭networking,所有计算机都有1 GBit / sec的NIC。 但是,我通过NFS共享最多可以获得200 MBit / sec的拷贝速度。 看来我应该可以得到更多。 我现实的期望是什么,如何调整我的系统和NFS服务器以获得更高的速度? 所有涉及的系统都是Linux,顺便说一下(CentOS和Fedora的组合)。

在FreeBSD上,权限不会对Kerberised NFSv4起作用

我目前正在尝试在FreeBSD上设置NFSv4服务器。 我在其他Unices(Solaris和Linux)上做了这方面的工作经验丰富,但对于FreeBSD我还是比较新的。 我的目标是实现以下目标: FreeBSD系统提供的文件 唯一的安全模式应该是krb5p 客户端是Linux(Ubuntu)和OSX 目前,我已经设置了一些东西,以便我需要一个有效的TGT来访问文件系统。 试图访问这些文件后,我可以在客户端上运行klist ,我可以看到nfs/domainname主体已被检索。 这表明NFS挂载的Kerberos部分是正确的。 我的问题是,所有的客户端访问仍然使用nobody用户执行。 当我执行ls -l时,我可以看到权限。 即使用户映射工作正常,但除非nobody有权对文件进行任何操作,否则我将获得拒绝权限。 这里有一个来自客户端的示例交互(在这种情况下是Ubuntu,但是OSX发生同样的事情)。 在这个例子中, /export/shared/testshare是FreeBSD服务器的共享目录: (我已经将实际域名更改为domain ,将Kerberos域名更改为REALM ) $ kinit Password for elias@REALM: $ klist Ticket cache: FILE:/tmp/krb5cc_1000_GBjtDP Default principal: elias@REALM Valid starting Expires Service principal 09/02/2013 09:40:47 10/02/2013 09:40:44 krbtgt/REALM@REALM $ sudo mount -t nfs4 -osec=krb5p,vers=4 lion:/export/shared/testshare /mnt $ ls -l /mnt […]

Windows 7 NFS客户端使用Kerberos和Linux KDC

我试图configuration一个Windows 7企业客户端,使用Kerberos和Linux KDC在Linux NFS服务器上安装NFSv4共享。 设置是: IPA服务器(操作系统:Scientific Linux 6.4,Pkg:ipa-server) NFS服务器(操作系统:Scientific Linux 6.4,Pkg:nfs-utils) Windows 7客户端(操作系统:企业版64位,function:NFS客户端) 脚步: 在IPA服务器上,为Windows客户端创build一个主体,并input密码: ipa host-add –ip-address=10.10.0.100 win7ent-client.contoso.com ipa-getkeytab -s ipa.contoso.com -p host/win7ent-client.contoso.com -k win7ent-client.keytab -P ^ | This will create a principal and register the client with IPA server Set a random password – eg – jU96e3Urp6 为客户端添加NFS服务: ipa service-add nfs / win7ent-client.contoso.com […]

Mac OS X客户端在通过NFSv4挂载和写入Linux服务器时崩溃

我们是一家拥有大约30台Mac电脑的Linux商店。 我们的Leopard和Snow Leopard系统设置了LDAP身份validation和自动安装的NFSv3主目录,因此我们的工作人员使用OS X或Ubuntu时具有相同的login名和文件。 我们唯一的问题是,使用NFSv3,我们不能使用Firefox> = 4.这个问题在Lion中仍然存在。 现在OS X在Lion中支持NFSv4,我决定尝试一下。 它迅速失败。 我无法打开应用程序。 当我用sshlogin时,许多与文件操作相关的命令都会挂起。 在Linux NFSv4客户端上,您必须在/etc/idmpad.conf中设置一个用于在客户端和服务器之间映射用户名的域名。 狮子有没有这样的东西? 还有其他configuration设置我需要检查吗? 我也尝试使用最新版本的Netatalk,但过了一段时间,Microsoft Word开始说文件是只读的。 更新的信息 我们发现在NFSv3中使用asynchronous解决了我们与Firefox的问题。 不幸的是,asynchronous并不能解决NFSv4的问题。 原来这是对这个问题的误解。 asynchronous不能解决NFSv3或NFSv4的问题。 testing方法 我们在LDAP服务器上有几个testing帐户,autofs条目指向Ubuntu上的NFSv4服务器。 我通过login窗口或sshlogin进行testing。 在GUI中,我尝试打开应用程序和编辑文本文件。 通过SSH,我尝试用vim编辑文本文件。 对于NFSpipe理器的build议,我用su来成为这些用户之一,并尝试用vim编辑文件。 服务器设置 这是我的testingnfsv4服务器的/ etc / exports。 这些设置与生产NFSv3服务器相同。 /var/lib/nfs/v4root @utm(ro,fsid=0,root_squash,insecure,no_subtree_check,async) @admin(ro,fsid=0,no_root_squash,insecure,no_subtree_check,async) /var/lib/nfs/v4root/d2/export/fac @utm(fsid=31,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=31,rw,async,no_root_squash,no_subtree_check,insecure) /var/lib/nfs/v4root/d2/export/grad @utm(fsid=32,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=32,rw,async,no_root_squash,no_subtree_check,insecure) /var/lib/nfs/v4root/d2/export/staff @utm(fsid=33,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=33,rw,async,no_root_squash,no_subtree_check,insecure) /d2/export/fac @utm(fsid=41,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=41,rw,async,no_root_squash,no_subtree_check,insecure) /d2/export/grad @utm(fsid=42,rw,async,root_squash,no_subtree_check,insecure) @admin(fsid=42,rw,async,no_root_squash,no_subtree_check,insecure) /d2/export/staff @utm(fsid=43,rw,async,root_squash,no_subtree_check,insecure) […]

NFSv4用户映射

这个问题似乎已经被问了很多次了,但其他的答案不知道怎么适用于我。 基本上我只是build立了一个新的NFSv4服务器,我正面临着UID和GID在服务器和客户端之间不匹配的经典问题。 但是,在我的情况下,同步/ etc / passwd和/ etc / group是不可行的。 请注意,我在两台机器上都有相同的用户(与此问题相反)。 因此,我正在研究idmap:根据一些消息来源,似乎NFSv4发送用户名(而不是NFSv3发送UID / GID的行为),idmap的作用是将这些用户名转换为服务器UID / GID。 但是,这似乎不工作在我的情况下(安装细节下面),我认为非常标准(几乎只有从回购安装的NFS)。 我错过了什么吗? 有没有办法让这个工作没有设置LDAP或Kerberos? 服务器设置 服务器已安装Ubuntu 16.04和两个用户。 user1@server:~$ id user1 uid=1000(user1) gid=1000(user1) groups=1000(user1),27(sudo) user1@server:~$ id user2 uid=1001(user2) gid=1001(user2) groups=1001(user2) NFS从repo安装并configuration为导出testing文件夹。 user1@server:~$ sudo apt-get install nfs-kernel-server user1@server:~$ sudo cat /proc/fs/nfsd/versions +2 +3 +4 +4.1 +4.2 user1@server:~$ ls -ld /srv/nfs/test/ drwxrwxrwx 2 nobody […]

如何在客户端的/ etc / fstab中通过UUID引用NFS共享

我有我的服务器上的以下NFS导出,与fsid设置为新生成的UUID。 / etc / exports中: /mnt/data client(ro,fsid=b07f5af6-6b10-11e3-b4c1-00248115724d) 然后我会运行exportfs -rav ,它不会返回任何错误,但我不知道如何在客户端上安装它。 如果fsid被设置为0或root我可以挂载如下: # mount server:/ /mnt/Media 如何在mount命令或/ etc / fstab文件中引用UUID? 以下不起作用: server:$uuid server:/$uuid server:UUID=$uuid server:/UUID=$uuid 失败的错误: mount.nfs: Operation not permitted

MTU和NFS rsize / wsize选项之间的关系

我试图了解与NFS和各种缓冲区大小有关的networking设置(并且有不less)。 我正在运行wireshark并检查到达NFS服务器的TCP数据包。 Wireshark在扩展写入操作(客户端 – >服务器)期间显示最大数据包大小32626,假设我解释正确(“我认为networking上的字节包含所有networking层头等) 导出存储的“rsize”和“wsize”NFS设置在C / S上都设置为32k,所以我想上面的结果是这个设置的结果。 但是,增加这些值不会增加Wireshark显示的数据包大小。 所以我的问题是,还有什么其他的限制? 我做了相当多的研究,这是我到目前为止所遇到的。 在我看来,下面的networking限制都不会限制传输大小为32k: 从sysctl: net.ipv4.tcp_mem = 4096 87380 4194304 net.ipv4.tcp_{r,w}mem = 4096 87380 4194304 net.core.{r,w}mem_max = 131071 net.core.rmem_default = 229376 我的MTU目前是8K