标签: high-availability

使用 nginx 作为主 Web 服务器的缺点?

我已经看到数百万个网站使用 nginx 作为与 Apache 一起工作的代理网络服务器。但是我看到很少有服务器仅将 nginx 作为默认网络服务器运行。这种配置的主要缺点是什么?

我可以看到一些:

  • 无法使用像 .htaccess 这样的每个目录配置文件,所以每个配置更改都应该对主服务器配置文件进行,并且需要重新加载服务器。但是 pecl htscanner 可以补偿它们的 php 设置
  • nginx 的 mod_php 不可用,例如可以通过 php-fpm 进行补偿。

其他人是什么?为什么人们不直接放弃 Apache 并转向 nginx 或任何其他轻量级解决方案?可能是,有什么特殊原因?

编辑:这个问题主要是关于使用 LAMP 堆栈。

nginx high-availability high-load apache-2.2

12
推荐指数
2
解决办法
1476
查看次数

Gluster 究竟是做什么的?

过去 2 天我一直在玩 gluster,并在这里和他们的问题系统上提问。有些东西我真的不明白。我看到人们说这样的话

在服务器之间设置复制砖(因为你只使用 3 个,复制会更安全),每台服务器都会将所有其他服务器的文件视为“本地”——即使一台服务器出现故障,文件也已复制到其他服务器。

或者

Gluster 将保持跨卷(砖块)的文件同步,并具有“自我修复”功能,可以处理由于一台服务器离线而导致的任何不一致。

由于我远程卷从服务器挂载到客户端,gluster 如何处理服务器节点的故障,卷是从哪个节点挂载的?从我尝试过的客户端上安装卷的文件夹变得无法访问,我必须使用 umount 来解除对它的阻止。之后没有来自服务器的内容。

这基本上是我在任何解释中都没有看到的内容:当服务器节点出现故障时会发生什么,以及是否可以像 unison 或 rsync 那样真正复制内容?

high-availability glusterfs

12
推荐指数
1
解决办法
1万
查看次数

小型企业的高服务器可用性

在对某天早上无法启动的服务器感到有些恐慌之后,高层决定业务需要高可用性/故障转移设置。

我们有 5 台主服务器(4 台 Linux,1 台 OpenBSD),所有这些服务器都需要运行,公司才能运营。其中三个服务器相当标准(文件/网络/数据库),第四个处理大多数网络路由和网络代理,而第五个支持我们的电话系统并具有非标准硬件。

我的老板说过,服务器故障的周转时间应该在 30 分钟以内。

我在这个领域的经验是不存在的(我只是一个被“晋升”的程序员),所以我想我的问题真的可以归结为:

  • 这是否应该由具有平均服务器管理技能的人尝试。如果是这样,我应该阅读什么,我应该与谁交谈?

谢谢。

disaster-recovery small-business high-availability

11
推荐指数
1
解决办法
621
查看次数

高可用性 DNS 托管策略?

我试图找到一些方法来为一些现有网站进行高可用性 DNS 托管。今天早上,我工作的公司倒闭了,因为我们通过注册商 ( bulkregister.com )为我们的域托管的 DNS 出现故障。我现在的任务是寻找一种替代方案,它不会让我们受制于单个 DNS 提供商的摆布。

我们在寻找什么:

  • 没有单点故障。
  • 时间有效。
    • 已建议的一种解决方案是执行多个 DNS 主机。这似乎是一个不错的选择,但我们有 20 多个域,并且跨两个提供商更新所有这些域的 IP 地址是令人望而却步的。
  • 成本效益。
    • 我必须把这个卖给高层管理人员。喜悦是我。

那么有哪些方法支持这一点呢?我自己更像是一名程序员,但他们给我分配了这个任务,所以我想得到比我更有经验的人的意见。

domain-name-system high-availability

11
推荐指数
1
解决办法
7676
查看次数

寻找有关衡量使用 CDN 的高可用性应用程序的建议

我在一家财富 500 强公司工作,该公司努力准确衡量高可用性应用程序的性能和可用性(即,应用程序在 5 秒页面到页面导航时性能提升 99.5%)。我们将计划内和计划外停机时间都考虑在内,以确定此可用性数字。然而,我们最近在组合中添加了一个 CDN,这使我们的指标有点复杂。CDN 现在处理了我们大约 75% 的流量,同时将其余流量发送到我们自己的服务器。

我们试图衡量我们所谓的“真实用户体验”(即,我们的测试脚本模拟典型用户点击应用程序。)这些监控脚本位于我们的网络之外,这意味着我们正在访问 CDN 大约 75%时间。

管理层决定我们采用最坏的情况来衡量可用性。因此,如果我们的源服务器出现问题,但 CDN 提供的内容还不错,我们仍然会受到可用性的影响。反过来也是一样。我的想法是,只要“用户体验”成功,我们就不要不必要地惩罚自己。毕竟,CDN 可以提高性能和可用性!

我只是想知道是否有人知道其他财富 500 强公司如何计算他们的可用性数字?例如,我查看 apple.com 的一家店面,该店面使用的 CDN 似乎从未关闭(除非即将发布重大产品)。如果有一些确凿的事实数据会很棒,因为我不知道不要相信我们需要在这些指标上不必要地伤害自己。我们正在根据这些数字做出商业决策。

然而,我可以说,鉴于这些指标对管理层可见,问题得到解决和解决的速度非常快(阅读:我们很快就完成了繁文缛节。)不幸的是,作为一名开发人员,我不希望管理层思考应用程序启动或关闭是因为某些外部因素(即 CDN)正在影响数字。

想法?

(我错误地在StackOverflow上发布了这个问题,交叉发布提前道歉)

reporting high-availability metrics cdn

11
推荐指数
1
解决办法
1142
查看次数

如何对负载均衡器进行负载均衡?

我即将将单服务器单数据库 Web 应用程序转换为物理分布式高可用性配置,服务器位于两个物理位置(目前)。现在,很明显,我需要一个负载均衡器(在这种情况下更像是一个反向代理,但为了简单起见,我将其称为“负载均衡器”),它将请求路由mywebsitenode1.mywebsitenode2.mywebsite。但是,如果我的负载均衡器出现故障,我认为高可用服务器没有用。因此,按照我的思路,我实际上需要两个负载均衡器,每个位置一个。但是,我仍然需要一个单一的外部访问点,因此我需要一个负载平衡器的负载平衡器,这反过来又需要跨位置平衡......这种情况一直在继续。

那么我的推理有什么问题呢?假设每个物理位置都可以长时间断电,我将如何在实践中确保负载均衡器的高可用性?

PS:我知道我对 HA 和负载平衡之间区别的理解充其量是平庸的。我想要的是一个可用的服务器,即使一个位置的电源断电。感谢您的理解。

high-availability load-balancing best-practices

11
推荐指数
2
解决办法
2044
查看次数

无法将 drbd 切换到辅助

我正在drbd83ocfs2centos 5和打算使用packemaker它们。一段时间后,我面临着drbd脑裂问题。

version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by mockbuild@builder10.centos.org, 2012-05-07 11:56:36

 1: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown   r-----
    ns:0 nr:0 dw:112281991 dr:797551 al:99 bm:6401 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:60
Run Code Online (Sandbox Code Playgroud)

我无法将我的 drbd 切换到次要。

drbdadm secondary r0
1: State change failed: (-12) Device is held open by someone
Command 'drbdsetup 1 secondary' terminated with exit code 11
Run Code Online (Sandbox Code Playgroud)

我的drbd资源配置:

resource r0 {
        syncer { 
                rate 1000M; 
                verify-alg sha1;
        }

        disk …
Run Code Online (Sandbox Code Playgroud)

centos high-availability drbd ocfs2 centos5

11
推荐指数
2
解决办法
2万
查看次数

keepalived和corosync有什么区别,其他的?

我正在为服务器集群构建故障转移防火墙并开始查看各种选项。我对freebsd上的carp比较熟悉,但是这个项目需要使用linux。

搜索 google 产生了几个不同的项目,但没有关于它们提供的功能的明确信息。CARP 为虚拟接口提供了故障转移功能,我不太清楚这是 corosync 的作用,还是起搏器的作用?

另一方面,我确实设法让 keepalived 工作。但是,我注意到 corosync 为 infiniband 提供了本机支持。这对我很有用。

也许有人可以阐明以下之间的差异:

  1. 同步
  2. 活着
  3. 起搏器
  4. 心跳

哪种产品最适合路由器故障转移?

编辑:所以我锻炼了一点......

Pacemaker 是可以使用 Corosync & Pacemaker 的更大项目。似乎 Corosync & Heartbeat 基本上做同样的事情。所以你选择其中之一。

Heartbeat 似乎是一个较旧的项目,但仍在进行中。

另一方面,Keepalive 是一个完全不同的项目,它实现了 VRRP 协议。它具有比其他酒糟的特征。它似乎仍然被广泛使用,但缺少最近的文档。

不幸的是,关于防火墙/路由器故障转移的例子很少。有没有人找到一些不错的方法?我找到了一篇用西班牙语写的。

linux high-availability

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

从数学上讲,如何根据节点数量及其各自的正常运行时间百分比计算正常运行时间百分比?

这个问题更像是一个数学问题而不是一个服务器问题,但它与服务器密切相关。

如果我有一台服务器,我可以保证 95% 的正常运行时间,并且我将该服务器放在 2 个集群中,那么正常运行时间是多少?现在,假设我也这样做,但我将其设为 3 个集群?

让我们不要考虑诸如单点故障之类的事情,而只关注此处的数学。使这有点复杂的一件事是,例如,如果我有 2 个服务器,那么它们都关闭的可能性是 2^2,所以是 1/4;或者 3 是 2^3,所以 1/8。考虑到我对这些服务器中的每一个都有 5% 的停机时间,总平均值会是那 5% 的 1/8 吗?

你会如何计算这样的事情?

high-availability

11
推荐指数
5
解决办法
8969
查看次数

如何设计/确保 Web 服务器的高可用性?

1&1 internet 为我提供了一台专用服务器,它有两个采用 RAID1 配置的硬盘驱动器。我预计这会足够好,好像一个磁盘出现故障,另一个可以接管,直到更换损坏的磁盘。但是,在两次情况下,两个硬盘驱动器都出现故障(或者 1 和 1 无法胜任并以错误的顺序更换它们),这导致了严重的问题。

我想知道确保在专用机器上运行的 Web 服务器的高可用性的最佳方法是什么?到目前为止,我有:

  1. 带有运行 IIS 7、SQL Server + Web App 软件的 2x500GB HDD 的专用服务器
  2. 易我服务器备份每天运行两次
  3. 没有负载均衡器

我遇到的问题是,如果机器再次停机,平均需要 1 和 1 3 天才能恢复。我不能再承受这样的损失。他们不为专用服务器提供负载平衡器,但也许可以通过我不确定的软件来完成。

我唯一的其他选择是完全放弃专用服务器,并使用作为 VMWare 机器的“云”服务器。他们声称其强大,因为基础设施非常庞大,任何硬件问题对客户几乎没有影响。但我讨厌失去专用服务器的想法,因为我发现它们更容易配置。

这样做的好方法是什么?也就是说,确保我的网站始终可用,而且几乎没有中断。我的预算大约是每月 150 美元。我的服务器目前花费大约 60 美元。

windows iis high-availability load-balancing dedicated-server

11
推荐指数
1
解决办法
1098
查看次数