Articles of nfs

在D状态下的php-fpm进程,导致nfs等待rpc_wait_bit_killable

我的WordPress的网站是在群集环境中使用NFS,Nginx的,PHP的FMP,MySQL的基础设施托pipe在亚马逊ec2.Under负载/stream量php5-fpm进程进入D状态(不可连续的睡眠)和网站崩溃。 在检查与命令 echo w > /proc/sysrq-trigger; dmesg -c | less; 发现php-fpm处于阻塞状态内核堆栈跟踪 [6615425.408345] SysRq:显示阻塞状态[6615425.408362]任务 PC堆栈PID父亲[6615425.408444] PHP5-FPM d 0000000000000000 0 16616 12079 00000000 [6615425.408453] ffff880001793938 0000000000000246 ffff880001793fd8 0000000000014580 [6615425.408457] ffff880001793fd8 0000000000014580 ffff88001cad1770 ffff88001cad1770 [6615425.408460] ffff88006c88ba00 0000000000000082 ffffffffa0044190 ffff8800017939b0 [6615425.408463]呼叫跟踪:[6615425.408491] []? __rpc_wait_for_completion_task + 0x30 / 0x30 [sunrpc] [6615425.408497] [] schedule + 0x29 / 0x70 [6615425.408506] [] rpc_wait_bit_killable + […]

NFS导出CIFS共享

我有一个服务器192.168.1.1 samba共享挂载到/ image 我想在这台机器上设置NFS服务器,通过NFS共享挂载/映像文件夹。 当我把它添加到出口文件,我得到一个警告: exportfs:/ image不支持NFS导出 所以我的问题很简单 是否有可能通过NFS重新分享samba mount? 如果不是那么解决这个问题的最快方法是什么? 谢谢

什么是一些好的方法来识别在NFS服务器上造成高负载的NFS客户端

有时我的nfs4服务器处于高负载状态。 有什么好的工具可以识别哪个客户端导致它。 在nfs服务器上运行iotop和nfsstat只显示无助于识别nfs客户端的一般负载信息。 我不想遍历所有可能的nfs客户端,并在其上运行提及的工具。 我提出的最佳解决scheme是在服务器上运行tcpdump,然后按照与nfs相关的通信量对ip地址进行sorting。 有没有更好的方法来做到这一点?

NFS写权限 – ls -l显示我拥有它; 我其实没有

我有一个NFS服务器为几个客户端服务。 除了一个以外,权限可以正常工作。 客户端安装nfs共享正常,权限都正确地放在正确的用户。 事实上, ls -l /home/ returns: drwxr-xr-x 22 user user 12288 Jan 27 14:30 user “用户”是从NFS安装的驱动器。 这是设置,以便任何用户可以login到服务器,并立即访问NFS(以便人们将实际使用它:) 但是,当login到user ,当我touch /home/user/test.txt我得到这个错误: touch: cannot touch `/home/user/test.txt': Permission denied 改变文件的方式是一样的。 我可以通过sudo创build文件,但不能通过单独使用(谁拥有目录,并具有对文件夹的读/写访问权限)。 服务器设置: cat /etc/exports /raid/nfs/home server1(rw,sync,no_root_squash,no_subtree_check) /raid/nfs/home server2(rw,sync,no_root_squash,no_subtree_check) 同样,只有一个服务器(五个)有这个问题。 客户端设置: cat /sys/module/nfs/parameters/nfs4_disable_idmapping N cat /etc/idmapd.conf [General] Verbosity = 0 Pipefs-Directory = /run/rpc_pipefs # set your own […]

挂载的NFS问题:“没有这样的文件或目录”,但存在文件和目录

因此,我们有一个运行CentOS 6.6的中型NFS4存储服务器,导出NFS共享/storageDat (这是NFS根目录,其中绑定了两个RAID卷: ./dat1和./dat2 )。 导出选项: rw,sync,no_wdelay,no_subtree_check,fsid=0 我们在很多Fedora20工作站和桌面(> 100)上安装了NFS, 大部分情况下,一切运行良好,使用rU rw,relatime,vers=4.0,rsize=8192,wsize=8192,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.216.10.1,local_lock=none,addr=10.216.14.200 ,mountpoint /storageDat快速(读取> 400MByte / s传输) 然而,有时候,在单台机器上,NFS将执行以下操作:要运行的程序必须访问NFS上的某个深层文件夹: /storageDat/dat2/projects/other/Tool_does_special/ProjectX/Sample/tooloutputR2 这将导致一个困难的'没有这样的文件或目录'看在服务器上,目录存在,访问权限是正确的(甚至与有问题的用户进行testing); 回到客户端: ls -al完整的文件抛出'没有这样的文件或目录' ls -al '从完整path的父目录,即。 /storageDat/dat2/projects/other/Tool_does_special/ 工作并显示子目录(ProjectX.ProjectY) ls -al /storageDat/dat2/projects/other/Tool_does_special/ProjectX返回所有当前错误消息; 但进入目录 cd /storageDat/dat2/projects/other/Tool_does_special/ 然后执行一个ls -alR显示所有子目录中的所有文件就好了。 直接跟进一个 ls -al /storageDat/dat2/projects/other/Tool_does_special/ProjectX/Sample/tooloutputR2 然而,没有这样的文件[…]消息失败。 我们认为这是与NFScaching相关的某个地方,但是根本无法查明错误,无法预测其外观,并且不能可靠地使其消失。 甚至没有考虑修复它。 任何投入将不胜感激! (是的,我没有重新命名我的实际文件夹,我可以在网上发布)

NFS的执行方式比SSHFS差,我该如何debugging?

情况:zfs服务器超过10GbE p2p 192.168.201.1运行omnios,debian客户端为192.168.201.2 。 nfs在大文件上performance相当好,但在小文件上却非常慢。 例如, cp -r /etc /mnt/nfs_mountpoint需要8分钟,而cp -r /etc /mnt/sshfs_mountpoint需要40秒。 我已经用nfs mount参数进行了很多实验。 目前,挂载看起来像这样: zfs:/z2pool/fs on /mnt/shared/fs type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.201.1,mountvers=3,mountport=61082,mountproto=udp,local_lock=none,addr=192.168.201.1) 我已经在这里呆了几个星期了。 我不会downvote任何东西,因此审判n错误的build议是值得欢迎的。 更新:我已经尝试了asynchronous和同步没有或几乎没有区别。

vagrant ssh – 在添加synced_folder之后请求密码

我可以stream浪ssh到我的箱子罚款 Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Mon Apr 13 13:05:26 2015 from 10.0.2.2 vagrant@web01:~$ 在我的configuration脚本中,我添加了以下内容,随后尝试使用nfs和rsync。 web.vm.synced_folder ".", "/home/vagrant" 当我这样做的时候,当我vagrant reload时候,我被要求input密码。 [email protected]'s password: 只要我注释了同步的文件夹和stream浪再次加载,我收到以下消息。 我ctrl + c挂起 ==> web: Attempting graceful shutdown of VM… Text will be echoed in the clear. Please install the HighLine or Termios libraries […]

NFSv3客户端在读/写性能方面的差异

我正在处理几个使用NFS文件pipe理器的服务器。 在关键时刻,单个服务器每秒向文件pipe理器发送大约2k次读取和2k次写入。 根据nfsiostat在这些时间读写RTTs从通常5-10ms增加到50-100ms两个r / w。 根据nfsiostat的平均执行时间虽然读写有很大的不同:读取ca 200ms,写入100-200sec之间。 现在从我了解的平均执行时间在nfsiostat本质上是RTT +内核时间(RPC排队等)。 谈论RPC – 我在RH5.8(紧缩时的RPC backlog ca 5k)和RH6.3(RPC backlog 0在任何时候)看到完全相同的行为。 所以 – 问题:NFS读/写执行时间差异大的原因是什么? (NFS调用是由私有应用程序制作的,我没有太多的可见性,同样适用于文件pipe理器(NetApp – 外包),内核跟踪也许不会成为一种select) 非常感谢你提前。 编辑 :澄清,因为我得到了一些处理NFS性能一般的答案 – 真正感兴趣的我唯一的部分是:根据nfsiostat doco RTT是“…从客户端的内核发送RPC请求的时间,直到它收到答复的时间“。 Avg.exe是“从NFS客户端执行RPC请求到其内核直到RPC请求完成的时间,包括上面的RTT时间”。 ( http://man7.org/linux/man-pages/man8/nfsiostat.8.html )。 我的(也许是天真的)理解是在RTT之后服务器完成了,而不是等式。 那么,当RTT是相同的时,NFS客户端做什么使得Avg Exe对于读/写有很大的不同?

使用all_squash的NetApp NFS导出

我们有一个NetApp文件pipe理器(v8.1.4),它使用UNIX风格的qtree通过NFS共享一个卷到许多不同的计算机(用于一组前端和应用程序服务器的Web内容)。 我们试图找出一种方法来使用all_squash (使用anonuid/anogid )来强制所有客户端使用相同的UID / GID进行读/写操作。 这将允许应用程序/ www服务器读取和写入文件,而不需要在每个文件创build后chown / chmod。 NetApp似乎并不喜欢all_squash ,而且我也找不到在多台计算机(Ubuntu,OS X等)的客户端上执行此操作的方法。 我唯一的最后的办法是设置一个轮询任务,寻找fs的变化,并重置uid / gid和a + r每次创build文件或所有者被更改。 有没有办法强制NetApp方面,我失踪的uid / gid?

迁移到新SAN的最佳实践

我的合作者正在从他所在的研究所分手,希望能帮助他把他的应用和数据从研究所的networking中移走。 当然事情正在迅速发展。 他在400 TB SAN上有12 TB的图像数据,通过iSCSI进行寻址。 应用程序服务器目前运行在一个单独的1U戴尔披萨盒中,现在运行在Windows Server 2003上(计划升级到2012年,当应用程序公司certificate他们的产品构build时),该应用程序正式只支持iSCSI; 尽pipe该公司的一位长期技术代表说他已经看到了它与NFS的合作。 他说他只需要运行一个SQL脚本来更新path。 这是我build议的工作stream程: 在带有5个6TB磁盘的Dell Precision T7400上,在FreeBSD 10.2上安装zpool( tank ),在两个镜像vdevs中的RAIDZ1或4个磁盘中。 我们称这台机器为bohr 使用指向卷的LUN( images和images images2 )设置iSCSI目标, 将bohr插入研究所的networking(他们很好) 作为发起人或通过SMB安装研究所的SAN 将数据复制到LUN 将应用程序服务器指向新的LUN Charles(应用程序公司的代表)运行他的SQL 拿bohr和应用程序服务器,并在新的网站设置它们。 我想到的唯一select是让应用程序服务器进行传输。 看来这样做可能会让事情变得缓慢,但是也可以避免我必须成立bohr作为发起人。 我的问题:我有道理吗? 这个计划听起来好像会起作用吗? 我是否错过了任何步骤? 是否有意义的同时设置bohr同时通过NFS提供相同的数据(用于为其他研究用途提供数据)还是应该为所有客户端要求iscsi访问?