实验环境:
要有所有主机的解析
rhel6.5-server1:172.25.27.201 -->web服务器
rhel6.5-server2:172.25.27.202 -->web服务器,集群管理服务器
本机:172.25.27.100 -->fence
配置:
rhel6.5-server1:
1、yum源配置
baseurl=http://172.25.27.100/rhel6.5/HighAvailability
baseurl=http://172.25.27.100/rhel6.5/LoadBalancer
baseurl=http://172.25.27.100/rhel6.5/ResilientStorge
baseurl=http://172.25.27.100/rhel6.5/ScalableFileSystem
2、解析
集群内所有机器的解析
3、yum install ricci -y
ricci 为集群管理提供接口
id ricci 安装成功后会生成一个ricci用户
passwd ricci
/etc/init.d/ricci start
netstat -tnlp 查看ricci的端口是否开启
chkconfig ricci on 设置为开机自启动
rhel6.5-server2:
1、yum源配置
baseurl=http://172.25.1.100/rhel6.5/HighAvailability
baseurl=http://172.25.1.100/rhel6.5/LoadBalancer
baseurl=http://172.25.1.100/rhel6.5/ResilientStorge
baseurl=http://172.25.1.100/rhel6.5/ScalableFileSystem
2、解析
集群内所有机器的解析
3、yum install ricci,luci -y
luci 集群管理工具
id ricci
passwd ricci
/etc/init.d/ricci start
/etc/init.d/luci start
netstat -tnlp
chkconfig ricci on
chkconfig luci on
本机:
yum install fence-virt.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-libvirt.x86_64 -y
fence_virtd -c fence初始化
interface 真实网卡的接口
mkdir /etc/cluster
cd /etc/cluter
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1 生成密钥
共享密钥
scp fence_xvm.key rhel6.5-server1:/etc/cluster
scp fence_xvm.key rhel6.5-server2:/etc/cluster
创建集群:
浏览器访问 https://rhel6.5-server2:8084(需要本地解析)
1、使用rhel6.5-server2的超户登录进行管理
2、创建集群,添加节点
3、集群创建成功,虚拟机自动重启
需要注意的是在rhel6.5-server1,rhel6.5-server2上边让ricci,ricci,luci开机自启,
要不然起不来
注意!!!
1)* 配置时NetworkManager必须是关闭的
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
2)* 点击节点,查看服务状态,所有状态必须是Running,否则需要手动开启
cman分布式集群管理器
rgmanager资源代理,负责资源接管
modclusterd集群状态监控
clvmd集群化逻辑卷,共享存储
ricci每个节点和集群之间的接口
3)、在任意节点上执行clustat命令可看到集群信息
4、管理集群
1)、添加故障处理机制(Failover Domains)
Priority值越小优先级越高,即server4是主节点
No Failback 表示不回切,即若server4故障,server5接管,但server4正常后即使其优先级高也不从server5接管,业务稳定,与keepalived不同
2)、添加资源(Resource)
IP Address(vip不存在的ip)—>Script(服务启动脚本)
3)、添加资源组(Service Groups)
4)、添加fence
Fence作用就是当master出现问题但没有挂掉时,将master强制断电重启,新的master接管资源,当旧的master恢复后不重新接管资源,避免出现脑裂现象
**添加fence节点
rhel6.5-server1:
rhel6.5-server2:
**添加fence
5、测试
让httpd在rhel6.5-server1上边运行
echo c > /proc/sysrq-trigger //破坏rhel6.5-server1的内核
clustat 服务由rhel6.5-server2接管