首页 > 代码库 > heartbeat+drbd+mysql

heartbeat+drbd+mysql

配置heartbeat接管drbd服务

配置heartbeat接管drbd服务(延续之前heartbeat及drbd博文内容)
  1、两端确认都建立好 /data目录
  2、关闭drbd服务,关闭heartbeat服务,自启动全部关闭
  3、两端配置haresources
  data-1-1 IPaddr::192.168.0.191/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext3

启动顺序
  1、依次启动主备端drbd
  2、drbd置主
  3、依次启动主备端heartbeat,启动后主端自动挂载drbd0到/data

启动完成后状态如下
[root@data-1-1 /]# cat /proc/drbd
version: 8.4.9-1 (api:1/proto:86-101)
GIT-hash: 9976da086367a2476503ef7f6b13d4567327a280 build by mockbuild@Build64R6, 2016-12-13 18:38:15
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:340 nr:16 dw:356 dr:3646 al:2 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
[root@data-1-1 /]# ip addr | grep 191
    inet 192.168.0.191/24 brd 192.168.0.255 scope global secondary eth0
[root@data-1-1 ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2        5916420 4207616   1401604  76% /
tmpfs             502384       0    502384   0% /dev/shm
/dev/sda1         194241   36262    147739  20% /boot
/dev/drbd0       1011928   47696    912828   5% /data

[root@data-1-2 ~]# cat /proc/drbd

version: 8.4.9-1 (api:1/proto:86-101)
GIT-hash: 9976da086367a2476503ef7f6b13d4567327a280 build by mockbuild@Build64R6, 2016-12-13 18:38:15
 0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
    ns:16 nr:340 dw:356 dr:1364 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

 

安装mysql

#install cmake
tar -zxvf cmake-2.8.0.tar.gz
cd cmake-2.8.0
./configure
gmake && gmake install
cd ..

#install ncurses
yum install ncurses-devel -y

#install mysql5.5.49
useradd mysql -s /bin/nologin -M
mkdir /data
chown -R mysql.mysql /data
tar xf mysql-5.5.49.tar.gz
cd mysql-5.5.49
cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5.49  -DMYSQL_DATADIR=/data  -DMYSQL_UNIX_ADDR=/usr/local/mysql5.5.49/tmp/mysqld.sock  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DEXTRA_CHARSETS=all  -DENABLED_LOCAL_INFILE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITHOUT_FEDERATED_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1  -DWITHOUT_PARTITION_STORAGE_ENGINE=1  -DWITH_FAST_MUTEXES=1  -DWITH_ZLIB=bundled  -DENABLED_LOCAL_INFILE=1  -DWITH_READLINE=1  -DWITH_EMBEDDED_SERVER=1  -DWITH_DEBUG=0;
make && make install 

#init mysql
ln -s /usr/local/mysql5.5.49  /usr/local/mysql
/bin/cp /usr/local/mysql/support-files/my-small.cnf  /etc/my.cnf
echo export PATH=/usr/local/mysql/bin:$PATH >>/etc/profile
source /etc/profile
chown -R mysql.mysql /usr/local/mysql
chmod -R 1777 /tmp
cd  /usr/local/mysql/scripts   =======>备端忽略此步
./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/ --user=mysql    =======>备端忽略此步
cp /usr/local/mysql5.5.49/support-files/mysql.server  /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start    =======>备端忽略此步
netstat -lntup | grep 3306    =======>备端忽略此步


[root@data-1-1 scripts]# mysql    确认mysql安装ok
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.49 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> create database drbd;  #用来确认备端
Query OK, 1 row affected (0.06 sec)

 

配置heartbeat接管mysql

两端配置haresources
[root@data-1-1 ~]# cat /etc/ha.d/haresources 
data-1-1 IPaddr::192.168.0.191/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext3 mysqld
[root@data-1-2 ~]# cat /etc/ha.d/haresources 
data-1-1 IPaddr::192.168.0.191/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext3 mysqld
说明
  data-1-1                  主机名
  IPaddr::192.168.0.191/24/eth0      heartbeat配置ip的脚本,等于/etc/ha.d/resource.d/IPaddr 192.168.0.191/24/eth0 start/stop
  drbddisk::data                启动drbd定义的data资源,等于/etc/ha.d/resource.d/drbddisk data stop/start
  Filesystem::/dev/drbd0::/data::ext3  将drbd0设备挂载到/data/目录,原理同上
  mysqld                       mysql服务起停脚本,等于/etc/init.d/mysqld start/stop
进行测试
[root@data-1-1 ~]# /etc/init.d/heartbeat stop  #主端停止heartbeat,看备端情况
Stopping High-Availability services: Done.
[root@data-1-2 ~]# df  #确认/data已挂载
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2        5916420 4243564   1365656  76% /
tmpfs             502384       0    502384   0% /dev/shm
/dev/sda1         194241   36263    147738  20% /boot
/dev/drbd0       1011928   47692    912832   5% /data
[root@data-1-2 ~]# ip addr | grep 191  #确认vip漂移
    inet 192.168.0.191/24 brd 192.168.0.255 scope global secondary eth0

[root@data-1-2 ~]# mysql -u root -e "show databases;" | grep drbd #确认数据库及数据
drbd

[root@data-1-2 ~]# cat /proc/drbd  #接管drbd,成为primary
version: 8.4.9-1 (api:1/proto:86-101)
GIT-hash: 9976da086367a2476503ef7f6b13d4567327a280 build by mockbuild@Build64R6, 2016-12-13 18:38:15
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:612 nr:42460 dw:43072 dr:17959 al:8 bm:0 lo:2 pe:0 ua:0 ap:2 ep:1 wo:f oos:0

[root@data-1-1 ~]# /etc/init.d/heartbeat start 检测同上,回切正常

管理要点

1、heartbeat drbd mysql都设置为非开机自启动
2、主备依次启动drbd,并置主
3、主备依次启动heartbeat,heartbeat会启动vip,挂载drbd设备,启动mysql

 

heartbeat+drbd+mysql