keepalived 个人解析
来源:互联网 发布:如何用python做贪吃蛇 编辑:程序博客网 时间:2024/06/02 03:16
1.DNS(Domain Name System,域名系统)
2.负载均衡的种类
1.apache +JK(解决请求转发的插件) 2.Nginx(Nginx自带请求转发的功能) 3.LVS(Linux Virtural Server)+keepalived 在1和2中apache和Nginx起到的作用就是负载均衡器,为了实现
3.Keepalived 配置详解
安装
yum -y install keepalived //安装keepalived
作用:仅仅是实现高可用的功能,防止单点故障 它是以VRRP(virtual Router Redundancy Protecel,虚拟路由冗余协议) /etc/keepalived /keepalived .conf 1.GloBal configuration全局配置 gloabal definitions 全局定义 static routes 静态路由 2.VRRP configuration (Virtual Router Redundancy Protocol ,虚拟路由冗余协议) Vrrp synchronization group 同步组 Vrrp instances 路由实例 3. LVS configuration
Keepalived 几个问题总结
1.如何在状态转换时进行通知 notify_master notify_backup nofity_fault;2.如何配置ipvs virtual server real server healthCheck(健康检查) 虚拟服务器virtual_server 192.168.200.100 443 { delay_loop 6 延迟几个周期 才做服务重启 lb_algo rr 调度算法 lb_kind NAT 调度方法 nat_mask 255.255.255.0 掩码 persistence_timeout 50 持久事件 protocol TCP 协议 real_server 192.168.201.100 443 { weight 1 权重 SSL_GET { 常见检查的有HTTP_GET|SSL_GET|TCP url { path / digest ff20ad2481f97b1754ef3e12ecd3a9cc 加密算法 } url { path /mrtg/ digest 9b3a0c85a887a256d6939da88aabd8cd } connect_timeout 3 链接超时事件 nb_get_retry 3 重试次数 delay_before_retry 3 在每次重试之前延迟多长事件 } } }3.如何对某特定服务实现高可用 配置keepalived.conf ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.9.136 smtp_connect_timeout 30 router_id LVS_DEVEL } //该脚本主要是检查故障转移 vrrp_script chk_mantaince_down { script "[[ -e /etc/keepalived/down ]] && exit 1 || exit 0" //如果有这个文件表示需要故障转移 interval 1 weight - 2 } //检查nginx服务是否正在运行 vrrp_script chk_nginx { script "killall -0 nginx" interval 1 检查间隔时间是1s weight -2 fall 2 如果连续两次检查Nginx服务都是失败的话,就会故障转移 rise 1 //只要有一次就成功就行可以表示服务正常 } vrrp_instance VI_1 { state MASTER interface eth2 //设置接口,这里一定需要和主机的相同 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.9.100 } //追踪脚本 track_script { chk_mantaince_down //检查是否宕机脚本 chk_nginx //检查Nginx 是否正常运行脚本 } //通知总共有三个,分别如下,如果没有参数的话,就可以把引号去掉,如果有参数的话必须带上引号 notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault" } //设置虚拟路由IP virtual_server 192.168.9.100 80 { delay_loop 6 lb_algo rr lb_kind NAT nat_mask 255.255.255.0 persistence_timeout 50 protocol TCP //真是服务器IP real_server 192.168.9.129 80 { weight 1 HTTP_GET { url { path / state_code=200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.9.134 80{ weight 1 HTTP_GET { //这里使用的是HTTP_GET进行检查 url { path / state_code=200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }
通过ipvsadm 来进行查看虚拟路由的IP 以及真实IP ipvsadm -L -n
下面表示的情形是 192.168.9.129:80 和192.168.9.134:80 绑定在虚拟IP 192.168.9.100 上面[root@zdc init.d]# ipvsadm -L -nIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.9.100:80 rr persistent 50 //表示虚拟IP -> 192.168.9.129:80 Masq1 0 0 //真实IP -> 192.168.9.134:80 Masq1 0 0 //真实IP
LVS+Keepalived详解
1.在 /etc/init.d 文件目录下创建 realserver 文件,并把下面的内容复制进去,并且添加全权限 chmod 775 realserver`
#!/bin/bash #chkconfig: 2345 79 20 #description:realserver SNS_VIP=192.168.1.98 //设置虚IP,这个可以根据自己的喜好进行设置 . /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add -host $SNS_VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p >/dev/null 2>&1 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $SNS_VIP >/dev/null 2>&1 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
2.启动刚才编写的文件realserver
./realserver start //注意这里是规定
3.查看端口号 ifconfig ,如果增加了一个接口 lo:0表明成功添加了一个回环接口,格式如下
lo:0 Link encap:Local Loopback inet addr:192.168.9.200 Mask:255.255.255.255 UP LOOPBACK RUNNING MTU:16436 Metric:1
4.开启httpdfuw
完成这三步表示已经成功了
4:并发量的总结
1. tomcat 的最大并发量实在1000 默认是150,一般情况下tomcat超过250 性能就会降低 默认的端口号是8080 2. nginx支持的并发量是在5000;默认的端口号是80
5. 默认端口号总结
查看端口号 ss -tanl 查看IP地址 ip addr show 1.Mysql 端口号-3306 2.Ftp端口号:21 3.Nginx 端口号:80 4.Redis 端口号:6379
0 0
- keepalived 个人解析
- Redis解析之Keepalived
- 守护进程的创建-keepalived源码解析
- 防止进程重新启动-keepalived源码解析
- syslog函数处理-keepalived源码解析
- keepalived
- keepalived
- keepalived
- Keepalived
- keepalived
- keepalived
- keepalived
- Keepalived
- keepalived
- keepalived
- keepalived
- keepalived
- keepalived
- java注解
- PAT 乙级1006. 换个格式输出整数 (15)(JAVA版)
- iOS屏幕适配的几种方式
- (9)HTML标签详解之<style>
- [Algorithm]01分数规划
- keepalived 个人解析
- HDU1046 POJ1450 UVALive2334 Gridland
- 2016--07--23
- AtCoder Regular Contest 058 C (水题)
- ---Jsp(六)标签
- Codeforces #362(Div.2)-> E.PLEASE(快速幂+费马小定理)
- JDNI配置数据库连接池
- Codeforces-B.Soldier and Badges - Codeforces Round #304 (Div. 2)
- JAVA集合体系回顾