基于Corosync+Pacemaker+DRBD+LNMP实现Web服务器高可用集

实验系统:CentOS 6.6_x86_64

实验前提:

  1)提前准备好编译环境,防火墙和selinux都关闭;

  2)本配置共有两个测试节点,分别coro1和coro2,对应的IP地址分别为192.168.19.55和192.168.19.98;

  3)集群服务为nginx服务;

  4)提供web服务的地址为192.168.19.150,即VIP;

实验软件:corosync-0:1.4.7-1.el6 pacemaker-0:1.1.12-4.el6 crmsh-2.1-1.6 drbd-8.4.4 php-5.6.11 mariadb-10.0.20 tengine-2.1.0

软件下载

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2015年资料/7月/25日/基于Corosync+Pacemaker+DRBD+LNMP实现Web服务器高可用集群/

下载方法见

------------------------------------------分割线------------------------------------------

注意事项:单主机操作会有标注,除此之外的是两台主机都要完成的

实验拓扑:

MySQL+Corosync+Pacemaker+DRBD构建高可用MySQL

搭建基于Corosync+DRBD的高可用MySQL集群

分别基于NFS服务和DRBD服务利用Corosync配置高可用集群

Linux 高可用(HA)集群之Corosync详解

pacemaker + Corosync 搭建高可用集群

Corosync+pacemaker+RA实现MySQL高可用

Corosync部署MySQL+DRBD高可用服务   

一、准备工作

  1.所有节点的主机名称和对应的IP地址解析服务可以正常工作,且每个节点的主机名称需要跟“uname -n”命令的结果保持一致。因此,需要保证两个节点上的/etc/hosts文件均添加了下面的内容:

    

  2.为了使得重新启动系统后仍能保持如上的主机名称,还分别需要在各节点执行类似如下的命令:

    coro1上:

1 sed -i 's@\(HOSTNAME=\).*@\1coro1@g' /etc/sysconfig/network 2 hostname coro1

    coro2上:

1 sed -i 's@\(HOSTNAME=\).*@\1coro2@g' /etc/sysconfig/network 2 hostname coro2

  3.设定两个节点可以基于密钥进行ssh通信,并测试:

    coro1上:

1 ssh-keygen -t rsa 2 ssh-copy-id -i ~/.ssh/id_rsa.pub root@coro2

    coro2上:

ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@coro1

    

  4.两个节点时间必须同步:一般使用ntpdate进行操作,这里不再演示。

二、安装corosync和pacemaker并配置

  1.安装epel源:

1 yum -y install epel*

  2.安装corosync和pacemaker:

1 yum -y install corosync pacemaker

  3.在coro1上编辑/etc/corosync.conf

 

1 cd /etc/corosync/ 2 cp corosync.conf.example corosync.conf 3 vim corosync.conf 4 ------------------------------------ 5 bindnetaddr: 192.168.19.0 //为你的网卡所在网络的网络地址 6 mcastaddr: 239.255.19.1 //组播地址 7 service { //添加此部分 8 ver: 0 9 name: pacemaker 10 # use_mgmtd: yes 11 }

  4.在coro1上生成节点间通信时用到的认证密钥文件:

1 corosync-keygen

  5.将corosync.conf和authkey复制至coro2上:

1 scp -p corosync.conf authkey coro2:/etc/corosync/

三、安装crmsh并启动corosync

  1.安装crmsh,需要提前下好rpm包:

1 yum -y install crmsh-2.1-1.6.x86_64.rpm

  2.启动corosync(在coro1上执行):

1 service corosync start

  3.查看corosync引擎是否正常启动:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6d7d2f397db2f5cf5f79b135beae5709.html