微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

nginx+keepalived负载均衡可用框架(补一 keepalived安装配置-热备-(服务器层和应用层))

slb aide_941 38℃

这里我先说说什么是热备什么是互备,自定义的莫见怪

热备:(MASTER)-(BACKUP )模式,备份机平常就是个摆设,浪费资源

互备:(MASTER、BACKUP)-(BACKUP、MASTER)模式,备份机也是主机,主机也是备份机,资源利用率高

热备又分为两种情况:

第一种情况:服务器层的热备(比如服务器宕机、keepalived宕、网络不同,这个主要针对ip及keepalived)

第二种情况:应用层(web)的热备(比如web应用端口不同,nginx进程被意外kill,这个主要针对端口)

安装步骤

1.安装依赖

yum -y install gcc gcc+ gcc-c++
yum install popt-devel openssl openssl-devel libssl-dev libnl-devel popt-devel
比较重要!

2.安装keepalived

如没有wget请选安装wget

yum install wget
wget http://www.keepalived.org/software/keepalived-1.2.10.tar.gz
tar zxvf keepalived-1.2.10.tar.gz
cd keepalived-1.2.10
./configure –prefix=/usr/local/keepalived
make
make install
wget下载、tar解压、
configure,这一步一般用来生成Makefile,为下一步的编译做准备,你可以通过在configure后加上参数来对安装进行控制

比如 ./configure –prefix=/usr/local/keepalived(安装在/usr/local/keepalived目录下)

make,这一步就是编译,大多数的源代码都经过这一步进行编译

make install ,这条命令来进行安装

3.修改配置文件路径

cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
mkdir /etc/keepalived
cd /etc/keepalived/
vi keepalived.conf
global_defs {
notification_email {
user@example.com #设置报警邮件地址,可以设置多个,每行一个。需要开启sendmail服务。
}

notification_email_from mail@example.org #设置邮件的发送地址
smtp_server 192.168.200.1 #设置SMTP Server地址
smtp_connect_timeout 30 #设置SMTP Server的超时时间
router_id LVS_DEVEL #表示运行Keepalived服务器的一个标示。发邮件时显示邮件主题的信息
}

vrrp_instance VI_1 { #vrrp实例定义部分
state MASTER #标示状态为MASTER 指定Keepalived的角色(MASTER主,BACKUP备)
interface em2 #指定HA检测网络的接口
virtual_router_id 51 #虚拟路由标识,这个标识是一个数字,同一个vrrp实例使用唯一的标识,即同一个vrrp_instance下的MASTER和BACKUP必须一致
priority 101 #MASTER权重要高于BACKUP 数字越大优选级越高
advert_int 1 #组播信息发送间隔,两个节点设置必须一样
mcast_src_ip 192.168.65.142 #vrrp实体服务器的IP 发送多播包的地址,如果不设置默认使用绑定网卡的primary ip

authentication {
auth_type PASS #主从服务器验证方式 设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
auth_pass 1111
}

#VIP
virtual_ipaddress {
192.168.65.151 #虚拟IP 可以设置多个虚拟IP地址,每行一个
}
}
4.设置为开机启动
vi /etc/rc.local
#添加
#keepalived
/etc/init.d/keepalived start

5.MASTER和BACKUP配置文件

BACKUP的keepalived.conf

global_defs {
notification_email {
user@example.com #设置报警邮件地址,可以设置多个,每行一个。需要开启sendmail服务。
}

notification_email_from mail@example.org #设置邮件的发送地址
smtp_server 192.168.200.1 #设置SMTP Server地址
smtp_connect_timeout 30 #设置SMTP Server的超时时间
router_id LVS_DEVEL #表示运行Keepalived服务器的一个标示。发邮件时显示邮件主题的信息
}

vrrp_instance VI_1 { #vrrp实例定义部分
state BACKUP#标示状态为MASTER 指定Keepalived的角色(MASTER主,BACKUP备)
interface em1 #指定HA检测网络的接口
virtual_router_id 51 #虚拟路由标识,这个标识是一个数字,同一个vrrp实例使用唯一的标识,即同一个vrrp_instance下的MASTER和BACKUP必须一致
priority 100 #MASTER权重要高于BACKUP 数字越大优选级越高
advert_int 1 #组播信息发送间隔,两个节点设置必须一样
mcast_src_ip 192.168.51.55 #vrrp实体服务器的IP 发送多播包的地址,如果不设置默认使用绑定网卡的primary ip

authentication {
auth_type PASS #主从服务器验证方式 设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
auth_pass 1111
}

#VIP
virtual_ipaddress {
192.168.65.151 #虚拟IP 可以设置多个虚拟IP地址,每行一个(一般使用虚拟ip来访问)
}
}
注意点

重点!!!

mcast_src_ip 192.168.51.55 #vrrp实体服务器的IP 发送多播包的地址,如果不设置默认使用绑定网卡的primary ip
这个实体服务器的IP要么不设置,要么一定设置为本机IP,不然会刷新页面出现错误(具体错误忘记了)
state (MASTER与BACKUP)

virtual_router_id 必须一致

priority 主>备

advert_int 必须一致

authentication 必须一致

virtual_ipaddress 一致(一般使用虚拟ip来访问)

5.启动

service keepalived start

6.查看keepalived网卡信息

ip addr

查看keepalived成功与否主要看

interface 对应的网卡(这里是em1)是否成功获取virtual_ipaddress的值(重要!!!)

7.验证

主服务器新建页面 内容MASTER

备服务器新建页面 内容BACKUP

启动主备服务器http服务和keepalived服务

通过浏览器,输入虚拟IP地址

页面显示MASTER

关闭主服务器keepalived服务,刷新刚才虚拟IP地址

页面显示BACKUP

再次启动主服务器keepalived服务,再刷新刚才虚拟IP地址

页面显示MASTER

@上边所说的是服务器层的热备

@下边说说应用层的热备(web端口不通,nginx进程被意外kill情况下)

主要利用keepalived的track_script检测脚本的原理实现的

@主要是在服务器层基础上实现应用层的热备

@主-MASTER

global_defs {
notification_email {
user@example.com
}

notification_email_from mail@example.org
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

#应用层热备需要添加的内容
vrrp_script chk_http_port {
script “

转载请注明:SuperIT » nginx+keepalived负载均衡可用框架(补一 keepalived安装配置-热备-(服务器层和应用层))

喜欢 (0)or分享 (0)