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

[经验分享] 图形界面配置heartbeat高可用集群

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-6-8 08:24:49 | 显示全部楼层 |阅读模式
修改ha.cf配置文件,启用crm功能,表示资源配置交给crm管理

1
2
[iyunv@node1 ~]# vim /etc/ha.d/ha.cf
crm on




使用自带的ha_propagate脚本同步配置文件
1
[iyunv@node1 ~]# /usr/lib/heartbeat/ha_propagate



安装heartbeat-gui包
1
2
[iyunv@node1 heartbeat2]# rpm -ivhheartbeat-gui-2.1.4-12.el6.x86_64.rpm
[iyunv@node2 heartbeat2]# rpm -ivhheartbeat-gui-2.1.4-12.el6.x86_64.rpm



安装完成启动heartbeat服务
1
service heartbeat start;ssh node2 'serviceheartbeat start'



连接图形界面需要输入节点的用户名和密码,安装的时候自动建了一个hacluster的用户,设置密码就可以连接了。

1
2
[iyunv@node1 ~]# echo "hacluster" | passwd--stdin hacluster
[iyunv@node2 ~]# echo "hacluster" | passwd--stdin hacluster



输入hb_gui启动图形配置界面(使用的终端是Xmanager企业版,如果是CRT,putty是无法打开的)
说明:hb_gui打开默认显示英文,如果想设置成为中文需要修改语言环境LANG="zh_CN.GB18030"
[url=] wKioL1V0eUKjORayAAGFx7YFSJU487.jpg [/url]
打开后的界面
wKioL1V0e2rz8rXAAAJPXvB45nw409.jpg
添加新资源新添加一个资源,资源类型选择普通资源
元素类型说明:
     普通资源,资源组:定义资源类型
     位置,顺序,协同:定义资源约束
wKioL1V0e6LgFOptAAKlhIsB_V4027.jpg

选择资源的详细设置
[url=] wKioL1V0eUWSMph4AAN6dTssYcY602.jpg [/url]
说明添加资源时,带required,unique是必选参数。


[url=] wKiom1V0d6TzWmNcAADcRMgJugU793.jpg [/url]
资源添加完成
wKiom1V0em3RhO1_AAJoOihoKvs131.jpg
启动资源
[url=] wKioL1V0eUfjfSFdAAJ7mPfOiWs952.jpg [/url]
登录node2查看资源启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[iyunv@node2 ~]# ifconfig
eth0     Link encap:Ethernet  HWaddr00:0C:29:F1:DD:B2
         inet addr:172.16.4.101 Bcast:172.16.255.255 Mask:255.255.0.0
         inet6 addr: fe80::20c:29ff:fef1:ddb2/64 Scope:Link
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
          RXpackets:68754 errors:0 dropped:0 overruns:0 frame:0
          TXpackets:22869 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
          RXbytes:16523275 (15.7 MiB)  TXbytes:4286115 (4.0 MiB)
  
eth0:0   Link encap:Ethernet  HWaddr 00:0C:29:F1:DD:B2
         inet addr:172.16.4.1 Bcast:172.16.255.255 Mask:255.255.0.0
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
  
lo       Link encap:Local Loopback
         inet addr:127.0.0.1 Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
          UPLOOPBACK RUNNING  MTU:65536  Metric:1
          RXpackets:0 errors:0 dropped:0 overruns:0 frame:0
          TXpackets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
          RXbytes:0 (0.0 b)  TX bytes:0 (0.0 b)



添加httpd资源
[url=] wKiom1V0d6bxg2YOAALY5dB9gro635.jpg [/url]
添加web并启动后,发现web资源和vip资源在不同的节点这种情况是无法实现web高可用的。
[url=] wKioL1V0eUni5NT7AAKUwlJvakE984.jpg [/url]
这种情况的解决方法有两个一个是定义一个组资源,然后将这两个资源加入到同一个组,另一个是对这两个组定义约束。设置web高可用添加一个组资源,方便对资源进行约束

[url=] wKiom1V0d6jTA6PqAABc7dJjqYY442.jpg [/url]
[url=]设置组名[/url]
[url=] wKioL1V0eUnBgQcIAACErmEX6bE366.jpg [/url]
建完组之后,需要建一个VIP资源
[url=] wKiom1V0d6nge6lxAALbe2TKgrk263.jpg [/url]
添加Lsb的httpd资源
[url=] wKioL1V0eUyxH9IxAAK3NNUtIzQ330.jpg 启动资源,由于两个资源在一个组内,所以实现了位置约束,都是在一个组内[/url]
[url=] wKiom1V0d6zCH2-7AAJ6el9jE8s415.jpg [/url]
验证资源
1
2
3
4
5
6
7
[iyunv@node2 ~]# ifconfig eth0:0
eth0:0   Link encap:Ethernet  HWaddr00:0C:29:F1:DD:B2
         inet addr:172.16.4.1 Bcast:172.16.255.255 Mask:255.255.0.0
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
  
[iyunv@node2 ~]# netstat -lnt | grep :80
tcp       0      0 :::80                       :::*                        LISTEN





资源限制条件位置约束定义资源优先运行在那一个节点

[url=] wKioL1V0eU3BAKPjAABl7YQVvjU595.jpg [/url]
[url=]定义表达式:节点名字如果是node1.xmfb.com那么就必须运行在这个节点[/url]

[url=] wKioL1V0eU-xzMpVAANc3tTc9kI970.jpg [/url]

顺序约束定义资源启动的先后顺序

[url=] wKiom1V0d66iwdFKAAFzlBxxya8345.jpg [/url]
协同约束资源默认是平均分配到两个节点启动的,如果想让两个资源在同一个节点启动,有两种方法
(1)    将两个资源定义到同一个组
(2)    设置协同约束

[url=] wKioL1V0eVDA9uc4AADxorl01Ik023.jpg [/url]
在限制条件,协同新添加一个条件
[url=] wKiom1V0d6-jx00pAAGf8CuIobM627.jpg [/url]
[url=]这个时候web和vip资源就运行在一起了[/url]

[url=] wKiom1V0d6_zRJOeAAEOnFORF6s147.jpg [/url]
定义基于NFS的mariadb集群需要的资源:
vip
Mariadb
共享存储(NFS)
NFS配置 NFS配置Mysql共享存储目录
1
2
3
4
5
6
7
8
[iyunv@NFS ~]# groupadd -r -g 306 mysql
[iyunv@NFS ~]# useradd -r -g 306 -u 306 mysql
[iyunv@NFS ~]# id mysql
uid=306(mysql) gid=306(mysql) =306(mysql)
[iyunv@NFS ~]# mkdir –p /mydata/data
[iyunv@NFS ~]# chown -R mysql.mysql /mydata/data/
[iyunv@NFS ~]# vim /etc/exports
/mydata/data 172.16.0.0/16(rw,no_root_squash)



Node1配置
1
2
3
4
[iyunv@node1 ~]# mkdir /mydata
[iyunv@node1 ~]# groupadd -g 306 mysql
[iyunv@node1 ~]# useradd -g 306 -u 3306 -s/sbin/nologin -M mysql
[iyunv@node1 ~]# mount -t nfs 172.16.4.200:/mydata//mydata/



Node2配置
1
2
3
4
[iyunv@node2 ~]# mkdir /mydata
[iyunv@node2 ~]# groupadd -g 306 mysql
[iyunv@node2 ~]# useradd -g 306 -u 3306 -s/sbin/nologin -M mysql
[iyunv@node2 ~]# mount -t nfs 172.16.4.200:/mydata//mydata/



Node1安装mariadb 安装并初始化
1
2
3
4
5
6
tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C/usr/local/
cd /usr/local/
ln -sv mariadb-5.5.43-linux-x86_64/ mysql
cd mysql/
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql--datadir=/mydata/data/



提供主配置文件
1
2
3
4
5
[iyunv@node1 mysql]# cp support-files/my-large.cnf/etc/my.cnf
[iyunv@node1 mysql]# vim /etc/my.cnf
thread_concurrency = 2
datadir = /mydata/data
innodb_file_per_table = 1



提供启动脚本
1
2
3
4
[iyunv@node1 mysql]# cp support-files/mysql.server/etc/rc.d/init.d/mysqld
[iyunv@node1 mysql]# chmod +x/etc/rc.d/init.d/mysqld
[iyunv@node1 mysql]# chkconfig --add mysqld
[iyunv@node1 mysql]# chkconfig mysqld off



修改PATH环境变量
1
2
[iyunv@node1 mysql]# echo "exportPATH=/usr/local/mysql/bin:$PATH" >> /etc/profile.d/mysql.sh
[iyunv@node1 mysql]# . /etc/profile.d/mysql.sh



启动Mysql并且创建一个库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[iyunv@node1 mysql]# service mysqld start
Starting MySQL....                                         [  OK  ]
[iyunv@node1 mysql]# mysql
MariaDB [(none)]> create database mydb;
Query OK, 1 row affected (0.03 sec)
  
MariaDB [(none)]> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mydb              |
| mysql             |
| performance_schema |
| test              |
+--------------------+
5 rows in set (0.07 sec)



停止Mysql,卸载NFS
1
2
[iyunv@node1 mysql]# service mysqld stop
[iyunv@node1 mysql]# umount /mydata/



Node2安装mariadbNode2安装mariadb不需要挂载NFS
1
[iyunv@node2 ~]# umount /mydata/



安装mariadb;注意这里不需要初始化
1
2
3
4
5
tar xf mariadb-5.5.43-linux-x86_64.tar.gz -C/usr/local/
cd /usr/local/
ln -sv mariadb-5.5.43-linux-x86_64/ mysql
cd mysql/
chown -R mysql:mysql .



把node1的配置文件和启动脚本复制到node2

1
2
[iyunv@node1 mysql]# scp /etc/my.cnf node2:/etc/
[iyunv@node1 mysql]# scp /etc/init.d/mysqldnode2:/etc/init.d/mysqld



Node2节点添加mariadb启动脚本
1
2
[iyunv@node2 ~]# chkconfig --add mysqld
[iyunv@node2 ~]# chkconfig mysqld off



添加PATH环境变量
1
2
[iyunv@node2 ~]# echo "exportPATH=/usr/local/mysql/bin:$PATH" >> /etc/profile.d/mysql.sh
[iyunv@node2 ~]# . /etc/profile.d/mysql.sh



挂载NFS
1
[iyunv@node2 ~]# mount -t nfs 172.16.4.200:/mydata//mydata/



启动mariadb,并且查看在node1创建的mydb数据库是否同步。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@node2 ~]# service mysqld start
[iyunv@node2 ~]# mysql
  
MariaDB [(none)]> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mydb              |
| mysql             |
| performance_schema |
| test              |
+--------------------+
5 rows in set (0.01 sec)



停止mariadb服务,卸载NFS共享
1
2
[iyunv@node2 ~]# service mysqld stop
[iyunv@node2 ~]# umount /mydata/




配置mariadb+NFS集群创建组
[url=] wKioL1V0eVGBxKppAABUjRe8Lw4251.jpg [/url]
[url=] wKiom1V0d7CTeVghAACHXxG2mRw196.jpg [/url]
[url=]创建虚拟VIP[/url]
[url=] wKioL1V0eVLiqhWHAAK4G5mkjrU404.jpg [/url]

[url=]添加NFS文件系统[/url]
[url=]
[/url]
[url=] wKioL1V0eVOyBxyzAALPGA_rXTw927.jpg [/url]

添加mariadb,这里选择mysqld

[url=] wKiom1V0d7KA6OFUAAJvDMNYqLg213.jpg [/url]
[url=]启动HA_Mariadb组资源,资源自动运行在node2节点[/url]
[url=] wKioL1V0eVSzvYxsAAEP8rlOu78091.jpg [/url]
验证mariadb高可用集群查看资源启动        
1
2
3
4
5
6
7
8
9
[iyunv@node2 ~]# ifconfig eth0:0
eth0:0   Link encap:Ethernet  HWaddr00:0C:29:F1:DD:B2
         inet addr:172.16.4.1 Bcast:172.16.4.255 Mask:255.255.255.0
          UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1
  
[iyunv@node2 ~]# netstat -lnt | grep 3306
tcp       0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN     
[iyunv@node2 ~]# mount | grep /mydata
172.16.4.200:/mydata on /mydata type nfs(rw,vers=4,addr=172.16.4.200,clientaddr=172.16.4.1)



将node2节点设置为备用之后,资源可以正常转移到node1节点

[url=] wKiom1V0d7OBFDftAAEXiUnRxtY224.jpg [/url]


运维网声明 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-74835-1-1.html 上篇帖子: HA高可用集群 下篇帖子: 基于heartbeat v1+ldirectord实现LVS集群高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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