加拿大30秒

Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐: 强烈推荐:Ylmf OS 3.0 正式版发布附迅雷高 XP系统下硬盘安装Fedora 14图文教程
您的位置: Linux安全网 > Linux入门 > » 正文

Corosync高可用集群的实现

来源: 未知 分享至:

加拿大30秒实验目的: 实现web服务的高可用

实验环境: 虚拟机软件为VMware6.0版. 虚拟系统为32位Red加拿大30秒hat5.4 企业版.

实验拓补图:

2011-09-15 21-42-13

说明:  新建两台虚拟机网卡使用NAT模式. VIP192.168.145.254为提供web服务的IP地址.配置时为root用户.

配置步骤:

Node1:

1.配置静态IP

加拿大30秒#vi /etc/sysconfig/network-scripts/ifcfg-eth0

将'”BOOTPROTO=”后该为”static”.

并添加如下内容:

IPADDR=192.168.145.11
NETMASK=255.255.255.0

2.配置主机名

#vi /etc/sysconfig/network

加拿大30秒将”HOSTNAME=”后该为”node1.a.org”.

加拿大30秒#hostname node1.a.org

#uname –n 

确认显示出以下内容:

image

Node2:

1.配置静态IP

加拿大30秒#vi /etc/sysconfig/network-scripts/ifcfg-eth0

加拿大30秒将'”BOOTPROTO=”后该为”static”.

并添加如下内容:

IPADDR=192.168.145.12
加拿大30秒 NETMASK=255.255.255.0

2.配置主机名

加拿大30秒#vi /etc/sysconfig/network

将”HOSTNAME=”后该为”node2.a.org”.

#hostname node2.a.org

加拿大30秒#uname –n

确认显示出以下内容:

image

Node1:

加拿大30秒3.编辑hosts文件

#vi /etc/hosts

添加以下内容

192.168.0.5        node1.a.org node1
192.168.0.6        node2.a.org node2

4.配置ssh公钥认证连接,即ssh连接不需要输入密码

加拿大30秒#ssh-keygen -t rsa

#ssh-copy-id –i /root/.ssh/id_rsa.pub 'root@node2'     [注:此命令加拿大30秒后需输入Node2上root用户密码]

#ssh node2  'ifconfig'                 

[注:如果不用输入密码即可显示Node2的IP地址表示配置成功]

加拿大30秒5.复制hosts文件到Node2

#scp加拿大30秒 /etc/hosts root@node2:/etc

6.安装所需软件

#yum install –y httpd

#chkconfig httpd off     //关闭httpd服务开机启动

#echo “Node1” > /var/www/html/index加拿大30秒.html     //写入网页文件

安装corosync和pacemaker,首先下载所需要如下软件包至本地某专用目录(这里为/root/corosync

cluster-glue
cluster-glue-libs
heartbeat
openaislib
resource-agents
corosync
heartbeat-libs
pacemaker
corosynclib
libesmtp
加拿大30秒 pacemaker-libs

#cd加拿大30秒 /root/corosync

#yum localinstall –y –nogpgcheck ./*

7.编辑配置文件

加拿大30秒#cd /etc/corosync

#cp corosync.conf.example corosync.conf

加拿大30秒将”totem { ”下”interface { ”中”bindnetaddr:”后改为”192.168.145.0”

添加如下内容:

service {
     ver:   0                   

     name:  pacemaker 
aisexec {                      //定义运行是使用哪个用户的身份,貌似不写也行
     user: root
     group: root
  }

8.建立日志目录

#mkdir  /var/log/cluster

9.生成authkey文件

加拿大30秒#corosync-keygen         //新安装的系统执行此命令时等待时间可能会稍长

#scp -p authkey corosync.conf node2:/etc/corosync    //复制配置文件到Node2

加拿大30秒#ssh node2 'mkdir -v /var/log/cluster'

Node2

3.配置ssh

配置ssh公钥认证连接,即ssh连接不需要输入密码

#ssh-keygen -t rsa

加拿大30秒#ssh-copy-id –i /root/.ssh/id_rsa.pub 'root@node1' [注:此命令后需输入Node1上root用户密码]

#ssh node1 'ifconfig'

[注:如果不用输入密码即可显示Node1的IP地址表示配置成功]

4.安装所需软件

#yum install –y httpd

#chkconfig httpd off //关闭httpd服务开机启动

#echo “Node2” > /var/www/html/index.html //写入网页文件

安装corosync和pacemaker     [同Node1配置]

#cd /root/corosync

#yum localinstall –y –nogpgcheck ./*

5.同步时间

#wclock.html' target='_blank'>hwclock –s

#ssh node1 'hwclock -s'

6.启动服务

#service corosync start

#ssh node1 ‘ service corosync start’

7.定义资源

#crm configure primitive WebIP ocf:heartbeat:IPaddr params ip=192.168.145.254

#crm configure primitive WebServer lsb:httpd

加拿大30秒#crm configure group Web WebIP WebServer   

//默认该集群会将资源运行在不同节点上,定义组资源可将资源运行在一个节点上
[注: 因为是两节点高可用服务因此需执行以下命令定义全局属性]

#crm configure property stonith-enabled=false               //禁用STONITH

加拿大30秒#crm configure property no-quorum-policy=ignore       //禁用quorum

8.启动服务

#service corosync start

#ssh node1 'service corosync start'

加拿大30秒#crm  status          //查看集群信息

可能会显示如下信息

image

加拿大30秒稍等一下该集群就可完全正常启动了

加拿大30秒#watch -n 1 'crm status'   //如果感觉刷新crm status很纠结,可使用此命令

加拿大30秒如果看到如下内容表示该集群已可正常使用

image

Current DC: node1.a.org  

加拿大30秒显示的为被选为DC的节点

Resource Group: Web
    WebIP    (ocf::heartbeat:IPaddr):        Started node2.a.org
    WebServer  (lsb:httpd):    Started node2.a.org
加拿大30秒 显示的为哪些资源运行在哪个节点上

--------------------------------------------------------------------------------

*注:如果发现httpd服务无法正常启动,请先停掉集群服务,命令如下

加拿大30秒#service corosync stop

加拿大30秒#ssh node1 ‘service corosync stop’

之后再两个节点上启动httpd服务,之后再停止httpd服务.

最后启动集群服务

加拿大30秒--------------------------------------------------------------------------------

好了现在验证一下集群的功能

加拿大30秒1.在本机的浏览器中输入192.168.145.254

会显示如下内容:

image

加拿大30秒2.这里资源运行在Node2上

加拿大30秒所以在Node1上执行如下命令

加拿大30秒#ssh node2 ‘service corosync stop’

#crm status

Resource Group: Web
WebIP (ocf::heartbeat:IPaddr): Started node1.a.org
WebServer (lsb:httpd): Started node1.a.org

加拿大30秒这时会发现资源已经转到Node1上运行

加拿大30秒3.刷新本机浏览器会发现显示内容已变为:

image


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史