小编Bri*_*ett的帖子

NFS 软挂载超时太慢

我们有一个非常繁忙的服务器集群。我们的 16 个应用服务器通过每台机器上的本地 SSD 为我们的应用程序提供服务,但它们也处理图像,然后由我们的 CDN 提供服务。正因为如此,我们有几个中央图像服务器,我们从我们的应用服务器 nfs 挂载。
我们最近遇到了图像服务器的问题,我们需要在其中关闭它们。没什么大不了的,我们的 CDN 仍会为我们的大部分图像提供服务,因此没有人会注意到停机时间。不完全的..

应用服务器没有继续正常操作,而是负载激增并崩溃,或者变得无响应。经过一天的挖掘,我们将问题缩小到我们的 nfs 挂载。即使没有读取或写入 nfs 挂载,它关闭的简单事实也导致 apache 完全冻结。
没什么大不了的,我们做了一些研究,发现我们将 nfs 卷挂载为硬挂载,我们需要切换到软挂载,使用intr,并设置 timeo 值和 retr 值。我们将重试次数设置为 0,并设置timeo=1(它在十分之一秒内,所以我相信 1 尽可能低)。有了这些设置,我们关闭了图像服务器以复制早期的崩溃并等待看看发生了什么。

结果更好,但只是整个系统没有崩溃,而是服务因为太慢以至于它可能已经停机了。似乎即使是十分之一秒,这对于 nfs 挂载超时来说也太长了,因此我们最终会在负载均衡器上积压大量连接,可能只有 1/10 的容量。

为了验证我的结果,我从 16 个应用服务器中的 4 个卸载了 nfs 挂载,并且对这 4 个服务器的请求级别完全正常。

那么,有没有办法为 nfs 挂载设置较低的超时时间,或者在出错时卸载驱动器,并在关闭的服务器重新联机后自动重新挂载?或者,是否有另一个我忽略的解决方案不会给我们的系统增加一堆复杂性?

nfs apache-2.2

5
推荐指数
1
解决办法
917
查看次数

快速将文件发送到数十台服务器

我们有一组机器(大约 50 台并且还在不断增加)。每台机器都有一个搜索索引,每天需要更新多次。我们目前单独更新每台机器上的索引,但理想情况下,我们可以在一台机器上更新它,然后将新文件同步到集群的其余部分。我们最初使用 rsync 来处理这个问题,但随着机器数量的增加,这个解决方案显然无法扩展。我刚刚开始研究多播文件传输。任何有经验的人都可以推荐一些值得一看的地方?

cluster rsync file-sharing multicast

4
推荐指数
1
解决办法
276
查看次数

跨应用服务器集群共享 ISCSI LUN 的最佳方法

我正在将我们的集群迁移到新硬件。我们使用裸机服务器,没有虚拟化。

目前,我们有大约 30 个“应用程序”服务器。当我们进行更新时,我们将更改推送到一台机器,然后使用 lsync(rsync 的一个分支)将新文件推送到集群中的所有机器。

我的新想法是使用 SAN 和 iSCSI 来简单地从一个位置跨所有服务器“共享”应用程序。我几乎不知道你真的不能开箱即用。每台机器切出自己的 SAN 部分,但机器无法看到彼此的文件。

解决这个问题的最佳方法是什么?我们在所有机器上运行 Centos 6.4。我偶然发现了这一点,但听说过关于运行集群文件系统的不同说法http://ricardobaylon.wordpress.com/2013/11/11/centos-6-4-cluster-gfs-iscsi/

cluster iscsi storage-area-network centos gfs

2
推荐指数
1
解决办法
804
查看次数