Nginx + keepalived 实现高可用HA 【双主架构】
来源:互联网 发布:云计算节点 编辑:程序博客网 时间:2024/06/05 10:38
1) Keepalived 双主配置环境
主要目的是让两台机器互为主从概念,即在keepalived.conf文件中交叉配置实现互为主从功能。
与上一篇配置环境描述一样,只是在135与136机器上的Keepalived配置文件中配置两个VIP内容,让他们两个Keepalived都有一个MASTER与BACKUP节点,只是两台机器交叉配置, 最终通过DNS的IP指向(A记录) 指向两个VIP地址,实现双主Keepalived功能。
135与136的机器上安装了Nginx与Keepalived
137与138的机器上安装了JDK1.8与Tomcat环境
2) 在Master1与Master2机器上的 /etc/keepalived/keepalived.conf 文件交叉修改
2.1) Master1 机器文件配置内容
注意查看 "【】"中的注解说明。
#全局定义块 global_defs { # 邮件通知配置 notification_email { 1349594420@qq.com } notification_email_from 1349594420@qq.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL ## 标识本节点的字条串,通常为hostname } vrrp_script chk_nginx { script "/data/sh/check_nginx.sh" ## 检查Nginx是否存活的一个角本 interval 2 ## 重试两次 weight 2 ## 权重 } #VIP 1 vrrp_instance VI_1 { state MASTER ## 【改成MASTER】状态,表示开机启动的状态 interface eth0 ## 网卡(注意, 去CentOS系统中看一下网卡名称是多少, CentOS安装默认叫Auto eth1, 用#ip addr list命令查看一下) lvs_sync_daemon_interface eth0 ## 互联通讯的网卡 virtual_router_id 151 ## 路由ID, 局域网内的路由ID,必须唯一性 priority 100 ## 优先级(Master1机器如设置为100, Master2机器得设置为90) advert_int 5 nopreempt ## 不抢占 authentication { ## 认证 auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.73.100 ## 前调用户访问就是这个IP (在Master1与Master2两台电脑的eth0网卡上虚拟一个IP地址) } track_script { chk_nginx } } #VIP 2 【追加此VIP2】vrrp_instance VI_2 { state BACKUP ## 状态,表示开机启动的状态 interface eth0 ## 网卡(注意, 去CentOS系统中看一下网卡名称是多少, CentOS安装默认叫Auto eth1, 用#ip addr list命令查看一下) lvs_sync_daemon_interface eth0 ## 互联通讯的网卡 virtual_router_id 152 ## 【路由必须与MASTER不一样】路由ID, 局域网内的路由ID,必须唯一性 priority 90 ## 【优先级必须比MASTER要小】优先级(Master1机器如设置为100, Master2机器得设置为90) advert_int 5 nopreempt ## 不抢占 authentication { ## 认证 auth_type PASS auth_pass 2222 ## 【密码必须与MASTER不一样】 } virtual_ipaddress { 192.168.73.110 ## 【第二个虚拟IP】前调用户访问就是这个IP (在Master1与Master2两台电脑的eth0网卡上虚拟一个IP地址) } track_script { chk_nginx ## 【chk_nginx不用改】 } }
2.2) Master2 机器文件配置内容
注意,Master2的机器与Master1的机器 keepalived文件区别,只在于VIP1与VIP2的state与priority的两个属性交叉对换一下即可,其它属性都不需要去调整。
#scp /etc/keepalived/keepalived.conf root@192.168.73.136:/etc/keepalived
#全局定义块 global_defs { # 邮件通知配置 notification_email { 1349594420@qq.com } notification_email_from 1349594420@qq.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL ## 标识本节点的字条串,通常为hostname } vrrp_script chk_nginx { script "/data/sh/check_nginx.sh" ## 检查Nginx是否存活的一个角本 interval 2 ## 重试两次 weight 2 ## 权重 } #VIP 1 vrrp_instance VI_1 { state BACKUP ## 【与VIP2节点对调】状态,表示开机启动的状态 interface eth0 ## 网卡(注意, 去CentOS系统中看一下网卡名称是多少, CentOS安装默认叫Auto eth1, 用#ip addr list命令查看一下) lvs_sync_daemon_interface eth0 ## 互联通讯的网卡 virtual_router_id 151 ## 路由ID, 局域网内的路由ID,必须唯一性 priority 90 ## 【与VIP2节点对调】优先级(Master1机器如设置为100, Master2机器得设置为90) advert_int 5 nopreempt ## 不抢占 authentication { ## 认证 auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.73.100 ## 前调用户访问就是这个IP (在Master1与Master2两台电脑的eth0网卡上虚拟一个IP地址) } track_script { chk_nginx } } #VIP 2 vrrp_instance VI_2 { state MASTER ## 【与VIP1节点对调】状态,表示开机启动的状态 interface eth0 ## 网卡(注意, 去CentOS系统中看一下网卡名称是多少, CentOS安装默认叫Auto eth1, 用#ip addr list命令查看一下) lvs_sync_daemon_interface eth0 ## 互联通讯的网卡 virtual_router_id 152 ## 路由ID, 局域网内的路由ID,必须唯一性 priority 100 ## 【与VIP1节点对调】优先级(Master1机器如设置为100, Master2机器得设置为90) advert_int 5 nopreempt ## 不抢占 authentication { ## 认证 auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.73.110 ## 前调用户访问就是这个IP (在Master1与Master2两台电脑的eth0网卡上虚拟一个IP地址) } track_script { chk_nginx } }
2.3) 过程的测试常用命命令
#/etc/init.d/keepalived restart -- 启动 keepalived #tail -fn 100 /var/log/messages -- 查看 keepalived 状态日志
如以下提供来源其它的测试两个图片
阅读全文
0 0
- Nginx + keepalived 实现高可用HA 【双主架构】
- Nginx + keepalived 实现高可用HA 【主从架构】
- Keepalived+Nginx实现高可用(HA)
- Keepalived+Nginx实现高可用(HA)
- Keepalived+Nginx实现高可用(HA)
- Keepalived+Nginx实现高可用(HA)
- Keepalived+Nginx实现高可用(HA)
- keepalived +nginx 实现HA 高可用的负载均衡
- nginx+keepalived实现nginx双主的高可用
- nginx+keepalived实现高可用
- Keepalived+Nginx实现高可用
- nginx+keepalived实现高可用
- Nginx+Keepalived高可用架构平台
- 如何搭建高可用架构(二)--Nginx双机主备(Keepalived实现)
- keepalived+nginx实现nginx的高可用
- Nginx高可用使用Keepalived+nginx实现
- nginx和keepalived实现nginx高可用
- nginx+keepalived实现HA
- HDU 6143 Killer Names(排列+容斥,dp)
- python连接MySQL数据库
- Matlab simulink Serial port 模块
- Java中定义实例变量时指定初始化值顺序
- 2017暑假训练第十九天
- Nginx + keepalived 实现高可用HA 【双主架构】
- jvm内存GC详解
- Mysql
- Java持久化框架-MyBatis应用
- python第三次采集数据小记之登录下载
- 有了Excel2016,再也不用为复杂的双层饼图而烦恼了
- 几个重要网址
- RAT、PyRAT
- spring基本概念