pacemaker(资源管理器) + corosync(心跳)
实验环境: server6: node1 ip:172.25.254.6
server7: node2 ip:172.25.254.7
server8 : 为server6、server7提供共享目录 ip:172.25.254.8
foundation13: 提供网络yum源 ip:172.25.254.250
1. 在foundation13搭建网络yum源:
2. 在server6、server7上搭建五个yum源:rhel6.5的镜像、负载均衡、分布式存储、大文件系统、高可用
3.在server1 和 server1上下载并软件包: pacemaker(资源管理器):
4.下载软件包: crmsh(该命令用来管理资源) pssh
5. 在 server6、server7上安装上步的两个软件包:
6. 在server6、server7上配置文件:/etc/corosync/corosync.conf
8.开启server1、server2上的 corosync服务
9. 命令查看节点的状态:crm_mon
10. 用命令crm配置集群资源,它是管理pacemaker服务的接口, 相当于RHCS中的图形界面luic接口:
crm 的详细用法可参考:https://blog.csdn.net/minxihou/article/details/73441360
11. 用crm配置pacemaker,使其去掉fence模块:
资源配置例子1:
1. 配置资源:
2. 测试一:
监测画面结果:
下线server6
监测画面:
3. 测试二:
server7断掉电源:
监控画面: vip资源没有被剩下的一个备机接收,这是由于pacemaker这种集群的仲裁机制:
开机server7,并启动corosync服务:
观察监测画面:仲裁机制生效,资源被接收(随机的还是固定要被哪台主机接收?不清楚)
4. 我们可以配置先忽略用仲裁的方法选举谁接收资源:
重复测试二的方法测试即可发现: 当关机server7后,server6立刻接收资源。
资源配置例子2:
1. 在两台服务器上下载安装httpd服务,并写index.html文件。
2. 在集群上配置资源:httpd
3. 测试:
两台机器都在线时:两个资源均摊到集群中的两台服务器上。
下线server6:
观测监控画面:资源都被server7接收。
再上线server6:
观测监控画面: 此时资源又被均摊到了两台服务器上:
这说明,在heartmkaer + corosync 的集群管理模式下,当集群中的服务器都正常工作时,资源会被均摊到每个服务器上,从而减少每个服务器的压力。
1)方法一:定义在一个组中
1. 配置vip、webserver资源再同一个组中:
2. 测试:
server6和server7同时在线的监测画面:
下线server7:
3. 删除资源的方法:
2)方法二:使两个资源粘在一起
下线server7:
观测监控画面:
配置资源的载入顺序:
回切:使资源更倾向玉哪个服务器,通过定义节点权重,倾向于权重大的。
1. 配置资源对节点server7的倾向性:
2. 测试:
刚开始:
离线server7:
上线server7:资源回切到server7
工作场景: (集群内计算机硬件性能一样的情况)上一步配置了server2的权重为50,这样只要server2在线资源就可以回切到server2上,但回切是延时的,也会浪费机器性能, 为了不来回切换,配置资源的权重,使资源对节点有粘性(100)。
1.配置对任意资源的权重为50:
2. 测试:
该开始server6、server7都在线:
同时下线server6、server7:
再上线server7:发现虽然server7上配有节点倾向性,但却没回切到server7上:
1. 正常情况下:
2. 若出现如下意外,server7上的httpd服务进程被杀掉了:
然而,监测画面显示的依旧是server7接收的资源,这就又问题了,如下图:
这时候直接连不通httpd服务了,说明资源也没有转移到server6上:
2) 配置资源的监控:
1. 首先删除之前的资源:
2.重新配置资源(带监控器):
杀死server6上的httpd进程:
监控每10s检查一次,检查到server6的httpd运行出错,然后在20s内看httpd能够再次正常启动,如果能够正常启动,则依旧将资源交给server6,若不能正常启动,则将资源交给server7。
若不能正常启动,则将资源转移到了server7上:
4. 若要清除webserver资源的报错信息,可在crm的资源管理界面输入命令:cleanup webserver
1. 在server8上下载nfs-utils、 rpcbind1:
2.启动服务:
3. 创建sevrver8上的nfs共享目录:
4. 修改nfs配置文件:
5. 测试是否能在server6、server7上挂载共享目录/web/sharedir:
7. 配置资源组webgroup(vip webserver web_sharedir):
8.测试:
下线server7: