1.高可用集群简单效果图
1.1.Messaging Layer:主要收集节点间的事务资源心跳等信息,分别有以下几种:
heartbeatV1 heartbeatV2 heartbeatV3
corosync
cman
keepalived
ultramokey
1.2.CRM:cluster resourse manager,对Messaging Layer收集到的资源进行管理,分别有以下几种:
Heartbeat v1 自带的资源管理器:haresources
Heartbeat v2 自带的资源管理器:haresources和crm
Heartbeat v3: 资源管理器crm发展为独立的项目,pacemaker
1.3.RA: Resource Agent,资源代理,由符合LSB标准的脚本(start,stop,restart,status)
主要功能是CRM资源管理器对资源管理分配后由RA进行执行
RA Classes:RA类型
Legacy heartbeat v1 RA
LSB (/etc/rc.d/init.d/)
OCF (Open Cluster Framework):含pacemaker 和 linbit (drbd)
STONITH 隔离
Resource Type:资源类型
primitive: 基本类型
clone: 克隆
group:组
master/slave: drbd,运行于两节点的主从关系
资源粘性:资源对某点的依赖程度,通过score定义
资源约束:Constraint
位置约束 location: 资源对节点倾向程度
排列约束 coloation: 资源间依赖性
顺序约束 order: 资源的采取动作的次序
2.高可用集群
2.1.三个基本要求
节点之间名称解析建议写在/etc/hosts文件下
节点之间ssh能互相通信,建议使用密钥认证
节点之间时间同步建议使用ntp服务器
2.2.三个配置文件:
authkeys:密钥文件,600,
ha.cf: heartbeat服务的配置
haresources:资源管理配置文件
3.本实验背景:双集群节点为node1.willow.com,IP为1.1.1.18 node2.willow.com,IP为1.1.1.19
在node1.willow.com主机配置如下:(与node2.willow.com集群配置全部相同)
3.1.安装HA集群包
#yum --nogpgcheck localinstall perl-MailTools-1.77-1.el5.noarch.rpm
#yum --nogpgcheck localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-gui-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm
#cd /usr/share/doc/heartbeat-2.1.4/
#cp -p authkeys ha.cf haresources /etc/ha.d/
#chmod 600 authkeys
#cd /etc/ha.d/
3.2.vim authkeys #新增如下內容:
auth 1
1 md5 willow! #其中willow!是md5所需的salts
3.3.vim ha.cf #修改成如下內容:
logfacilitylocal0
keepalive 1
bcasteth0# Linux
auto_failback on
nodenode1.willow.com
nodenode2.willow.com
ping 1.1.1.144
3.3.vim haresources #修改成如下內容:
node1.willow.com IPaddr::1.1.1.100/24/eth0 httpd
#yum -y install httpd
#echo "<h1>node1.willow.com</h1>" > /var/www/html/index.html #区别首页显示内容
#chkconfig httpd off
#setenforce 0
#iptalbes -F
3.4.node2.willow.com主机只修改如下部分(其他与node1.willow.com集群配置全部相同,省略)
#echo "<h1>node2.willow.com</h1>" > /var/www/html/index.html #区别首页显示内容
3.5.简单集群测试:
在node1.willow.com主机下:
#serivce heartbeat start
#ssh node2 ‘serivce heartbeat start‘
#tail -f /var/log/messages #看日志
此时通过web访问VIP1.1.1.100看效果
#cd /usr/lib/heartbeat
#./ha_stanby #模拟node1节点掉线,web自动转到node2节点上,进行服务
此时通过web访问VIP1.1.1.100再看效果
3.6.通过第三台linux主机1.1.1.20的NFS服务器共享网页内容,再进行集群测试
在1.1.1.20主机上开启NFS共享:
#mkdir -pv /web/ha
#echo "<h1>this is NFS sharing</h1>" > /web/ha/index.html
#vim /etc/exports
/web/ha 1.1.1.0/24(ro)
#service nfs start
#service portmap start
在node1主机上:停止heartbeat服务
#ssh node2 ‘serivce heartbeat stop‘
#serivce heartbeat stop
在node1和node2两台主机上:同进修改haresources文件
#vim haresources #修改如下内容
node1.willow.com IPaddr::1.1.1.100/24/eth0 Filesystem::1.1.1.20:/web/ha::/var/www/html::nfs httpd
再在node1主机上:启动heartbeat服务
#serivce heartbeat start
#ssh node2 ‘serivce heartbeat start‘
#tail -f /var/log/messages #看日志
此时通过web访问VIP1.1.1.100看效果
#cd /usr/lib/heartbeat
#./ha_stanby #模拟node1节点掉线,web自动转到node2节点上,进行服务
此时通过web访问VIP1.1.1.100再看效果
会持续更新此博客........