heartbeat+crm+mysqld+nfs实现MySQL服务的高可用

测试环境:

            OS:rhel6

            web1:192.168.1.111  MariaDB  Heartbeat  hb_gui

            web2:192.168.1.112  MariaDB  Heartbeat

            web3:192.168.1.114  NFS  (共享存储)

            VIP:192.168.1.150

PS:在web1和web2配置mysql和heartbeat服务,在web3上配置共享存储;


一,首先在web3上配置共享存储

     1.建立共享存储目录

        #mkdir /mydata

        #vim /etc/exports

               /mydata 192.168.1.0/24(rw,no_root_squash)

     2.重新导出文件系统

         #exportfs -rav

     3.在web3上创建mysql用户mysql组      

         #groupadd -r -g 306 mysql

         #useradd -r -u 306 -g mysql mysql

         #setfacl -m u:mysql:rwx /mydata/

二,在web1和web2上操作

      1. 挂载web3上的共享目录,看是否有读写权限  

         #mkdir /mydata

         #mount -t nfs 172.16.100.9:/mydata /mydata

         #touch a

         #rm -rf a

      2.在web1和web2上创建mysql用户mysql组

         #groupadd -r -g 306 mysql

         #useradd -r -u 306 -g mysql mysql

      3.测试看mysql用户是否能在/mydata目录下读写

         #su - mysql

         #cd /mydata

         #touch a

         #ls -a

         #rm -rf a

         #exit

       4.安装MariaDB(web1)

         #scp mariadb-10.0.21-linux-x86_64.tar.gz web2.luochen.com:/root

         #tar xf mariadb-10.0.21-linux-x86_64.tar.gz -C /usr/local/

         #cd /mydata

         #mkdir data binlogs

         #chown -R mysql.mysql data binlogs/

         #ll

       5.创建目录链接和修改文件目录所有者和所有组

         #cd /usr/local

         #ln -sv mariadb-10.0.21-linux-x86_64 mysql

         #cd mysql/

         #chown -R root.mysql ./*

         #scripts/mysql_install_db --user=mysql --datadir=/mydata/data/

       6.提供配置文件和服务脚本

         #mkdir /etc/mysql

         #cp support-files/my-large.cnf /etc/mysql/my.cnf

         #vim /etc/mysql/my.cnf

                      datadir = /mydata/data

                      innodb_file_per_table = ON

                      log-bin=/mydata/binlogs/master-bin

         #cp support-files/mysql.server /etc/rc.d/init.d/mysqld

         #chkconfig --add mysqld

         #chkconfig mysqld off

         #service mysqld start

       7.创建一个测试的数据库

         #/usr/local/mysql/bin/msql

         MariaDB  [(none)] > CREATE DATABASE student;

         MarisDB   [(none)] > SHOW DATABASES;

         MariaDB   [(none)] > \q

       8.停止mysql服务

         #service mysqld stop

三,在web2上安装MariaDB(不需要初始化)

         #tar xf mariadb-10.0.21-linux-x86_64.tar.gz -C /usr/local/

         #cd /usr/local

         #ln -sv mariadb-10.0.21-linux-x86_64 mysql

         #cd mysql/

         #chown -R root.mysql ./*   (不需要初始化)


         #mkdir /etc/mysql

         #scp /etc/mysql/my.cnf web2.luochen.com:/etc/mysql/  (复制web1中的配置文件到web2中)

         #cp support-files/mysql.server /etc/rc.d/init.d/mysqld 

         #chkconfig --add mysqld

         #chkconfig mysqld off

         #service mysqld start

看在web1上创建的数据库在web2上是否存在

         #/usr/local/mysql/bin/msql

                  MariaDB  [(none)] > SHOW DATABASES;

                  MarisDB   [(none)] > SHOW BINARY LOGS;

                  MariaDB   [(none)] > \q

停止服务(配置crm前)

         #service mysqld stop

三,在web1和web2上卸载挂载的NFS

         # umount /mydata

四,修改/etc/exports文件

         #vim /etc/exports

                 /mydata  192.168.1.0/24(rw)

五,在hb_gui里配置MySQL实现高可用的资源组(mysql_ip,mysql_store,msqld)

       首先配置stonith设备避免mysql共享存储资源争用情况 

添加stonith资源

wKiom1YkxCGQjyBWAAI7wyJTqDE423.jpg

 wKioL1YkxGCz97drAANX-GxKSeM760.jpg  wKiom1YkxFPiCVXqAALmtQ2HVTE422.jpg 添加mysqlserver资源组

 wKioL1YkxKaReBnLAALk6gqtQ84378.jpg

添加mysql_ip

wKiom1YkxKKRBFK5AANgmzpqblE422.jpg

添加mysql_store

wKioL1YkxOuzFONHAAN_wiDroDg982.jpg

添加mysqld

wKiom1YkxOOyvZ8zAAMUWfEiq94780.jpg

启动mysqlserver资源组

wKiom1YkxRGiVtiVAAOFfr0ETQw548.jpg

在运行mysqld服务的节点上添加远程测试用户(web2)

wKiom1YkxT6yVscnAAG9bbhGc3Q044.jpg

在web3上远程登录并且创建测试数据库

wKiom1YkxcmCa5MQAANjP866kfY565.jpg

wKioL1Ykxh_Du14FAAH4HxylROc033.jpg

切换mysql服务运行节点(web1)

wKioL1Ykxn-jwafgAAM2jCpg8Bc251.jpg

在web1上查看mysqld是否正在运行

wKioL1YkxrGQ4HRUAACdZ7nNuwI661.jpg

查看在web3上创建的数据库是否存在

wKiom1YkxrzQDNTAAAN9yLJu0G8048.jpg


PS:到此就结束了 。。。。休息一会







你可能感兴趣的:(heartbeat+crm+mysqld+nfs实现MySQL服务的高可用)