在CentOS上配置高可用性集群(心跳)

在CentOS上配置高可用性集群(Heartbeat)

本指南介绍如何在CentOS上设置心跳线的两个节点,高可用性HTTP群集。 两个节点都使用Apache Web服务器来服务相同的内容。

预配置要求

  1. 将hostname node01分配给IP地址为172.16.4.80到eth0的主节点。
  2. 将主机名node02分配给IP地址为172.16.4.81的从节点。

注意:在node01上

uname -n

必须返回node01

在node02上

uname -n

必须返回node02

172.16.4.82是将用于我们的Apache网络服务器的虚拟IP地址(即Apache将监听该地址)。

组态

1.下载并安装心跳包。 在我们的例子中,我们使用的是CentOS,所以我们将用yum安装心跳线:

yum install heartbeat

或下载这些软件包:

heartbeat-2.08
heartbeat-pils-2.08
heartbeat-stonith-2.08

现在我们必须在我们的两个节点集群上配置心跳。 我们将处理三个文件。 这些是:

authkeys
ha.cf
haresources

现在转到我们的配置。 但还有一件事要做,也就是将这些文件复制到/etc/ha.d目录。 在我们的例子中,我们复制这些文件,如下所示:

cp /usr/share/doc/heartbeat-2.1.2/authkeys /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.2/ha.cf /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.2/haresources /etc/ha.d/

现在让我们开始配置心跳。 首先我们将处理authkeys文件,我们将使用身份验证方法2(sha1)。 为此,我们将在authkeys文件中进行如下更改。

vi /etc/ha.d/authkeys

然后添加以下行:

auth 2
2 sha1 test-ha

更改authkeys文件的权限

chmod 600 /etc/ha.d/authkeys

移动到我们的第二个文件( ha.cf ),这是最重要的。 所以用vi编辑ha.cf文件:

vi /etc/ha.d/ha.cf

ha.cf文件中添加以下行:

logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
bcast eth0
udpport 694
auto_failback on
node node01
node node02

注意: node01node02是由...生成的输出

uname -n

6.我们配置的最后一个工作是编辑haresources文件。 此文件包含有关我们要高度启用的资源的信息。 在我们的例子中,我们希望网络服务器( httpd )高度可用:

vi /etc/ha.d/haresources

添加以下行:

node01 172.16.4.82 httpd

7.将/etc/ha.d/目录从node01复制到node02

scp -r /etc/ha.d/ root@node02:/etc/

8.我们希望httpd高度启用,让我们开始配置httpd:

vi /etc/httpd/conf/httpd.conf

httpd.conf中添加这一行:

Listen 172.16.4.82:80

9.将/etc/httpd/conf/httpd.conf文件复制到node02中

scp /etc/httpd/conf/httpd.conf root@node02:/etc/httpd/conf/

10.在两个节点( node01node02 )上创建文件index.html

node01上

echo "node01 apache test server" > /var/www/html/index.html

node02上

echo "node02 apache test server" > /var/www/html/index.html

11.现在在主节点01和从节点02上启动心跳:

/etc/init.d/heartbeat start

12.打开网络浏览器并输入URL:

http://172.16.4.82

它将显示node01 apache测试服务器

现在在node01上停止listenbeat守护进程:

/etc/init.d/heartbeat stop

在您的浏览器中输入URL http://172.16.4.82并按回车键。

它将显示node02 apache测试服务器

14.我们不需要创建一个虚拟网络接口并为其分配一个IP地址( 172.16.4.82 )。 心跳将为您做这个,并启动服务( httpd )本身。 所以不要担心这个。

不要使用172.16.4.80172.16.4.81的IP地址进行服务。 这些地址由心跳用于node01node02之间的通信。 当他们中的任何一个将被用于服务/资源时,它会扰乱听众的声音,并且不会奏效。 小心点!!!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏