Corosync 实现 MariaDB 数据库服务的高可用(5)

六、测试提供数据库服务的HA高可用集群是否成功?

测试节点的高可用,可以理解为是否能够提供节点的冗余

1、检查资源

(1)、流动IP

[root@node1 ~]# ip add show | grep "[[:space:]]*inet\>[[:space:]]*[1][9][2]"     inet 192.168.60.22/24 brd 192.168.60.255 scope global eth0     inet 192.168.60.56/24 brd 192.168.60.255 scope global secondary eth0

(2)、是否挂载nfs共享文件系统

[root@node1 ~]# mount  | grep "mysqldata" 192.168.60.40:/mydata on /mysqldata type nfs (rw,vers=4,addr=192.168.60.40,clientaddr=192.168.60.22)

(3)、查看mysqld进程

root@node1 ~]# ps aux | grep mysqld root     52041  0.0  0.3 108332  1504 ?        S    20:04   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/mysqldata/mysql/ --pid-file=/mysqldata/mysql//node1.9527du.com.pid mysql    52375  0.5 21.3 857644 105640 ?       Sl   20:04   0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/mysqldata/mysql/ --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/mysqldata/mysql//node1.9527du.com.err --pid-file=/mysqldata/mysql//node1.9527du.com.pid --socket=/tmp/mysql.sock --port=3306

2、远程连接测试

C:\>mysql -uadmin -h192.168.60.56 -p Enter password: ***** Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.36-MariaDB-log MariaDB Server 。。。。。 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | test               | +--------------------+ 4 rows in set (0.07 sec) mysql> create database testdata; Query OK, 1 row affected (0.02 sec)

说明:

数据库服务工作正常。

3、模拟节点故障测试服务是否可以转移

(1)、让 node1 下线

crm(live)# node standby node1.9527du.com

(2)、查看HA高可用集群的运行状况

crm(live)# status Last updated: Mon Sep 15 20:19:27 2014 Last change: Mon Sep 15 20:19:22 2014 via crm_attribute on node1.9527du.com Stack: classic openais (with plugin) Current DC: node1.9527du.com - partition with quorum Version: 1.1.10-14.el6-368c726 2 Nodes configured, 2 expected votes 3 Resources configured Node node1.9527du.com: standby Online: [ node2.9527du.com ]  ----> 该HA高可用集群只有node2节点在线 -------------查看提供数据库服务的资源的运行状况--------------------------  myIP   (ocf::heartbeat:IPaddr):        Started node2.9527du.com  nfsshare       (ocf::heartbeat:Filesystem):    Started node2.9527du.com  mysqlserver    (lsb:mysqld):   Started node2.9527du.com

说明:

三个资源立即转移到node2.9527du.com 节点

(3)、查看 node2的资源情况

[root@node2 ~]# ip add show | grep "[[:space:]]*inet\>[[:space:]]*[1][9][2]"     inet 192.168.60.128/24 brd 192.168.60.255 scope global eth1     inet 192.168.60.56/24 brd 192.168.60.255 scope global secondary eth1 [root@node2 ~]# ps aux | grep mysqld root     13352  0.0  0.3 108332  1572 ?        S    23:46   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/mysqldata/mysql/ --pid-file=/mysqldata/mysql//node2.9527du.com.pid mysql    13655  0.2 21.3 857644 105632 ?       Sl   23:46   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/mysqldata/mysql/ --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/mysqldata/mysql//node2.9527du.com.err --pid-file=/mysqldata/mysql//node2.9527du.com.pid --socket=/tmp/mysql.sock --port=3306 [root@node2 ~]# netstat  -anptl | grep mysqld tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      13655/mysqld

说明:

提供数据库服务的3个资源在node2节点都工作正常。

4、访问mysql并删除testdb数据库

(1)、远程连接数据库

C:\>mysql -uadmin -h192.168.60.56 -p Enter password: ***** Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.5.36-MariaDB-log MariaDB Server ...... Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | test               | | testdata           | +--------------------+ 5 rows in set (0.01 sec)

(2)、执行删除数据库操作

mysql> drop database testdata; Query OK, 0 rows affected (0.16 sec)

说明:

在node2也可以操作数据库。资源转移到node2节点,一样可以操作数据库。

5、让 node1上线,再测试

(1)、让node1节点上线

crm(live)# node online  node1.9527du.com

(2)、查看HA高可用集群的运行状况

crm(live)# status Last updated: Mon Sep 15 20:21:06 2014 Last change: Mon Sep 15 20:21:03 2014 via crm_attribute on node1.9527du.com Stack: classic openais (with plugin) Current DC: node1.9527du.com - partition with quorum Version: 1.1.10-14.el6-368c726 2 Nodes configured, 2 expected votes 3 Resources configured Online: [ node1.9527du.com node2.9527du.com ]  ------> 两个节点都在线 ------------------查看提供数据库服务的三个资源的运行状态-----------------------  myIP   (ocf::heartbeat:IPaddr):        Started node1.9527du.com  nfsshare       (ocf::heartbeat:Filesystem):    Started node1.9527du.com

说明:

从上述可以看出资源立即流转回node1节点。因为定义了位置约束。

提供数据库服务的HA高可用集群是正常工作的。

测试服务的高可用,意思是说,停止某个资源后,corosync的资源代理监控该该资源故障了,通告资源管理器。资源管理器理是否会指挥资源代理重新启动该资源。

1、停止 mysqld 进程

[root@node1 ~]# date;service mysqld stop Mon Sep 15 20:36:03 CST 2014 Shutting down MySQL.                                       [  OK  ]

2、查看自动启动服务

[root@node1 ~]# date ;netstat -anptl | grep mysqld Mon Sep 15 20:36:09 CST 2014

再查看

[root@node1 ~]# date ;netstat -anptl | grep mysqld Mon Sep 15 20:36:17 CST 2014 tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      14973/mysqld

说明:

20:36:03 关闭mysqld 进程

20:36:17 mysql数据库又重新提供服务了。

资源的高可用已经实现。

数据库服务的高可用已经OK。。。。

MariaDB 的详细介绍请点这里
MariaDB 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6d815a62c126d9f20333850bf9dee8c9.html