MySQL Cluster三机集群+HA高可用+负载均衡配置手册(5)

mysql> select * from ctest3;
+------+
| id  |
+------+
|    1 |
+------+
1 row in set (0.01 sec)
然后我们恢复172.16.1.74数据节点,查看下ctest3数据是否同步过来了。
[root@db1 ~]# mysql -u root
mysql> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| aa                |
| mysql              |
| ndb_3_fs          |
| ndbinfo            |
| performance_schema |
| test              |
+--------------------+
7 rows in set (0.19 sec)

mysql> use aa
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+--------------+
| Tables_in_aa |
+--------------+
| ctest2      |
| ctest3      |
+--------------+
2 rows in set (0.00 sec)

mysql> select * from ctest3;
+------+
| id  |
+------+
|    1 |
+------+
1 row in set (0.06 sec)
可以看到172.16.1.74数据节点已经把172.16.1.75数据节点的数据同步过来了,说明mysql集群是没有问题的。

HA高可用+负载均衡的配置
十、实现高可用和负载均衡(还需要再完善整理)
ldirectord+heartbeat介绍
ldirectord的作用
在Apache服务器的前端,我们要放置一台服务器专门来做负载调度的任务(为了称呼简单和便于理解,我们将这样的负载调度服务器简称为“导演”),
用来把访问需求分发给两台Apache服务器。这个“导演”的任务,正是由ldirectord来完成的。
“ldirectord”(Linux Director Daemon)可以对服务和物理服务器进行监测,被广泛地用于http和https等服务。
它是专门为LVS(Linux Virtual Server)监控而编写的,
不仅能从heartbeat的配置文件/etc/ha.d/xxx.cf中读取所有有关IPVS(IP Virtul Server)路由表配置的信息,
还可以方便地被heartbeat管理(比如由heartbeat来启动和停止ldirectord服务)。

heartbeat的工作原理
因为我们要提供“高可用性”,所以要考虑到“导演”突然罢工的情形;因此我们要安排两个导演,也就是要有两个调度服务器节点。
这两个节点的地位不同,其中一个是主节点,另外一个是辅节点(可以看成是一个“主导演”和一个“副导演”)。
这两个节点正是用heartbeat来互相监测对方的。heartbeat可以通过以太网(或者串行接口)来监控节点的“健康”状况。
如果有多个heartbeat节点(heartbeat 2.0及后续版本已经能够支持两个以上节点),我们既可以使用串行线又可以使用以太网连接它们,
这样将大大提高系统的可用性。heartbeat的核心功能有两个部分:心跳监测和资源接管。通过心跳监测,节点之间相互“打招呼”(发送报文)
来告诉对方自己当前的状态;如果在指定的时间内没“听”到对方“打招呼”(没收到报文),那么就认为对方罢工了,
这时heartbeat会自动启动资源接管模块,运行相关的shell脚本来接管运行在对方主机上的资源或者服务。

注意:heartbeat+ldirectord要发挥作用,必须保证承担负载均衡的两台服务器时间是同步的。
具体到我的配置里就要求172.16.1.74与172.16.1.75服务器时间同步。

查看内核是否支持IPVS
[root@db1 init.d]# modprobe -l |grep ipvs
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_lblc.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_lc.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_nq.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_sed.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_wrr.ko

[root@db2 ipvs]# modprobe -l |grep ipvs
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_lblc.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_lc.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_nq.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_sed.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
/lib/modules/2.6.18-274.el5/kernel/net/ipv4/ipvs/ip_vs_wrr.ko

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

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