Articles of nfs

为什么我的代码更改没有立即反映?

我正在维护一个大的WordPress的网站,我试图解决一个不相干的问题,通过在代码中添加跟踪语句,只不过是调用error_log()。 简而言之,我的服务器设置是一个文件服务器,它通过nfs共享网站的文档根目录。 有2个networking服务器运行nginx + apc + php / fpm。 我正在编辑PHP文件直接在文件服务器上,当我从Web服务器查看文件时,我可以看到我的更改,但是当我尾巴错误日志我可以观察到我的更改不会立即反映。 我继续看到陈旧的陈述,好像我根本没有做出改变。 我的运行理论是代码caching在apc(duh)或在客户端nfscaching中(不太可能,因为我可以看到用vi编辑)。 我尝试通过使用运行apc_clear_cache()的脚本来刷新apccaching来缓解这种情况。 另外我已经重新启动了nginx以及php-fpm,希望能够刷新旧的cachingphp代码。 这些方法都没有工作,我必须等待一个小时或更长时间,然后才能看到我的代码更改反映在日志中。 我正在排除故障的网站是相当高的stream量,所以重新安装nfs份额不是真正的我的select。 我的假设是,APC操作码caching实际上并没有清除,但我一直在看apc.php的统计数据,我看到什么样子后,我运行我的刷新脚本重buildcaching。 我已经在这里工作了几天,解决一个简单的问题变成了一个非常头痛的问题。 任何人都可以提供其他东西的任何想法,看看或尝试使我的代码更改更直接?

如何使perllockingNFS中的非阻塞模式的文件

perl中的fcntl可以locking在NFS中,默认模式是阻塞模式。 如何使它成为非阻塞模式? 我尝试了下面的代码,但它不起作用 sub lock_file { my ($lock_file, $block) = @_; return unless defined $lock_file; my $LOCKFH; if (file_exist($lock_file)) { sysopen($LOCKFH, "$lock_file", O_RDWR) || return undef; } else { sysopen($LOCKFH, "$lock_file", O_RDWR|O_CREAT|O_EXCL) || return undef; } my $lock_ret = 0; my $pack; if ($block) { my $flags; fcntl($LOCKFH, F_GETFL, $flags); $flags &= !O_NONBLOCK; my $fail_block […]

为什么LXC由于“符号链接级别过多”而无法启动,而是从第二次或第三次尝试开始呢?

我正在运行LXC 1.07的Ubuntu 14.04 LTS,我想从我的lxc-container(ubuntu模板)中访问目录,它们是由主机上的autofspipe理的NFS挂载。 比方说,主机有3个不同的NFS共享由autofs挂载: auto.vol: /vol/server1 -fstype=nfs IPserver1:/vol/server1 /vol/server2 -fstype=nfs IPserver2:/vol/server2 /vol/server3 -fstype=nfs IPserver3:/vol/server3 现在我尝试从我的容器中访问这些,configuration如下所示: lxc.mount.entry = /vol/server1 vol/server1 none bind 0 0 lxc.mount.entry = /vol/server2 vol/server2 none bind 0 0 lxc.mount.entry = /vol/server3 vol/server3 none bind 0 0 现在的问题是,这只是第二次或第三次启动容器,大部分时间LXC抱怨“太多层次的符号链接”并退出。 这是输出: lxc-start: conf.c: mount_entry: 2049 Too many levels of symbolic links – failed to […]

导出rootfs或tmpfs

是否有可能导出(为nfs安装)tmpfs或rootfs目录? 我有很多Linux节点,只有rootfs和tmpfs启动到基于RAM的文件系统。 我希望每个节点都能看到其他节点中的一些文件,所以我试图导出某个目录并尝试挂载到另一个节点上。 我在nfs服务器的/ var / log / messages中看到以下错误 – rpc.mountd:getfh失败:没有这样的文件或目录 我读过一个不能导出tmpfs。 rootfs是一样的吗? 我有什么select?

如何在NFS上编写可靠的文件pipe理代码

请给我一些关于如何使用NFS编写可靠的文件pipe理代码的一般build议。 如何避免或处理ESTALE错误? 编程语言并不重要。 谢谢。

同时处理多个文件 – 复制文件或通过NFS读取?

我需要同时处理大量文件(数千个不同的文件,平均每个文件大小为2MB)。 所有的信息都存储在一个(1.5TB)的networking硬盘上,将被大约30台不同的机器处理。 为了提高效率,每台机器将读取(和处理)不同的文件(有数千个需要处理的文件)。 每台机器 – 在从1.5TB硬盘上的“传入”文件夹中读取文件之后 – 将处理信息,并准备好将处理的信息输出回1.5TB驱动器上的“已处理”文件夹。 每个文件的处理信息与input文件的平均大小大致相同(每个文件约2MB)。 什么是更好的事情要做: (1)对于每个处理机器M ,将所有将被M处理的文件复制到本地硬盘,然后在机器M上本地读取和处理文件。 (2)不是将文件复制到每台机器上,而是每台机器直接(使用NFS)访问“传入”文件夹,并从那里读取文件,然后在本地进行处理。 哪个想法更好? 当有人做这样的事情时,有没有“做”和“不做”? 如果30台机器同时读取(或写入)到同一个networking驱动器的信息是一个问题,我大多好奇吗? (注意:现有的文件只能被读取,不能被附加/写入;新的文件将从头开始创build,所以不存在多次访问同一个文件的问题)。 我应该期待什么瓶颈? (如果这一切都很重要,我在所有机器上都使用Linux,Ubuntu 10.04 LTS)

在nfs上允许非root用户rw权限share

我有两台Linux机器运行。 一个是jenkins服务器,另一个是灯服务器(从turnkey linux下载)。 我需要允许jenkins服务器上的jenkins用户使用NFS对灯服务器上的共享进行读/写许可。 在jenkins服务器上使用root用户可以正常工作,但是当通过jenkins运行时,在尝试将文件复制或删除到灯服务器时,我总是得到权限被拒绝的错误。 我已经尝试了很多东西,但仍然失败。 我如何configurationNFS以允许jenkins服务器上的jenkins用户读/写/删除到灯服务器上的NFS共享? 以下是我目前的configuration信息: Jenkins: 192.168.100.143 Lamp: 192.168.100.145 Lamp – /etc/exports /var/www 192.168.100.143(rw,anonuid=33,anongid=33) Lamp – /etc/passwd www-data:x:33:33:www-data:/var/www:/bin/sh root@lamp /var/www# ls -la total 32 drwxr-xr-x 6 www-data www-data 4096 Oct 4 06:12 . drwxr-xr-x 13 root root 4096 Oct 15 2013 .. drwxr-xr-x 2 www-data www-data 4096 Oct 15 2013 cgi-bin drwxr-xr-x […]

硬链接和绑定挂载之间的区别?

这可能是一个愚蠢的问题,但是: http://dwaves.de/2015/05/26/linux-search-find-files-locate-find-linux-locate-scope/ 在Linux下绑定挂载: 据我了解:你可以在两个不同的地方安装相同的目录。 但与硬链接的区别在哪里? 绑定挂载。 由于Linux 2.4.0,可以重新安装其他地方的文件层次结构的一部分。 电话是: mount -bind olddir newdir 这只是使文件夹可访问的另一种方式吗? (但它并不实际使用任何networking协议,因为它都是本地的) 请提供一些例子优点/缺点。 谢谢 :)

如何获得本地networking中连接到NFS服务器的客户端列表?

我有一个文件夹权限如下的NFS服务器。 在同一个networking中有50个客户需要连接到这个服务器。 我想知道什么是查找命令是从服务器访问此服务器的客户端。 NFS服务器configuration文件如下所示。 [root@server ~]# cat /etc/exports /home/guests *(rw,sync) /india *(rw,sync) 以下是共享文件夹的列表 [root@server ~]# showmount -e Export list for server.sanith.com: /india * /home/guests * 为了testing目的,我现在已经连接了一个客户端到服务器。 下面的输出来自“client2”机器。 [root@client2 ~]# showmount -e 192.168.1.10 Export list for 192.168.1.10: /india * /home/guests * [root@client2 ~]# mount -t nfs 192.168.1.10:/india /test [root@client2 ~]# mount /dev/sda2 on / type ext4 […]

nfs错误:NFS:v4服务器不接受原始uid gid重新启用idmapper

我在一台服务器上为客户端创build了一个NFS共享,服务器和客户端都是centos 6系统。 server nfs export: / srv / diskless / tmp *(rw,sync,no_root_squash) 。 我在客户端安装tmp目录,并以root身份login客户端,当我在tmp目录中编辑文件时,有时会显示: NFS:v4服务器不接受原始uid gid重新启用idmapper。 当我解压在tmp目录中的tar文件时,它显示: tar:text.cpp:无法将所有权更改为uid 2402,gid 30:无效的参数 那么如何解决这个问题或者configurationnfs来忽略这些问题呢? 谢谢。