keepalive

  • 类似3/4/7层交换机制的软件,也就是平时说的第三层、第四层、第七层交换
  • 作用是检测web服务器的状态,如果有一台web服务器、mysql服务器宕机、或工作出现故障,keepalived检测到问题后,会将有故障的web服务器或者mysql服务器从系统中剔除
  • 当服务工作正常后,keepalived自动将web、mysql服务加入到当前的服务群中
  • 切换过程全部自动完成,不需要人工干涉
  • 人工任务只是修复有故障的web和mysql服务

keepalived安装配置

tar zxf keepalived-1.2..tar.gz
cd keepalived-1.2. &&./configure --with-kernel-dir=/usr/src/kernels/2.6.-.el5-i686 &&make && make install
DIR=/usr/local/
cp $DIR/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp $DIR/etc/sysconfig/keepalived /etc/sysconfig/ && mkdir -p /etc/keepalived
cp $DIR/sbin/keepalived /usr/sbin/

修改master配置 vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
notification_email {
mailname@.com
}
notification_email_from mailname@.com
smtp_server 127.0.0.1
smtp_connect_timeout
router_id LVS_DEVEL
}
# VIP1
vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id
priority
advert_int
nopreempt
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.33.100
}
}
virtual_server 192.168.33.100 {
delay_loop
lb_algo wrr
lb_kind DR
persistence_timeout
protocol TCP
real_server 192.168.33.10 {
weight
notify_down /data/sh/mysql.sh
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}

修改slave配置

  • 只需要将realserver的IP改成real_server 192.168.33.11
  • 优先级从100改成90

脚本内容

pkill keepalived

查看ipvs模块

modprobe ipvs

加载ipvs模块

modprobe ip_vs

lsmod|grep ip_vs

结论

  • 使用keepalived的抢占模式
  • 主DB挂了,切到backup上
  • 主DB恢复了,自动切回master上---很可能出现DB问题,数据写了slave上,又写了master上
  • 如果主上面的keepalived挂了(虽然几率小),master的db没挂,也切换到slave上,万一异步数据没同步(几率也低),数据也会不一致
  • 这种方式有使用场景么?

mysql运维入门5:MySQL+kepalived高可用架构的更多相关文章

  1. mysql运维入门4:索引、慢查询、优化

    MySQL索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都是以B-树的形式保存 如果没有索引,执行查询时,MySQL必须从第一个记录开始整表扫描,知道查询到符合要求的记录,记录越大,花费时 ...

  2. mysql运维入门2:主从架构

    mysql主从原理 随着访问量的增加,数据库压力的增加,需要对msyql进行优化和架构改造,优化方法有: 高可用 主从复制 读写分离 拆分库 拆分表 原理 异步复制过程 master开启bin-log ...

  3. mysql运维入门1:基础及备份还原

    存储引擎 myisam 表强调的是性能 执行速度比innodb类型更快 不提供事务支持 如果执行大量的select操作,是首选 支持表锁,不支持行锁 innodb 提供事务支持.外键等高级数据库功能 ...

  4. 京东云开发者|IoT运维 - 如何部署一套高可用K8S集群

    环境 准备工作 配置ansible(deploy 主机执行) # ssh-keygen # for i in 192.168.3.{21..28}; do ssh-copy-id -i ~/.ssh/ ...

  5. mysql运维入门3:MyISAM和InnoDB

    myisam 5.1的默认存储类型 基于传统的ISAM类型,Indexed Sequential Access Method,有索引的顺序访问方法 存储记录文件的标准方法 不是事务安全,不支持外键 表 ...

  6. mysql运维入门6:MySQL读写分离

    Amoeba 以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy 集中想用应用的请求,根据用户事先设置的规则,将SQL请求发送到特定的数据库上执行 基于此可以实现负载均衡.读写分离 ...

  7. (转)linux运维必会MySQL企业面试题

    linux运维必会MySQL企业面试题  老男孩教育运维班全体学员MySQL必会企业面试题最实战.最细致.最落地的运维实训基地,老男孩教育连续多年国内平均就业工资最高! 数据库的重要性是所有技术里最核 ...

  8. 【转】单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

  9. [转载] 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209406532&idx=1&sn=2e9b0cc02bdd ...

随机推荐

  1. 2019-2020-1 20199325《Linux内核原理与分析》第十二周作业

    什么是ShellShock? Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开.许多互联网守护进程,如网页服务器 ...

  2. Python 删除含有只读文件(夹)的文件夹

    def rm_read_only(fn, tmp, info): if os.path.isfile(tmp): os.chmod(tmp, stat.S_IWRITE) os.remove(tmp) ...

  3. 怎么在java中关闭一个thread

    怎么在java中关闭一个thread 我们经常需要在java中用到thread,我们知道thread有一个start()方法可以开启一个线程.那么怎么关闭这个线程呢? 有人会说可以用Thread.st ...

  4. Centos下安装Docker,并配置国内docker源

    Centos下安装Docker 替换为国内的yum源(可选): mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.re ...

  5. 为什么LIKELY和UNLIKELY要用两个叹号

    LIKELY和UNLIKELY的一般定义如下: #define LIKELY(x) (__builtin_expect(!!(x),1))#define UNLIKELY(x) (__builtin_ ...

  6. 数组输出黑科技----fwrite()

    fwrite(const void*buffer,size_t size,size_t count,FILE*stream); (1)buffer:是一个指针,对fwrite来说,是要输出数据的地址. ...

  7. pycharm(py 文件中添加作者、时间)

    1.打开 Pycharm,点击 File,再找到 Settings... 2.选择 Editor ----> File and Code Templates ----> Python Sc ...

  8. 1) drf 整体了解

    一.接口 """ 1.什么是接口:url+请求参数+响应数据 | 接口文档 ​ 2.接口规范: url:https,api,资源(名词复数),v1,get|post表示操 ...

  9. LeetCode 572. 另一个树的子树 | Python

    572. 另一个树的子树 题目来源:https://leetcode-cn.com/problems/subtree-of-another-tree 题目 给定两个非空二叉树 s 和 t,检验 s 中 ...

  10. Zabbix 添加vmware esxi监控

    1) Import the provided template. - TEMPLATE.VMWARE_ESXi_6.0_CIM.xml 2) Install Dependencies: # yum - ...