Articles of nfs

NFS替代

我正在运行一个存储服务器,它必须在多个(5)个centos服务器上安装不同用户的家庭数据。 NFS存储服务器具有直接Fibrechannel存储(高速,已validation)。 当NFS挂载在客户端时,大文件写入速度很快(30MB / s)。 然而很多小文件都有严重的问题。 如果我写入NFS,甚至更糟糕的是,将文件从NFS上的一个文件夹复制到另一个NFS文件夹,这非常慢(〜100kB / s)。 第一次search显示,NFS有文件创build缓慢的问题(大约30个文件/秒)。 我知道这将是一个速度很慢的原因,有很多小文件。 这可以解决与另一个NFSconfiguration或使用其他协议? 用户不得不每次都将文件复制到本地磁盘。 我的NFSconfiguration:NFS4 /etc/exports: /NFSFOLDER IP/MASK(rw,sync,no_root_squash_subtree_check) at client side: /etc/fstab IP:/NFSFOLDER /mountpoint nfs4 NFS设置被设置为默认值。 提前致谢

Windows NFS性能与Windows文件共享?

有没有人设置NFS服务器和客户端都是Windows? 我想知道: 性能与使用内置Windows文件共享(CIFS / SMB)相比如何? 客户端能够像普通文件共享一样将NFS共享安装为networking驱动器吗? 任何推荐的工具,因为Windows本身不支持这个? 这样做是否提供可靠的文件共享?

需要针对运行Apache + PHP的Web服务器群集的R / W分布式文件系统提出build议

在过去的几个月里,我一直在试图find跨多个运行Apache + PHP的Web服务器(12+)共享多个网站内容的最佳方式。 我面临的最大挑战之一是我们需要能够随时读写文件系统,因为各种各样的好坏原因(例如,应用程序不在我们的控制范围内,通过networking界面pipe理的WordPress网站等) …)。 以下是我尝试过的一些结果: Rsync / duplicity/csync2:每分钟只运行一次,这意味着某些更改不会在整个群集中共享,从而避免出现严重问题。 inotify / incron:考虑到大量的文件和目录来监视太复杂。 而且,新文件的效果也不好。 GlusterFS:我们有一个4服务器gluster后端和性能,虽然明确缓慢,是可以容忍的。 不幸的是,在每台Web服务器上运行的gluster客户端不断崩溃,然后冻结2个到15分钟之间的4个文件服务器中的一个。 我们联系了Gluster Inc.,让他们的一些工程师帮助我们,但是他们无法弄清楚问题所在。 使用3个月后,我们不得不放弃。 有关我们设置的一般信息: 在Amazon EC2上主办 运行Ubuntu Maverick 运行Nginx(2) – > Varnish(2) – > Apache(12+) 禁用.htaccess以获得最佳性能。 我们直接将指令添加到网站configuration文件 我们运行的大多数网站/应用程序不是我们的,不幸的是,只读环境是不可能的 具有自动故障转移function的高可用性对于我们考虑这些Web服务器正在处理的任务非常重要 所以我认为这涵盖了一切:)。 预先感谢您的时间和回应。

Gluster + ZFS,基准testing期间死锁:zfs_iput_taskq 100%cpu

首先是一些背景:我在一家运行PHP-web应用程序的公司工作。 我们在几个networking服务器上通过NFS安装了一个存储后端。 今天,如果一个networking服务器通过NFS写入一个文件,有时这个文件在几分钟之后才会出现在其他挂载的客户端上。 这也不是多余的,所以我们不能进行任何“隐形”维护。 我一直在考虑迁移到一个GlusterFS解决scheme(两个或三个复制砖/冗余机器)。 现在,使用XFS作为Gluster后面的存储文件系统运行得非常好,性能更好。 Gluster也似乎没有上面提到的同步问题。 但是,我想用ZFS作为后端文件系统,原因在于; 廉价的压缩(目前存储1.5TB未压缩) 很容易扩大存储量“活”(一个命令,比较LVM的混乱) 快照,Bit-rot保护和所有其他ZFS荣耀。 在我的解决scheme的演示设置中,我有三台服务器,每台服务器上有一个独立的磁盘,带有一个ZFS后端池的复制Gluster。 我在Linux(0.6.2)+ GlusterFS 3.4上使用CentOS 6.5和ZFS。 我也尝试与Ubuntu 13.10。 一切都在VMware ESX中。 为了testing这个设置,我把音量挂在Gluster上,然后运行BlogBench( http://www.pureftpd.org/project/blogbench )来模拟加载。 我遇到的问题是,在testing结束时,ZFS存储似乎陷入了僵局。 所有这三台机器都有以90-100%CPU运行的“zfs_iput_taskq”,并且testing冻结。 如果我中止testing,死锁不会消失,只有选项似乎是硬重启。 我努力了: 禁用一次 禁用调度程序(noop) 不同的压缩/不压缩 直接在ZFS上的Blogbench工作正常 Gluster + XFS上的Blogbench作为后端工作正常 想法? 我应该放弃ZFS和其他东西? 备择scheme? 问候奥斯卡

确定NFS共享上的文件是否正在使用中

场景: 我们使用NFS共享来允许客户端上传原始video素材。 然后从(NFS)服务器上的目录轮询文件以进行处理。 由于我们不想处理尚未完成上传的文件,因此我想在服务器端脚本(Bash)中确定文件是否仍在使用中。 如手册页所述, fuser和lsof -N应允许检测NFS共享中正在使用的文件。 但是,我不会“看到”在服务器上使用的文件,这会在处理中稍后导致损坏的文件。 build立: 我的NFS /etc/exports包含这些设置(UID和GID是服务器上的共享目录的所有者,为了更好的显示,将其换行): /export/foo 10.3.2.0/255.255.255.0 (rw,sync,no_subtree_check,all_squash,anonuid=1001,anongid=1001) 客户使用: 10.3.2.197:/export/foo /data002/ nfs defaults 0 0 服务器是使用“nfs-kernel-server 1:1.2.0-4ubuntu4”的Ubuntu 10.04,客户端是SLES 10 SP2 当我在客户端(在共享目录中)打开一个文件时,使用 echo "Hello" > test.txt && tail -f foo.txt 然后检查(仍然在客户端上)文件是否在使用中 fuser foo.txt 我可以看到该文件正在使用中。 但是,当检查服务器端( fuser foo.txt和lsof -N | grep foo.txt )我没有得到任何使用信息。 如何检查NFS服务器上的文件是否正在使用(无论是本地还是远程)? 或者我在当前的设置中做错了什么?

根据数据集IO统计信息获取ZFS(或每个导出IO统计信息的NFS)

我在哪里可以find有关IO如何在zfs数据集之间分配的统计信息? (zpool iostat只告诉我一个池有多lessIO正在经历。) 所有相关的数据集都是通过NFS使用的,所以我也很高兴每个导出的NFS IO统计信息。 我们目前正在运行OpenIndiana [编辑] 看来,操作和字节计数器在kstat中可用 kstat -p unix:*:vopstats_??????? … unix:0:vopstats_2d90002:nputpage 50 unix:0:vopstats_2d90002:nread 12390785 … unix:0:vopstats_2d90002:read_bytes 22272845340 unix:0:vopstats_2d90002:readdir_bytes 477996168 … …但奇怪的hexID号码必须从/etc/mnttabparsing(更好的想法?) rpool/export/home/jkj /export/home/jkj zfs rw,…,dev=2d90002 1308471917 现在写一个munin插件来使用数据…

用nginx通过NFS提供静态文件?

我有一个在nginx服务器上每秒获得约7k个请求的网站。 这个服务器既能处理重写到Apache服务器,也能直接处理静态文件,图像等。 那里有大约5k个请求的静态文件是最大的部分。 随着体系结构升级,我想使用一个中央文件服务器,通过NFS导出包含这些静态文件的目录。 这些文件将没有写入权限,所以目录可以在nginx机器上以只读方式挂载。 我主要关心的是: NFS足够快吗? NFS可以处理多less个请求是有限制的吗? 这样做有什么“必须”的select吗? 奖励:除了NFS以外,还有其他的select吗? 谢谢!

NFSv4和rpcbind

根据红帽文件, 'rpcbind'不再是必需的: 由于协议支持已被纳入v4协议,因此NFSv4与portmap,rpc.lockd和rpc.statd守护进程没有交互。 NFSv4监听众所周知的TCP端口2049,这消除了端口映射交互的需要。 安装和locking协议已被纳入V4协议中,无需与rpc.lockd和rpc.statd进行交互。 rpc.mountd守护程序在服务器上仍然是必需的,但不涉及任何over-the-wire操作。 但是当'rpcbind'服务没有运行时,我无法启动NFS恶魔: # service nfs start Starting NFS services: [ OK ] Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp). [FAILED] Starting NFS mountd: [ OK ] Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno […]

挂载到NFS导出的autofs挂载显示空的内容

我使用autofs在文件夹/ mnt / iso中挂载一些iso文件: Fedora-13-x86_64-DVD.iso Fedora-14-x86_64-DVD.iso Fedora-15-x86_64-DVD.iso autofs工作正常,我可以看到iso文件的内容: # ls /mnt/iso/fedora.13/ # ls /mnt/iso/fedora.14/ # ls /mnt/iso/fedora.15/ 完成autofstesting后。 我强制unmount所有的iso文件夹: # umount -l /mnt/iso/* 然后在/ etc / exports中输出/ mnt / iso: /mnt/iso 192.168.0.0/24(ro,insecure,crossmnt,all_squash) NFS服务也正常工作。 我可以通过nfs客户端从另一台机器挂载/ mnt / iso: # mount -t nfs4 <nfs-server>:/mnt/iso /mnt 我可以在/ mnt /文件夹中看到所有的iso挂载: # ls /mnt dr-xr-xr-x 15 nobody nobody 4096 2011-06-11 […]

如何杀死表面上不朽的过程?

我有一些在NFS挂载上运行的大文件传输。 挂载点所在的服务器被不小心重新启动,现在从这些大型转移服务器发起的服务器似乎陷入了困境。 如果我跑top ,我看到以下内容: 我尝试的第一件事是用-1 -2 -9和-15的标志运行kill ,并依次显示每个进程ID。 这让我继续,但没有杀死进程。 我尝试的下一件事是重启服务器,但是既不reboot也不shutdown -r now工作。 当我运行shutdown -r now ,标准广播消息已经发出,但服务器没有重新启动。 我通过查看25天的服务器正常运行时间来确认这一点。 所以现在我有点卡住了。 我以root身份运行这些命令。 编辑:这是另一个有趣的消息: 最重要的是,我没有看到任何其他进程正在使用超过百分之一的内存或超过5%的CPU。 编辑2: /var/log/messages输出