MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置

一、概述

  keepalived介绍:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web
服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人
工做的只是修复故障的web服务器。

二、环境

?





1

2

3

vip:192.168.1.203\204

mysql-master:192.168.1.231

mysql-slave:192.168.1.232

三、keepalived安装

安装步骤两台机mysql-master、mysql-slave一样,如下:

1、下载地址:http://www.keepalived.org/software/keepalived-1.2.12.tar.gz

?





1

shell>wget http://www.keepalived.org/software/keepalived-1.2.12.tar.gz

2、安装环境

?





1

yum -y install openssl-devel

否则会报如下错误

?





1

2

3

configure: error:

  !!! OpenSSL is not properly installed on your system. !!!

  !!! Can not include OpenSSL headers files.

3、安装

?





1

2

3

4

5

shell>tar -zxvf  keepalived-1.2.12.tar.gz

shell>cd keepalived-1.2.12

shell>./configure --prefix=/opt/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/

shell>make

shell>make install

说明:

--prefix:安装路径

--with-kernel-dir:这个是重要的参数,这个参数并不表示我们要把Keepalived统进内核,而是指使用内核源码里面的头文件,也就是include目录。

2.6.32-431.el6.x86_64可以通过

?





1

shell>uname -r 命令查看到

4、配置

?





1

2

3

4

5

# cp /opt/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

# cp /opt/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

# mkdir /etc/keepalived

# cp /opt/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

# cp /opt/keepalived/sbin/keepalived /usr/sbin/

5、启动/停止

?





1

2

3

shell>service keepalived start

shell>service keepalived stop

shell>service keepalived restart

四、keepalived配置

1、mysql-master:192.168.1.231的配置

?





1

shell>vim /etc/keepalived/keepalived.conf

配置如下:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

global_defs {

 router_id mysql-master #修改为自己的主机名

 notification_email {

 mengtao10@163.com   #接收邮件,可以有多个,一行一个

}

 #当主、备份设备发生改变时,通过邮件通知

 notification_email_from lzyangel@126.com

 #发送邮箱服务器

 smtp_server stmp.163.com

 #发送邮箱超时时间

 smtp_connect_timeout 30

 }

##################第一部分###################

vrrp_instance VI_1 {

     state BACKUP    #都修改成BACKUP

     interface
eth0    #绑定的网卡

     virtual_router_id 60
#默认51 主从都修改为60

     priority 100           
#优先级,在mysql-slave上LVS上修改成80

     advert_int 1

     nopreempt #不抢占资源,意思就是它活了之后也不会再把主抢回来

  

     authentication {

     # 认证方式,可以是PASS或AH两种认证方式

     auth_type PASS

     # 认证密码

     auth_pass 1111

     }

virtual_ipaddress {

     192.168.1.203

     192.168.1.204 
#这可以增加多个VIP

     }

}

##################第二部分###################

virtual_server 192.168.1.203
3306
{

     delay_loop 6

     lb_algo wrr

     lb_kind DR

     nat_mask 255.255.255.0

     persistence_timeout 50

     protocol TCP

    real_server 192.168.1.231
3306
{

     weight 1

     notify_down /root/mysql_down.sh

     TCP_CHECK {

         connect_timeout 10

         nb_get_retry 3

         connect_port 3306

         }

     }

}

2、mysql-master:192.168.1.232的配置

?





1

shell>vim /etc/keepalived/keepalived.conf

配置如下:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

global_defs {

 router_id mysql-master #修改为自己的主机名

 notification_email {

 mengtao10@163.com   #接收邮件,可以有多个,一行一个

}

 #当主、备份设备发生改变时,通过邮件通知

 notification_email_from lzyangel@126.com

 #发送邮箱服务器

 smtp_server stmp.163.com

 #发送邮箱超时时间

 smtp_connect_timeout 30

 }

##################第一部分###################

vrrp_instance VI_1 {

     state BACKUP    #都修改成BACKUP

     interface
eth0    #绑定的网卡

     virtual_router_id 60
#默认51 主从都修改为60

     priority 80          
#优先级,在mysql-master上LVS上修改成100

     advert_int 1

     authentication {

     # 认证方式,可以是PASS或AH两种认证方式

     auth_type PASS

     # 认证密码

     auth_pass 1111

     }

virtual_ipaddress {

     192.168.1.203

     192.168.1.204 
#这可以增加多个VIP

     }

}

##################第二部分###################

virtual_server 192.168.1.203
3306
{

     delay_loop 6

     lb_algo wrr

     lb_kind DR

     nat_mask 255.255.255.0

     persistence_timeout 50

     protocol TCP

    real_server 192.168.1.232
3306
{

     weight 1

     notify_down /root/mysql_down.sh

     TCP_CHECK {

         connect_timeout 10

         nb_get_retry 3

         connect_port 3306

         }

     }

}

3、myslq_down.sh配置,两台机都要配置这一步!!!

这里需要注意的是,notify_down
/root/mysql_down.sh这个选项,这个是是在keepalived检测不到mysql的时候要执行的脚本,从上面的配置文件来看real服务器只有本机。那么,keeaplived如果启动,客户端也只是访问本机的mysql。nopreempt这个选下也得注意,这个是不抢占资源在优先级高的机器上配置就可以。
看下这个脚本的内容:

?





1

2

3

4

# vim /root/mysql_down.sh

#!/bin/bash

pkill keepalived

# chmod +x /root/mysql_down.sh #授权可执行权限

脚本内容就一条命令:pkill
keepalived,主要作用是如果本机的mysql挂掉了,那么同时会杀死本机的keepalived,这样另外一台就会接替他工作,虚拟IP也会被另一台接管,如果不杀死keepalived虚拟IP不会被另一台接管,mysql访问也就不会切换过去。

注意:必须要先启动MYSQL,再启动keepalived,否则keepalived启动后会运行mysql_down.sh脚本,等于自杀。

4、mysql-master(231)启动后查看IP的绑定情况,如下:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

shell> ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436
qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00
brd 00:00:00:00:00:00

    inet 127.0.0.1/8
scope host lo

    inet6 ::1/128
scope host

       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
qdisc pfifo_fast state UP qlen 1000

    link/ether 08:00:27:cc:92:22
brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.232/24
brd 192.168.1.255
scope global eth0

    inet 192.168.1.203/32
scope global eth0

    inet 192.168.1.204/32
scope global eth0

    inet6 fe80::a00:27ff:fecc:9222/64
scope link

       valid_lft forever preferred_lft forever

五、测试

1、231、232两台机同时启动MYSQL及Keepalived.

通过win cmd 命令行的客户端(或程序)连接VIP:192.168.1.203或204,如下:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

C:\Users\Duncan>mysql -h192.168.1.203
-usunney -psunney

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1440

Server version: 5.5.37-log MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;‘
or ‘\h‘ for help. Type ‘\c‘
to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sunney             |

| test               |

+--------------------+

5 rows in set (0.04
sec)

mysql>

注意:这时存储的数据库是mysql-master(192.168.1.231)因为他是主库。配置 priority 100 优先级高。

2、mysql-slave(232)的机同时关闭MYSQL及Keepalived.这时关闭上以上的是一样的。因为他没有走这个库。

3、mysql-master(231)同时关闭MYSQL及Keepalived,mysql-slave(232)同时启动MYSQL及Keepalived

切换很快,大概在2到3秒之间!

通过win cmd 命令行的客户端(或程序)连接VIP:192.168.1.203或204,如下:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

C:\Users\Duncan>mysql -h192.168.1.203
-usunney -psunney

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1440

Server version: 5.5.37-log MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;‘
or ‘\h‘ for help. Type ‘\c‘
to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sunney             |

| test               |

+--------------------+

5 rows in set (0.04
sec)

mysql>

成功!

MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置,布布扣,bubuko.com

时间: 2024-10-26 03:53:10

MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置的相关文章

MYSQL + MHA +keepalive + VIP安装配置(二)--MHA的配置

一.总概 1.MHA介绍 MHA(Master High Availability)是自动的master故障转移和Slave提升的软件包.它是基于标准的MySQL复制(异步/半同步). MHA有两部分组成:MHA Manager(管理节点)和MHA Node(数据节点). MHA Manager可以单独部署在一台独立机器上管理多个master-slave集群,也可以部署在一台slave上.MHA Manager探测集群的node节点,当发现master出现故障的时候,它可以自动将具有最新数据的s

MYSQL + MHA +keepalive + VIP安装配置(一)--MYSQL安装配置

一.总概: 本文介绍了MySQL高可用性的实现方案MHA,MHA由Node和Manager组成,Node运行在每一台MySQL服务器上,不管是MySQL主服务器,还是MySQL从服务器,都要安装Node.主从安装keepalived ,实现虚拟ip漂移,程序不用改IP自动切换. 二.环境 1.操作系统:centos 6.5 64位 2.数据库:   MySQL-5.6.17-1.el6.x86_64.rpm-bundle.tar 下载 3.MHA版本:mha4mysql-node-0.54-0.

Apache Hadoop集群离线安装部署(三)——Hbase安装

Apache Hadoop集群离线安装部署(一)--Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apache Hadoop集群离线安装部署(二)--Spark-2.1.0 on Yarn安装:http://www.cnblogs.com/pojishou/p/6366570.html Apache Hadoop集群离线安装部署(三)--Hbase安装:http://www.cnblogs.com/po

LAMP编译安装(三)——安装php-5.6.27

背景介绍 同过前面得知当PHP为独立服务器时,此时用户对前端httpd服务器的动态内容请求httpd会通过http-proxy-fcgi反向代理传递给后端的PHP服务器,php-fpm组件能够以守护进程的形式侦听在一个套接字上,将接收到的请求传递给PHP器上进行解释. 此种架构下PHP服务器需要注意的几点: 1.动态资源部署在PHP服务器上,静态资源部署在httpd服务器上,且2种资源在不同服务器上的目录路径必须一致,如httpd服务器上的静态资源存放在自身的/usr/local/apache/

grub安装的 三种安装方式

1. 引言 grub是什么?最常态的理解,grub是一个bootloader或者是一个bootmanager,通过grub可以引导种类丰富的系统,如linux.freebsd.windows等.但一旦进入linux操作系统(如无特殊声明,以下提及操作系统或系统皆为linux操作系统),可以敲一个grub命令,就进入”grub>”提示状态,然后可以进入操作若干命令.这时候的grub是什么?是shell,是一个和bash类似的一个shell.并且提供了两种工作模式,交互(interactive)模式

编译安装LAMP(三)——编译安装php-5.4.13

1.解决依赖关系:如果想让编译的php支持mcrypt扩展,需要下载如下两个rpm包并安装之:libmcrypt-2.5.7-5.el5.i386.rpmlibmcrypt-devel-2.5.7-5.el5.i386.rpm 注:www.rpmfind.net 2.编译安装php-5.4.13首先下载源码包至本地目录,下载位置ftp://172.16.0.1/pub/Sources/new_lamp. # tar xf php-5.4.13.tar.bz2 # cd php-5.4.13 # 

maven 父子关系模块配置(三)--依赖关系配置

为了方便依赖关系的管理,可在父模块中配置好所需的依赖关系,在子模块中引入group_id 和 artifactId 即可. 父模块pom文件配置: <dependencyManagement> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</versio

nginx+apache实现负载均衡+动静分离配置(编译安装)

一.编译安装nginx cd /usr/local/src wget http://nginx.org/download/nginx-1.6.3.tar.gz tar -zxvf nginx-1.6.3.tar.gz cd nginx-1.6.3 ./configure --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_image_filter_module --with-http_sub_m

ulipad源码包配置环境及安装

一.准备下载的安装包: 1.python(我电脑配置的是2.7)下载地址http://pan.baidu.com/s/1qWrGZk4 2.wxpython(我这里是wxpy3.0,配套python2.7)下载地址http://pan.baidu.com/s/1jGplycA 3.comtypes(这里是最新的1.1.2)下载地址http://pan.baidu.com/s/1hqnn7ZA 4.ulipad源码包,下载地址http://pan.baidu.com/s/1eQHJQt8  二.安