Haproxy Samba故障转移

时间:2017-04-12 12:49:38

标签: haproxy samba failover smb

我试图将Haproxy配置为故障转移samba tcp流量

现在我有了这个配置:

frontend rserve_frontend445
    bind *:445
    mode tcp
    option tcplog
    timeout client  15s
    default_backend rserve_backend445

backend rserve_backend445
    mode tcp
    #option tcplog
   #option log-health-checks
    #option redispatch
    log global
    #balance roundrobin
    timeout connect 5s
    timeout server 10s   
    server cf-m 192.168.1.2:445 
    server cf-l 192.168.2.2:445 backup

当我打开share \ haproxy \时,我在服务器192.168.1.2上看到SMB共享

当我开始复制大文件然后我断开主后端服务器192.168.1.2上的网络

该文件应对冻结后,haproxy无法将我重定向到备份节点192.168.2.2

我想通过HAproxy创建自动samba故障转移代理。我做错了什么?

我是新手,提前谢谢!

1 个答案:

答案 0 :(得分:0)

在samba前端旁边需要考虑 2个组件,提供cifs共享来托管群集:

  1. 集群存储:
    Samba写入的存储后端(磁盘上的文件)必须可供所有Samba服务器使用。解决方案是使用GlusterFSCephFS等群集文件系统。
  2. 共享Samba状态:
    Samba使用TDB(一种本地数据库)来存储状态信息。为了能够共享此状态,有CTDB
  3. 由于HaProxy无法控制这些组件,因此无法透明地对活动连接进行负载均衡

    即使有了集群文件系统和CTDB,Samba似乎也无法处理透明的故障转移(如果我错了,请纠正我)。有关详情,请参阅CTDB Samba failover not highly available