标题说明了一切。
有谁知道复制 beanstalkd 的方法,这样如果 beanstalk 服务器出现故障,其他奴隶可以接管吗?
这是我想到的一种方法:我可以让 beanstalk 将其二进制日志(使用 -b)写入共享位置,然后如果主服务器失败,则以某种方式让辅助/备份服务器启动 beanstalkd。
不过一定有更好的方法。
当我的 A Web 服务器被拔掉时,我如何自动将所有用户重定向到我在另一个城市的 B Web 服务器,反之亦然?
负载平衡开关可以满足我的需求,但除非两个 Web 服务器都在同一建筑物中,否则我无法弄清楚如何使其工作。
高可用性集群系统可以做我想要的,除非我不知道如何让它工作,除非两个 Web 服务器都在同一栋楼里。
“当主 Web 服务器关闭时重定向到另一个 Web 服务器上的静态页面”的公认答案似乎支持 2 个不同城市的 Web 服务器。但是拔掉那个盒子后,在一个盒子上安装一个软件对我有什么帮助?
我想一种方法是这样开始的:
我想另一种方法开始像
(目前,如果我的用户得到一个包含我的联系信息的静态网页和一个脚注,每当 Web 服务器 A 被拔掉时,我会很高兴“主 A Web 服务器似乎已关闭”。这已经比当前系统仅给出“未找到服务器”错误。理想情况下,我希望 A …
我维护着两个数据中心,随着我们越来越多的重要基础设施开始通过 puppet 进行控制,如果我们的主站点出现故障,puppet master 在第二个站点上工作很重要。
更好的是进行某种主动/主动设置,以便第二个站点的服务器不会通过 WAN 轮询。
是否有任何标准的多站点 puppet 高可用性方法?
我试图理解负载平衡的概念,以确保可用性和冗余,以便在出现问题时让用户满意,而不是为了向数百万用户提供极快的速度而进行负载平衡。
我们的预算有限,并试图坚持使用有大量可用知识的东西,因此在某些著名的搜索引擎收购我们之前,在 Ubuntu VPS 上运行 Apache 似乎是一种策略(包括星期六的讽刺,请注意)。
至少对我来说,这是一个完整的可用不同解决方案的丛林。Apache 自己的 mod_proxy 和 HAproxy 是我们通过快速谷歌搜索找到的两个,但是负载平衡的经验为零,我不知道什么适合我们的情况,或者我们在选择解决方案时会注意什么来解决我们的问题可用性问题。
对我们来说最好的选择是什么?我们应该怎么做才能在不超出预算的情况下获得高可用性?
我有一个需要访问 NFS 存储的 CentOS 6.3 客户端。有两个 NFS 服务器为存储在具有集群文件系统的 SAN 上的相同内容提供服务。如果需要,我如何设置 CentOS 以故障转移到备份 NFS 服务器?当我谷歌时,我一直读到 Linux 不支持这一点,但这会很奇怪,因为有很多关于如何设置集群 Linux NFS 服务器群的信息......
我找到了以下集群管理软件工具:
一个网站,两者都有演示文稿
看来起搏器的使用范围更广了。我有 2 个用于 12 个不同 VM 的硬件服务器。我将使用的 linux 系统是 debian lenny。我想使用的设置:drddb、heartbeart、kvm。我没有使用集群管理软件的经验。
有人对起搏器和/或 openqrm 有一些经验吗?哪个更容易使用?还有其他候选人吗?
我已经看到数百万个网站使用 nginx 作为与 Apache 一起工作的代理网络服务器。但是我看到很少有服务器仅将 nginx 作为默认网络服务器运行。这种配置的主要缺点是什么?
我可以看到一些:
其他人是什么?为什么人们不直接放弃 Apache 并转向 nginx 或任何其他轻量级解决方案?可能是,有什么特殊原因?
编辑:这个问题主要是关于使用 LAMP 堆栈。
过去 2 天我一直在玩 gluster,并在这里和他们的问题系统上提问。有些东西我真的不明白。我看到人们说这样的话
在服务器之间设置复制砖(因为你只使用 3 个,复制会更安全),每台服务器都会将所有其他服务器的文件视为“本地”——即使一台服务器出现故障,文件也已复制到其他服务器。
或者
Gluster 将保持跨卷(砖块)的文件同步,并具有“自我修复”功能,可以处理由于一台服务器离线而导致的任何不一致。
由于我将远程卷从服务器挂载到客户端,gluster 如何处理服务器节点的故障,卷是从哪个节点挂载的?从我尝试过的客户端上安装卷的文件夹变得无法访问,我必须使用 umount 来解除对它的阻止。之后没有来自服务器的内容。
这基本上是我在任何解释中都没有看到的内容:当服务器节点出现故障时会发生什么,以及是否可以像 unison 或 rsync 那样真正复制内容?
我已经在两台 Debian 机器上设置了 keepalived 以实现高可用性,但是我遇到了可以分配给我的vrrp_instance. 我将如何配置和故障超过 20 个虚拟 IP?
这是非常简单的设置:
LB01: 10.200.85.1
LB02: 10.200.85.2
Virtual IPs: 10.200.85.100 - 10.200.85.200
Run Code Online (Sandbox Code Playgroud)
每台机器还在虚拟 IP 上运行 Apache(后来的 Nginx)绑定,用于 SSL 客户端证书终止和代理到后端网络服务器。我需要这么多 VIP 的原因是无法在 HTTPS 上使用 VirtualHost。
这是我的 keepalived.conf:
vrrp_script chk_apache2 {
script "killall -0 apache2"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
virtual_ipaddress {
10.200.85.100
.
. all the way to
.
10.200.85.200
}
Run Code Online (Sandbox Code Playgroud)
BACKUP 机器上有一个相同的配置,它工作正常,但只能达到第 20 个 IP。
我找到了一个HOWTO讨论这个问题。基本上,他们建议只有一个 VIP 并“通过”这个 …
我正在尝试使用 corosync 和起搏器设置一个主动/被动(2 个节点)Linux-HA 集群来启动和运行 PostgreSQL 数据库。它通过 DRBD 和 service-ip 工作。如果节点 1 失败,节点 2 应该接管。如果 PG 在 node2 上运行并且失败,则相同。除了 STONITH 之外,一切正常。
节点之间是专用的 HA 连接(10.10.10.X),所以我有以下接口配置:
eth0 eth1 host
10.10.10.251 172.10.10.1 node1
10.10.10.252 172.10.10.2 node2
Run Code Online (Sandbox Code Playgroud)
Stonith 已启用,我正在使用 ssh-agent 进行测试以杀死节点。
crm configure property stonith-enabled=true
crm configure property stonith-action=poweroff
crm configure rsc_defaults resource-stickiness=100
crm configure property no-quorum-policy=ignore
crm configure primitive stonith_postgres stonith:external/ssh \
params hostlist="node1 node2"
crm configure clone fencing_postgres stonith_postgres
Run Code Online (Sandbox Code Playgroud)
crm_mon -1 显示:
============
Last updated: Mon Mar 19 15:21:11 2012
Stack: openais …Run Code Online (Sandbox Code Playgroud) linux ×3
apache-2.2 ×2
cluster ×2
centos ×1
drbd ×1
failover ×1
glusterfs ×1
high-load ×1
ip ×1
keepalived ×1
networking ×1
nfs ×1
nginx ×1
pacemaker ×1
puppet ×1
redhat ×1
redundancy ×1