标签: high-availability

有没有办法强制心跳在不完全重启的情况下向系统添加新的 IP 地址?

我们利用心跳实现高可用性。我想向心跳集群添加一个额外的 ip 地址,但我不想在此过程中完全重启集群。是否有我可以发送到 heartbeat 的信号来提示它重新解析“haresources”文件并对其采取行动?heartbeat -r 似乎不能解决问题。

linux high-availability heartbeat

8
推荐指数
1
解决办法
6696
查看次数

如何降低 Gluster FS 对等超时/减少对等影响?

设置:两个带有最新更新的全新 CentOS 6.5 服务器。两者都全新安装了 Gluster 3.5.2。

我所做的(从服务器 2 的角度来看,shared1 和 shared2 是逻辑卷):

wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo
yum -y install glusterfs glusterfs-fuse glusterfs-server -y
/etc/init.d/glusterd start
chkconfig --level 345 glusterd on

echo "1.2.3.4 server1" >> /etc/hosts
echo "4.3.2.1 server2" >> /etc/hosts

gluster peer probe server1
gluster volume create shared replica 2 transport tcp server2:/shared2 server1:/shared1 force
gluster volume start shared

mount.glusterfs server2:/shared /mnt/shared

gluster peer status
Run Code Online (Sandbox Code Playgroud)

这工作得很好,我在两台服务器上的 /mnt/shared 上都有一个很好的共享文件系统。命令集分别在每台服务器上执行,并进行修改以匹配该服务器的观点。

测试:

如果我按下 server1 上的重置按钮,我在使用或访问 /mnt/shared 上的文件时会有大约 45 秒的可怕延迟

我确实在 google、glusterfs 管理指南和 serverfault …

high-availability glusterfs

8
推荐指数
1
解决办法
9236
查看次数

OpenVPN 超时重新连接失败需要很长时间

我正在尝试为我的 OpenVPN 服务器创建一个高可用性环境。我通过拥有两个相同的 VPN 服务器并在我的客户端配置中指定多个远程服务器来做到这一点:

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote vpn1 1194
remote vpn2 1194

remote-random
Run Code Online (Sandbox Code Playgroud)

这似乎有效。我有一个带有两个 VPN 服务器和两个客户端的 Vagrant 环境。一旦网络运行并且我在其中一台 VPN 服务器上停止 OpenVPN,另一台服务器将接管。

但是,在其他服务器接管之前,它实际执行此操作还需要很长时间。如果我的客户互相 ping 通,则在 ping 继续之前大约需要 3 分钟。我的猜测是客户端正在尝试重新连接,超时是这里的问题。

在我的 OpenVPN 中,client.conf我使用了以下设置,但似乎没有任何区别(是的,我在更改配置后在客户端上重新启动了 OpenVPN):

connect-retry 2
connect-retry-max 2
Run Code Online (Sandbox Code Playgroud)

如何调整客户端的连接超时,使它们更快地切换到不同的 OpenVPN 服务器?

openvpn high-availability

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

来自 Hetzner 的故障转移 IP 的 DNS 问题

假设我们有两个服务器 A 和 B,具有“真实”和外部 IP,我们可以切换所谓的“故障转移 ip”(WXYZ)以指向 A 或 B 的特定外部 IP。这从“外部”工作并且是轻松完成。作为背景:故障转移 ip 配置为 /etc/network/interfaces 中的新条目:

auto eth0:0  
iface eth0:0 inet static
  address W.X.Y.Z
  netmask 255.255.255.224 
Run Code Online (Sandbox Code Playgroud)

现在让我们假设 WXYZ 被动态配置为使用硬件 A。现在我从 B 调用'curl domain.com',它使用正确的故障转移 ip WXYZ 但然后以某种方式解析到错误的外部 IP B(或本地主机?)而不是使用配置的一个A:

Trying W.X.Y.Z ...
* connect to W.X.Y.Z port 443 failed: Connection refused
* Failed to connect to domain.com port 443: Connection refused
* Closing connection 0
curl: (7) Failed to connect to domain.com port 443: Connection refused
Run Code Online (Sandbox Code Playgroud)

当我启动本地 nginx 时,它可以成功 curl …

domain-name-system ubuntu failover high-availability hetzner

8
推荐指数
1
解决办法
3206
查看次数

ESXi HA 群集的共享存储选项

我正在寻求有关支持 ESXi HA 集群的共享存储选项的建议(请注意,我不是在要求产品/品牌/型号推荐 - 我知道这违反了此处的规则)。我技术建议。

我工作的公司是一家小企业。目前,我们有一台带有 DAS 的 HP DL380 G9,带有 ESXi 6.0,运行我们定制开发的应用程序。我们现在正在研究如何使用最经济的选项实现 HA/FT。我们需要 HA/FT,因为我是一个人的 IT 团队,我经常出差,所以手动故障转移/恢复不是一种选择。

我知道我们至少需要 2 个 ESXi 主机(物理服务器)和共享存储才能实现 HA/FT。我认为,这就是有趣的地方:即使是最便宜的入门级存储阵列对我们来说也可能是一种矫枉过正。我们的存储容量需求可能在 200GB 左右,而且至少在 5 年内我们不会看到翻倍。然而,我们需要用于 HA/FT 的共享存储。

因此,我真的很感激任何关于我的选择的建议。谢谢。

high-availability vmware-esxi vmware-vsphere fault-tolerance shared-storage

8
推荐指数
2
解决办法
6305
查看次数

高可用性 Cron 作业

信息

我们目前正在为运行 PHP 的 NGINX(在 Centos 7 上)创建一个高可用性集群。大多数配置已经被映射,它应该在集群环境中可以很好地工作。

不幸的是,我们唯一无法弄清楚如何与集群配合使用的是cron 作业(cron 作业将执行 PHP 代码)。据我所知,cron 作业是在每个主机上单独执行的。这意味着我们要么:

  1. 不要有一个完整的高可用性环境,在单个服务器出现故障时,另一台服务器接管并且一切仍然像以前一样工作(尽管速度较慢)
  2. 我们运行每个 cron 作业并将结果保存在数据库中以确定它是否已经运行。这不是一个可行的解决方案,因为我们的一些 cron 作业可能需要数小时才能运行 - 这些需要在下一个工作日之前执行。
  3. 我们找到了某种能够执行高可用性 cron 作业的解决方案。

研究

看到解决方案 3如何帮助我们维护高可用性环境,这是首选方法。不幸的是,我们对其中一些解决方案不太熟悉,因此我寻求您的专业知识,帮助我们找到适合我们需求的解决方案。我们对 Linux 机器不是很熟悉(除了 NGINX 服务器之外,整个环境都是 Windows)并且对使用这些机器知之甚少(尽管到目前为止我们已经能够弄清楚)。

选项

  1. 德克朗
    • 此解决方案似乎提供了简单的设置,并且似乎是一款不错的产品
  2. 克罗诺斯
    • 这使用多个其他实用程序进行操作,包括实际数据库(不理想,但可以工作)
  3. 跑台
    • 似乎提供了很多功能,并且可能是此列表中最好的产品
  4. 遥控
    • 除了它是基于 Golang 之外,我对此知之甚少。
  5. 自定义脚本:如何使 cronjobs 高可用?
    • 这是一种“如果一切都失败了”的方法,如果没有其他方法有效......
  6. 其他选择???- 如果您找到了其他选项,请提供其他选项,我会将它们包含在此处

问题

  1. 您对不同的选择有何专家意见或建议?
  2. 您使用不同选项(优点/缺点)有哪些经验?
  3. 您认为我们将哪些选项用于我们的基础设施?(如果需要有关我们基础设施的更多信息,请告诉我)

笔记

非常感谢有关此问题的任何帮助。

我意识到之前已经问这个问题,尽管它似乎已经过时了(2011 年)并且已经创建了许多新的解决方案。

linux high-availability cron

8
推荐指数
1
解决办法
5321
查看次数

为什么当主机处于维护模式时,VMWare DRS 不会自动迁移虚拟机?

我们在共享存储 (NFS) 上的 VMWare 集群中有 4 台 ESXi 5.0 主机,启用了 DRS 和 HA。

我们想在其中一台主机上执行内存升级。我们将该主机置于维护模式,但 DRS 不会自动实时迁移 VM。

我认为这与我们的设置有关:

在此处输入图片说明

诚然,我对 VMWare 的 DRS 不太熟悉。有人可以为我们提供一些指导吗?

virtualization high-availability vmware-esxi vmware-vsphere

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

使用 Keepalived 设置主动/主动 HAProxy 的任何问题

抱歉,如果之前有人问过这个问题,但我似乎找不到太多关于它的信息。

我们将使用 HAProxy 来平衡我们的 MariaDB Galera 集群。我在这方面看到的所有文章/教程都使用 Keepalived(或类似的东西)进行主动/被动 HAProxy 设置。

有什么好的理由为什么你不应该有一个主动/主动设置?

每个 HAProxy 节点都可以有一个固定的 IP,并且都有一个浮动的 IP。在正常情况下,请求在两个 HAProxy 节点之间共享,如果一个节点宕机,另一个将使用它的浮动 IP 并处理两个 IP 下的请求。当另一个恢复时,它会再次获取其浮动 IP 和负载份额。

我很感激你对此的意见。

卢克

high-availability load-balancing haproxy keepalived

7
推荐指数
1
解决办法
9879
查看次数

集群和/或 Hyper-V 副本?

我们目前拥有一台大型戴尔服务器 T610,物理托管 4 个 Hyper-V 虚拟机,全部为 Win2008R2。运行多年。我们现在需要购买新的戴尔服务器,因为戴尔不会更新现有服务合同的“生命周期终止”T610。

我们是一个单一站点的小型企业。我们一直对 ONE 物理服务器感到紧张。我认为我们需要两台服务器一个站点来实现完全冗余。如果有一天一盒死了,我们需要在短时间内备份​​。

我们需要关于我们应该关注什么的建议。Windows 服务器集群?Hyper-V 回复?我们只需要保护我们当前的单点故障暴露。

windows hyper-v high-availability windows-cluster

7
推荐指数
2
解决办法
1069
查看次数

Nginx 中多个备份服务器如何工作?

对于该backup指令,Nginx 文档的说明相当简单:

将服务器标记为备份服务器。当主服务器不可用时,它将传递请求。

如果您有多个备份并且主服务器出现故障,是否将其中一个备份指定为新的主服务器怎么办?或者 Nginx 会在它们之间进行轮询吗?

语境

我有一个主服务器和多个备份服务器,但所有连接应始终连接到同一个主服务器或备份服务器。有点像ip_hash负载平衡模式,只不过它应该为所有连接和客户端使用相同的服务器。

nginx high-availability load-balancing

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