设为首页 收藏本站
查看: 884|回复: 0

[经验分享] heartbeat V2实现MySQL+NFS高可用

[复制链接]

尚未签到

发表于 2019-1-7 12:00:42 | 显示全部楼层 |阅读模式
  
heartbeatV2实现MySQL+NFS高可用



实验前准备                                                                              

1.时间需要同步,建议使用NTP服务器同步时间并且创建时间同步计划
  #ntpdate 172.16.0.1  //第一个节点
  #ntpdate 172.16.0.1  //第二个节点
  crontab  -e
   */3 * * * *  /usr/sbin/ntpdate 172.16.0.1 > /dev/null2.root用户基于密钥认证的时候

ssh-keygen -t rsa -P '' //节点一
ssh-copy-id -i ~/.ssh/id_rsa.pub node3
ssh-keygen -t rsa -P '' //节点二
ssh-copy-id -i ~/.ssh/id_rsa.pub node23./etc/hosts文件作好IP对应的主机名的解析

172.16.249.122  node2
172.16.249.141  node3全部准备好了之后。
下载安装需要的包:
准备安装:我这里是FTP服务器存储的。
lftp172.16.0.1:/pub/Sources/6.x86_64> mirror heartbeat2/
解决依赖关系及包的安装:
#yum -y installnet-snmp-libs libnet PyXML
#rpm -ivh heartbeat-pils-2.1.4-12.el6.x86_64.rpm
#rpm -ivhheartbeat-stonith-2.1.4-12.el6.x86_64.rpm
#rpm -ivhheartbeat-gui-2.1.4-12.el6.x86_64.rpm
#rpm -ivhheartbeat-2.1.4-12.el6.x86_64.rpm思路:实现MySQL+NFS的高可用。将NFS作为MySQL的共享存储服务器。首先需要一台机,作为NFS服务器,然后创建两个节点为mysql。把mysql数据库分别初始化为NFS挂载的目录。通过heartbeatv2实现管理。






搭建NFS服务器                                                                          


[root@node3 ~]# mkdir /mydata/data
[root@node3 ~]# cat/etc/passwd | cut -d: -f 3 | grep "400"
[root@node3 ~]#groupadd -r -g 400 mysql
[root@node3 ~]# useradd-r -g 400 -u 400 mysql
[root@node3 ~]# id mysql
uid=400(mysql)gid=400(mysql) groups=400(mysql)
[root@node3 ~]# chown -R mysql:mysql /mydata/data
[root@node3 ~]# ll -d /var/lib/mysql
drwxr-xr-x 4 mysql mysql4096 Jan  1 15:31 /mydata/data
[root@node3 ~]# vim/etc/exports
/data/mysql          172.16.0.0/16(rw,no_root_squash)
[root@node3~]# exportfs -arv         //重新导出挂载所有的文件系统到MySQL节点查看结果:
[root@node1 ntp]# showmount -e 172.16.249.239 //这个IP是我们NFS的IP,
Exportlist for 172.16.249.239:/mydata/data
/mydata172.16.11.1/16各节点MySQL的创建                                                                       

现在开始建立MySQL服务器

使用二进制版本安装mysql的过程就是一下几个步骤:
1.创建用于访问数据的库的用户。
2.创建由mysql数据存储的目录,属主数组都为mysql
3.修改解压文件的所有属主为root属组为mysql
4.进行脚本初始化。
5.为服务添加配置文件和脚本
[root@node2 ~]# groupadd -r -g 400 mysql   //id号要保持一致不然没办法写操作
[root@node2 ~]# useradd -r -g 400 -u 400 mysql
# mkdir /var/lib/mysql            //创建一个单独文件,用于mysql作为数据库挂载nfs使用
chown -R mysql:mysql /var/lib/mysql    // 给予数据库权限
lftp172.16.0.1:/pub/Sources/6.x86_64/mariadb> mgetmariadb-5.5.36-linux-x86_64.tar.gz
lftp172.16.0.1:/pub/Sources/6.x86_64/mariadb> bye
[root@node2 tmp]# tar -zxf mariadb-5.5.36-linux-x86_64.tar.gz -C /usr/local/
[root@node2 local]# ln-sv mariadb-5.5.36-linux-x86_64/ mariadb
#cd  mariadb         创建便于使用的软连接
#chown-R root:mysql ./*    把解压的mysql目录下的所有文件属主改为root ,属组改为mysql。
[root@node2 mariadb]#./scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
#cd support-files
#cp mysql.server /etc/init.d/mysqld
#[root@node2support-files]# cp my-large.cnf /etc/mysql/my.cnf
#vim /etc/mysql/my.cnf
thread_concurrency = 8
datadir = /mydata
Innodb_file_per_table= on
skip_name_resolve = on
[root@node2 init.d]#chkconfig --list mysqld
service mysqld supportschkconfig, but is not referenced in any runlevel (run 'chkconfig --add mysqld')
[root@node2init.d]# chkconfig --add mysqld  加入服务
[root@node2init.d]# chkconfig mysqld off      让集群内的服务不能卡机自动重启添加环境变量及其他文件                                                                 
#Vim /etc/profile.d/mysql.sh  //添加如下行
#export  PATH=/usr/local/mysql/bin:$PATHmysql添加man文件

cd/usr/local/mysql/man/man1
gzip  ./*     
cp  ./* /usr/share/man/man1/ Man mysql查看效果
导出库文件
  # cd /etc/ld.so.conf.d/
  vim /etc/ld.so.conf.d/mariadb.conf 写入lib的文件路径
  /usr/local/mysql/lib 启动MySQL

     
[root@node2 mysql]# service mysqld start
  mysql> showdatabases;
  +--------------------+
  | Database           |
  +--------------------+
  | information_schema |
  | mysql              |
  | test               |
  +--------------------+
  3 rows in set (0.00sec)
  mysql> GRANT ALL ON *.* TO 'root'@'172.16.%.%' IDENTIFIED BY 'password';
  Query OK, 0 rowsaffected (0.00 sec)
  mysql> FLUSH PRIVILEGES;
  Query OK, 0 rowsaffected (0.00 sec)
   //我这里使用一个远程用户登陆:查看结果
  #service mysql restart
  [root@node2 local]# mysql -uroot-h172.16.11.3 -p
   Enter password:
   Welcome to the MariaDB monitor.  Commands end with ; or \g.
   Your MariaDB connection id is 2
   Server version: 5.5.36-MariaDB-log MariaDBServer
   Copyright (c) 2000, 2014, Oracle, MontyProgram Ab and others.
   Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.至此,我们的第一个节点的mysql可用了。
那么现在就可以是创建第二个节点了。但是要注意的是:由于第一个节点在之前已经初始化过了。因此这里直接就可以挂载使用了。但是在使用前先把之前的最好卸载掉节点。
同样步骤添加节点二的MySQL的。这里不在描述。

验证MySQL可用

  验证另一个节点MySQL可用


  配置heartbeatV2可用                                                                       
在node2节点执行如下操作:
cp /usr/share/doc/heartbeat-2.1.4/{ha.cf,authkeys} /etc/ha.d/
# vim /etc/ha.d/ha.cf 修改以下内容:
mcast eth0 226.11.11.11 694 1 0
auto_failback on
node   
node2
node   
node3
ping 172.16.0.1
# vim /etc/ha.d/authkeys 添加以下内容:
auth 2
2 sha1 8d64d1aeff0d
chmod 600 /etc/ha.d/authkeys
# scp ha.cf authkeys node node3:/ect/ha.d/
/etc/init.d/heartbeat start;ssh node3 '/etc/init.d/heartbeat start'开启图形化界面,进行资源配置:
service heartbeat start;ssh node3 'service heartbeat start'
# hb_gui &

  添加组资源
  


  


  依次添加流动IP和MySQL和文件系统资源
  前两比较简单只演示文件系统的添加方式:

  添加资源的约束关系:order:

  切换节点测试

  

  登陆MySQL验证结果即可!
  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660331-1-1.html 上篇帖子: linux之heartbeat高可用的简单配置 下篇帖子: heartbeat安装配置及httpd高可用简单示例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表