设为首页 收藏本站
查看: 557|回复: 0

[经验分享] keepalived+LVS/DR的搭建

[复制链接]

尚未签到

发表于 2018-12-30 06:14:17 | 显示全部楼层 |阅读模式
集群
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/




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657342-1-1.html 上篇帖子: HAProxy + Keepalived实现MySQL的高可用负载均衡 下篇帖子: lvs+keepalived+vsftp实现主备负载均衡ftp集群.txt
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表