当前位置:   article > 正文

haproxy 基本搭建 + 高可用集群的搭建_rpm build 编译haproxy

rpm build 编译haproxy
  1. 1.首先对haproxy的源码包进行编译,获得haproxy的方式有多种:直接下在rpm,官网的源码包
  2. 在本次的实验中使用的是haproxy-1.6.11.tar.gz
  3. haproxy被内置到红帽中 在本次的源中查看haproxy的版本

  1. 使用rpmbuild -tb 源码包 用来构建haproxy的rpm包 便于安装就不用编译,创建连接了
  2. [root@server1 ~]# rpmbuild -tb haproxy-1.6.11.tar.gz
  3. [root@server1 ~]# cd rpmbuild/
  4. [root@server1 rpmbuild]# ls
  5. BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
  6. [root@server1 rpmbuild]# cd RPMS/
  7. [root@server1 RPMS]# ls
  8. x86_64
  9. [root@server1 RPMS]# cd x86_64/
  10. [root@server1 x86_64]# ls
  11. haproxy-1.6.11-1.x86_64.rpm
  12. [root@server1 x86_64]#
  13. 得到了haproxy-1.6.11-1.x86_64.rpm 直接进行安装,环境不用进行重新的连接
  14. [root@server1 x86_64]# rpm -ivh haproxy-1.6.11-1.x86_64.rpm
  15. Preparing... ########################################### [100%]
  16. 1:haproxy ########################################### [100%]
  17. rpm安装完成后的环境中并没有脚本,启动的脚,配置文件等
  18. [root@server1 ~]# cd /etc/haproxy/
  19. [root@server1 haproxy]# ls
  20. [root@server1 haproxy]# ls
  21. [root@server1 haproxy]#
  22. 需要将源码的包解压进行配置
  23. [root@server1 ~]# tar zxf haproxy-1.6.11.tar.gz
  24. [root@server1 examples]# pwd
  25. /root/haproxy-1.6.11/examples
  26. [root@server1 examples]# cp content-sw-sample.cfg /etc/haproxy/
  27. 这个content-sw-sample.cfg就是haproxy的主配置文件 为了方便可以将文件名更名
  28. [root@server1 haproxy]# mv content-sw-sample.cfg haproxy.cfg
  29. 下来我们对配置文件进行详细的了解
  30. 配置文件中全局的变量中 使用haproxy用户对haproxy服务进行调动,
  31. 但在启动服务的时候系统并没有直接的创建这样的一个用户为使用
  32. 在进行下一步的配置首先为进程创建一个用户,在配置中默认的uid=200 如下图所示

  1. [root@server1 haproxy]# groupadd -g 200 haproxy
  2. [root@server1 haproxy]# useradd -g 200 -u 200 haproxy
  3. 等同于nginx 我们改变haproxy所接收处理的最大的连接数
  4. 1.查看内核是否支持指定的数 2.修改配置参数的最大数目 3.系统识别最大的文件连接数
  5. [root@server1 haproxy]# vim /etc/security/limits.conf
  6. haproxy - nofile 10000
  7. 修改配置文件中的参数
  8. 更改配置文件 了解配置文件中的参数的意义[root@server1 ~]# vim /etc/haproxy/haproxy.cfg
  9. 用于设置全局配置参数global
  10. log 127.0.0.1 local2 全局的日志的配置,指定使用 127.0.0.1 上的syslog 服务中的local2 日志设备,记录等级为info 的日志
  11. chroot /var/lib/haproxy chroot 运行路径pidfile /var/run/haproxy.pid 进行 pid 用于
  12. 存放 pid
  13. maxconn 4000 默认最大连接数user haproxy 启动程序所用用户group haproxy 启动程序所用组Daemon 以后台的形式运行 haproxy
  14. # turn on stats unix socket
  15. stats socket /var/lib/haproxy/stats
  16. 默认全局配置,这些参数会被利用 frontend ,backend ,listen 组件中
  17. defaults
  18. mode http 所处理的类别(7 层http, 4 层代理tcp)
  19. log global 应用全局的日志配
  20. option httplog 启用日志记录
  21. HTTP 请求,默认 haproxy 日志记录是不记录 HTTP 请求日志option dontlognull 启用该项,日
  22. 志中将不会记录空连接。所谓空连接就是在上游的负载均衡器或者监控系统为了探测该 服务是否存活可用时,需要定期的连接或者获取某一固定的组件或页面,或者探测扫描端口是否在监听或开放等动作被称为空连接;
  23. option http-server-close 每次请求完毕后主动关闭http 通道
  24. option forwardfor except 127.0.0.0/8
  25. 如果服务器上的应用程序想记录发起请求的客户端的 IP 地址,需要在 HAProxy 上 配置此选项, 这样 HAProxy 会把客户端的IP 信息发送给服务器,在HTTP 请求中添加
  26. "X-Forwarded-For"字段。 启用 X-Forwarded-For,在requests 头部插入客户端 IP 发送给后端的server,使后端server 获取到客户端的真实IP。
  27. option redispatch serverID 对应的服务挂掉以后,强制定向到其他的健康的服务
  28. retries 3 3 次连接失败就认为服务不可用
  29. timeout http-request 10s
  30. timeout queue 1m 一个请求在队列里的超时时间
  31. timeout connect 10s 设置默认的连接超时的
  32. 时间
  33. timeout client 1m 设置客户端连接超时的
  34. 时间
  35. timeout server 1m 设置服务器连接超时的
  36. 时间
  37. timeout http-keep-alive 10s 设置 http-keep-alive
  38. 的超时时间
  39. timeout check 10s 检测超时
  40. maxconn 3000
  41. backend static
  42. balance roundrobin 使用的算法为轮询
  43. server static 127.0.0.1:4331 check 健康检查backend app
  44. balance roundrobin 轮询的算法server app1 127.0.0.1:5001 check server app2 127.0.0.1:5002 check server app3 127.0.0.1:5003 check server app4 127.0.0.1:5004 check
  45. <3>基于负载均衡的 haproxy 中配置文件的改写[root@server1 ~]# vim /etc/haproxy/haproxy.cfg 以上的设置默认不改变 将舰艇端口修改为 80 frontend main *:80
  46. default_backend my_webserver
  47. backend static 静态文件部署在本机(也可以部署在其他机器或者squid 缓存服务器)
  48. balance roundrobin
  49. server static 127.0.0.1:80 check
  50. backend my_webserver 定义一个名为my_webserver 后端部分。PS:此处 my_webserver 只是一个自定义名字而已,但是需要与 frontend 里面配置项 default_backend 值相一致
  51. balance roundrobin 算法
  52. server web1 172.25.254.2:80 check inter 2000 fall 3
  53. weight 30
  54. server web2 172.25.254.3:80 check inter 2000 fall 3
  55. weight 30

  1. 配置完成后启动服务
  2. [root@server1 ~]# /etc/init.d/haproxy start
  3. Starting haproxy: [ OK ]
  4. 在物理机上进行测试负载均衡的页面 页面如下图所示
  1. 以下的情况表示后台的服务器不可用
  2. 开启RS的http服务重新进行测试

  1. 在以上的设置中 haproxy只是最基本的负载均衡 将客户的请求的分发给真正的服务器,
  2. 服务器处理请求完成以后将数据返回给客户,
  3. cookie的参数决定了,在测试时不会出现轮询,在cookie中会保持长连接,除非当前的RS挂掉以后
  4. 会寻找存活的RS进行下次的数据处理
  5. server dynsrv1 172.25.254.2:80 minconn 50 maxconn 500 cookie s1 check inter 1000
  6. minconn 50 最小连接 maxconn 500 最大连接 cookie s1 保持长链接
  7. check inter 1000 健康检查 自动的对后端的服务进行检查,在调度时不会对挂掉的服务进行受理
  8. 在参数中去掉 cookie就可以正常的看到轮询的页面
  9. server dynsrv1 172.25.254.2:80 check inter 1000
  10. server dynsrv2 172.25.254.3:80 check inter 1000
  11. 对haproxy进行重启 [root@server1 haproxy]# /etc/init.d/haproxy restart
  12. 在物理机上对轮询的页面测试如下图
  13. 页面不能轮询 : 1.参数中有没有关闭 cookie 设置轮询的算法 2.后台的RS是否在线

http://172.25.254.1/admin/stats 查看负载的web界面 在配置的参数中这个位置是可以改变的

  1. down 掉RS后 在web界面上 server2 会变颜色
  2. 具有健康检查 在server2在线以后 会自动加入负载中

查看返回的状态码  参数设置         monitor-uri     /monitoruri

  1. haproxy 的8种负载均衡算法 :
  2. 1.balance roundrobin #轮询 软负载均衡基本都具备这种算法
  3. 2.balance static-rr #根据权重,建议使用
  4. 3.balance leastconn #最少连接者先处理,建议使用
  5. 4.balance sourc #根据请求源IP,建议使用
  6. 5.balance uri #根据请求的URI
  7. 6.balance url_param #根据请求的URI参数
  8. 7.balance hdr(name) #根据请求的HTTP请求头来锁定每次的HTTP请求
  9. 8.balance rdp-cookie(name) #根据cookie(name)来锁定并哈希每一次TCP请求
  1. 根据请求的源IP 来进行测试 balance source'
  2. [root@server1 haproxy]# /etc/init.d/haproxy reload
  3. 测试结果如下 根据请求的源IP进行锁定 持续一个连接不变

  1. 将负载均衡的日志添加到系统中
  2. [root@server1 haproxy]# vim /etc/rsyslog.conf
  3. $ModLoad imudp
  4. $UDPServerRun 514
  5. local0.* /var/log/haproxy.log
  6. *.info;mail.none;authpriv.none;cron.none;local0.none /var/log/messages
  7. [root@server1 haproxy]# /etc/init.d/rsyslog restart
  8. 修改haproxy中的轮询的算法 对haproxy进行重读 查看haproxy的日志记录的文件

  1. 在haproxy中设置允许拒绝的客户请求
  2. frontend public
  3. bind 172.25.254.1:80 name clear
  4. acl blacklist src 172.25.254.151
  5. http-request deny if blacklist
  6. [root@server1 haproxy]# /etc/init.d/haproxy reload
  7. 在物理机上进行测试 会收到拒绝的页面如下

  1. 在Haproxy收到拒绝的请求以后 可以将拒绝的请求定向到一个正在维护的页面上去
  2. haproxy 的端口是 80 因此在负载上进行定向的时候 可以将http的端口修改为8080
  3. [root@server1 haproxy]# vim /etc/httpd/conf/httpd.conf
  4. Listen 8080
  5. [root@server1 haproxy]# cat /var/www/html/index.html
  6. <h1>网站正在维护中...</h1>
  7. [root@server1 haproxy]# /etc/init.d/httpd restart
  8. [root@server1 haproxy]# vim haproxy.cfg
  9. frontend public
  10. bind 172.25.254.1:80 name clear
  11. acl blacklist src 172.25.254.151
  12. http-request deny if blacklist
  13. errorloc 403 http://172.25.254.1:8080
  14. [root@server1 haproxy]# /etc/init.d/haproxy reload
  15. 在物理机上进行测试 重定向的页面 如下图 使用命令进行测试发现永久重定向
  16. [root@loaclhost ~]# curl -I 172.25.254.1
  17. HTTP/1.1 302 Found
  18. Cache-Control: no-cache
  19. Content-length: 0
  20. Location: http://172.25.254.1:8080

  1. 采用另一种策率进行重定向
  2. frontend public
  3. bind 172.25.254.1:80 name clear
  4. acl blacklist src 172.25.254.151
  5. redirect location http://172.25.254.1:8080
  6. [root@server1 haproxy]# /etc/init.d/haproxy reload
  7. 在页面上进行测试 如下图

  1. 访问的是 blacklist 使用直接连接的方式重定向到 某一固定的页面
  2. frontend public
  3. bind 172.25.254.1:80 name clear
  4. acl blacklist src 172.25.254.151
  5. redirect location http://172.25.254.1:8080 if blacklist
  6. [root@server1 haproxy]# /etc/init.d/haproxy reload
  7. 在物理机上进行命令的询问 依旧会出现重定向的方式
  8. [root@loaclhost ~]# curl -I 172.25.254.1
  9. HTTP/1.1 302 Found
  10. Cache-Control: no-cache
  11. Content-length: 0
  12. Location: http://172.25.254.1:8080
  13. Connection: close
  1. 动静分离的访问 修改haproxy的参数
  2. 按照客户的需求,将不同的RS具有的页面调度给客户,
  3. default_backend static
  4. backend dynamic
  5. balance roundrobin
  6. #balance source
  7. #cookie DYNSRV insert indirect nocache
  8. #fullconn 4000 # the servers will be used at full load above this number of connections
  9. #172.25.254.2上面是动态页面的访问
  10. server dynsrv1 172.25.254.2:80 check inter 1000
  11. backend static
  12. balance roundrobin
  13. #172.25.254.3上面是静态页面的访问
  14. server dynsrv2 172.25.254.3:80 check inter 1000
  15. 因此在server2上进行动态页面的搭建
  16. [root@server2 ~]# yum install -y php
  17. [root@server2 html]# vim index.php
  18. <?php
  19. phpinfo();
  20. ?>
  21. [root@server2 html]# /etc/init.d/httpd restart
  22. [root@server1 haproxy]# vim haproxy.cfg
  23. use_backend dynamic if { path_end -i .php }
  24. [root@server1 haproxy]# /etc/init.d/haproxy reload
  25. 在物理机的web上进行访问 是否可以动静分离的请求到想要请求的页面
  26. 将上一步做访问的重定向 注释掉 让物理机可以访问到做动静分离的页面
  27. 以.php 结尾的动态页面的访问 会直接调度到动态状态下的动态RS server2进行受理
  28. 当没有结尾时 默认的处理规则以静态页面为首下的server3 以静态页面进行处理 访问普通的html页面

  1. 对haproxy的参数进行修改 对后台的服务器可写
  2. frontend public
  3. bind 172.25.254.1:80 name clear
  4. # acl blacklist src 172.25.254.151
  5. acl write method POST
  6. acl write method PUT
  7. use_backend dynamic if write
  8. [root@server1 haproxy]# /etc/init.d/haproxy reload
  9. [root@server2 html]# ls
  10. index.html index.php
  11. [root@server2 html]# rm -rf *
  12. [root@server2 html]# ls
  13. upload
  14. [root@server2 html]# cd upload/
  15. [root@server2 upload]# ls
  16. index.php upload_file.php
  17. [root@server2 upload]# mv * ..
  18. [root@server2 html]# chmod 777 upload
  19. [root@server2 html]# ls
  20. index.php upload upload_file.php
  21. [root@server2 html]# vim upload_file.php
  22. [root@server2 html]# scp -r * server3:/var/www/html/
  23. [root@server3 ~]# yum install -y php
  24. [root@server3 html]# /etc/init.d/httpd restart
  25. 在物理机上进行测试访问 172.25.254.1/upload_file.php

Haproxy的高可用套件的搭建  pacemaker+ corosync + haproxy

  1. [root@server1 haproxy]# yum install -y pacemaker corosync
  2. [root@server4 ~]# yum install -y pacemaker corosync
  3. [root@server1 haproxy]# cd /etc/corosync/
  4. [root@server1 corosync]# cp corosync.conf.example corosync.conf
  5. [root@server1 corosync]# vim corosync.conf
  6. 此处我只列出修改的参数,没有特别的说明,参数不必修改
  7. bindnetaddr: 172.25.254.0
  8. service {
  9. name: pacemaker
  10. ver:0
  11. }
  12. [root@server1 corosync]# scp corosync.conf server4:/etc/corosync/
  13. [root@server1 corosync]# /etc/init.d/corosync start
  14. [root@server4 ~]# /etc/init.d/corosync start
  15. pacemaker的交互并没有向ricci的套件那样的web界面,在进行交互的时候要安装交互式的软件crmsh 才能对集群进行控制
  16. [root@server1 corosync]# yum provides */crmsh
  17. Loaded plugins: product-id, subscription-manager
  18. This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
  19. No Matches found
  20. crmsh的交互软件并没有被内置到红帽中 因此要在官网上下载
  21. crmsh-1.2.6-0.rc2.2.1.x86_64.rpm 这个包具有依赖性 找到pssh的相同版本的包进行安装
  22. pssh-2.3.1-2.1.x86_64.rpm
  23. 先安装pssh 再安装crmsh 否则会有依赖性
  24. [root@server1 ~]# rpm -q crmsh
  25. crmsh-1.2.6-0.rc2.2.1.x86_64
  26. 直接使用crm 命令进入到交互式的页面 无须启动服务
  27. [root@server1 ~]# crm
  28. crm(live)#
  1. 出现了一个小问题 再我进入crm 查看的时候不听的出现以下的错误
  2. 再网上寻求无果
  3. [root@server1 ~]# crm
  4. crm(live)# configure
  5. ERROR: running cibadmin -Ql: Could not establish cib_rw connection: Connection refused (111)
  6. Signon to CIB failed: Transport endpoint is not connected
  7. Init failed, could not perform requested operations
  8. 解决: 打开了pacemaker 的服务接口就可以进行正常使用了

  1. 正常的进入到交互的界面
  2. [root@server1 ~]# crm
  3. crm(live)# configure
  4. crm(live)configure# show
  5. node server1
  6. node server4
  7. property $id="cib-bootstrap-options" \
  8. dc-version="1.1.10-14.el6-368c726" \
  9. cluster-infrastructure="cman"
  10. crm(live)configure#
  11. 在 crmsh的界面中可以使用tab键进行补齐 不用完全的记住其中命令的全称
  12. crm(live)configure# property stonith-enabled=false 关闭fence的接口
  13. crmsh在进行交互的时候记得要提交
  14. crm(live)configure# commit
  15. #########################
  16. 测试的时候发现没有问题
  17. [root@server1 ~]# crm_verify -LV
  18. [root@server1 ~]#
  19. ########################
  20. 使用show查看的时候规则就添加进去了
  21. crm(live)configure# show
  22. node server1
  23. node server4
  24. property $id="cib-bootstrap-options" \
  25. dc-version="1.1.10-14.el6-368c726" \
  26. cluster-infrastructure="cman" \
  27. stonith-enabled="false"
  28. #########################
  29. 在规则中添加VIP集群的统一调度接口
  30. crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.254.100 cidr_netmask=32 op monitor interval=1min
  31. crm(live)configure# commit
  32. 在server4中使用crm_mon进行对集群的监控 如图

  1. 对集群的节点进行测试 将server1上的资源转移到server4上去
  2. 有意的使server1集群的节点进行毁坏,将资源转移到server4上,集群的搭建就成功了
  3. [root@server1 ~]# crm node standby
  4. 在后端的监测 就会发现server1上的资源转移到server4上面去了 如下图所示

 

  1. 在server1上可以使得另一个节点在线
  2. [root@server1 corosync]# crm node online
  3. 注意:当另一个节点在线的时候,节点间不要回切,避免 因资源的接管而导致资源的丢失
  1. 测试:当其中的一个节点 /etc/init.d/corosync stop
  2. 由于corosync 默认器用stonith功能但是没有stonith的设备 如果直接配资源的化 没有这个功能 资源的切换 并不会完成
  3. 所以要禁止stonith功能 设置no-quorum-policy 为ignore 就可以解决 当其中的一个节点down 掉以后
  4. 集群还可以正常的工作 对集群含有健康检查 节点数小与2 就认为无法组成集群 集群也就无法工作
  5. crm(live)configure# property no-quorum-policy=ignore
  6. crm(live)configure# commit
  1. haproxy的高可用 将原来的haproxy的配置文件 还原到原来的静态页面的轮询的界面
  2. 把server1上的haproxy的rpm包利用scp传到server4
  3. [root@server1 x86_64]# pwd
  4. /root/rpmbuild/RPMS/x86_64
  5. [root@server1 x86_64]# scp * server4:/root/
  6. [root@server1 haproxy]# scp haproxy.cfg server4:/etc/haproxy/
  7. 启动haproxy的服务,相应的也可以将日志配置到本地系统中,便于查看和管理
  8. 回到含有crmshell的节点上对haproxy的资源进行配置 我们首先查看应有的配置如图

  1. 添加haproxy的资源到pacemaker中去
  2. crm(live)configure# primitive haproxy lsb:haproxy op monitor interval=30s
  3. crm(live)configure# commit
  4. 添加资源组
  5. crm(live)configure# group hagroup vip haproxy
  6. crm(live)configure# commit
  7. 尝试让其中的一台节点down 集群的高可用就会将该节点上的业务转移到正常节点上去
  8. 在crm中的resource中可以查看到当前的资源的资源组的状态
  9. crm(live)resource# show
  10. Resource Group: hagroup
  11. vip (ocf::heartbeat:IPaddr2): Started
  12. haproxy (lsb:haproxy): Started

集群中的fence的搭建

  1. 首先我们在server4上查询相关的fence-virt的配置
  2. [root@server4 haproxy]# rpm -q fence-virt
  3. fence-virt-0.2.3-15.el6.x86_64
  4. [root@server1 haproxy]# rpm -q fence-virt
  5. fence-virt-0.2.3-15.el6.x86_64
  6. 查看相关的配置
  7. [root@server4 haproxy]# stonith_admin -M -a fence_xvm
  8. 在物理机上打开支配fence的服务
  9. [root@loaclhost kiosk]# systemctl start fence_virtd
  10. /etc/fence_virt.conf查看fence的主配置文件
  11. 使用桥接,确保虚拟机桥接到物理机真实的网卡上 使用命令 btctl show
  12. 其次要注意在节点上的fence的密钥,如果没有密钥无法支配虚拟机进行重启
  13. 下来进入到节点的crmshell模式,对集群的资源进行fence的配置
  14. [root@server1 ~]# crm
  15. crm(live)#
  16. crm(live)configure#
  17. crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map="server1:server1;server4:server4" op monitor interval=1min
  18. server1:server1 虚拟主机名称(在创建的时候虚拟机的名称:主机名)
  19. 开启fence的功能
  20. crm(live)configure# property stonith-enabled=true
  21. crm(live)configure# commit
  22. 开启之后可以在另外的节点上进行crm_mon的监控 如图

  1. 也就是说在进行fence的调用的时候,corosync调用fence对在线的节点进行监控,
  2. 当节点不堪重负,或者人为宕机,启动fence功能,将节点重启,节点上的资源转移到在线的节点上
  3. 为什么要创建资源组对节点进行管理?
  4. 在创建的资源组中,会由很多的资源
  5. Resource Group: hagroup
  6. vip (ocf::heartbeat:IPaddr2): Started server4
  7. haproxy (lsb:haproxy): Started server4
  8. vmfence (stonith:fence_xvm): Started server4
  9. 随着节点的转移而集体的迁移,当然可以创建很多的资源组对不同的vip进行管控,
  10. 在一个组中的vip,haproxy,vmfece相当于配套的组件,成对的使用,在不同的组中可以分别相应客户的不同请求
  11. haproxy的高可用就到此结束了,但是其中的原理和一个参数的常用的理解需要下来慢慢的融汇贯通,
  12. 总结:
  13. 这篇博客主要就是haproxy 以及corosync+ pacemaker + haproxy的高可用
  14. haproxy:实现了利用源码包创建rpm ->安装,寻找haproxy的主配置文件->配置文件中的参数的功能:
  15. 1.创建haproxy的用户去调动这个进程
  16. 2.haproxy 自带cookie chek健康检查 要实现轮询的算法,对cookie进行注释
  17. 3.实现对访问控制的重定向,以及重定向页面的处理
  18. 4.将haproxy的日志加入到系统的日志中去,在配置文件中查看日志的位置,及日志的类型
  19. /etc/rsyslog.conf中加入local0的类型,并将其加入到/var/log/messages中全局日志,haproxy.none
  20. 5.实现页面访问的动静分离,在以path_end -i .php 区别动态页面和静态页面 在底下分别对不同的页面调度到不同的RS上
  21. 6.实现读写分离,在默认的写和读可以在两台机器上实现
  22. corosync + pacemaker + haproxy 高可用:
  23. pacemaker是资源管理器,对集群进行管理和监测的,但其本身并不具备心跳的功能,
  24. 现在corosync集成了心跳和集群的组件,对集群间的心跳有测试,具备平滑的切换,利用组资源,将套件快速整合切换,
  25. 但是corosync的组件,本身并不具备web的页面,在进行交互的时候,要使用crmshell的插件对集群进行配置,具体的crm具有依赖性,pssh的安装,注意版本
  26. 1.在crm中crm(live)#并不能进行配置 首先进入configure界面 进行show 就可以看见其中的参数
  27. 2.创建统一的接口VIP的搭建,
  28. 3.因为pacemaker的集群中少于2个节点,就认为集群是坏的,因此必须要让集群忽视这个功能
  29. 4.haproxy的集群高可用,将haproxy加入集群中带入
  30. 5.将VIP和haproxy绑定在同一个资源组,当节点转移的时候,所有的资源都会转移,
  31. 6.fence的加入,使得集群中的单点可调节,根据状态变化,进行重启

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/261739
推荐阅读
相关标签
  

闽ICP备14008679号