haproxy+pacemaker 怼烎@ 2022-05-25 00:47 194阅读 0赞 ## ## #### **HAProxy**是一个使用C语言编写的自由及开放源代码软件,其提供[高可用性][Link 1]、[负载均衡][Link 2],以及基于[TCP][]和[HTTP][]的应用程序[代理][Link 3]。 #### #### HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的[并发连接][Link 4]。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 #### -----来自百度百科 ## 一、配置环境 ## 1、解包,命令find -name \*.spec有这个文件表示可以用源码软件包安装 ![20180504193006850][] 2、安装rpmbuild服务,**rpmbuild命令**被用于创建[rpm][]的二进制软件包和源码软件包 rpmbuild -tb haproxy-1..6.11.tar..gz 找到haproxy的rpm软件包,rpm -ivh安装 ![20180504193343549][] 3、 cp content-sw-sample.cfg /etc/haproxy/haproxy.cfg去到haproxy目录下复制其配置文件到指定路径; 修改配置文件以到达我们的需要; (1)根据配置文件,建立haproxy用户赋予指定uid、gid ![20180504193625891][] ![20180504193638672][] (2)vim /etc/security/limits.conf 添加文件最大限制数 haproxy - nofile 65535 (3)更改配置文件如下图:实现一个负载均衡 ![20180504193846886][]![20180504193854652][]![20180504193903131][] 查看端口信息;可以看到haproxy服务使用的80端口 ![2018050419413816][] 访问测试:如图 ![20180504194204281][] 根据日志可以查看其stats状态页,如下图 ![20180504194443630][] 这里可以定义用户和密码 ![20180504195216489][] 测试查看效果如图 ![20180504195239734][] ## 二、创建指定日志文件 ## 1、使UDP端口接收生效 ![20180504194946430][] 2、添加日志并指定日志保存路径,黑色选中表示在/var/log/messages下不保存 ![20180504195103387][] ## 三、acl列表 ## 1、建立acl黑名单,指定ip,更改配置文件,如下图 ![20180504200616322][] 测试查看:403报错 ![20180504200649607][] 2、错误重定向,将403报错给客户没实际作用,这里更改配置文件将错误重定向到本机的apache服务默认发布目录里的写入内容,记得将httpd的端口改为8080避免和haproxy服务冲突;如下图 ![20180504200921339][] ![20180504200943511][] 访问测试如图,实现错误重定向 ![20180504200959543][] 3、指定ip重定向,更改配置文件,如图 ![20180504201234534][] 这里重定向ip是server4;我们server4测试查看: ![20180504201317945][] ## 四、动静分离 ## 1、server3安装php 编辑动态页面 完成后restart httpd服务 ![20180504201452869][] 2、编辑配置文件,如果访问以.php结尾的动态界面,实际访问的主机为server3;静态页面访问server2 ![20180504201615674][] 测试查看 ![20180504201641210][] ## 五、读写分离 ## 1、server2 编写php文件完成 发送给serber3 ![20180504201750339][] 2、server1编辑配置文件,如果有写入操作,访问动态server3主机 ![20180504201858644][] 3、访问测试 ![20180504201919606][] 上传一个图片如图 ![20180504202011317][] server3实现写 图片实际保存在server3上 读的时候访问的是server2;server3查看可以看到图片保存在server3上;实现读写分离 ![20180504202113990][] # pacemaker # Pacemaker是一个 [集群][Link 5]资源管理器。它利用集群基础构件(OpenAIS 、heartbeat或corosync)提供的消息和成员管理能力来探测并从 [节点][Link 6]或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。 ----来自百度百科 ## corosync+pacemaker+crm简单配置 ## 1、server1和server4安装pacemaker crmsh.x86\_64 pssh.x86\_64 2、cp corosync.conf.example corosync.conf更改配置文件如下 ![20180504202351269][] 文件末尾加入如图 ![20180504202421756][] 3、servre1和server4:/etc/init.d/corosync start 4、scp corosync.conf server4:/etc/corosync/ 5、server1:crm\_verify -LV 有报错 ![20180504202604987][] crm configure show property stonith-enabled=false 表示资源不会迁移 再次crm\_verify -LV没有报错表示正常 ![20180504202804442][] 6、加入vip ![20180504202846132][] ![2018050420473140][] 7、 crm\_mon监控集群和vip信息 ![20180504202920211][] 8、property no-quorum-policy=ignore关闭集群对节点数量的检查,节点server1如果故障,节点server4收不到心跳请求,直接接管程序,保证正常运行,不至于一个节点崩掉而使整个集群崩掉 ![20180504203514591][] 9、实现haproxy服务高可用,先编辑上面更改过的配置文件如下图 ![20180504203625464][] 向集群添加haproxy 服务;并绑定在一台主机上,避免资源飘移,将他们绑定在一个组上 ![2018050420413198][] 监控查看 ![20180504204158668][] 测试:开启server1、server4上的haproxy ,关闭此时ip在的主机上的corosync,发现服务仍能正常访问,实现了集群高可用 10、开启fence功能 检查有没有fence\_xvm服务 ![2018050420444792][] 添加fence资源,写入集群节点名和真实server的名字映射 ![20180504204556570][] 真机打开fence\_virtd服务;成功加入监控查看 ![20180504204644759][] 至此haproxy的基于pacemaker结合corosync的高可用负载均衡集群部署完毕 [Link 1]: https://baike.baidu.com/item/%E9%AB%98%E5%8F%AF%E7%94%A8%E6%80%A7 [Link 2]: https://baike.baidu.com/item/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1 [TCP]: https://baike.baidu.com/item/TCP [HTTP]: https://baike.baidu.com/item/HTTP [Link 3]: https://baike.baidu.com/item/%E4%BB%A3%E7%90%86 [Link 4]: https://baike.baidu.com/item/%E5%B9%B6%E5%8F%91%E8%BF%9E%E6%8E%A5 [20180504193006850]: /images/20220525/71d48d1512d24963a2e7e417b3939470.png [rpm]: http://man.linuxde.net/rpm [20180504193343549]: /images/20220525/2161a199c8cc43c2aba81681253ba0e8.png [20180504193625891]: /images/20220525/1df14c576ad044ccab31bfc77fe44d5e.png [20180504193638672]: /images/20220525/19d6ef5ab3f64b05ba73c9bbdc2bb912.png [20180504193846886]: https://img-blog.csdn.net/20180504193846886 [20180504193854652]: https://img-blog.csdn.net/20180504193854652 [20180504193903131]: /images/20220525/ce1a61480e564d31b16e43c6727908df.png [2018050419413816]: /images/20220525/0bea76798d274b4385df9396881df426.png [20180504194204281]: /images/20220525/f07b5b33dd8b49718dd6349052cea8fb.png [20180504194443630]: /images/20220525/f5f79fede5a74f70860e375f169ef461.png [20180504195216489]: /images/20220525/506387726f974c1284523dea5de87197.png [20180504195239734]: /images/20220525/31c18d3ab5bd433381b0f980800abb1c.png [20180504194946430]: /images/20220525/05cae61a3f9a4b6ea2ff5899649d4a91.png [20180504195103387]: /images/20220525/a7215efc8bbc46ffa20c0186234e3b10.png [20180504200616322]: /images/20220525/e28ed7752d1149839eb13bf45636b91d.png [20180504200649607]: /images/20220525/2fc22f12cdeb482f9c30a042bec011fc.png [20180504200921339]: /images/20220525/88507d35f58547c097c74e50c6eff4cb.png [20180504200943511]: /images/20220525/441316c6216342b1b77f5d39f00bb0fc.png [20180504200959543]: /images/20220525/188e5775354d41a5904f1688d52e1e66.png [20180504201234534]: /images/20220525/8a572ae2aff24ebaae842aa2c69d6e00.png [20180504201317945]: /images/20220525/5636608784aa4da291a55d5297e2c664.png [20180504201452869]: /images/20220525/894d540e74c44031b63daacaf0cff459.png [20180504201615674]: /images/20220525/6e9a4a0d659f4e5bb55cd1004b192037.png [20180504201641210]: /images/20220525/97dbe3902565428a89cc94ecc65e46a2.png [20180504201750339]: /images/20220525/e741de06cc0045448a0c4d8b9b638d6e.png [20180504201858644]: /images/20220525/50d9ade4f299475b9d805d09e340d0b7.png [20180504201919606]: /images/20220525/36fe4d10b4af4ff99f575b7b7deab27d.png [20180504202011317]: /images/20220525/ae28dfd580214e969876333eda3f5d7c.png [20180504202113990]: /images/20220525/87941a8b9d2e41cc89b4893cc1e66122.png [Link 5]: https://baike.baidu.com/item/%E9%9B%86%E7%BE%A4 [Link 6]: https://baike.baidu.com/item/%E8%8A%82%E7%82%B9 [20180504202351269]: /images/20220525/e712d3150b8a4fb0b891d2d560355dab.png [20180504202421756]: /images/20220525/74d7c81e96264eb6844afea2a66c83dc.png [20180504202604987]: /images/20220525/6d3db03e907743bb823bbf76b4a98a81.png [20180504202804442]: /images/20220525/8bc4a0d938ea45dbb021a6c3a0e374e8.png [20180504202846132]: /images/20220525/d664e1ede1914cb1af8cf5ec10381ae9.png [2018050420473140]: /images/20220525/f65b5eb434a5454db29536bde4bf7ab3.png [20180504202920211]: /images/20220525/f85a01740a5f497eb29a1f1d0b22b8bf.png [20180504203514591]: /images/20220525/81b8c7b8cb8a4f4d90e182c54feb9cc7.png [20180504203625464]: /images/20220525/932795edb0bb4eed853de183432ecfd4.png [2018050420413198]: /images/20220525/e5990e593b434d2b8e57132dd4e7210c.png [20180504204158668]: /images/20220525/c0e22aa29ae94ceea4e01aa952fc11f9.png [2018050420444792]: /images/20220525/8872d00378e44267b74d31daa3037e4b.png [20180504204556570]: /images/20220525/5896b8b260b84474a134fe24b2bcbdc1.png [20180504204644759]: /images/20220525/9586fa3f505c46378ec171fc80f5abd7.png
还没有评论,来说两句吧...