高可用实践之二 双机热备负载均衡方案
2017-04-18 17:18
288 查看
##keepalived 使用教程
###安装
* 安装相关组建
>yum -y install openssl openssl-devel popt popt-devel
* 下载
>wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz * 解压
>tar zxvf keepalived-1.2.15.tar.gz #解压安装包
* 编译
>./configure --prefix=/usr/local/keepalived --sbindir=/usr/local/keepalived/sbin #
* 安装
> make && make install
* 换成服务
<---拷贝keepalived相关启动命令--->
# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
<---将keepalived启动脚本添加到系统服务--->
# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
# chkconfig --add keepalived
# chkconfig --level 2345 keepalived on
<---创建keepalived相关配置文件--->
# mkdir -p /etc/keepalived
# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
<---启动--->
service keepalived start
### 配置
* 列表
slb 192.168.202.3
master 192.168.201.4
slave 192.168.201.5
vip 192.168.201.100
* master 配置
ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.202.5 netmask 255.255.255.0 broadcast 192.168.202.255
// 这里的网卡为 ens33
vim /etc/keepalived/keepalived.conf
修改为如下
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
#添加脚本检查,可以不用
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight -5
fall 3
rise 2
}
virtual_ipaddress {
#vip地址
192.168.202.100
}
#触发脚本
track_script {
chk_nginx
}
}
* backup 配置
vim /etc/keepalived/keepalived.conf
修改为如下
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight -5
fall 3
rise 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
#触发脚本
track_script {
chk_nginx
}
virtual_ipaddress {
#vip地址
192.168.202.100
}
}
重启服务
* 和nginx 搭配使用
如果两台nginx服务器其中有一台nginx 挂了,重启不了,则关闭keepalived进程 脚本为如下
vim /etc/keepalived/check_nginx.sh :
#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
/usr/local/bin/nginx
sleep 2
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
/etc/init.d/keepalived stop
fi
fi
* 材料
192.168.202.4 keepalived nginx
192.168.202.5 keepalived nginx
192.168.202.100 keepalived vip
192.168.202.6 web服务器
192.168.202.7 web服务器
* 配置负载均衡器
在服务器上 192.168.202.4 和 192.168.202.5 上
upstream slb_test {
#ip_hash; #根据ip哈希,进行转发
server 192.168.202.6;
server 192.168.202.7;
}
server{
listen 80 default_server;
server_name www.lnmp.org;
index index.html index.htm index.php;
root /home/wwwroot/default;
location / {
proxy_pass http://slb_tuzuu;
}
access_log /home/wwwlogs/access.log;
}
备注: 这里如果做所有的请求转发的就按照以上的配置,去掉php的配置
* 配置keepalived 在 192.168.202.4 和 192.168.202.5
###安装
* 安装相关组建
>yum -y install openssl openssl-devel popt popt-devel
* 下载
>wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz * 解压
>tar zxvf keepalived-1.2.15.tar.gz #解压安装包
* 编译
>./configure --prefix=/usr/local/keepalived --sbindir=/usr/local/keepalived/sbin #
* 安装
> make && make install
* 换成服务
<---拷贝keepalived相关启动命令--->
# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
<---将keepalived启动脚本添加到系统服务--->
# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
# chkconfig --add keepalived
# chkconfig --level 2345 keepalived on
<---创建keepalived相关配置文件--->
# mkdir -p /etc/keepalived
# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
<---启动--->
service keepalived start
### 配置
* 列表
slb 192.168.202.3
master 192.168.201.4
slave 192.168.201.5
vip 192.168.201.100
* master 配置
ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.202.5 netmask 255.255.255.0 broadcast 192.168.202.255
// 这里的网卡为 ens33
vim /etc/keepalived/keepalived.conf
修改为如下
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
#添加脚本检查,可以不用
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight -5
fall 3
rise 2
}
virtual_ipaddress {
#vip地址
192.168.202.100
}
#触发脚本
track_script {
chk_nginx
}
}
* backup 配置
vim /etc/keepalived/keepalived.conf
修改为如下
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight -5
fall 3
rise 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
#触发脚本
track_script {
chk_nginx
}
virtual_ipaddress {
#vip地址
192.168.202.100
}
}
重启服务
* 和nginx 搭配使用
如果两台nginx服务器其中有一台nginx 挂了,重启不了,则关闭keepalived进程 脚本为如下
vim /etc/keepalived/check_nginx.sh :
#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
/usr/local/bin/nginx
sleep 2
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
/etc/init.d/keepalived stop
fi
fi
* 材料
192.168.202.4 keepalived nginx
192.168.202.5 keepalived nginx
192.168.202.100 keepalived vip
192.168.202.6 web服务器
192.168.202.7 web服务器
* 配置负载均衡器
在服务器上 192.168.202.4 和 192.168.202.5 上
upstream slb_test {
#ip_hash; #根据ip哈希,进行转发
server 192.168.202.6;
server 192.168.202.7;
}
server{
listen 80 default_server;
server_name www.lnmp.org;
index index.html index.htm index.php;
root /home/wwwroot/default;
location / {
proxy_pass http://slb_tuzuu;
}
access_log /home/wwwlogs/access.log;
}
备注: 这里如果做所有的请求转发的就按照以上的配置,去掉php的配置
* 配置keepalived 在 192.168.202.4 和 192.168.202.5
相关文章推荐
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- LVS+KEEPALIVED+MYSQL单点写入读负载均衡主主同步高可用方案
- Nginx+Tomcat服务器负载均衡实践方案
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- mysql高可用探究(三)Lvs+Keepalived+Mysql单点写入读负载均衡主主同步高可用方案
- mysql高可用探究(三)Lvs+Keepalived+Mysql单点写入读负载均衡主主同步高可用方案
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- LVS+keepalived 实现高可用与负载均衡实施方案
- Nginx+Tomcat服务器负载均衡实践方案
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- 基于NFS实现lamp的负载均衡之二: 部署NFS服务器
- 大数据时代下的SQL Server第三方负载均衡方案 ----Moebius测试
- Nginx+keepalive做双机热备(主主模式)实现负载均衡
- 三、大数据时代下的SQL Server第三方负载均衡方案----Moebius测试
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置