负载平衡 – 如何使负载均衡的服务器与已删除的文件保持同步?

我最近为我们的网站设置了loadbalanced解决方案.我们托管了大约200个站点,大多数运行我们的自定义应用程序,但有些正在运行wordpress博客(可以上传/删除文件).设置是基本的:

          |-------------------> Apache1
          |
 HAProxy -|
          |
          |-------------------> Apache2

我已经将Apache1设置为“主”,因此使用以下命令每分钟将对其进行的大部分更改都转发到Apache2:

rsync -av --delete apache1:/var/www/html/ /var/www/html/

问题是,如前所述,在某些情况下,在Apache2上添加/删除文件.到目前为止,我提出的唯一解决方案是将Apache1 rsync在某些目录(例如wp-content)中的所有文件都自己(不是删除),然后将所有文件推送回Apache2.

这有它的缺点,主要是:

>这两台服务器最终将获得在Apache2上删除的额外文件
>当我添加更多服务器时,rsync脚本将需要更长时间才能完成.

有没有办法让两台Web服务器同步,考虑到两台服务器都可以添加,更新和删除文件?

最佳答案
我正在使用OCFS2 with DRBD.

DRBD资源/etc/drbd.d/r0.res:

resource r0 {
    syncer { rate 1000M; }
    net {
        allow-two-primaries;
        after-sb-0pri discard-zero-changes;
        after-sb-1pri discard-secondary;
        after-sb-2pri disconnect;
    }
    startup { become-primary-on both; }

    on s1 {
        device      /dev/drbd1;
        disk        /dev/sdc;
        address     ip1:7789;
        meta-disk   internal;
    }
    on s2 {
        device      /dev/drbd1;
        disk        /dev/xvdb2;
        address     ip2:7789;
        meta-disk   internal;
    }
}

/ dev / drbd1格式化为ocfs2文件系统:

/dev/drbd1   ocfs2   100660180   7427076  93233104   8% /data/webroot

没有Pacemaker /etc/ocfs2/cluster.conf的OCFS2配置:

node:
    ip_port = 7777
    ip_address = ip1
    number = 0
    name = s1
    cluster = ocfs2

node:
    ip_port = 7777
    ip_address = ip2
    number = 1
    name = s2
    cluster = ocfs2

cluster:
    node_count = 2
    name = ocfs2

可以使用drbd-overview实用程序查看DRBD状态:

# drbd-overview 
  1:r0  Connected Primary/Primary UpToDate/UpToDate C r---- /data/webroot ocfs2 96G 9.8G 87G 11% 

或来自/ proc / drbd:

cat /proc/drbd 
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:09

 1: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r----
    ns:953133955 nr:42207234 dw:1185526354 dr:62396241 al:230084 bm:5853 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

转载注明原文:负载平衡 – 如何使负载均衡的服务器与已删除的文件保持同步? - 代码日志