HA的双机方案(Mysql+Heatbeat)

操作系统安装

略,我使用的CentOS5.5

网卡连接以及配置

1.  网线连接

主机与备机都有两块网卡,分别是eth0eth1,首先将主机与备机的eth0都接入网络环境,然后再将主机eth1与备机的eth1用联机线直接相连。

2.设置IP

2.1.   设置eth0

主机和备机都需要根据网络环境实际分配的IP进行设置。

2.2.   设置eth1

主机:输入以下命令设置IP

ifconfig eth1 192.168.1.98 netmask 255.255.255.0

route add default gw 192.168.1.1

 

备机:输入以下命令设置IP

ifconfig eth1 192.168.1.99 netmask 255.255.255.0

route add default gw 192.168.1.1

3.           更改Hostname

双机的实现需要主机和备机的Hostname不一致,为了操作方便需要更改Hostname。

 

主机:首先输入命令:

vi /etc/sysconfig/network

将该文件的内容修改为以下内容:

HOSTNAME=server1

然后修改hosts文件

输入命令:

vi /etc/hosts

将该文件的内容修改为以下内容:

127.0.0.1       server1

 

备机:输入命令:

vi /etc/sysconfig/network

将该文件的内容修改为以下内容:

HOSTNAME=server2

然后修改hosts文件

输入命令:

vi /etc/hosts

将该文件的内容修改为以下内容:

127.0.0.1       server2

 

 数据库配置

1.           双机同步配置

主机:

配置前先停止MySQL服务

/etc/init.d/mysql stop

首先更改mysql配置

vi /root/HA-install/ EMA2000-server1/my.cnf

找到下面这行文字,将password设置成访问数据库的真实密码。

master-password =password

然后执行下列命令

cp /root/HA-install/ EMA2000-server1/my.cnf /etc/ -rf --reply=yes

配置完成以后重起MySQL

/etc/init.d/mysql start

 


 

备机:

配置前先停止MySQL服务

/etc/init.d/mysql stop

首先设置数据库访问密码

vi /root/HA-install/ EMA2000-server2/my.cnf

找到下面这行文字,将password设置成访问数据库的真实密码。

master-password =password

然后执行下列命令

cp /root/HA-install/ EMA2000-server2/my.cnf /etc/ -rf --reply=yes

配置完成以后重起MySQL

/etc/init.d/mysql start

 

2.           同步功能测试

首先登入MySQL

mysql -u root -p

password:

1.   查看master状态

show master status;

显示类似以下内容表示正常

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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000003 |     5581 |              |                  |

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

1 row in set (0.00 sec)

4.2.2.   查看slave状态

show slave status/G;

若显示类似如下内容表示正常:

*************************** 1. row ***************************

             Slave_IO_State: Waiting for master to send event

                Master_Host: 192.168.1.99

                Master_User: root

                Master_Port: 3306

              Connect_Retry: 30

            Master_Log_File: mysql-bin.000002

        Read_Master_Log_Pos: 29067

             Relay_Log_File: EMA2000-server1-relay-bin.000019

              Relay_Log_Pos: 1291

      Relay_Master_Log_File: mysql-bin.000002

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

            Replicate_Do_DB: dhemoadb

        Replicate_Ignore_DB:

         Replicate_Do_Table:

     Replicate_Ignore_Table:

    Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

                 Last_Errno: 0

                 Last_Error:

               Skip_Counter: 0

        Exec_Master_Log_Pos: 29067

            Relay_Log_Space: 1291

            Until_Condition: None

             Until_Log_File:

              Until_Log_Pos: 0

         Master_SSL_Allowed: No

         Master_SSL_CA_File:

         Master_SSL_CA_Path:

            Master_SSL_Cert:

          Master_SSL_Cipher:

             Master_SSL_Key:

      Seconds_Behind_Master: 0

1 row in set (0.00 sec)

4.2.3.   停止slave进程

如果需要停止数据同步,则可以执行以下命令。

stop slave;

注:在主进程挂起的时候,停止slave应该不影响主进程。

4.2.4.   开始slave进程

如果恢复数据同步,可以执行以下命令。

start slave;

注:在主进程挂起时,开启副进程应该能够恢复数据同步。

 

5.  HeartBeat以及文件同步

5.1.           安装

推荐使用一下命令安装Heartbeat

yum -install libnet

yum -install OpenIPMI

yum -install heartbeat

安装完成以后修改配置,进行如下操作:

主机:拷贝配置文件

cp /root/HA-install/EMA2000-server1/ha.d/* /etc/ha.d/ -rf --reply=yes

cp /root/HA-install/EMA2000-server1/ha-debug /var/log/ -rf --reply=yes

cp /root/HA-install/EMA2000-server1/ha-log /var/log/ -rf --reply=yes

cp /root/HA-install/EMA2000-server1/tomcatd /etc/rc.d/init.d/ -rf --reply=yes

cp /root/HA-install/EMA2000-server1/tomcat-stop.sh /opt/tomcat/bin/ -rf –reply=yes

cp /root/HA-install/checkshell/* /etc/ -rf --reply=yes

cp /root/HA-install/ EMA2000-server1/ rsyncdshell/* /etc/ -rf --reply=yes

备机:拷贝配置文件

cp /root/HA-install/EMA2000-server2/ha.d/* /etc/ha.d/ -rf --reply=yes

cp /root/HA-install/EMA2000-server2/ha-debug /var/log/ -rf --reply=yes

cp /root/HA-install/EMA2000-server2/ha-log /var/log/ -rf --reply=yes

cp /root/HA-install/EMA2000-server1/tomcatd /etc/rc.d/init.d/ -rf --reply=yes

cp /root/HA-install/EMA2000-server1/tomcat-stop.sh /opt/tomcat/bin/ -rf –reply=yes

cp /root/HA-install/checkshell/* /etc/ -rf --reply=yes

cp /root/HA-install/ EMA2000-server2/ rsyncdshell/* /etc/ -rf –reply=yes

 

5.2.           配置

5.2.1.   配置文件权限

authkeys文件附权限

chmod 600 /etc/ha.d/authkeys

tomcatd附上可执行权限

chmod a+x /etc/rc.d/init.d/tomcatd

 

 

rsync相关文件附上权限

 

chmod 600 /etc/rsync.*

chmod a+x /etc/rsyncd-run.sh

5.2.2.   配置心跳资源:haresources

主机和备机:运行以下命令

vi /etc/ha.d/haresources

然后将红色内容修改为自己需要的浮动IP,浮动IP只能有一个,并且主机和备机要一致,注意浮动IP必须与eth0IP是同一IP段。

EMA2000-server1 IPaddr::192.168.0.200

 

5.2.3.   配置脚本执行策略

主机:运行以下命令

vi /etc/crontab

在打开的文件尾追加以下内容:

*/1 * * * * /etc/CheckMysql.sh

*/1 * * * * /etc/CheckNetWork.sh

备机:运行以下命令

vi /etc/crontab

在打开的文件尾追加以下内容:

*/1 * * * * /etc/CheckMysql.sh

*/1 * * * * /etc/CheckNetWork.sh

*/10 * * * * /etc/rsyncd-run.sh

Tomcat不能随机自启,应该从自启列表中除去:

vi /etc/rc.local

删除Tomcat自启行。

5.2.4.   配置开机自启服务

主机和备机:运行下列命令

vi /etc/init.d/boot.local

在打开的文件末尾追加下列内容:

rsync --daemon

service heartbeat start

5.2.5.   配置文件同步相关文件

主机:运行以下命令

vi /etc/rsyncd.secrets

文件内容如下,请将红色文字改为备机root帐户密码。

root:password

备机:运行以下命令

vi /etc/rsyncd.secrets

文件内容如下,请将红色文字改为主机root帐户密码。

root:password

 

5.3.           运行以及检查

启动HA

service heartbeat start

停止HA

service heartbeat stop

检查心跳是否正常可根据抓取eth1的数据包判断

在实际操作中也遇到了些问题,比如 Mysql不同步,Slaver机状态显示NO,如何操作?

请检查心跳先链接是否正常,可以互相ping,检验链路通畅,如果链路通畅,请检查配置文件是否正常,如果正常,请首先停止mysql服务,找到Mysqldata目录,一般情况下在/var/lib/mysql中,删除所有缓存文件。重启mysql。如果依然不能解决问题,请联系相关运维人员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值