我们拥有一个拥有约100 CentOS(免费重新分配RHEL)5.7和6.5 x86_64服务器的内部“计算场”。 (我们正在将所有的5.7盒升级到6.5)。所有这些机器对两台CentOS 6.5服务器执行两次NFSv4挂载(sec = krb5p)。 一个NFS服务器用于用户主目录,另一个包含用于用户进程的各种数据。 随机地,其中一台客户端机器将进入一个坏的状态,因此任何对NFSv4挂载的访问都会挂起(例如“ls”)。 这意味着没有人(root除外)可以login,并且所有需要访问共享的用户进程都卡住了。 换句话说,到目前为止,这是非确定性的,不能被复制。 我在客户端和服务器上都启用了非常详细的NFS日志logging,但是从来没有得到任何错误。 但是,当这个状态被触发时,我确实在客户端机器上遇到这些内核跟踪错误: Mar 25 00:49:48 servername kernel: INFO: task ProcessName:8230 blocked for more than 120 seconds. Mar 25 00:49:48 servername kernel: Not tainted 2.6.32-431.el6.x86_64 #1 Mar 25 00:49:48 servername kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Mar 25 00:49:48 servername kernel: ProcessName D […]
NFS服务器是一个SLES11SP3,这里是出口语句: /media/data *domain.com(rw,sync,no_root_squash,fsid=1) 我怀疑这是客户端(RHEL6)上的caching问题,但是我相信我把所有的caching都关掉了,问题仍然存在。 问题如何显示: 在服务器上,我做了一个touch /media/data/test 。 该文件不显示在客户端上,即使我等了几分钟。 如果我touch /media/data (目录)在服务器上,然后显示。 当我从客户端touch /data/test2时也会出现。 我在客户端上试过的东西: # original server:/media/data /data nfs rw,soft,vers=3,rsize=1048576,wsize=1048576,mountvers=3,sync,lookupcache=none # mod 1 (remove parameters which have defaults: size, mountvers; add noac) server:/media/data /data nfs rw,soft,vers=3,sync,lookupcache=none,noac 0 0 我也试着用hard安装,并指定actimeo=1 ,没有效果。 我已经看到这个和这个 。 没有帮助。 更新#1 看起来底层文件系统是特殊的。 服务器上的底层文件系统是Novell NSS卷。 NSS具有一些独特的属性,比如将文件的创build时间映射到Linux中的ctime (原本就是那里的更改时间)。 含义:在修改目录内容时,只有mtime被更新,而不是ctime。 显然,RHEL NFS客户端并不认为这是更新其caching的充分理由,而SuSE NFS客户端似乎是为此修补的。 有什么select? […]
这是我的设置: 办公室计算机在networking中,无法从外部访问,(OC) embedded式计算机领域(FC) 服务器在办公室,包含现场计算机需要访问的数据。 办公室计算机从这台服务器挂载一个目录,它是NFS 我经常通过SSH在现场计算机上工作,问题是从现场计算机访问办公室服务器上的数据。 到目前为止,我通过用sshfs将现场计算机安装在办公室计算机上解决了这个问题。 它工作正常,但它有缺点。 我想直接从我的SSH会话中获取和推送信息,而不是从本地办公室计算机上的另一个本地会话中获取信息(例如,从sshfs挂载点运行git的速度非常慢)。 我知道这可以通过SSH反向隧道来实现。 这是我试过的,从办公室计算机(OC)login到现场计算机(FC): gauthier@OC $ ssh -R 9001:<nfs_server_name>:2049 FC (FC在我的~/.ssh/config ) 据我了解,这将打开FC上的端口9001,以听取端口2049上的OC的<nfs_server_name>的想法。 9001可以是任何不保留的,2049是NFS的端口。 我可以从OC中ping <nfs_server_name> 。 SSH到FC之后,我尝试挂载端口为NFS: gauthier@FC $ mkdir mp_test gauthier@FC $ sudo mount -t nfs localhost:9001 mp_test/ 这只是挂起,然后超时。 我以为我可能需要在NFS服务器上给path,所以我也试过: gauthier@FC $ sudo mount -t nfs localhost:9001:/path/to/directory/I/usually/mount mp_test/ 显然我做错了,无论是与端口或与mount 。 一直在努力的是使FC的端口9001在端口80上监听OC的<nfs_server_name> 。然后我可以在FC上打开localhost:9001并查看NFS服务器的Web界面。 这让我觉得我相当接近。 如何在现场计算机上安装办公室NFS服务器目录? 经过一些更多的search ,我试过这个: […]
我在打开pf时无法build立新的NFS连接。 当我在服务器和客户端上closurespf时,我可以毫不费力地挂载。 我试图keep state并在服务器configuration上flags S/SA ,但是给出了相同的结果。 我是否设置了错误的标志? 客户端pf.conf : pass in on $int_if inet proto { tcp udp } from $nfs_int_ip to ($int_if) port { sunrpc nfsd-status nfsd-keepalive nfsd lockd } pass out on $int_if inet proto { tcp udp } from ($int_if) to $nfs_int_ip port { sunrpc nfsd-status nfsd-keepalive nfsd lockd } 服务器pf.conf : […]
我想使用NFS共享进行备份。 我已经在客户端上创build了一个特定的uid / gid组合,用于将文件写入NFS共享。 到现在为止还挺好。 但是,我需要sudo来读取所有用户的主目录在本地框进行备份。 但是当我这样做时,uid / gid被设置为0,我不能再访问NFS共享。 如何避免访问服务器或更改本地文件的权限?
目标:我想在linux机器上安装一个只读权限的windows目录,而不用inputwindows凭证。 我知道这是有风险的,但我不担心这里的安全性,因为我的机器的Windows和Linux都在一个专用的networking。 这就是我不想做CIFS挂载的原因,因为它需要Windows凭据。 我在这里假设NFS挂载不需要用户凭据(至less在UNIX世界中)。 我希望在Windows世界也是一样的。 所以我尝试通过官方的Windows网站安装Windows版本3.5的UNIX服务,但它会抛出一个错误,说它无法在64位操作系统上安装。 我的问题是我正在写一个工具,需要最低限度的用户干预,我不希望我的用户键入他的Windows密码,当我的应用程序试图挂载他的Windows目录在Linux机器上。 PS:我是新来的Windows世界。 我知道可以通过SAMBA在Windows机器上查看linux共享目录而不需要任何密码。 只是想知道如果反之亦然。
我遇到了由du生成的圆形目录结构警告,并在我的CentOS服务器上find问题。 我有两台FreeNAS服务器通过NFS将多个数据集导出,这些数据集以分层结构安装在CentOS服务器上。 例如: FreeNAS datasets: u, home, user1, user2 CentOS file hierarchy: /u /u/home /u/home/user1 /u/home/user2 当我跑步find这棵树的任何地方时,他们感到不安,告诉我有一个循环的文件结构。 find: File system loop detected; './u/home/user1' is part of the same file system loop as '/u/home'. du: WARNING: Circular directory structure. This almost certainly means that you have a corrupted file system. NOTIFY YOUR SYSTEM MANAGER. The following […]
我可以通过一个SAN访问大约80TB的容量,我想把它设置为2个NFS共享:1个共享70TB,1个共享10TB。 10TB的份额将完全备份到磁带,而70TB的份额将没有备份。 使用LVM我将设置两个逻辑卷,每个这些共享一个。 这两个NFS共享的用法是将文件提供给运行扭矩集群软件的大约20个节点的集群,以及具有Rstudio的几个节点。 我预计任何时候都有大约10到20个用户访问系统。 现在,在设置卷之前,SAN上的容量需要分成LUN。 鉴于上面的情况将是一个可以接受的LUN大小? 我知道,决定LUN大小的一个可能因素是性能与维护性,即较less的LUN具有较低的维护成本,但性能较低。 鉴于此,逻辑LUN大小似乎为2.5或5TB,因为LUN数量不是太高,但是我获得了多个LUN性能的一些优势。 这是一个适当的LUN大小,或者我应该考虑替代? 编辑: 客户端操作系统:Centos 6.6networking:从NFS文件服务器到SAN,以循环方式连接2个10千兆networking连接。
在NFS服务器上,当我扩展逻辑卷(使用lvm2)以及随后的ext4 fs(使用resize2fs)时,我可以在本地使用df查看新的大小。 但是通过NFS挂载这个分区的NFS客户端仍然可以看到旧的大小。 重新启动服务器和客户机都不能解决问题。 为什么会这样呢? 如何解决它? 注意:客户端和服务器上的Ubuntu服务器14.04
我有3台服务器: Server1:存储我的数据。 有一个导出的文件夹。 Debian 7 – x86_64上的Linux 3.2.0-4-amd64 Server2:“客户端”在哪里安装了Server1导出的文件夹。 Debian 7 – x86_64上的Linux 3.2.0-4-amd64 Server3:另一个“客户端”,我想要安装相同的Server1导出的文件夹。 Debian 8 – x86_64上的Linux 3.16.0-4-amd64。 我无法使用以下命令在Server3上挂载NFS共享: mount -t nfs Server1:/home/exported_folder /home/folder -v 以下是命令的结果: mount.nfs: timeout set for Thu Jun 25 11:18:57 2015 mount.nfs: trying text-based options 'vers=4,addr=192.168.xxx.xxx,clientaddr=192.168.xxx.xxx' mount.nfs: mount(2): Permission denied mount.nfs: access denied by server while mounting Server1:/home/folder 我用这个命令挂载Server2上的文件夹,我的Server2 […]