• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >windows > 搭建基于Corosync+Pacemaker+NFS的高可用Web集群

搭建基于Corosync+Pacemaker+NFS的高可用Web集群

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含corosync pacemaker,corosync,corosync怎么读,corosync官网,nfs服务器搭建等服务器相关知识,网友希望可以进行参考

1、实验环境:

Node1:192.168.1.17RHEL5.8_32bit,web server)

Node2:192.168.1.18RHEL5.8_32bit,web server)

NFS :192.168.1.19RHEL5.8_32bit,nfs server)

VIP:192.168.1.20webip)


2、准备工作

<1> 配置主机名

节点名称使用/etc/hosts解析;节点名称必须跟uname -n命令的执行结果一致

Node1:

# hostname node1.ikki.com
# vim /etc/sysconfig/network
HOSTNAME=node1.ikki.com

Node2:

# hostname node1.ikki.com
# vim /etc/sysconfig/network
HOSTNAME=node2.ikki.com

<2> 配置节点ssh基于密钥方式互相通信

Node1:

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

Node2:

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

<3> 配置各节点基于主机名互相通信

Node1&Node2:

# vim /etc/hosts
192.168.1.17   node1.ikki.com node1
192.168.1.18   node2.ikki.com node2

<4> 配置各节点时间同步

Node1&Node2:

# crontab -e
*/5 * * * *     /sbin/ntpdate 202.120.2.101 &> /dev/null


3、安装corosync和pacemaker各个节点)

<1> 依赖的rpm包:

libibverbs, librdmacm, lm_sensors, libtool-ltdl, openhpi-libs, openib, perl-TimeDate, libnes

<2> 下载软件包至本地某专用目录如/root/cluster):

# cd /root/cluster
# ls
cluster-glue-1.0.6-1.6.el5.i386.rpm
cluster-glue-libs-1.0.6-1.6.el5.i386.rpm
corosync-1.2.7-1.1.el5.i386.rpm
corosynclib-1.2.7-1.1.el5.i386.rpm
heartbeat-3.0.3-2.3.el5.i386.rpm
heartbeat-libs-3.0.3-2.3.el5.i386.rpm
libesmtp-1.0.4-5.el5.i386.rpm
pacemaker-1.1.5-1.1.el5.i386.rpm
pacemaker-libs-1.1.5-1.1.el5.i386.rpm
resource-agents-1.0.4-1.1.el5.i386.rpm

<3> 安装本地软件包及依赖包:

# cd /root/cluster
# yum -y --nogpgcheck localinstall *.rpm


4、配置corosync

Node1:

# cd /etc/corosync
# cp corosync.conf.example corosync.conf
# vim corosync.conf
# 添加如下内容:
service {
  ver:  0
  name: pacemaker
  # use_mgmtd: yes
}
aisexec {
  user: root
  group:  root
}
# vim corosync.conf
# 修改如下内容:
bindnetaddr: 192.168.1.0    # 网卡所在网络的网络地址
secauth: on                 # 开启认证
to_syslog: no               # 关闭系统日志记录使用单独logfile记录)
threads: 2                  # 设置线程数

生成节点间通信时用到的认证密钥文件:

# corosync-keygen

将corosync.conf和authkey复制至Node2:

# scp -p corosync.conf authkey  node2:/etc/corosync/

分别为两个节点创建corosync生成的日志所在的目录:

# mkdir /var/log/cluster
# ssh node2  'mkdir /var/log/cluster'


5、启动服务并检查

Node1:

# /etc/init.d/corosync start

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

# grep -e "Corosync Cluster Engine" -e "configuration file" /var/log/cluster/corosync.log
Sep 16 18:59:29 corosync [MAIN  ] Corosync Cluster Engine ('1.2.7'): started and ready to provide service.
Sep 16 18:59:29 corosync [MAIN  ] Successfully read main configuration file '/etc/corosync/corosync.conf'.
Sep 16 19:28:26 corosync [MAIN  ] Corosync Cluster Engine exiting with status 0 at main.c:170.
Sep 16 19:54:14 corosync [MAIN  ] Corosync Cluster Engine ('1.2.7'): started and ready to provide service.
Sep 16 19:54:14 corosync [MAIN  ] Successfully read main configuration file '/etc/corosync/corosync.conf'.

查看初始化成员节点通知是否正常发出:

# grep  TOTEM  /var/log/cluster/corosync.log
Sep 16 18:59:29 corosync [TOTEM ] Initializing transport (UDP/IP).
Sep 16 18:59:29 corosync [TOTEM ] Initializing transmit/receive security: libtomcrypt SOBER128/SHA1HMAC (mode 0).
Sep 16 18:59:29 corosync [TOTEM ] The network interface [192.168.1.17] is now up.
Sep 16 18:59:29 corosync [TOTEM ] A processor joined or left the membership and a new membership was formed.

检查启动过程中是否有错误产生:

# grep ERROR: /var/log/cluster/corosync.log | grep -v unpack_resources

查看pacemaker是否正常启动:

# grep pcmk_startup /var/log/cluster/corosync.log
Sep 16 18:59:29 corosync [pcmk  ] info: pcmk_startup: CRM: Initialized
Sep 16 18:59:29 corosync [pcmk  ] Logging: Initialized pcmk_startup
Sep 16 18:59:29 corosync [pcmk  ] info: pcmk_startup: Maximum core file size is: 4294967295
Sep 16 18:59:29 corosync [pcmk  ] info: pcmk_startup: Service: 9
Sep 16 18:59:29 corosync [pcmk  ] info: pcmk_startup: Local hostname: node1.ikki.com

如以上检查正常,即可启动Node2上的corosync启动Node2需要在Node1上远程启动,勿要在Node2节点上直接启动)

# ssh node2 -- /etc/init.d/corosync start

查看集群节点的启动状态:

# crm status
============
Last updated: Tue Sep 17 23:39:11 2013
Stack: openais
Current DC: node1.ikki.com - partition with quorum
Version: 1.1.5-1.1.el5-01e86afaaa6d4a8c4836f68df80ababd6ca3902f
2 Nodes configured, 2 expected votes
0 Resources configured.
============
Online: [ node1.ikki.com node2.ikki.com ]

查看corosync启动的相关进程:

# ps auxf
root     13200  0.6  0.7  86880  3952 ?        Ssl  12:29   4:06 corosync
root     13208  0.0  0.4  11724  2104 ?        S    12:29   0:00  \_ /usr/lib/heartbeat/stonithd
101      13209  0.0  0.7  12872  3820 ?        S    12:29   0:01  \_ /usr/lib/heartbeat/cib
root     13210  0.0  0.4   6572  2156 ?        S    12:29   0:00  \_ /usr/lib/heartbeat/lrmd
101      13211  0.0  0.3  12060  2040 ?        S    12:29   0:00  \_ /usr/lib/heartbeat/attrd
101      13212  0.0  0.5   8836  2900 ?        S    12:29   0:00  \_ /usr/lib/heartbeat/pengine
101      13213  0.0  0.6  12280  3112 ?        S    12:29   0:02  \_ /usr/lib/heartbeat/crmd


6、配置集群禁用stonith设备

corosync默认启用了stonith,而当前实验环境并没有相应的stonith设备,因此需要禁用stonith:

# crm configure property stonith-enabled=false

查看当前的配置信息:

# crm configure show
node node1.ikki.com
node node2.ikki.com
property $id="cib-bootstrap-options" \
        dc-version="1.1.5-1.1.el5-01e86afaaa6d4a8c4836f68df80ababd6ca3902f" \
        cluster-infrastructure="openais" \
        expected-quorum-votes="2" \
        stonith-enabled="false" \


7、为集群添加IP地址资源webip):

Node1:

# crm configure primitive webip ocf:heartbeat:IPaddr params ip=192.168.1.20

查看资源启动状态:

# crm status
 ============
Last updated: Tue Sep 17 23:48:10 2013
Stack: openais
Current DC: node1.ikki.com - partition with quorum
Version: 1.1.5-1.1.el5-01e86afaaa6d4a8c4836f68df80ababd6ca3902f
2 Nodes configured, 2 expected votes
1 Resources configured.
============
Online: [ node1.ikki.com node2.ikki.com ]
 webip  (ocf::heartbeat:IPaddr):        Started node1.ikki.com

查看webip是否生效:

# ifconfig
eth0:0    Link encap:Ethernet  HWaddr 08:00:27:F1:60:13
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1


8、配置集群禁用法定票数

Node2:

停止Node1上的corosync服务:




 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 搭建基于Corosync+Pacemaker+NFS的高可用Web集群
  • 搭建基于Corosync+DRBD的高可用MySQL集群
  • Corosync/Openais+Pacemaker+ISCSI+OCFS:构建高可用Web群集

相关文章

  • 正则表达式和grep的基本用法9
  • windows下安装iis7配置php环境图文教程
  • 让apache/iis服务器支持wap站点方法
  • GoDaddy Windows启用Gzip压缩配置方法
  • 解决Backup Exec无法显示Oracle实例
  • Redhat上NTP客户端的注意事项
  • drbd学习总结
  • ganglia监控部署学习笔记分享
  • Windows服务器IIS中设置站点或目录的执行权限
  • 聚焦Windows 2008终端服务安全问题

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Redhat上NTP客户端的注意事项
    • Windows查看端口被占用的程序命令(80端口为例)
    • Windows Server 2008不能Ping改为允许的方法
    • windows中apache php环境配置方法(php.ini 配置)
    • Windows 操作系统的路径变量简介
    • 无法打开登录所请求的数据库DbName的解决方法
    • AVAYA CM ASA管理常用命令
    • 无法打开用户默认数据库的解决方法
    • 巧用net user命令 限定系统用户登录时间
    • 解决dell服务器无法识别4G内存办法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有