Keepalived高可用部署

keepalived诞生的目的是为了给ipvs提供高可用性的.

keppalived 服务一般会启动两个进程,一个是vrrp服务和后端服务通信的,一个是checker服务,检测后端real Server健康状况.

邮件服务器:

rhel5:sendmail

rhel6:postfix

keepalived最新版本1.3.5,keepalived配置文件共三部分组成.

global_defs {         #全局配置

notification_email {        #收件人

[email protected]

}

notification_email_from [email protected] 发件人

smtp_server 127.0.01       #发件服务器

smtp_connect_timeout 30        #超时时间

router_id nginx_slave #路由表示,自定义

}

vrrp_script chk_port { #脚本检测名称chk_port

script "/etc/keepalived/keepalived.jk2.sh" #脚本的路径

interval 2 #每隔2秒检测一次

weight -2 #一旦失败,权重减2

}

VRRP状态机,初始化(initialize)时,大家都是backup状态,通过选举产生master.收到startup且优先级是255时,直接定义为master,收到startup且优先级小雨255时,直接定义为backup.

vrrp_instance VI_1 {         #定义虚拟路由和虚拟ip的.VI_1为名称.

state MASTER

interface eth0

virtual_router_id 51         #虚拟路由id,一般不大于255

priority 100 #初始优先级100,值越大优先级越高.

advert_int 1

authentication {

auth_type PASS         #认证机制,明文认证

auth_pass 1111 #密码

}

virtual_ipaddress { #虚拟vip地址

192.168.30.129

}

track_script { #虚拟路由跟踪脚本.

chk_port

}

}

其他脚本定义使用

vrrp_script chk_file {

script "[[-f /etc/keepalived/down]] && exit 1 || exit 0"

interval 1

weight -2

}

实例:

系统Centos 6.5

2个node节点:

VIp:192.168.30.131

real server:192.168.30.129

real server:192.168.30.130

#两台real server 操作:

yum install nginx keepalived -y

#这两台real server 先配置好Nginx,做static server.

[[email protected] keepalived]# cat /etc/nginx/conf.d/admin.conf

#

# The default server

#

server {

listen       80 default_server;

server_name  _;

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

location / {

root /data/www/;

index.htm index index.html index.php;

}

}

以示区别/data/www/index.html 亦两台real server 静态页面取ip地址最后1位.

#配置keepalived:

Real Server 192.168.30.129 的keepalived配置文件:

[[email protected] keepalived]# cat keepalived.conf! Configuration File for keepalivedglobal_defs {   notification_email {[email protected] #告警通知   }   notification_email_from [email protected]   smtp_server 127.0.0.1   smtp_connect_timeout 30   router_id nginx_slave#名字可以随便起,标示。}vrrp_script chk_port {#检测脚本     script "/etc/keepalived/keepalived.jk2.sh"     interval 2#每个2秒运行一次     weight -2#失败,本机keepalived优先级减2}vrrp_instance VI_1 {    state BACKUP#初始化此节点为backup    interface eth0#网卡eth0    virtual_router_id 51#虚拟路由id    priority 100#优先级,两台优先级可以是一样的,也可以一个高一个低.    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.30.131    }track_script {chk_port}}

Real Server 192.168.30.130的配置文件:

[[email protected] keepalived]# cat keepalived.conf ! Configuration File for keepalivedglobal_defs {   notification_email {[email protected]   }   notification_email_from [email protected]   smtp_server 127.0.0.1   smtp_connect_timeout 30   router_id nginx_master标示这是nginx master}vrrp_script chk_port {     script "/etc/keepalived/keepalived.jk2.sh"     interval 3     weight -2}vrrp_instance VI_1 {    state MASTER #初始化状态为master,两台real server都可以初始化为BACKUP状态,让它们之间自己选举.    interface eth0    virtual_router_id 51    priority 101#优先级高于从节点    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.30.131    }track_script {chk_port}}

检测脚本路径和内容,赋予脚本可执行权限chmod a+x ...:

[[email protected] keepalived]# pwd/etc/keepalived[[email protected] keepalived]# cat keepalived.jk2.sh #!/bin/bashps -C nginxif [[ $? -eq 0 ]];then     exit 0else     /etc/init.d/nginx restart > /dev/null     sleep 3     ps -C nginx     if [[ $? -eq 0 ]];then          exit 0     else          exit 1     fifi

#此脚本主要判断本地nginx服务如果down 尝试启动1此,还是down就认为本节点下线,vip自动飘值bakcup节点.

#两台real server 启动keepalived服务:

# /etc/init.d/keepalived start

查看keepalived 的log:

[[email protected] conf.d]# tail -f /var/log/messagesAug  4 14:56:09 haproxy Keepalived[51515]: Starting VRRP child process, pid=51518Aug  4 14:56:09 haproxy Keepalived_vrrp[51518]: Netlink reflector reports IP 192.168.30.130 addedAug  4 14:56:09 haproxy Keepalived_healthcheckers[51517]: Netlink reflector reports IP 192.168.30.130 addedAug  4 14:56:09 haproxy Keepalived_healthcheckers[51517]: Netlink reflector reports IP fe80::20c:29ff:feca:1ae addedAug  4 14:56:09 haproxy Keepalived_healthcheckers[51517]: Registering Kernel netlink reflectorAug  4 14:56:09 haproxy Keepalived_healthcheckers[51517]: Registering Kernel netlink command channelAug  4 14:56:09 haproxy Keepalived_vrrp[51518]: Netlink reflector reports IP fe80::20c:29ff:feca:1ae addedAug  4 14:56:09 haproxy Keepalived_vrrp[51518]: Registering Kernel netlink reflectorAug  4 14:56:09 haproxy Keepalived_vrrp[51518]: Registering Kernel netlink command channelAug  4 14:56:09 haproxy Keepalived_vrrp[51518]: Registering gratuitous ARP shared channel

#查看master的vip地址,ifconfig 看不到,用ip a或者:ip addr show

[[email protected] conf.d]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000    link/ether 00:0c:29:ca:01:ae brd ff:ff:ff:ff:ff:ff    inet 192.168.30.130/24 brd 192.168.30.255 scope global eth0    inet 192.168.30.131/32 scope global eth0    inet6 fe80::20c:29ff:feca:1ae/64 scope link        valid_lft forever preferred_lft forever

#测试:打开浏览器访问http://192.168.30.131/ ,其中一台nginx 启动失败即可看到演示效果.

时间: 2024-08-27 22:43:05

Keepalived高可用部署的相关文章

Haproxy+keepalived高可用、负载均衡安装部署方案

1     环境说明 前端两台haproxy+keepalived互为主从,提供高可用:另外基于不同域名访问不同的虚拟ip实现负载均衡 1.1     环境描述 服务器A(主.从):eth0:10.241.51.245   eth1:192.168.1.9 服务器B(从.主):eth2:10.241.51.246   eth1:192.168.1.10 服务器C(web01):eth0:10.241.51.247 服务器D(web02):eth0:10.241.51.248 VIP1:10.24

十一.keepalived高可用服务实践部署

期中集群架构-第十一章-keepalived高可用集群章节======================================================================01. 作业题一说明: 先进行企业案例需求梳理:? 当用户请求www.etiantian.org/upload/xx 地址时,实现由upload上传服务器池处理请求.? 当用户请求www.etiantian.org/static/xx 地址时,实现由静态服务器池处理请求.? 除此以外,对于其他访问请求

部署keepalived高可用服务

keepalived服务概念说明 keepalived软件能干什么?Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能 Keepalived软件主要是通过VRRP协议实现高可用功能的. VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写, VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时, 整个网络可以不间断地

CentOS 7 上部署Memcached 主主复制 + keepalived 高可用架构

实验环境 Memcached主主复制是指在任意一台Memcached服务器修改数据都会被同步到另外一台,但是Memcached API客户端是无法判断连接到哪一台Memcached服务器的,所以需要设置VIP地址,提供给Memcached API客户端进行连接.可以使用kcepalived产生的VIP地址连接主Memceached服务器,并且提供高可用架构.本案例使用两台Memcahed服务器和一台测试主机来完成. 主Memcahed服务器IP:192.168.10.161 备Memcahed服

Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】

1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2   初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3   初始接管VIP:14.17.64.14 真实web服务器IP:14.17.64.4-12 实现效果:去往14.17.64.13或14的报文,转发给14.17.64.4-12中的一台服务器处理,实现负载均衡. 要求1:当一台真实web服务器故障后,自动把该IP从负载均衡中踢除,恢复后自动加入集群. 要求2:当一台LVS服

实践:在CentOS7.3部署 keepalived 高可用nginx(负载均衡)

背景: 既然有了Lvs+keepalived这样高性能的组合,那为何还要有Nginx+keepalived呢,keepalived的初衷就是为了Lvs而设计的,我们都知道Lvs是一个四层的负载均衡设备,虽然有着高性能的优势,但同时它却没有后端服务器的健康检查机制,keepalived为lvs设计了一系列的健康检查机制TCP_CHECK,UDP_CHECK,HTTP_GET等.同时lvs也可以自己写健康检查脚脚本.或者结合ldirectory来实现后端检测.但是固LVS始终无法摆脱它是一个四层设备

部署Memcached+magent+keepalived高可用集群

Memcached+magent+keepalived高可用集群 magent是一款开源的代理服务软件,我们可以通过他来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了, 而magent可以同时连接多个memcached节点, 通过magent绑定的VIP从客户端登录memcached写入数据,其他节点的memcached数据也会同步.? 案例环境 主机名称 IP 主要软件 memcached主 192.168.200.128 Magent.memcached.li

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

linux企业常用服务---lvs+Keepalived高可用集群

部署前准备: iptables和selinux没配置,关掉 挂载系统镜像作为本地yum源,修改yum文件 源码包准备keepalived-1.2.13.tar.gz 环境介绍: 主服务器ip:192.168.100.157(keeplived+lvs) 从服务器ip:192.168.100.156(keeplived+lvs) 节点服务器ip:192.168.100.153-192.168.100.155(httpd) 集群vip:192.168.100.95 1.安装keepalived(在两