haproxy keepalived安装及配置技术培训


keepalived是集群管理中保证集群高可用的一个服务软件,其功 能类似于heartbeat,用来防止单点故障。 keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层) 和HTTP(第七层)应用的代理软件。 2 4 33 31 操作步骤: 【第一步】将haproxy软件安装包上传至第一台服务器上,例如上传 到服务器的tmp目录下,本次使用的软件版本为haproxy-1.5.4- 2.el7.x86_64.rpm,具体实施版本视实际情况而定。 【第二步】执行cd /tmp指令切换到tmp目录下,再执行ll指令查找 到haproxy软件是否已经上传成功,如下图所示。 【第三步】执行如下指令安装haproxy。 【第四步】安装完成后,会自动生成默认配置文件 /etc/haproxy/haproxy.cfg。 【第五步】另个一台服务器haproxy的安装方法相同,请参考。 2 4 33 31 执行如下命令将haproxy设置成Linux系统服务,且开机自动启动: systemctl enable haproxy.service 2 4 33 31 操作步骤: 【第一步】建议首先备份默认配置文件,然后将haproxy.cfg配置文 件中不需要的项和注释进行删除。 cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak 【第二步】使用vi编辑器编辑/etc/haproxy/haproxy.cfg配置文件的 内容。 vim /etc/haproxy/haproxy.cfg 将文件中所有内容进行按后续页面内容进行替换 global chroot /var/lib/haproxy #当前工作目录 pidfile /var/run/haproxy.pid #定义haproxy的pid maxconn 51200 #最大并发连接数 user haproxy #haproxy的用户 group haproxy #haproxy的组 daemon #后台方式运行 nbproc 1 #并发进程数 defaults mode http #mode {http|tcp|health}运行模式或协议 http是七层模式,tcp是四层模式,health是 健康检测返回OK optionredispatch #会话重定向 optionabortonclose timeout connect 5000ms #连接超时 timeout client 30000ms #客户端超时 timeout server 30000ms #服务器超时 log 127.0.0.1 local0 err #使用本机syslog服务的local0设备记录错误信 息 balance roundrobin #基于权重进行轮询 listen admin_stats bind 0.0.0.0:8888 #定义监听的套接字,端口号8888 可以自定义 option httplog #启用日志模式 stats refresh 30s #统计页面的刷新间隔为30s stats uri /stats #登录统计页面stats stats realm Haproxy Manager stats auth admin:admin #登录统计页面的用户名和密码 #后续为配置监听实例,需按实际情况修改IP地址和增加新的监听实例。 listen sl_http_port :9081 mode http balance roundrobin cookie LBN insert indirect nocache option httpclose server web1 192.0.2.94:8081 check inter 2000 fall 3 weight 20 server web2 192.0.2.212:8081 check inter 2000 fall 3 weight 20 listen cl_http_port :9082 mode http balance roundrobin cookie LBN insert indirect nocache option httpclose server web1 192.0.2.94:8082 check inter 2000 fall 3 weight 20 server web2 192.0.2.212:8082 check inter 2000 fall 3 weight 20 listen tb_http_port :9083 mode http balance roundrobin cookie LBN insert indirect nocache option httpclose server web1 192.0.2.94:8083 check inter 2000 fall 3 weight 20 server web2 192.0.2.212:8083 check inter 2000 fall 3 weight 20 listen glsc_http_port :9084 mode http balance roundrobin cookie LBN insert indirect nocache option httpclose server web1 192.0.2.94:8084 check inter 2000 fall 3 weight 20 server web2 192.0.2.212:8084 check inter 2000 fall 3 weight 20 listen zkqz_http_port :9085 mode http balance roundrobin cookie LBN insert indirect nocache option httpclose server web1 192.0.2.94:8085 check inter 2000 fall 3 weight 20 server web2 192.0.2.212:8085 check inter 2000 fall 3 weight 20 2 4 33 31 【第一步】启动Haproxy,启动命令如下所示: haproxy -f /etc/haproxy/haproxy.cfg 启动后用命令ps -ef|grep haproxy检查进程,如下图所示: 【第二步】停止Haproxy,停止命令如下所示: killall haproxy 【第三步】可以在浏览器中输入http://IP:8888/stats,来访问统计 页面,IP地址为HA服务器的IP,当出现验证界面,默认设置用户密码 均为admin,如下图所示。 进入管理界面,如下图所示。 2 4 33 31 35 操作步骤: 【第一步】将keepalived软件上传至服务器,例如上传到服务器的 tmp目录下。 【第二步】执行cd /tmp指令切换到tmp目录下,再执行ll指令查找到 keepalived软件是否已经上传成功,如下图所示。 【第三步】执行rpm -ivh keepalived-1.2.13-6.el7.x86_64.rpm指令, 安装keepalived,如下图所示。 【第四步】安装完成后,自动生成配置文件 /etc/keepalived/keepalived.conf。 【第五步】另个一台服务器keepalived的安装方法相同,请参考。 2 4 33 31 35 执行如下命令将keepalived设置成Linux系统服务,且开机自动启动: systemctl enable keepalived.service 2 4 33 31 35 操作步骤: 【第一步】建议首先备份默认配置文件,然后将keepalived.conf 配置文件中不需要的项和注释进行删除。 cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak 【第二步】使用vi编辑器编辑/etc/keepalived/keepalived.conf配置 文件的内容。 vim /etc/keepalived/keepalived.conf 将文件中所有内容进行按后续页面内容进行替换 global_defs { router_id qznode1 #节点标识,通常设置为服务器主机名 } #监测haproxy进程状态,健康检查,每2秒执行一次 vrrp_script chk_haproxy { script "/etc/keepalived/chk_haproxy.sh" #监控haproxy脚本 interval 2 #每两秒进行一次 weight -10 #如果script中的指令执行失败,vrrp_instance的优先级会减 少10个点 } vrrp_instance VI_1 { state MASTER #主服务器MASTER,从服务器为BACKUP interface eth0 #服务器固有IP(非VIP)的网卡名 virtual_router_id 51 #取值在0-255之间,用来区分多个instance的VRRP组播, 同一网段中virtual_router_id的值不能重复,否则会出错,同组的主、从服务器的值 要设置为一样。 priority 100 #用来选举master的,要成为master,那么这个选项的值最好高于 其他机器50个点。此时,从服务器要低于100; advert_int 1 #健康查检时间间隔 mcast_src_ip 192.0.2.100 #MASTER服务器IP,从服务器写从服务器的IP authentication { #认证区域 auth_type PASS #推荐使用PASS(密码只识别前8位) auth_pass 87654321 } track_script { chk_haproxy #监测haproxy进程状态 } virtual_ipaddress { 192.0.2.235 #虚拟IP,空闲真实的IP故障时漂移使用,也是提供给外部访问 服务的IP } } 说明:需要注意以下参数,这些参数主、从服务器会设置的不同: router_id、state、priority、mcast_src_ip 1、需要注意virtual_router_id这个参数: 该参数取值在0-255之间,同一局域网段中virtual_router_id的值不能 重复,否则会出错,但是同组的主、从服务器的值必须要设置一样; 一键安装脚本时需要各组修改该值。 2、virtual_ipaddress 这个指定的VIP,在一键时也需要各组修改成不 同的VIP。 修改文件为:/tmp/dzfp_setup/ha-kl-install/keepalived.conf 2 4 33 31 35 vim /etc/keepalived/chk_haproxy.sh 操作步骤: 【第一步】使用vi编辑器创建监控脚本。 此脚本目的是检查haproxy服务是否挂掉,如果挂掉,则重新启 动haproxy; 若haporxy启动之后还是没有检测到haproxy的启动状态,则关 闭keepalived,让IP飘移到备机上。 脚本内容如下: #!/bin/bash status=$(ps aux|grep haproxy | grep -v grep | grep -v bash | wc -l) if [ "${status}" = "0" ]; then haproxy -f /etc/haproxy/haproxy.cfg status2=$(ps aux|grep haproxy | grep -v grep | grep -v bash |wc -l) if [ "${status2}" = "0" ]; then systemctl stop keepalived.service fi fi chmod 755 /etc/keepalived/chk_haproxy.sh 【第二步】执行chmod 755 /etc/keepalived/chk_haproxy.sh指令, 给监控脚本添加可执行权限。 2 4 33 31 35 systemctl start keepalived.service 【第一步】启动keepalived,启动命令如下所示: 启动后用命令ps -ef|grep keepalived检查进程,如下图所示: 【第二步】停止keepalived,停止命令如下所示: systemctl stop keepalived.service IP漂移检测 故障时,脚本启动检测 【第一步】分别在主机和备机上执行ip addr指令,查看虚拟IP绑 定情况。 【第二步】在主机执行如下执行关闭主机keepalived。 systemctl stop keepalived.service 【第三步】然后重新分别在主机和备机上执行ip addr指令,发现虚 拟IP已经漂移到备机。 【第四步】主机执行tail -f /var/log/messages指令,查看系统 日志,显示Keepalived已经停止,如下所示。 tail -f /var/log/messages Mar 800:22:35 zz Keepalived[4094]: Stopping Keepalived v1.2.8 (03/07,2016) Mar 800:22:35 zz Keepalived_vrrp[4097]: VRRP_Instance(VI_1) sending 0 priority Mar 800:22:35 zz Keepalived_vrrp[4097]: VRRP_Instance(VI_1) removing protocol VIPs. IP漂移检测 故障时,脚本启动检测 操作步骤: 【第一步】任意服务器上执行ps -ef|grep haproxy指令,查询 haproxy进程,如下所示。 [root@zz keepalived]# ps -ef|grep haproxy root 3340 1000:08 ? 00:00:02 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg root 104041514001:22 pts/000:00:00 grep haproxy 【第二步】根据查找到的进程号,执行“kill -9 进程号”,结束 haproxy进程,然后再执行“ps -ef|grep haproxy”,查看进程,如下 所示。 [root@zz keepalived]# kill -9 3340 [root@zz keepalived]# ps -ef|grep haproxy root 104621514001:22 pts/000:00:00 grep haproxy 【第三步】过几秒后,再次执行“ps -ef|grep haproxy”,查看进程 ,如果查看到haproxy进程又自动启动,说明配置没问题,如下所示。 [root@zz keepalived]# ps -ef|grep haproxy root 104721001:22 ? 00:00:00 /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg root 104881514001:22 pts/000:00:00 grep haproxy
还剩49页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

kyle.yang

贡献于2017-02-27

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf