Ubuntu安装keepalived
Ubuntu安装keepalived
一、Keepalived是什么鬼东西:
keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。
二、Keepalived 这个鬼东西的工作原理:
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。
以下是keepalived官网上提供的架构图
三、环境准备和keepalived的安装
1、通过ip addr list 或者ip addr show 或者是ip a 等命令查询本机ip
2、修改网络配置
修改/etc/sysctl.conf配置文件
首先找到net.ipv4.ip_forward=1这个配置,并其注释去除,然后在下面插入net.ipv4.ip_nonlocal_bind=1这句配置
保存并退出;
查看是否配置成功
如果输出不是1而是0就说明可能还没生效,执行sudo sysctl –p使其生效
这样网络配置就配置好了
3、安装keepalived和相关包
先安装相关包
再安装keepalived
输入y继续
安装成功
4、配置keepalived.conf
编辑keepalived.conf文件
在keepalived.conf中编辑如下内容
global_defs { notification_email { 1412262314@qq.com } notification_email_from guoxm@puzek.com smtp_server smtp.mxhichine.com smtp_connect_timeout 30 router_id server71 } vrrp_script chk_health { script "/opt/keepalived/check_health.sh" interval 1 weight 1 } vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass puzek } virtual_ipaddress { 192.168.100.100 } track_script { chk_health } notify_master "/opt/keepalived/notify.sh master" notify_backup "/opt/keepalived/notify.sh backup" notify_fault "/opt/keepalived/notify.sh fault" }
这里可以创建一个keepalived_script用户(可以不用),用于执行keepalived的脚本
sudo useradd keepalived_script
然后创建密码
sudo passwd keepalived_script
输入密码和确认密码就创建完成了
然后创建keepalived需要使用shell脚本后,将脚本的用户和用户组都设置成keepalived_script
sudo chown -R keepalived_script:keepalived_script notify.shsudo
然后就可以启动keepalived了
启动keepalived(停止使用stop)
查看是否启动成功
必须要有三个keepalived的进程,这三个分别是keepalived父进程,vrrp子进程、check子进程;两个子进程都被系统watchlog看管,两个子进程各自负责复杂自己的事;
然后查看虚拟ip是否起来了
如果有其他问题可以查看keepalived的日志(keepalived的日志默认打在系统日志中,所以可以使用grep 过滤一下)
cat /var/log/syslog | grep Keepalived
Ubuntu安装keepalived的更多相关文章
- Ubuntu Server中安装keepalived
场景 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Kee ...
- Mac OS、Ubuntu 安装及使用 Consul
Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...
- ubuntu安装mysql
好记性不如烂笔头,记录一下,ubuntu安装mysql的指令. 安装MySQL: sudo apt-get install mysql-server sudo apt-get install mysq ...
- ubuntu安装vim时提示 没有可用的软件包 vim,但是它被其它的软件包引用了 解决办法
ubuntu安装vim时提示 没有可用的软件包 vim-gtk3,但是它被其它的软件包引用了 解决办法 本人在ubuntu系统安装vim 输入 sudo apt-get install vim 提示 ...
- docker 1.8+之后ubuntu安装指定版本docker-engine
这边记录ubuntu安装过程,首先是官网文档 If you haven’t already done so, log into your Ubuntu instance. Open a termina ...
- debian/ubuntu安装桌面环境
apt-get install xorg apt-get install gnome 然后startx ubuntu 安装Gnome桌面 1.安装全部桌面环境,其实Ubuntu系列桌面实际上有几种桌面 ...
- 一个ubuntu phper的自我修养(ubuntu安装)
ubuntu安装篇 一.ubuntu下载 到ubuntu官网下载适合自己电脑配置的系统版本,此处不做展开. 二.制作USB启动盘 在windows下制作USB启动盘,工具是universal usb ...
- ubuntu 安装JAVA jdk的两种方法:
ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...
- [其他]Ubuntu安装genymotion后unable to load VirtualBox engine
问题: Ubuntu安装genymotion后unable to load VirtualBox engine 解决办法: 如果没有安装VirtualBox,要先安装VirtualBox. 安装Vir ...
随机推荐
- BA-设计施工调试流程
工程范围 1.楼宇自控系统的工程设计首先要了解目标建筑物所处的地理环境.建筑物用途.楼宇自控系统的建设目标定位.建筑设备规模与控制工艺及监控范围等工程情况.这些情况一般在工程招标技术文件中介绍,设计者 ...
- 关于springboot整合的详细过程
Spring-boot http://tengj.top/2017/04/24/springboot0/
- cogs 969. [NOIP2006] 数列
969. [NOIP2006] 数列 ★☆ 输入文件:sequenc.in 输出文件:sequenc.out 简单对比时间限制:1 s 内存限制:162 MB 题目描述 给定一个正整数 ...
- Eclipse中项目去除Js验证
删除项目.project文件中的 <buildCommand> <name>org.eclipse.wst.jsdt.core.javascriptValidator< ...
- [SharePoint2010开发入门经典]9创建更好的用户体验----silverlight
本章概要: 1.了解Silverlight 2.理解为什么使用Silverlight 3.介绍如何集成SharePoint和Silverlight
- spring cloud 中Actuator不显示更多信息的处理方式
spring cloud 中Actuator不显示更多信息的处理方式 直接咨询了周大立,他说 management.security.enabled = false 就可以了: 学习了:http:// ...
- XCode下Swift – WebView IOS demo
简介 我今天用Mac升级了XCode到8.1,Swift版本应该到了swift3,按网上的demo写webview的例子,报一堆错,整了一天才搞定,不想其他人踩坑了! XCode8.1 ,swift3 ...
- NESTED LOOPS & HASH JOIN & SORT MERGE JOIN
表连接方式及使用场合 NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择.nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查 ...
- 如何用php实现qq登陆网站
PHP网站入QQ互联,使用QQ号码登录网站. 平台接口系列文章 PHP网站入QQ互联,使用QQ号码登录网站 PHP网站接入人人网,授权登陆 php facebook api网站接入facebook 1 ...
- js如何计算浮点数
js中浮点型是如何运算的呢? 例如:var a=0.69; 我想得到6.9 直接这样写 var c=a*10; alert(c); 得到结果是:6.8999999999999995 到网上一搜,有 ...