实验环境:
系统: CENTOS 6.3
软件:Luci,ricci,openais, cman, rgmanager, lvm2-cluster, gfs2-utils(centos6.3光盘1均自带)
两台虚拟机做双节点双机热备,模拟httpd前端页面服务器冗余,一台虚拟机做集群配置管理器(luci),真机访问管理机web界面做后台维护。
yum本地光盘读取安装略,详解本博。
一.集群软件包安装
分为集群节点和配置管理器(Luci, RHCS的web管理工具,仅仅只是配置工具,集群可脱离它正常运行)
集群节点
注:首先分别需要在3台机子的/etc/hosts文件下做好两个集群节点的域名解析
例如:web1:172.24.40.71 web2:172.24.40.72
vi /etc/hosts
web1 172.24.40.71
web2 172.24.40.72
注:两个节点的httpd服务开机均不要加载,
chkconfig httpd off
配置管理器会分配启动优先级。
1.配置好yum源后,安装集群软件包(两台节点虚拟机上做相同配置)
[root@v1 /]# yum install ricci openais cman rgmanager lvm2-cluster gfs2-utils
3. 或者直接禁用防火墙
[root@v1 /]# /etc/init.d/iptables stop
[root@v1 /]# chkconfig iptables off
4. 关闭节点上的acpi服务
[root@v1 /]# /etc/init.d/acpid stop
[root@v1 /]# chkconfig --level 2345 acpid off
[root@v1 /]# chkconfig --list acpid
5.禁用NetworkManager
[root@v1 /]# /etc/init.d/NetworkManager stop
[root@v1 /]# chkconfig NetworkManager off
6. 给软件用户ricci设置密码:
[root@v1 /]# passwd ricci
7. 启动ricci服务
[root@v1 /]# /etc/init.d/ricci start
8.设置开机启动项
chkconfig cman on
chkconfig rgmanager on
chkconfig ricci on
chkconfig modclusterd on
chkconfig clvmd on
集群配置管理器(luci)
可以安装在节点上,我现在安装在存储服务器上,更利于监控集群状态。
1.配置好yum源后,安装管理软件:
[root@rhel6 /]# yum install luci
3.或直接禁用防火墙
4.启动luci:
[root@rhel6 /]# /etc/init.d/luci start
创建集群
1.登陆管理服务器的luci界面:
2.输入用户名root和密码,登录
3.转到manage cluster界面
4.点击create,创建集群
5.此处密码为ricci密码
6.集群创建成功
7. 转到Fence Devices 创建 fence设备,因为不是有的服务器,没有fence设备,我随意建了一个SRF,实际生产环境中,必须使用fence硬件设备。
回到nodes菜单下,点击v1.shenmin.com,出现节点详情后点击add fence method添加一个method,
注:这里若要实现双机热备冗余,需把unfencing的enable勾去掉,
模拟节点宕机后启动异常的同学在这里请注意,本人就是这个勾被坑了一个包夜。
二. 集群中创建服务组
创建LAMP高可用需要的三个资源:
1. Ip地址:192.168.137.10/24
2. httpd脚本: /etc/init.d/httpd(配置httpd启动脚本,实现冗余备份)
3. Mysqld脚本:/etc/init.d/mysqld
4. 新建故障倒换域
5. 新建服务组,添加刚才新建的三个资源进服务组
6. 启动服务组
7. 显示运行在v2上
访问浮动ip地址192.168.169.10有:
访问节点2正常显示
高可用性验证
1. 手动切换
2. 刷新浮动ip, 可正常显示
3. 访问节点1正常显示
4. 访问节点2无法显示页面:
5. 模拟宕机,关闭v1(现实生产应用中必须使用Fence设备!!!)
访问浮动ip
访问节点1无法显示页面
访问节点2正常显示