立Flag 学习Ng - 高可用配置

  • keepalived高可用配置

keepalived高可用配置

nginx解决tomcat高可用的思路,是前面加一层负载服务nginx。那当ng挂掉的时候同样需要高可用的方式来处理,如果继续采用ng前面加一层负载或者代理会出现套娃的情况。那么如何解决呢?

可以使用keepalived来解决。

keepalived的思路,由 2台服务器软件虚拟出来一台 虚拟网关vip,此vip由两台机器共同协商生成。当有一台机器宕机时,另一台机器一样能维持vip。这保证了,只要两台机器不同时宕机,vip就存在

keepalived下载地址:http://www.keepalived.org/download.html

##  安装
# 下载
> wget http://www.keepalived.org/software/keepalived-1.4.2.tar.gz
# 解压
> tar zxvf keepalived-1.4.2.tar.gz
# 安装依赖插件
> yum install -y gcc openssl-devel popt-devel
> cd keepalived-1.4.2
# 配置环境变量
> ./configure --prefix=/usr/local/keepalived
# 编译安装
> make && make install
# 配置
> cp /usr/local/keepalived-1.4.2/keepalived/etc/init.d/keepalived /etc/init.d/
> mkdir /etc/keepalived
> cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
> cp /usr/local/keepalived-1.4.2/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
> cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
# 命令查看网卡用于下面文配置中使用网卡
> ip addr##  修改配置文件
vim /etc/keepalived/keepalived.conf# master 配置
! Configuration File for keepalivedglobal_defs {#一个没重复的名字即可router_id xxoo_master
}# 检测nginx是否运行
vrrp_script chk_nginx {script "/etc/keepalived/nginx_check.sh"interval 2weight -20
}vrrp_instance VI_1 {# 此处不设置为MASTER,通过priority来竞争masterstate BACKUP# 网卡名字interface enp0s3# 同一个keepalived集群的virtual_router_id相同virtual_router_id 51# 权重,master要大于slavepriority 100# 主备通讯时间间隔advert_int 1# 如果两节点的上联交换机禁用了组播,则采用vrrp单播通告的方式# 本机ipunicast_src_ip 192.168.0.182unicast_peer {# 其他机器ip192.168.0.189}# 设置nopreempt防止抢占资源nopreempt# 主备保持一致authentication {auth_type PASSauth_pass 1111}# 与上方nginx运行状况检测呼应track_script {chk_nginx}virtual_ipaddress {# 虚拟ip地址(VIP,一个尚未占用的内网ip即可)192.168.0.180}
}## slave配置
! Configuration File for keepalivedglobal_defs {#一个没重复的名字即可router_id xxoo_slave
}# 检测nginx是否运行
vrrp_script chk_nginx {script "/etc/keepalived/nginx_check.sh"interval 2weight -20
}vrrp_instance VI_1 {# 此处不设置为MASTER,通过priority来竞争masterstate BACKUP# 网卡名字interface enp0s3# 同一个keepalived集群的virtual_router_id相同virtual_router_id 51# 权重,master要大于slavepriority 90# 主备通讯时间间隔advert_int 1# 如果两节点的上联交换机禁用了组播,则采用vrrp单播通告的方式# 本机ipunicast_src_ip 192.168.0.189unicast_peer {# 其他机器ip192.168.0.182}# 设置nopreempt防止抢占资源nopreempt# 主备保持一致authentication {auth_type PASSauth_pass 1111}# 与上方nginx运行状况检测呼应track_script {chk_nginx}virtual_ipaddress {# 虚拟ip地址(VIP,一个尚未占用的内网ip即可)192.168.0.180}
}# nginx_check.sh 脚本
> vim /etc/keepalived/nginx_check.sh
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then                            #重启nginx/usr/local/nginx/sbin/nginx                #nginx重启失败,则停掉keepalived服务,进行VIP转移if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then    #杀掉,vip就漫游到另一台机器killall keepalived                    fi
fi# 启动keepalived
# 执行安装目录/sbin 下 ./keepalived 或者 service keepalived start
> service keepalived start
# 配置开机自启动 (可选)
> systemctl enable keepalived
# 查看网卡观察变化
> ip addr### 防止出现脑裂现象(未验证)
# 指定keepalived配置的网卡:enp0s3(这个看配置中选择的网卡),固定的VRRP广播地址:xxx.x.x.xxx
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface enp0s3 --destination xxx.x.x.xxx --protocol vrrp -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --out-interface enp0s3 --destination xxx.x.x.xxx --protocol vrrp -j ACCEPT
firewall-cmd --reload# 查看配置的规则
firewall-cmd --direct --get-rules ipv4 filter INPUT
firewall-cmd --direct --get-rules ipv4 filter OUTPUT

flag 完成。 虽然离立Flag的时间超过了一周,不过学习时间还是差不多一周的(手动狗头)。

以后如果遇到其他需要补充的内容在继续来补充吧

立Flag 学习Ng - 高可用配置相关推荐

  1. 带哨兵节点的链_深入学习Redis高可用架构:哨兵原理及实践

    原标题:深入学习Redis高可用架构:哨兵原理及实践 " 在上篇文章<深入学习 Redis 高可用的基石:主从复制>中曾提到,Redis 主从复制的作用有数据热备.负载均衡.故障 ...

  2. Keepalived v1.3.5 高可用配置参数总结

    Keepalived v1.3.5 高可用配置参数总结 前言 官网介绍 gratuitous ARP包 VRRP包 VRRP实例 1 全局配置 1.1 全局定义(global_defs ) 1.2 静 ...

  3. linux集群架构(一),集群概述、高可用配置

    2019独角兽企业重金招聘Python工程师标准>>> linux集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务 ...

  4. 2008r2文件服务器高可用,Windows Server 2012 R2 文件服务器安装与配置07 之文件服务器高可用配置DFS...

    今天和大家分享的是关于文件服务器高可用配置,简单一点说就是当一台机宕机的时候,另一台文件服务器可以继续为你提供文件服务,以保证业务的正常使用. 分布式文件系统是作为文件服务角色的一种角色服务而实现的. ...

  5. Nginx+keepalived高可用配置实战

    1.整体架构图如下 2.环境准备 今天所配置的是keepalived+nginx 的负载均衡 下载keepalived软件 [root@LB01 tools]# wget http://www.kee ...

  6. 白话SpringCloud | 第三章:服务注册与发现-高可用配置(Eureka)-下

    2019独角兽企业重金招聘Python工程师标准>>> 前言 上一章节,讲解了在单机模式下的服务注册与发现的相关知识点及简单示例.而在实际生产或者在这种微服务架构的分布式环境中,需要 ...

  7. MySQL之MHA高可用配置及故障切换实例

    MySQL之MHA高可用配置及故障切换实例 前言 一.MHA概述 (1)MHA是什么 (2)MHA的组成 (3)MHA的特点 二.部署MHA (1)配置主从服务 ①环境初始化 ③修改master.sl ...

  8. MySQL的MHA高可用配置及故障切换

    MySQL的MHA高可用配置及故障切换 一.MHA概述 1.MHA简介 2.MHA的组成 3.MHA特点 二.MHA实验 1.实验环境准备 2.实验目的 3.实验步骤 一.MHA概述 1.MHA简介 ...

  9. Kerberos HA高可用配置

    Kerberos 高可用配置 Kerberos 安装(主节点操作) 节点信息 data80 data81 data82 data83 备注 主Kerberos节点:data80 备Kerberos节点 ...

最新文章

  1. iOS的一些常用性能优化,和内存优化的方法
  2. access开发精要(13)-货币与数字类型格式(1)
  3. python 创建子类_python创建子类的方法分析
  4. Dubbo(四)之xml配置方式
  5. 微信扫描二维码和浏览器扫描二维码 ios和Android 分别进入不用的提示页面
  6. Vue.js 极简小例: 4 种方式样式绑定、style 的多种方式实现
  7. C#实现图片文件到数据流再到图片文件的转换
  8. 远程客户端连接linux,远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接...
  9. 30K iOS程序员的简述:如何快速进阶成为高级开发人员
  10. 数字孪生技术方案下的智慧城市建设治理体系优势
  11. 13讲项目实战内页滚动图效果实现
  12. android 关闭软键盘失去焦点,Android edittext 点击其他处 失去焦点和关闭软键盘
  13. SylixOS 系统工作队列
  14. 网络聊天室(Java)
  15. word标尺随缩进移动_在Word中在标尺上设置缩进和制表符时如何获取详细的度量...
  16. ThreadLocal在多线程中的作用和原理浅析(模拟学生入学报到场景)
  17. Xshell窗口置顶的问题
  18. CF刷题笔记之思维切入篇--持续更新中
  19. js下载文件、音频、视频的方式
  20. elementUI el-upload上传文件 关闭文件列表

热门文章

  1. 腾讯云windows 2008 服务器无法登录,可能是你需要的答案
  2. 生命周期onLoad和onShow的区别
  3. 人工神经网络实验报告,生成数据的神经网络
  4. 基于S32K144 CAN总线功能开发详解
  5. win7和linux双系统怎么切换,使用easybcd完美实现windows7与linux双系统的详细步骤
  6. 高通win10电脑软件兼容测试,微软把高通处理器装在了Win 10上,那又怎样呢?
  7. 基于android的防抖音直播,uniapp 仿火山 / 抖音短视频|uni-App+vue 直播实例
  8. 基于51单片机的上下限可调的数字温度控制系统
  9. 毕业设计 —— 基于STM32手势控制显示系统的设计
  10. 归一化差异雪指数 (NDSI)的简介