我想知道为什么NFS v4会比NFS v3快得多,如果v3上有任何参数可以调整。 我挂载一个文件系统 sudo mount -o 'rw,bg,hard,nointr,rsize=1048576,wsize=1048576,vers=4' toto:/test /test 然后运行 dd if=/test/file of=/dev/null bs=1024k 我可以读取200-400MB / s,但是当我更改版本为vers=3 ,重新安装并重新运行dd,我只能获得90MB / s 。 我正在读取的文件是NFS服务器上的内存文件。 连接的两端都是Solaris,并具有10GbE NIC。 我通过在所有testing之间重新安装来避免任何客户端caching。 我使用dtrace在服务器上查看数据通过NFS服务的速度。 对于v3和v4我改变了: nfs4_bsize nfs3_bsize 从默认的32K到1M(在V4上,我用32K的最高速度为150MB /秒)我试过调整 nfs3_max_threads clnt_max_conns nfs3_async_clusters 提高V3的性能,但没有去。 在v3上,如果我运行四个并行dd ,吞吐量从90MB / s下降到70-80MB,这导致我认为问题是一些共享资源,如果是的话,那么我想知道它是什么,如果我可以增加那个资源。 dtrace代码获取窗口大小: #!/usr/sbin/dtrace -s #pragma D option quiet #pragma D option defaultargs inline string ADDR=$$1; dtrace:::BEGIN […]
我在Linux上被NFS4困扰了一下。 有些信息似乎与其他信息相冲突,其他信息似乎很难find。 所以这里有几件事引起了我的注意,希望有人能在这方面做点什么。 这个问题专注于没有Kerberos等的NFS4。 1.出口 / etc / exports结构中的exports manpage中有不明确的信息。 从exports(5)报价exports(5) : 此外,每行可能有一个或多个默认选项的规格,path名后面是短划线(“ – ”),后跟选项列表。 选项列表仅用于该行上的所有后续导出。 “仅此后出口”是指什么? 1.2 fsid=0不再需要了吗? 当我在linux-nfs列表中发现了一个注释,说fsid = 0不再需要的时候,我正在寻找fsid。 现在我只是困惑,我需要与nfs4或不? 2.非导出目录仍可安装 说我有以下树: /exp /exp/users /exp/distr /exp/distr/archlinux /exp/distr/debian 我在这个fstab条目中有以下条目: /dev/disk/by-label/users /mnt/users ext4 defaults 0 0 /dev/disk/by-label/distr /mnt/distr ext4 defaults 0 0 /mnt/users /exp/users none bind 0 0 /mnt/distr /exp/distr none bind 0 0 […]
NFSv3是普遍的,但默认的安全模型是… 古怪 。 CIFS可以使用Kerberos身份validation,但是如果没有POSIX语义,则它是非启动器。 AFS从来没有encryptionnetworking上的stream量,是krb4 – 基本上是一个死的项目。 花哨的新实验性文件系统要么从未实现,要么专注于速度(如果幸运的话,数据可靠性) – 例如,Lustre使用与NFSv3相同的客户端信任模型。 对于家庭使用,sshfs是漂亮的,但是肯定不会缩放。 然后当然还有NFSv4,sec = krb5p。 理论上很好,但是十年之后,似乎在现实世界中还没有得到应用。 Linux客户端刚刚删除了实验性标签。 而如果你看看EMC Celerra,Isilon等等,那都是NFSv3。 (Celerra支持NFSv4,但是它真的被埋在了文档里面,Isilon显然是在为FreeBSD添加RPCGSS支持,所以也许到了,但是现在还没有。)我甚至不能把这个post标记为“nfsv4”,因为我这里是新的, 这将是一个新的标签 。 所以, 真的 。 你在做什么?