安装配置高可用集群需要注意:
1、节点名称:集群每个节点的名称都得能互相解析
/etc/hosts
hosts主机名的正反解析结果必须跟"uname -n"的结果保持一致
2、时间必须的同步
使用网络时间服务器同步
3、并非必须:各节点间能基于ssh秘钥认证通信

heartbeat V2版本环境测试

环境准备节点两个
node1:10.10.10.202
node2:10.10.10.203
系统环境CentOS release 6.5 (Final)
1、建立双机互信
node1:
ssh-keygen -t rsa -P ""
ssh-copy-id -i .ssh/id_rsa.pub root@node2

node2:
ssh-keygen -t rsa -P ""
ssh-copy-id -i .ssh/id_rsa.pub root@node1

2、添加定时任务,每五分钟同步一次时间
node1:
*/5 * * * * /usr/sbin/ntpdate 192.168.1.203 &> /dev/null
node2:
*/5 * * * * /usr/sbin/ntpdate 192.168.1.203 &> /dev/null
或者:
ansible webserver -m cron -a "name='heartbeat' job='/usr/sbin/ntpdate 192.168.1.203 &> /dev/null' minute=5"

3、安装依赖的包
yum -y install perl-TimeDate PyXML libnet net-snmp-libs gettext

4、安装heartbeat组件
rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

5、复制heartbeat的配置文件到/etc/ha.d/目录中
cp /usr/share/doc/heartbeat-2.1.4/{ha.cf,haresources,authkeys} /etc/ha.d/

6、修改认证的配置文件
vim authkeys
auth 1 #认证方式
1 sha1 fansik #认证密码
chmod 600 authkeys #修改权限为600否则服务无法启动

7、修改主配置文件
vim ha.cf
logfile /var/log/ha-log
keepalive 1 #多少秒探测一次
deadtime 10 #多久后判定节点挂掉了
warntime 5 #多久提示一次
udpport 694 #监听的宽口
bcast eth0 #探测的网卡接口
auto_failback on #上线后自动转回
initdead 120 #第一次上线时的等待时间
node node1
node node2
ping 10.10.10.201
compression bz2 #心跳信息的压缩算法
compression_threshold 2 #多大的数据包才压缩,表示大于2k的数据包要压缩

8、配置资源
vim haresources
node1 10.10.10.250/24/eth0 httpd

9、复制到从节点上一份儿
scp -p authkeys haresources ha.cf node2:/etc/ha.d/

10、启动heartbeat的服务
ansible webserver -m shell -a "/etc/init.d/heartbeat start"

11、配置nfs是httpd使用公用资源
使用node3作为nfs服务器:
mkdir -pv /www/fansik
/www/fansik 10.10.10.0/24(rw)
setfacl -m u:apache:rwx /www/fansik
/etc/init.d/rpcbind start
/etc/init.d/nfs start
node1
node1 10.10.10.250/24/eth0 Filesystem::10.10.10.204:/www/fansik::/var/www/html::nfs httpd
scp haresources node2:/etc/ha.d/

12、HA集群的工作模型:
A/P:two nodes,工作与主备模型;
N-M:N>M,N个节点,M个服务;活动节点为N,备用N-M个
N-N:N个节点,N个服务;
A-A:双主模型;

13、集群资源管理器
haresources
crm
pacemaker:
资源粘性:如果所有
资源约束(3种约束):
位置约束:资源更倾向于哪个节点上;
inf:无穷大
n:
-n:
-inf:负无穷,只要有其他任何一个节点在就不会选在该节点
排列约束:资源运行在同一节点的倾向性;
inf:
-inf:
顺序约束:资源启动次序及关闭次序
rgmanager(红帽RHCS中的组件):failover domain(故障转移域)

14、heartbeatv2使用crm(xml方式的配置)资源管理器的方式配置
crm文件保存位置/var/lib/heartbeat/crm的目录下
/usr/lib64/heartbeat/haresources2cib.py将haresources(v1版的配置)文件转换成cib方式
编辑/etc/ha.d/ha.cf文件
添加crm on
crm通过mgmtd进程监听在5560/tcp
同步到node2节点
/usr/lib64/heartbeat/ha_propagate
安装heartbeat-gui接口
yum -y install pygtk2-libglade;rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm
为hacluster设置密码,登录hb_gui是需要用到
crm_mon查看节点状态
crm_sh进入crm的shell
使用heartbeat-gui需要有桌面环境,像我这个最小化安装的就要安装桌面环境
yum groupinstall "Desktop"
yum groupinstall "X Window System"
yum groupinstall "Chinese Support"
Xshell要讲X11转发到xmanager,通过文件里面的属性-->隧道进行设置
hb_gui &

15、通过hb_gui配置web的ha集群
右键点击资源--》普通资源
资源id:webip
类型:IPaddr2
添加参数:
ip:10.10.10.250
nic:eth0
cidr_netmask:24
右键点击资源--》普通资源
资源id:webserver
类型:httpd lsb
添加约束协同约束(排列约束)
标识符:webip_with_webserser
起始:webip
目标:webserser
权重:INFINTY

最新文章

  1. CSS中如何让元素隐藏
  2. 委托 C#
  3. List<子类>转List<父类>遇到的问题
  4. iOS 和 Android 中的Alert
  5. RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的差别?
  6. 40条优化php代码的小实例
  7. C++封装SQLite实例<三>
  8. PyQt5实现邮件合并功能(GUI)
  9. HDU 5297
  10. (七)STL适配器
  11. GoldenGate for Java Adapter介绍一(原理篇)
  12. RedHat Linux7.3 使用yum安装时报错,改用CentOS yum源
  13. Kotlin零碎总结
  14. MySQL-数据操作-增删改查
  15. Python学习三|列表、字典、元组、集合的特点以及类的一些定义
  16. IT运维助力业务增值
  17. mysql常见问题总结
  18. Beta阶段团队项目开发篇章1
  19. 关于Mysql数据库查询数据大小写的问题汇总
  20. jquery表单验证插件 jquery.form.js-转

热门文章

  1. java集合概念
  2. drupal7的node的内容的存储位置
  3. String类中一些常用的函数
  4. winsock编程select模型
  5. Windows Access Token
  6. Chapter 2 Open Book——8
  7. android 瀑布流效果(仿蘑菇街)
  8. Html wmode 标签参数详解
  9. mac中使用终端生成RSA私钥和公钥文件
  10. 聊一聊PV和并发、以及计算web服务器的数量的方法【转】