配置heartbeat接管drbd服務
配置heartbeat接管drbd服務(延續之前heartbeat及drbd博文內容)1、兩端確認都建立好 /data目錄2、關閉drbd服務,關閉heartbeat服務,自啟動全部關閉3、兩端配置haresourcesdata-1-1 IPaddr::192.168.0.191/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext3啟動順序1、依次啟動主備端drbd2、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
?