How To Set Up A Load-Balanced MySQL Cluster - Part 6

How To Set Up A Load-Balanced MySQL Cluster - Part 6 - 应用软件 - 电脑教程网

How To Set Up A Load-Balanced MySQL Cluster - Part 6

日期:2006-09-27   荐:
·图形化管理MySQL更轻松·mysql 时间函数用法 集合·MySQL常见问题解答及技巧·Mysql学习点滴·MySQL 5.0 新特性教程 存储过程:第三讲·远程连接mysql资料·在Linux 环境下安装 Mysql·MySQL 常用命令·如何安装mysql 5.0·Mysql使用基础知识 6.2 Configure heartbeat

Next we configure heartbeat by creating three files (all three files must be identical on loadb1.example.com and loadb2.example.com):

loadb1.example.com / loadb2.example.com:

vi /etc/ha.d/ha.cf

logfacility local0bcast eth0mcast eth0 225.0.0.1 694 1 0auto_failback offnode loadb1node loadb2respawn hacluster /usr/lib/heartbeat/ipfailapiauth ipfail gid=haclient uid=hacluster

Please note: you must list the node names (in this case loadb1 and loadb2) as shown by

uname -n

Other than that, you don't have to change anything in the file.

vi /etc/ha.d/haresources

loadb1 \ ldirectord::ldirectord.cf \ LVSSyncDaemonSwap::master \ IPaddr2::192.168.0.105/24/eth0/192.168.0.255

You must list one of the load balancer node names (here: loadb1) and list the virtual IP address (192.168.0.105) together with the correct netmask (24) and broadcast address (192.168.0.255). If you are unsure about the correct settings, http://www.subnetmask.info/ might help you.

vi /etc/ha.d/authkeys

auth 33 md5 somerandomstring

somerandomstring is a password which the two heartbeat daemons on loadb1 and loadb2 use to authenticate against each other. Use your own string here. You have the choice between three authentication mechanisms. I use md5 as it is the most secure one.

/etc/ha.d/authkeys should be readable by root only, therefore we do this:

loadb1.example.com / loadb2.example.com:

chmod 600 /etc/ha.d/authkeys

6.3 Configure ldirectord

Now we create the configuration file for ldirectord, the load balancer:

loadb1.example.com / loadb2.example.com:

vi /etc/ha.d/ldirectord.cf

# Global Directiveschecktimeout=10checkinterval=2autoreload=nologfile="local0"quiescent=yesvirtual = 192.168.0.105:3306 service = mysql real = 192.168.0.101:3306 gate real = 192.168.0.102:3306 gate checktype = negotiate login = "ldirector" passwd = "ldirectorpassword" database = "ldirectordb" request = "SELECT * FROM connectioncheck" scheduler = wrr

Please fill in the correct virtual IP address (192.168.0.105) and the correct IP addresses of your MySQL cluster nodes (192.168.0.101 and 192.168.0.102). 3306 is the port that MySQL runs on by default. We also specify a MySQL user ( ldirector) and password (ldirectorpassword), a database (ldirectordb) and an SQL query. ldirectord uses this information to make test requests to the MySQL cluster nodes to check if they are still available. We are going to create the ldirector database with the ldirector user in the next step.

Now we create the necessary system startup links for heartbeat and remove those of ldirectord (bacause ldirectord will be started by heartbeat):

loadb1.example.com / loadb2.example.com:

update-rc.d -f heartbeat removeupdate-rc.d heartbeat start 75 2 3 4 5 . stop 05 0 1 6 .update-rc.d -f ldirectord remove

标签: