一、集群介绍

1、根据功能划分为两大类:高可用和负载均衡

2、高可用:一台工作,另一台冗余,当一台服务器故障宕机时,另一台服务器提供服务。开源软件有heartbeat,keepalived.

3、负载均衡:有一台服务器做分发器,负责把用户的请求发送给后端处理,其他的服务器给用户提供服务。开源软件有LVS,keepalived,haproxy,nginx.商业的有F5,Netscaler.

二、keepalived介绍

1、keepalived 是采用VRRP协议实现高可用。keepalived 有三个模块,core ,check,vrrp。core模块是keepalived的核心,负责主进程启动,维护和全局模块的加载和解析,check模块负责健康检查,vrrp模块用来实现VRRP协议。

三、用keepalived搭建高可用集群。

1、为两台机器安装keepalived

yum install -y keepalived

2、为两台机器安装nginx,其中IP为130的主机已经在之前安装过,只需为另一台安装

yum install -y nginx

3、编辑130主机的keepalived的配置文件 vim /etc/keepalived/keepalived.conf

1)首先清空keepalived.conf

>  keepalived.conf

2)加入以下内容:

global_defs {
notification_email {
aming@aminglinux.com
}
notification_email_from root@aminglinux.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/usr/local/sbin/check_ng.sh"
interval 3
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass aminglinux>com
}
virtual_ipaddress {
192.168.134.100
}
track_script {
chk_nginx
}
}
4、定义130主机上的监控脚本 vim /usr/local/sbin/check_ng.sh
#!/bin/bash
d=`date --date today +%Y%m%d_%H:%M:%S`
n=`ps -C nginx --no-heading|wc -l`
if [ $n -eq "0" ]; then
/etc/init.d/nginx start
n2=`ps -C nginx --no-heading|wc -l`
if [ $n2 -eq "0" ]; then
echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
systemctl stop keepalived
fi
fi

5、给 check_ng.sh 权限,启动keepalived服务
chmod 755 /usr/local/sbin/check_ng.sh
systemctl start keepalived
6、停止nginx服务,查看nginx是否启动,查看日志  /var/log/message 和 IP  ip add 。
7、关闭主从机器的防火墙和 SELinux

systemctl stop firewalld

setenforce 0

8、配置IP 为150的从服务器,
1)先清空keepalived.conf文件
>  /etc/keepalived/keepalived.conf
2)添加以下内容:
global_defs {
notification_email {
aming@aminglinux.com
}
notification_email_from root@aminglinux.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script "/usr/local/sbin/check_ng.sh"
interval 3
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass aminglinux>com
}
virtual_ipaddress {
192.168.134.100
}
track_script {
chk_nginx
}
}
9、编辑定义150的监控脚本
#!/bin/bash
d=`date --date today +%Y%m%d_%H:%M:%S`
n=`ps -C nginx --no-heading|wc -l
if [ $n -eq "0" ]; then
systemctl start nginx
n2=`ps -C nginx --no-heading|wc -l`
if [ $n2 -eq "0" ]; then
echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
systemctl stop keepalived
fi
fi

10、 区分nginx
a)web访问主的IP
b)web访问从的IP
c)web访问vip
这就说明nginx服务在master 主服务器上,192.168.134.100在master上,和从服务器没有关系。
11、测试高可用
a)在主服务上增加防火墙规则

iptables -I OUTPUT -p vrrp -j DROP

此时发现封掉vrrp协议不能实现切换资源的目的。

b)恢复防火墙,停掉keepalived。查看从服务器的ip add 和日志。

iptables -F

systemctl stop keepalived

可以发现此时已经切换到从服务器了。
c)在开启主服务器的keepalived,在查看ip add 和web.
可以发现 ip add 马上就切到主机服务器上了,资源立刻就切换了。

转载于:https://www.cnblogs.com/wbjy123linux/p/8763096.html

用Keepalived搭建高可用集群相关推荐

  1. k8s高可用集群_搭建高可用集群(初始化和部署keepalived)---K8S_Google工作笔记0055

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们来部署keepalived,搭建高可用集群. 然后我们这里需要master,155, ma ...

  2. 【Nginx那些事】nginx配置实例(四)搭建高可用集群

    [Nginx那些事]nginx配置实例(四)搭建高可用集群 nginx 实现高可用 安装keepalived keepalived配置 主Nginx服务器配置 从nginx服务器配置 脚本文件权限设置 ...

  3. 用keepalived配置高可用集群

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

  4. 18.1 集群介绍 18.2 keepalived介绍 18.3/18.4/18.5 用keepalived配置高可用集群

    2019独角兽企业重金招聘Python工程师标准>>> 第十八章 Linux集群 18.1 集群介绍 Linux集群根据功能划分为两大类:高可用和负载均衡. 高可用集群 高可用集群通 ...

  5. 12. 搭建高可用集群

    文章目录 12.1 Keepalived+Nginx 高可用集群(主从模式) 12.1.1 集群架构图 12.1.2 具体搭建步骤 12.1.2.1 搭建高可用集群基础环境 12.1.2.2 完成高可 ...

  6. linux集群-keepalived介绍-用keepalived配置高可用集群

    2019独角兽企业重金招聘Python工程师标准>>> linux集群介绍: 以功能划分:高可用和负载均衡 高可用集群:通常为两台服务器,一台工作,另外一台作为冗余.实现高可用的开源 ...

  7. 集群介绍 、keepalived介绍 、 用keepalived配置高可用集群

    集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat.ke ...

  8. k8s高可用集群_搭建高可用集群(实现方式介绍)---K8S_Google工作笔记0054

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们来说搭建高可用集群,为什么要搭建高可用集群. 因为,首先我们说master节点是用来管理其 ...

  9. Kafka基于Zookeeper搭建高可用集群实战

    Kafka基于Zookeeper搭建高可用集群实战 1 前言 1.1 高可用的由来 为何需要Replication? 在Kafka在0.8以前的版本中,是没有Replication的,一旦某一个Bro ...

最新文章

  1. 页面加载后如何使JavaScript执行?
  2. 在操作系统理论中,什么是饿死
  3. 浅谈Linux磁盘存储管理续【逻辑卷管理(LVM)】
  4. LAMP 搭建BBS论坛实战
  5. shell对于字符串的操作
  6. 7-3 模板题 (10 分)(思路+详解)
  7. [MyBatisPlus]代码生成器
  8. Matlab实现CNN(二)
  9. python里的拼接_Python拼接字符串的7种方法总结
  10. JavaScript 霸榜、TypeScript 爆发、开源吞噬世界,GitHub 年度报告正式发布!
  11. fedora 16 x64 安装gnustep object-c开发环境
  12. php 正则 tr,js正则匹配table tr
  13. 如何把docx变为ass_电影字幕转Word教程
  14. 掌握命令结构,详解monkey命令
  15. python爬取代理IP并进行有效的IP测试
  16. 微信小程序推荐大全之201~300个
  17. 用计算机绘制函数图象教案,信息技术应用 用计算机画函数图象优质课教案设计...
  18. 来自GDPR的警示:是时候关注您的客户数据了
  19. 简述驱动桥的动力传递路线_汽车驱动桥概述
  20. 芯片的SD/MMC控制器以及SD卡介绍

热门文章

  1. step4 . day1标准IO和文件IO
  2. JS_arguments
  3. [BZOJ1503][NOI2004]郁闷的出纳员 无旋Treap
  4. Silverlight的跨站策略和跨站策略文件
  5. Spring Boot (七)MyBatis代码自动生成和辅助插件
  6. Python sys.stdout sys.stdin
  7. 第5章 定时器Timer
  8. 搜索引擎优化网页设计:最佳实践
  9. weblogic服务器启动报错
  10. 点积的那个公式:a dot b =||a||*||b||CosX.