我的设置如下:
我有两个 Samba 服务器,配置了 DRBD、Corosync 和 Pacemaker。这两个服务器都处于 HA 状态,这意味着当SambaServer1
发生故障时,数据会复制到 上SambaServer2
。
我的要求是,当SambaServer1
发生以下情况时应该发生:
- 客户端应该自动指向
SambaServer2
。 - 挂载点不应受到影响。
我使用的解决方案:
使用 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。