码迷,mamicode.com
首页 > 其他好文 > 详细

keepalived+LVS/DR的搭建

时间:2018-08-17 11:12:53      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:algo   x86_64   inter   slave   tun   pad   flags   ESS   pvs   

集群 1 高性能计算机集群HPC 通过以集群开发的并行应用程序,解决复杂的科学问题 2 负载均衡(LB)集群 客户端负载在计算机集群中尽可能平均分摊 3 高可用(HA)集群 避免单点故障,当一个系统发生故障时,可以快速迁移 LVS集群(LB) 前端:负载均衡层 由一台或多台负载调度器构成 中间:服务器群组层 由一组实际运行应用服务的服务器组成 底端:数据共享存储层 提供共享存储空间的存储区域 Driector Server:调度服务器 将负载分发到Real Server的服务器 Real Server:真实服务器 真正提供应用服务的服务器 VIP:虚拟IP地址 公布给用户访问的虚拟IP地址 RIP:真实IP地址 集群节点上使用的IP地址 DIP:调度器连接点服务器的IP地址 工作模式: LVS/NAT:通过网络地址转换实现的虚拟服务器 缺点:大并发访问时,调度器的性能成为瓶颈 LVS/DR:直接使用路由技术实现虚拟服务器 节点服务器需要配置VIP,注意MAC地址广播 LVS/TUN:通过隧道方式实现虚拟服务器 负载均衡调度算法: (Round Robin)rr轮询:将客户端请求平均分发到Real Server (Weighted Round Robin)wrr加权轮询:根据Real Server权重值进行轮询调度 (Least Connections)lc最少连接:选择连接数最少的服务器 (Weighted Least Connections)wlc加权最少连接:根据Real Server权重值,选择连接数最少的服务器 (Source Hashing)sh源地值散列:根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器 LVS/NAT service iptables stop 关闭防火墙 chkconfig iptables off chkconfig httpd on echo 192.168.4.51 > /var/www/html/test.html service httpd start 起服务 chkconfig httpd on 开机自起 yum -y install elinks elinks --dump http://192.168.4.51/test.html 配置分发器50: 1 开启内核路由功能 2 装包 3 添加虚拟服务 4 添加realserver 5 启动服务 6 测试 1 开启内核路由功能 vim /etc/sysctl.conf 7 net.ipv4.ip_forward = 1 开启路由功能 service network restart 重起网卡 网络服务51/52 1.1 指定网关地址 临时: route -n Flags:UG route add default gw 192.168.4.50 del vim /etc/sysconfig/network-scripts/ifcfg-eth1 GATEWAY=192.168.4.50 客户端2.253 1.2 指定网关地址 临时: route -n Flags:UG route add default gw 192.168.2.50 del vim /etc/sysconfig/network-scripts/ifcfg-eth1 GATEWAY=192.168.4.50 2 装包 ipvsadm wget ftp://192.168.4.254/xixi/LoadBalancer/ipvsadm-1.26-4.el6.x86_64.rpm rpm -ivh ipvsadm-1.26-4.el6.x86_64.rpm ipvsadm 用法 -A 添加虚拟服务 -t 设置集群地址(VIP,Vitual IP) -s 指定负载调度算法 -a 添加真实服务器 -d 删除真实服务器 -r 指定真实服务器(Real Server)的地址 -m 使用NAT模式 -g 使用DR模式 -i 使用TUN模式 -w 为节点服务器设置权重,默认为1 -Ln 查看 -E 修改负载均衡调度算法 3 添加虚拟服务 ipvsadm -A -t 192.168.2.50:80 -s rr 4 添加realserver ipvsadm -a -t 192.168.2.50:80 -r 192.168.4.51:80 -m ipvsadm -a -t 192.168.2.50:80 -r 192.168.4.52:80 -m service ipvsadm save 保存 chkconfig ipvsadm on 删除realserver ipvsadm -d -t 192.168.2.50:80 -r 192.168.4.52:80 -m 修改算法 ipvsadm -E -t 192.168.2.50:80 -r 192.168.4.52:80 -wrr 修改权重 ipvsadm -e -t 192.168.2.50:80 -r 192.168.4.52:80 -w 3 -m ipvsadm -C 清空所有 service ipvsadm save 5 启动服务 service ipvsadm start service ipvsadm startus ipvsadm -Ln ipvsadm -Ln --stats curl http://192.168.2.50/test.html ==================================================================== ==================================================================== LVS/DR DR用虚拟VIP地址来解决调度器的瓶颈, 实现后端服务器直接给客户端回包。 配置LVS/DR模式的LB集群 1 配置网站服务器51/52 1.1 配置VIP地址 1.2 修改网络接口运行参数 1.3 运行网站服务并网页文件 2 配置分发器 2.1 装包ipvsadm 2.2 配置VIP地址 2.3 创建虚拟服务 2.4 添加realserver 2.5 保存配置,查看配置 3 客户端访问 3.1 访问 1 配置网站服务器51/52 ifconfig lo:1 192.168.4.252/32 ifconfig lo:1 cd /proc/sys/net/ipv4/conf cat lo/arp_ignore echo 1 > lo/arp_ignore 只接收本地接口的广播包 echo 2 > lo/arp_announce 帮lo口接收包 cat all/arp_ignore eth0配置 echo 1 > all/arp_ignore echo 2 > all/arp_announce cat /etc/rc.local 开机中最后读取的文件 2 配置分发器 2.1 装包ipvsadm 2.2 配置VIP地址 ifconfig eth0:1 192.168.4.252/32 ifconfig eth0:1 2.3 创建虚拟服务 ipvsadm -A -t 192.168.4.252:80 -s rr 2.4 添加realserver ipvsadm -a -t 192.168.4.252:80 -r 192.168.4.51:80 -g ipvsadm -a -t 192.168.4.252:80 -r 192.168.4.52:80 -g 2.5 保存配置,查看配置 service ipvsadm save 保存 chkconfig ipvsadm on ipvsadm -Ln --stats Prot LocalAddress:Port Conns InPkts OutPkts InBytes(进包数) OutBytes(出包数) -> RemoteAddress:Port TCP 192.168.4.252:80 10 53 0 4666 0 -> 192.168.4.51:80 5 27 0 2359 0 -> 192.168.4.52:80 5 26 0 2307 0 ipvsadm -Ln -> RemoteAddress:Port Forward Weight(权重) ActiveConn InActConn TCP 192.168.4.252:80 rr -> 192.168.4.51:80 Route(DR模式) 1 0 0 -> 192.168.4.52:80 Route(DR模式) 1 0 0 3 客户端访问 arping -c2 192.168.4.252 (回包MAC地址是分发器的MAC地址) curl http://192.168.4.252/test.html 解绑IP地址: ifdwon lo:1 ,ifconfig lo:1 或service network restart(重起网卡服务) keepalived+LVS/DR 配置LVS/DR 配置后端网站服务器 ifconfig lo:1 192.168.4.252/32 (后端服务器配置VIP) ifconfig lo:1 cd /proc/sys/net/ipv4/conf cat lo/arp_ignore echo 1 > lo/arp_ignore 只接收本地接口的广播包 echo 2 > lo/arp_announce 帮lo口接收包 cat all/arp_ignore eth0配置 echo 1 > all/arp_ignore echo 2 > all/arp_announce 调度器配置 yum -y install ipvsadm service ipvsadm start yum -y install keepalived service keepalived start 主: vim /etc/kepalived/kepalived.conf global_defs { notification_email { abc@localhost 设置报警邮件人邮箱 } notification_email_from Alexandre.Cassen@firewall.loc 设置发件人 smtp_server 192.168.200.1 定义邮件服务器 smtp_connect_timeout 30 router_id LVS_DEVEL 设置路由ID号 } vrrp_instance webha { state MASTER 主服务器为MASTER,辅助为SLAVE或BACKUP interface eth0 定义网卡接口 virtual_router_id 51 主辅VRID号必须一致 priority 150 服务器优先级,越大优先级越高 advert_int 1 authentication { auth_type PASS auth_pass 123456 主辅服务器密码必须一致 } virtual_ipaddress { 设置VIP 192.168.4.252 可用多个 } } virtual_server 192.168.4.252 80 { 设置VIP delay_loop 6 lb_algo rr 设置LVS调度算法为rr lb_kind DR 设置LVS的模式为DR nat_mask 255.255.255.0 persistence_timeout 50 同一客户端访问服务器超过50秒才改变服务器 protocol TCP connect_timeout 3 nb_get_retry 3 delay_before_retry 3 real_server 192.168.4.51 80 { 后端服务器ip地址 weight 1 } real_server 192.168.4.52 80 { weight 1 } } 辅: vim /etc/kepalived/kepalived.conf global_defs { notification_email { abc@localhost 设置报警邮件人邮箱 } notification_email_from Alexandre.Cassen@firewall.loc 设置发件人 smtp_server 192.168.200.1 定义邮件服务器 smtp_connect_timeout 30 router_id LVS_DEVEL 设置路由ID号 } vrrp_instance webha { state BACKUP 主服务器为MASTER,辅助为SLAVE或BACKUP interface eth0 定义网卡接口 virtual_router_id 51 主辅VRID号必须一致 priority 100 服务器优先级,越大优先级越高 advert_int 1 authentication { auth_type PASS auth_pass 123456 主辅服务器密码必须一致 } virtual_ipaddress { 设置VIP 192.168.4.252 可用多个 } } virtual_server 192.168.4.252 80 { 设置VIP delay_loop 6 lb_algo rr 设置LVS调度算法为rr lb_kind DR 设置LVS的模式为DR nat_mask 255.255.255.0 persistence_timeout 50 同一客户端访问服务器超过50秒才改变服务器 protocol TCP connect_timeout 3 nb_get_retry 3 delay_before_retry 3 real_server 192.168.4.51 80 { 后端服务器ip地址 weight 1 } real_server 192.168.4.52 80 { weight 1 } } 重启服务: service keepalived restart 测试: curl http://192.168.4.252/

keepalived+LVS/DR的搭建

标签:algo   x86_64   inter   slave   tun   pad   flags   ESS   pvs   

原文地址:http://blog.51cto.com/13399294/2161008

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!