LAMP构架——集群(pacemaker + corosync)实践操作

一、集群基本环境的搭建:

       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源:

LAMP构架——集群(pacemaker + corosync)实践操作_第1张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第2张图片

      2. 在server6、server7上搭建五个yum源:rhel6.5的镜像、负载均衡LAMP构架——集群(pacemaker + corosync)实践操作_第3张图片、分布式存储、大文件系统、高可用

LAMP构架——集群(pacemaker + corosync)实践操作_第4张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第5张图片

       3.在server1 和 server1上下载并软件包: pacemaker(资源管理器):

LAMP构架——集群(pacemaker + corosync)实践操作_第6张图片

4.下载软件包: crmsh(该命令用来管理资源) pssh

       5. 在 server6、server7上安装上步的两个软件包:

LAMP构架——集群(pacemaker + corosync)实践操作_第7张图片LAMP构架——集群(pacemaker + corosync)实践操作_第8张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第9张图片

       6. 在server6、server7上配置文件:/etc/corosync/corosync.conf

LAMP构架——集群(pacemaker + corosync)实践操作_第10张图片

       8.开启server1、server2上的 corosync服务

      9. 命令查看节点的状态:crm_mon

LAMP构架——集群(pacemaker + corosync)实践操作_第11张图片

    10. 用命令crm配置集群资源,它是管理pacemaker服务的接口, 相当于RHCS中的图形界面luic接口:

LAMP构架——集群(pacemaker + corosync)实践操作_第12张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第13张图片

                            crm 的详细用法可参考:https://blog.csdn.net/minxihou/article/details/73441360

        11.  用crm配置pacemaker,使其去掉fence模块:

LAMP构架——集群(pacemaker + corosync)实践操作_第14张图片

 二、用crm进行集群资源配置:

       资源配置例子1:

1. 配置资源:

LAMP构架——集群(pacemaker + corosync)实践操作_第15张图片

2. 测试一:

     监测画面结果:

LAMP构架——集群(pacemaker + corosync)实践操作_第16张图片

下线server6

LAMP构架——集群(pacemaker + corosync)实践操作_第17张图片

监测画面:

LAMP构架——集群(pacemaker + corosync)实践操作_第18张图片

      3. 测试二:

LAMP构架——集群(pacemaker + corosync)实践操作_第19张图片LAMP构架——集群(pacemaker + corosync)实践操作_第20张图片

  server7断掉电源:

监控画面: vip资源没有被剩下的一个备机接收,这是由于pacemaker这种集群的仲裁机制:

LAMP构架——集群(pacemaker + corosync)实践操作_第21张图片

开机server7,并启动corosync服务:

观察监测画面:仲裁机制生效,资源被接收(随机的还是固定要被哪台主机接收?不清楚)

LAMP构架——集群(pacemaker + corosync)实践操作_第22张图片

4. 我们可以配置先忽略用仲裁的方法选举谁接收资源:

LAMP构架——集群(pacemaker + corosync)实践操作_第23张图片

   重复测试二的方法测试即可发现: 当关机server7后,server6立刻接收资源。

      资源配置例子2:

1.  在两台服务器上下载安装httpd服务,并写index.html文件。

LAMP构架——集群(pacemaker + corosync)实践操作_第24张图片

2. 在集群上配置资源:httpd

LAMP构架——集群(pacemaker + corosync)实践操作_第25张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第26张图片

3. 测试:

两台机器都在线时:两个资源均摊到集群中的两台服务器上。

LAMP构架——集群(pacemaker + corosync)实践操作_第27张图片

下线server6:

LAMP构架——集群(pacemaker + corosync)实践操作_第28张图片

观测监控画面:资源都被server7接收。

LAMP构架——集群(pacemaker + corosync)实践操作_第29张图片

再上线server6:

观测监控画面: 此时资源又被均摊到了两台服务器上:

LAMP构架——集群(pacemaker + corosync)实践操作_第30张图片LAMP构架——集群(pacemaker + corosync)实践操作_第31张图片

       这说明,在heartmkaer + corosync 的集群管理模式下,当集群中的服务器都正常工作时,资源会被均摊到每个服务器上,从而减少每个服务器的压力。

三、 如何让资源绑定到一块呢?

       1)方法一:定义在一个组中

1.  配置vip、webserver资源再同一个组中:

LAMP构架——集群(pacemaker + corosync)实践操作_第32张图片LAMP构架——集群(pacemaker + corosync)实践操作_第33张图片

2. 测试:

server6和server7同时在线的监测画面:

LAMP构架——集群(pacemaker + corosync)实践操作_第34张图片LAMP构架——集群(pacemaker + corosync)实践操作_第35张图片

下线server7:

LAMP构架——集群(pacemaker + corosync)实践操作_第36张图片LAMP构架——集群(pacemaker + corosync)实践操作_第37张图片LAMP构架——集群(pacemaker + corosync)实践操作_第38张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第39张图片观测监控界面: 资源一起被 server6接收

LAMP构架——集群(pacemaker + corosync)实践操作_第40张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第41张图片

3. 删除资源的方法:

LAMP构架——集群(pacemaker + corosync)实践操作_第42张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第43张图片LAMP构架——集群(pacemaker + corosync)实践操作_第44张图片LAMP构架——集群(pacemaker + corosync)实践操作_第45张图片LAMP构架——集群(pacemaker + corosync)实践操作_第46张图片LAMP构架——集群(pacemaker + corosync)实践操作_第47张图片

      2)方法二:使两个资源粘在一起

1.  配置资源的粘贴:

LAMP构架——集群(pacemaker + corosync)实践操作_第48张图片

2. 测试:

 下线server7:

LAMP构架——集群(pacemaker + corosync)实践操作_第49张图片LAMP构架——集群(pacemaker + corosync)实践操作_第50张图片

观测监控画面:

LAMP构架——集群(pacemaker + corosync)实践操作_第51张图片

 

四、定义资源的载入顺序

       配置资源的载入顺序:

 

五、 资源对节点的倾向性

      回切:使资源更倾向玉哪个服务器,通过定义节点权重,倾向于权重大的。

       1.  配置资源对节点server7的倾向性:

 

      2. 测试:

刚开始:

离线server7:

LAMP构架——集群(pacemaker + corosync)实践操作_第52张图片

上线server7:资源回切到server7

 

六、资源对节点的粘性

       工作场景: (集群内计算机硬件性能一样的情况)上一步配置了server2的权重为50,这样只要server2在线资源就可以回切到server2上,但回切是延时的,也会浪费机器性能, 为了不来回切换,配置资源的权重,使资源对节点有粘性(100)。

      1.配置对任意资源的权重为50:

LAMP构架——集群(pacemaker + corosync)实践操作_第53张图片

       2. 测试:

该开始server6、server7都在线:

LAMP构架——集群(pacemaker + corosync)实践操作_第54张图片

同时下线server6、server7:

LAMP构架——集群(pacemaker + corosync)实践操作_第55张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第56张图片LAMP构架——集群(pacemaker + corosync)实践操作_第57张图片先上线 server6:

LAMP构架——集群(pacemaker + corosync)实践操作_第58张图片LAMP构架——集群(pacemaker + corosync)实践操作_第59张图片LAMP构架——集群(pacemaker + corosync)实践操作_第60张图片LAMP构架——集群(pacemaker + corosync)实践操作_第61张图片

再上线server7:发现虽然server7上配有节点倾向性,但却没回切到server7上:

原因如下图:

LAMP构架——集群(pacemaker + corosync)实践操作_第62张图片

七、配置对资源的监控

LAMP构架——集群(pacemaker + corosync)实践操作_第63张图片LAMP构架——集群(pacemaker + corosync)实践操作_第64张图片      1) 配置监控的缘由:

      1. 正常情况下:

LAMP构架——集群(pacemaker + corosync)实践操作_第65张图片LAMP构架——集群(pacemaker + corosync)实践操作_第66张图片LAMP构架——集群(pacemaker + corosync)实践操作_第67张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第68张图片

     2. 若出现如下意外,server7上的httpd服务进程被杀掉了:

然而,监测画面显示的依旧是server7接收的资源,这就又问题了,如下图:

LAMP构架——集群(pacemaker + corosync)实践操作_第69张图片

这时候直接连不通httpd服务了,说明资源也没有转移到server6上:LAMP构架——集群(pacemaker + corosync)实践操作_第70张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第71张图片

      2) 配置资源的监控:

1. 首先删除之前的资源:

LAMP构架——集群(pacemaker + corosync)实践操作_第72张图片

2.重新配置资源(带监控器):

LAMP构架——集群(pacemaker + corosync)实践操作_第73张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第74张图片

3. 测试:

刚开始,资源在server6上:

杀死server6上的httpd进程:

        监控每10s检查一次,检查到server6的httpd运行出错,然后在20s内看httpd能够再次正常启动,如果能够正常启动,则依旧将资源交给server6,若不能正常启动,则将资源交给server7。

LAMP构架——集群(pacemaker + corosync)实践操作_第75张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第76张图片

若不能正常启动,则将资源转移到了server7上:

LAMP构架——集群(pacemaker + corosync)实践操作_第77张图片LAMP构架——集群(pacemaker + corosync)实践操作_第78张图片LAMP构架——集群(pacemaker + corosync)实践操作_第79张图片LAMP构架——集群(pacemaker + corosync)实践操作_第80张图片LAMP构架——集群(pacemaker + corosync)实践操作_第81张图片

     4. 若要清除webserver资源的报错信息,可在crm的资源管理界面输入命令:cleanup webserver

LAMP构架——集群(pacemaker + corosync)实践操作_第82张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第83张图片LAMP构架——集群(pacemaker + corosync)实践操作_第84张图片LAMP构架——集群(pacemaker + corosync)实践操作_第85张图片LAMP构架——集群(pacemaker + corosync)实践操作_第86张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第87张图片LAMP构架——集群(pacemaker + corosync)实践操作_第88张图片

八、 给集群配置后端共享存储目录(NFS):

      1. 在server8上下载nfs-utils、 rpcbind1:

LAMP构架——集群(pacemaker + corosync)实践操作_第89张图片

   2.启动服务:

LAMP构架——集群(pacemaker + corosync)实践操作_第90张图片LAMP构架——集群(pacemaker + corosync)实践操作_第91张图片LAMP构架——集群(pacemaker + corosync)实践操作_第92张图片

   3. 创建sevrver8上的nfs共享目录:

4. 修改nfs配置文件:

LAMP构架——集群(pacemaker + corosync)实践操作_第93张图片

    5.  测试是否能在server6、server7上挂载共享目录/web/sharedir:

LAMP构架——集群(pacemaker + corosync)实践操作_第94张图片LAMP构架——集群(pacemaker + corosync)实践操作_第95张图片LAMP构架——集群(pacemaker + corosync)实践操作_第96张图片LAMP构架——集群(pacemaker + corosync)实践操作_第97张图片

LAMP构架——集群(pacemaker + corosync)实践操作_第98张图片LAMP构架——集群(pacemaker + corosync)实践操作_第99张图片LAMP构架——集群(pacemaker + corosync)实践操作_第100张图片

6. 配置为集群添加nfs共享存储资源:

LAMP构架——集群(pacemaker + corosync)实践操作_第101张图片

7. 配置资源组webgroup(vip webserver web_sharedir):

8.测试:

LAMP构架——集群(pacemaker + corosync)实践操作_第102张图片LAMP构架——集群(pacemaker + corosync)实践操作_第103张图片LAMP构架——集群(pacemaker + corosync)实践操作_第104张图片LAMP构架——集群(pacemaker + corosync)实践操作_第105张图片

下线server7:

LAMP构架——集群(pacemaker + corosync)实践操作_第106张图片

 

 

 

 

 

 

 

你可能感兴趣的:(Linux,企业构架)