Articles of nfs

通过ssh检查nfs被挂载

我通过ssh隧道(转发2端口)在本地机器转发远程nfs端口,使用autossh进行持久连接: [email protected]:~#autossh -v -M 0 -q -f -N -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2049:localhost:2049 [email protected] [email protected]:~#autossh -v -M 0 -q -f -N -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2059:localhost:2059 [email protected] 现在我已经在local.machine远程nfs端口监听local.machine: [email protected]:~# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 […]

处理networking拥塞

我正在一个专用的GBE LAN上的linux服务器上添加新的集中式存储。 过去大约有十几台客户端机器通过TCP完成NFS v3挂载。 有时局域网拥塞和丢弃的数据包导致在NFS上超时。 还有什么我应该看? 例如,我会比较喜欢NFS v4,SMB或iSCSI吗? 我不看AFS或其衍生工具,因为我不想在本地caching文件。 对于我的应用程序,我需要在同步模式下运行服务器,以确保写入的所有内容都保存到磁盘。 局域网在防火墙后面,所有的客户端都在我的控制之下,所以我不担心安全问题。 唯一不在桌面上的是光纤通道,因为我买不起SAN。 我目前有timeo = 30和重新=默认(3)。 系统在大多数情况下工作正常,只是当局域网忙碌时,由于错误导致吞吐量下降。

只允许使用本地写入的NFS挂载

我想通过NFS共享一个目录只读(数据不应该损坏)。 但是,我希望客户端能够使用挂载的文件夹,就像它被读取写入一样,尽可能透明。 基本上我想更新只能从服务器到客户端,而不是其他方式。 我并不介意我的本地更新不是100%可靠的(如果它们可以被参考服务器覆盖)。 有没有办法? 使用NFS选项直接? 用某种装载技巧? 我在两边都使用Ubuntu 12.04。 谢谢 !

ls -l用几分钟的旧时间戳记(修改时间)不断更新日志文件

我给了命令ls -lt来查看哪些日志文件不断被写入,因为如果它们被写入,修改的时间将几乎非常接近date命令的输出。 但奇怪的是, ls命令输出中的修改时间对于正在被连续修改(写入)的所有日志文件来说显示为12分钟。 例如,如果我给的命令 date ; echo ; ls -lt *log 如果得到date的输出为Sun Jan 19 16:48:16 IST 2014 ,那么在命令给出时正在写入的ls -lt * log命令的输出将显示文件详细信息为: -rw-r–r– 1 root 12014 6.2M Jan 19 16:36 Imap.log 现在这里的文件Imap.log不断被写入,所以修改的时间也应该非常接近16:48 ,但是可以看出,它只是16:36 。 一个完整的12分钟的差异。 date命令的输出是正确的。 我尝试使用简单的ls -l , stat文件名来查看那里的详细信息,甚至stat命令显示修改时间戳是12分钟。 正在写入日志文件的分区安装在NFS上。 这是罪魁祸首吗? 我需要检查什么? 操作系统是CentOS 5.4。 内核是2.6.18-164.el5。

在启动Apache之前自动挂载NFS / Samba共享的正确方法?

我正在使用Ubuntu 12.04(服务器)虚拟机作为开发Web服务器。 我将提供的文件保留在VM主机上,因此Apache使用NFS挂载的DocumentRoot目录为了保持自动化,我将Apache设置为在启动时启动。 我在启动时自动挂载NFS没有问题。 我在启动Apache时没有问题。 问题: 在暴发户启动Apache 之后, mountall启动。 在与upstart和initctl放在一起后,我想出了一个可行的黑客 – 但肯定不是理想的 – 也不便携。 /etc/fstab nfs_server:/ /mnt/nfs_server nfs4 _netdev,noauto 0 0 /etc/init.d/apache2 INIT INFO部分下方的顶部插入了以下内容: if [ ! -s "/var/www/default/index.php" ]; then echo -n " Mounting NFS and Samba shares…." mount nfs_server:/ result=$? if [ 0 -ne $result ]; then echo " ERROR. mount returned $result"; […]

存储stream量不经过Bonded界面

嗨,几天前我在这里问了一个问题 根据networking目的selectnetworking接口 在我的Centos服务器上有4个网卡 我绑定了前两个网卡,创build了一个8600的MTU,并绑定了第二个接口,创build了bond1 打算将bond0用于存储和bond1用于networking通信。 bond1连接到一个Linux Bridge – br0 NFS服务器为10.10.10.5 , bond0的IP地址为10.10.10.2 bond1的IP地址是10.10.10.3 两个子网和VLAN是不可能的,所以我做了手动添加路由 route add -host 10.10.10.5 dev bond0 并在中可见 route -n 但由于某种原因,br0(bond1)的Rx Tx是Gb,而bond0的Rx Tx是Kb,即使有大量数据传输到NFS 为什么bond0不用于数据传输到NFS甚至这条路线 Destination Gateway Genmask Flags Metric Ref Use Iface 10.10.10.5 0.0.0.0 255.255.255.255 UH 0 0 0 bond0 更新: tcpdump显示主机到NFS服务器是通过bond0上的IP进行通信的,即10.10.10.2,但Rx Tx是KB,如果我在bond0上closures了IP,那么它使用10.10.10.3进行NFS通信。 为什么即使使用分配给它的IP来访问NFS,bond0的Tx也不会增加!

停止NFS挂载文件

我有文件存储在一个NFS挂载,我想防止被删除。 使用案例是我有一个Web应用程序的演示版本,每个演示使用相同的图像 – 当有人删除一个logging它删除相关的图像,文件等,但我不希望这些图像被删除,因为它们被使用被大家。 他们应该能够删除其他图像等,但不是我select的。 以前他们在本地磁盘上,我用: chattr +i file 这工作的一种享受 – 我把所有的ifles移动到NFS,当我尝试这个我现在得到: chattr: Inappropriate ioctl for device while reading flags on file 目前,我有一个每15分钟运行一次的cron,并将这些文件从备用目录复制到正确的位置,但这并不理想,因为这意味着注册演示的人可能会在这段时间内看到丢失的图像窗户看起来很垃圾。 我可以重写应用程序的逻辑,如果我真的推动,但希望在文件系统级别的东西,可能会起作用。 这个回复( https://unix.stackexchange.com/a/90369/86224 )build议启用ACL的,但我无法做到这一点,我似乎无法得到chmod停止被删除的文件: -rw-r–r– 1 owner owner 24751 Dec 23 16:30 file.ext 有没有一种替代NFS的方法来停止文件被删除?

如何find当前的NFS安装参数

我们在服务器上的一些NFS挂载参数上遇到了一些问题,我们更改了/etc/fstab设置,并重新启动了服务器(SUSE Linux 11服务器)。 不过,我刚刚被告知不是所有的设置更改已经生效… 我正在运行mount来检查当前的安装参数(并看到新的设置),但是我的同事正在运行nfsstat -m并在一些坐骑上被赋予旧的设置! 哪个命令可能更准确?

在同一文件夹下添加本地文件夹和NFS共享

我有许多文件和数据库服务器,由几个节点使用。 最近,由于来自节点的大量读取,我遇到了存储库上的高负载问题。 我想要做的是在节点上最近使用一些最新的数据(滑动窗口),在本地节点上使用得最多,幸运的是我在节点上有一些SSD空间。 在节点上运行的只有less量作业需要来自存储库本身的旧数据。 现在的问题是,是否有任何选项将来自NFS共享的数据与本地存储在同一文件夹下的数据结合起来。 使用数据的应用程序不太适合转到不同的文件夹。 结构如下: > Share: /data/YYYY/YYYYMM/….. > Local: /local/YYYY/YYYYMM/…. (But only last 3 months) 我想把它安装在同一个文件夹下,例如/mnt/2015/201512 /mnt/2015/201511将在本地SSD上, /mnt/2015/201511将从存储库服务器

有什么更好的:用于mysql datadir挂载的iSCSI或NFS?

在外部区域有数据库服务器ip-address与mysql实例和nas-storage在内部区域存在。 我需要该数据库文件位于存储中。 我想在my.cnf中写下例如: [mysqld1] port = 3306 datadir = /data/sql/mysqld1 [mysqld2] port = 3307 datadir = /nasstorage/sql_on_storage/mysqld2 bind-address = 0.0.0.0 我打算从存储到数据库服务器挂载目录。 哪种技术更适合这个目标:iSCSI还是NFS?