实验准备:
一。虚拟机三台:
管理主机:172.25.99.1
被管理主机(172.25.99.22
172.25.99.33)
99.1用来安装fence服务
99.22用来安装ricci以及luci
99.33用来安装ricci
ps:(三台主机需要互相可以ping的通。关闭防火墙。selinux。NETworkmanger并且三台主机date同步)
二。对yum源的配置:
原理及其作用:
luci:在集群中luci起到了对集群的管理他监听在8084端口上,
ricci:是安装在每一个后端的节点上luci就是通过每一个节点上的ricci管理后端。监听11111
fence的作用:
fence『栅栏』通过栅栏设备可以从集群共享储存中断开一个节点。切断I/O保证数据的完整性。当发现一个节点失败后fence就会断开这个失败的节点(跳电:直接拔电源原因
如果正常关机内存中的数据会以正常的方式保存到磁盘中也就是说一份数据会被保存两次而且数据有可能是不完整的所以直接强制断电内存中的数据就会丢失而不保存到磁盘中)。fence会把这个失败的节点隔离起来。我们的储存设备只有一个两个节点是共享的所以会形成“脑裂“现象
『脑裂』:是指两个节点上的心跳线中断后两台主机都无法确认对方是否正常就会去争抢vip同时使用共享存储设备这样就会形成脑裂
fence工作原理:
两个节点的关系是主从关系也就是说33是22的备用节点。当fence发现22节点失败后就会立即断开22的电源由33节点接管22节点的工作等到22节点恢复后如果有优先级22节点的优先级高于33节点那么恢复后22节点会要回33节点的工作继续正常工作如果没有优先级那么22节点恢复后会作为33节点的备用节点等待22节点失去工作能力后再一次顶替33节点去正常工作这是一个轮询的机制
fence/luci/ricci正式配置如下
22主机和33主机需要安装如下:
22:yum install luci ricci -y
33:yum install ricci -y
安装完成后对22主机和33主机上的ricci用户配置密码:
当ricci安装完成后就会自动建立ricci用户:
passwd ricci
设置开机自启:
22:/etc/init.d/ricci start
/etc/init.d/luci start
chkconfig ricci on
chkconfig luci on
33:/etc/init.d/ricci start
chkconfig ricci on
通过网页管理节点
99.1主机上安装fence
创建cluster,node name写节点的主机名即可,密码是ricci的用户的密码
在192.25.99.1这台主机上安装fence
yum install fence -y
安装完成后使用fence_virtd -c 命令使用交互式配置fence文件
然后重起服务
/etc/init.d/fence restart
fence需要key文件
/etc/cluster/fence_xvm.key需要我们自己建立
mkdir /etc/cluster/fence_xvm.key
然后生成key
dd if=/dev/urandom of=/etc//cluster/fence_xvm.key bs=128 count=1
key生成好后。给每个节点发送到每个节点的/etc/cluster目录下
登录到集群管理界面上添加fence设备
每个节点上的cluster。conf文件需要同步所以在每次执行完毕时都需要等待
给每一个节点添加fence
两个节点都要做相同的步骤
优先级:
这里我的22节点优先级为1.。。。33节点优先级为10数字越小优先级越高
优先级:有了优先级后优先级高的会第一个接管工作优先级低的会成为优先级高的的备用节点当优先级高的失败后优先级低的会接管工作但是当优先级高的恢复正常后会重新接管工作优先级低的继续作为备用节点继续等待
创建httpd:
httpd不要手动启动
实验:当我们的22节点挂掉以后33节点会不会接管工作?
使用 echo c > /proc/sysrq-trigger 这条命令使虚拟机的内核崩溃 如果22节点主机可以自己重新启动httpd服务也自动重起那么配置结束