六、测试提供数据库服务的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=33062、远程连接测试
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。。。。