使用 ha 代理配置故障转移

使用 ha 代理配置故障转移

我的设置如下:

我有两个 Samba 服务器,配置了 DRBD、Corosync 和 Pacemaker。这两个服务器都处于 HA 状态,这意味着当SambaServer1发生故障时,数据会复制到 上SambaServer2

我的要求是,当SambaServer1发生以下情况时应该发生:

  1. 客户端应该自动指向SambaServer2
  2. 挂载点不应受到影响。

我使用的解决方案:
使用 HAProxy IP 安装客户端机器。当SambaServer1发生故障时,客户端开始与 对话SambaServer2

遇到的问题:
HAProxy 服务器间歇性地将挂载点访问权限更改为关闭的服务器 SambaServer1。因此挂载点变得无法访问。客户端计算机卸载。请在故障转移的情况下为我提供正确的 HAProxy 配置建议。

以下是我的 /etc/haproxy/haproxy.cfg 文件

global
  log         <<ipaddress>> local2
  chroot      /var/lib/haproxy
  pidfile     /var/run/haproxy.pid
  maxconn     4000
  user        haproxy
  group       haproxy
  daemon
  stats socket /var/lib/haproxy/stats

defaults
  mode                    http
  log                     global
  option                  dontlognull
  option http-server-close
  option forwardfor       except <<ip/cidr>>
  option                  redispatch
  retries                 3
  timeout http-request    10s
  timeout queue           1m
  timeout connect         10s
  timeout client          10s
  timeout server          10s
  timeout http-keep-alive 10s
  timeout check           10s
  maxconn                 3000

listen smbtest
  bind :445
  mode tcp
  default_backend smbserver

backend smbserver
  mode tcp
  balance roundrobin
  server SambaServer1 <>:445 check
  server SambaServer2 <>:445 check

我也尝试过不同的平衡算法,例如leastconn、source。

相关内容