我有一个网站,我们可以在几台机器上进行负载平衡。负载平衡器(Brocade ServerIron ADX)位于本地网络上。我知道它能够配置一个“备份”IP 地址以用作“真实”IP 地址,但它需要在本地网络上。当我的整个环境可能由于 FW、LB 或多服务器故障而脱机时,如何向我的用户提供“失败鲸鱼”和状态更新消息?由于 DNS 无法提供加权 A-Record 备份(如 SRV 记录),我有哪些选择?
理想情况下,解决方案应该能够在我的网站变得无法访问时自动介入,并通知我的用户我们的响应团队正在解决问题。
domain-name-system disaster-recovery high-availability load-balancing
我不明白如何为我非常简单的场景设置故障转移。我正在为 API 构建服务网关。我想要的是两台服务器托管在不同的数据中心. 而且我只是希望用户能够在其中一台服务器停机的情况下访问该服务。数据库同步没有问题,我只关心服务的可用性。
我该如何做到这一点,同时防止用户在他们的一端实施任何类型的故障转移逻辑?我希望为用户提供单个域或单个 IP 地址,并且能够始终使用该单个端点访问该服务。
我不明白这是如何实现的。我知道我可以设置一个网络节点,将请求转发到第一台或第二台服务器,具体取决于这两个服务器中的哪一个当前在线。但是,我没有看到这个设置如何解决 HA 问题,因为我们刚刚向系统引入了一个单点故障 - 转发节点。因此,如果此节点出现故障,则该服务将不可用。
你能解释一下如何在现实世界中实现这一点吗?是否有可能以合理的成本实现这一目标(即不超过托管服务器本身的成本).
编辑:有人建议不同的数据中心要求是昂贵的。因此,请随时为 1 个数据中心内的 2 个服务器提供建议。
编辑 2:请随意提及该设置的合理成本。
我正在尝试在 2 台主机之间设置某种形式的故障转移群集。我希望能够在我的 2 个 VM 上实现高可用性。
似乎需要某种形式的共享存储才能在 Windows 集群中正常工作,但目前的目标是避免购买额外的硬件或软件。
以下是我遇到的一些可能性:
有没有其他方法可以使用这 2 个服务器设置为 HA 设置虚拟机?
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
ssl-default-bind-options no-sslv3
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
option redispatch
errorfile …Run Code Online (Sandbox Code Playgroud) 在我们希望使用 NAS 作为大型(MS SQL)数据库存储的场景中,如果 mdf 文件仅物理存储在 NAS 设备中,您将如何处理高可用性?
我可能已经迷失在关于这个主题的大量文档中,但我正在尝试配置我的 HAProxy 进程以发送代理协议标头,如http://www.haproxy.org/download/1.8/doc/ 所述代理协议.txt。这是因为我必须将 PROXY 协议的支持写入 C++ 服务器(以便它能够访问客户端 IP/端口),并且我想测试我的代码在解析 PROXY 标头时是否正常工作。
这是我的最小配置文件:
global
maxconn 4096
defaults
log global
mode http
retries 3
option redispatch
maxconn 2000
timeout connect 5000
timeout client 50000
timeout server 50000
frontend TestServerTest
bind 10.6.186.24:54781
mode tcp
default_backend TestServernodes
backend TestServernodes
mode tcp
# Note there is no 'check' after the below line unlike the others as we don't want to send the
# healthcheck ("OPTIONS / HTTP/1.0"...) string to the TestServer as it …Run Code Online (Sandbox Code Playgroud) 您会在每个可用区上为 HA 配置一个 NAT 网关吗?这是矫枉过正吗?每年连续运行的成本超过 500 美元。对于关键业务系统来说,它确实有意义。您可以在 2 个可用区上创建 2 个 NAT 网关,并让第三个使用一个或另一个以减少一些 $。
我的另一个问题是,如果一个可用区出现故障,您如何自动切换到另一个可用区上的 NAT 网关?据我所知,您需要手动更新路由表以指向另一个 NAT 网关。人们是否设置了对 NAT 实例的定期 ping,然后在失败时更新路由表?如果是这种情况,假设无论如何都会出现小故障,为什么不在旧的 AZ 出现故障时在另一个 AZ 上创建一个新的 NAT 网关,然后更新路由表?您将节省 500 美元并实现相同的目标。
上周我们遇到了以下问题:由于更换 UPS,我们不得不关闭整个基础设施。在电气操作结束时,我们重新启动了:
等待 ESXi 启动后,我们发现集群出现错误:配置资源不足,无法满足集群上所需的 vSphere HA 故障切换级别。
然后我们发现 vCenter 无法通过网络联系 ESXi:交换机的 PDU 在操作过程中被拔掉。
重新插入 PDU,ESXi 现在可以与 vCenter 通信,但每个主机上都出现以下警报:无法正确安装或配置 vSphere HA 代理。
我们决定重新启动两个 ESXi,不走运,错误仍然存在。
由于维护窗口的限制,我们决定从集群中删除两台主机以便能够启动我们的虚拟机,代价是在一台主机发生故障时不会自动进行故障转移。
在谷歌搜索了很多之后,我们尝试了许多 VMware 的知识库(无顺序):
没有结果了……
在我们的旅程中,我们/var/log/fdm.log在两台主机上只发现了一个错误:
2018-06-25T09:05:54.232Z error fdm[47A8940] [Originator@6876 sub=Cluster] [ClusterPersistence::DoFetchDataSync] Open of file /etc/opt/vmware/fdm/kvstore failed: No such file …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置我的第一个 HA 集群,但我很难深入研究 VSAN 数据存储。
我有两台 ESXi 主机,两台 480 SSD 硬盘均采用 RAID 1
是否可以将现有主机的磁盘添加到 VSAN 数据存储?据我所知,ESXi 无法从 VSAN 数据存储启动。在我的情况下你会推荐什么?
我想构建一个 HA Web 服务,我计划在三个节点(带有副本 3)上使用 Glusterfs。
我的计划是直接在 Gluster 节点上安装 Web 服务器。
这是一个可行的解决方案还是有充分的理由使用专用的 Gluster 节点?
谢谢你。
P。
cluster ×2
haproxy ×2
failover ×1
glusterfs ×1
hyper-v ×1
nat ×1
sql ×1
vmware-esxi ×1
vmware-vsan ×1
vsan ×1
web-server ×1