码迷,mamicode.com
首页 > 其他好文 > 详细

安装配置keepalived2.0.18,实现nginx+keepalived高可用

时间:2019-09-07 00:44:22      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:模拟   创建   local   centos   sbin   png   instance   link   extra   

一、环境
服务器系统版本:CentOS 7
两台服务器,一台做主节点,一台做备用节点:
192.168.1.200(主节点)
192.168.1.201(备用节点)

二、安装keepalived 2.0
两台服务器都安装上 keepalived 2.0。

1、安装依赖包(libnl库-简化netlink 协议对象的实现、gcc-GNU编译器套件、openssl-devel-包含开发支持各种密码算法和协议的应用程序所需的文件的库包)
#yum install -y libnl-devel libnl3-devel libnfnetlink-devel gcc openssl-devel

2、访问keepalived官网下载安装包:
#wget https://www.keepalived.org/software/keepalived-2.0.18.tar.gz

3、解压keepalived安装包:
#tar -zxvf keepalived-2.0.18.tar.gz

4、安装keepalived:
#mkdir /usr/local/keepalived(创建安装目录)
#cd keepalived-2.0.18切换到(安装目录下)
#./configure --prefix=/usr/local/keepalived(指定位置下安装源代码)
#make(编译)
#make install(源代码安装)
检查keepalived版本号
#/usr/local/keepalived/sbin/keepalived -v
复制keepalived配置文件到 /etc/keepalived/ 目录下:
#mkdir /etc/keepalived(创建目录)
#cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
(启动 keepalived 时,默认会去 /etc/keepalived 目录下找 keepalived.conf 文件)
keepalived日志文件路径:/var/log/messages

三、配置keepalived
192.168.1.200(主节点)上操作:
1、配置keepalived文件
#vi /etc/keepalived/keepalived.conf
将默认的配置文件内容清空(%d),输入以下内容:
vrrp_instance VI_1 { ### 实例名称,VI_1即实例名。
state MASTER ### 标记该节点是主节点(master)
interface ens33 ### 配置vip绑定的网卡,ens33是网卡名,按照实际情况修改成你自己(网卡名查询:ifconfig)。vip指的是虚拟ip地址。
virtual_router_id 51 ### 取1-255之间的值,主备节点的值需要设置成一样的,成为一个组。
priority 100 ### 权重,数值大的节点是master。
advert_int 1 ### 主备节点之间通讯的间隔秒数,用于判断主节点是否存活。
authentication {
auth_type PASS ### 认证方式
auth_pass 1111 ### 认证密码
}
virtual_ipaddress {
192.168.1.100 ### vip地址
}
}
保存文件:wq,退出。

2、启动keepalived:
#systemctl start keepalived

3、查看主节点的地址信息:
#ip addr
输出如下信息:
技术图片
可以看到,在 ens33 网卡下面,已经出现了vip:192.168.1.100

4、在192.168.1.102(备用节点)上操作:
编辑keepalived.conf配置文件:
#vi /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP ### 标记该节点是备用节点(backup)
interface ens33 ### 配置vip绑定的网卡,eno16777736是网卡名,按照实际情况修改成你自己###的网卡名。### vip指的是虚拟ip地址。
virtual_router_id 51 ### 取1-255之间的值,主备节点的值需要设置成一样的,成为一个组。
priority 66 ### 权重,数值小的节点是backup。
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.100 ### 设置成跟主节点一样的vip地址。
}
}

保存文件,退出。

5、启动 keepalived:
#systemctl start keepalived

查看备用节点的地址信息:# ip addr
输出如下信息:
技术图片
从上图可以看出,备用节点没有vip地址。vip地址在主节点上。
四、实验验证nginx+keepalived高可用

1、在主备节点上都安装好nginx。nginx安装方法:
https://www.51anidea.com/forum.php?mod=viewthread&tid=266&extra=page%3D1

2、安装好之后,编辑nginx的主页文件。
192.168.1.200(主节点)上操作:
#vi /usr/share/nginx/html/index.html
清空该文件的内容,输入以下内容:
200

保存文件,退出。

3、192.168.1.102(备用节点)上操作:
#vi /usr/share/nginx/html/index.html
清空该文件的内容,输入以下内容:
201

保存文件,退出。

4、测试

        (1)测试虚拟(网址)ip跳转的服务器网址(主节点)

打开浏览器,访问 192.168.1.200:81(ip+端口号)(主节点)的web页面:
技术图片
输出结果为200-主节点的内容

访问192.168.1.201:81(备用节点)的web页面
技术图片
输出结果为201-备用节点内容
访问192.168.1.100:81(vip虚拟ip)的web网页
技术图片
输出结果为200——主节点
因为vip地址在备用节点 192.168.1.102 上,所以访问vip地址会跳转到备用节点上。
(2)故障测试----当主节点出现故障或者宕机时,虚拟ip是否能跳转至备用节点。
a、通过停止主节点的 keepalived服务来模拟故障。
192.168.1.106(主节点)上操作:
停止keepalived服务:
#systemctl stop keepalived
b、访问虚拟ip(vip)192.168.1.100:80
技术图片
输出内容为201------说明当主节点宕机时,虚拟ip将会跳转至备用节点。
(3)主节点上线时,vip是否能跳转至主节点
a、主机点开启keepalived服务
#systemctl start keepalived
b、访问vip
浏览器打开192.168.1.100
技术图片
输出内容200-----主节点。说明主节点上线时,vip将会跳转至主节点。

五、在实际生产环境中把vip地址(或者vip地址对应的域名)提供给用户访问,以达到高可用的目的。

安装配置keepalived2.0.18,实现nginx+keepalived高可用

标签:模拟   创建   local   centos   sbin   png   instance   link   extra   

原文地址:https://blog.51cto.com/14413105/2436284

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!