fjqzyc 发表于 2019-1-7 10:44:56

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

  测试环境:
              OS:rhel6
              web1:192.168.1.111MariaDBHeartbeathb_gui
              web2:192.168.1.112MariaDBHeartbeat
              web3:192.168.1.114NFS(共享存储)
              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
                 /mydata192.168.1.0/24(rw)
  五,在hb_gui里配置MySQL实现高可用的资源组(mysql_ip,mysql_store,msqld)

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

  http://s3.运维网.com/wyfs02/M00/74/A5/wKiom1YkxCGQjyBWAAI7wyJTqDE423.jpg
   http://s3.运维网.com/wyfs02/M00/74/A1/wKioL1YkxGCz97drAANX-GxKSeM760.jpghttp://s3.运维网.com/wyfs02/M01/74/A5/wKiom1YkxFPiCVXqAALmtQ2HVTE422.jpg 添加mysqlserver资源组
   http://s3.运维网.com/wyfs02/M01/74/A1/wKioL1YkxKaReBnLAALk6gqtQ84378.jpg
  添加mysql_ip

  http://s3.运维网.com/wyfs02/M02/74/A5/wKiom1YkxKKRBFK5AANgmzpqblE422.jpg
  添加mysql_store
  http://s3.运维网.com/wyfs02/M02/74/A1/wKioL1YkxOuzFONHAAN_wiDroDg982.jpg
  添加mysqld
  http://s3.运维网.com/wyfs02/M00/74/A5/wKiom1YkxOOyvZ8zAAMUWfEiq94780.jpg
  启动mysqlserver资源组
  http://s3.运维网.com/wyfs02/M02/74/A5/wKiom1YkxRGiVtiVAAOFfr0ETQw548.jpg
  在运行mysqld服务的节点上添加远程测试用户(web2)
  http://s3.运维网.com/wyfs02/M00/74/A5/wKiom1YkxT6yVscnAAG9bbhGc3Q044.jpg
  在web3上远程登录并且创建测试数据库
  http://s3.运维网.com/wyfs02/M02/74/A5/wKiom1YkxcmCa5MQAANjP866kfY565.jpg
  http://s3.运维网.com/wyfs02/M00/74/A1/wKioL1Ykxh_Du14FAAH4HxylROc033.jpg
  切换mysql服务运行节点(web1)

  http://s3.运维网.com/wyfs02/M02/74/A1/wKioL1Ykxn-jwafgAAM2jCpg8Bc251.jpg
  在web1上查看mysqld是否正在运行
  http://s3.运维网.com/wyfs02/M01/74/A1/wKioL1YkxrGQ4HRUAACdZ7nNuwI661.jpg
  查看在web3上创建的数据库是否存在

  http://s3.运维网.com/wyfs02/M00/74/A5/wKiom1YkxrzQDNTAAAN9yLJu0G8048.jpg
  

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

  

  

  

  

  




页: [1]
查看完整版本: heartbeat+crm+mysqld+nfs实现MySQL服务的高可用