集群之heartbeat
来源:互联网 发布:淘宝内衣模特王文雨 编辑:程序博客网 时间:2024/06/01 12:18
集群
1)集群技术
高可用:HA即(high available)高可用,又被叫做双机热备,用于关键性业务。简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务。
负载均衡:
负载均衡, 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
高性能计算:
高性能计算(High performance computing, 缩写HPC) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计 算资源操作)的计算系统和环境。有许多类型的HPC 系统,其范围从标准计算机的大型集群,到高度专用的硬件。大多数基于集群的HPC系统使用高性能网络互连,比如那些来自 InfiniBand 或 Myrinet 的网络互连。基本的网络拓扑和组织可以使用一个简单的总线拓扑,在性能很高的环境中,网状网络系统在主机之间提供较短的潜伏期,所以可改善总体网络性能和传输速率。
3)实现高可用集群
•RHCS
•Heartbeat
•keepalived
•pacemaker
4)实现负载均衡
•nginx
•lvs
•haproxy
5)利用heartbeat实现集群功能
环境:Vm4---->server4 172.25.30.4 (master)Vm4---->server5 172.25.30.5 (backup)准备:heartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpmheartbeat-devel-3.0.4-2.el6.x86_64.rpm ldirectord-3.9.5-3.1.x86_64.rpmHttpd
工作原理:
1.集群由多台台运行Heartbeat的服务器组成,拓扑图:
2.高可用负载均衡系统:
一 实现高可用
1.安装
yum install -y /rhel6/heartbeat-*scp * server5:
2.更改配置
cd /usr/share/doc/heartbeat-3.0.4/cp ha.cf authkeys haresources /etc/ha.d/##拷贝文件cd /etc/ha.dvim ha.cf 34 logfacility local0 日志文件 48 keepalive 2 心跳的时间间隔,默认单位时间秒 56 deadtime 30 超出该时间间隔未收到对方节点的心跳,则认为对方死亡 61 warntime 10 发出警告并记录在日志中 71 initdead 60 系统重启之后需要多长时间正常工作 76 udpport 724 广播通信使用的端口 91 bcast eth0 # Linux 157 auto_failback on 主节点和从节点,遇到故障时主节点把资源交给从节点 211 node server4 节点主机名 212 node server5 220 ping 172.25.30.250 253 respawn hacluster /usr/lib64/heartbeat/ipfail 该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测 网络连接 259 apiauth ipfail gid=haclient uid=haclustervim authkeys ##认证文件 auth 1 1 crc #2 sha1 HI! #3 md5 Hello!chmod 600 authkeys ##权限为600vim haresources server4 IPaddr::172.25.30.100/24/eth0 httpd #节点的主机名 vip 执行脚本ll /etc/init.d/ -ddrwxr-xr-x. 2 root root 4096 Jul 25 09:41 /etc/init.d/scp ha.cf authkeys haresources server5:/etc/ha.d/
3.启动服务(server4、server5的httpd关闭)
/etc/init.d/heartbeat starttail -f /var/log/messages ##查看日志信息Jul 25 10:20:04 server4 heartbeat: [2067]: info: glib: UDP Broadcast heartbeat started on port 724 (724) interface eth0Jul 25 10:20:04 server4 heartbeat: [2067]: info: glib: UDP Broadcast heartbeat closed on port 724 interface eth0 - Status: 1Jul 25 10:20:04 server4 heartbeat: [2067]: info: glib: ping heartbeat started.Jul 25 10:20:04 server4 heartbeat: [2067]: info: G_main_add_TriggerHandler: Added signal manual handlerJul 25 10:20:04 server4 heartbeat: [2067]: info: ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:dd:bc:0e brd ff:ff:ff:ff:ff:ff inet 172.25.30.4/24 brd 172.25.30.255 scope global eth0 inet 172.25.30.100/24 brd 172.25.30.255 scope global secondary eth0 inet6 fe80::5054:ff:fedd:bc0e/64 scope link valid_lft forever preferred_lft forever
4.server5配置
[root@server5 ~]# lsheartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpmheartbeat-devel-3.0.4-2.el6.x86_64.rpm ldirectord-3.9.5-3.1.x86_64.rpmyum install -y heartbeat-*/etc/init.d/heartbeat start ###启动(server4 先启动正常)
5.测试:
当server4的hearbeat服务停止,仍可以继续访问server5;server4恢复,master变为为server4
二lvs实现负载均衡(通过ipvsadm命令配置)
1.安装
/etc/init.d/heartbeat stop ###停止服务(server5也停止)yum install -y ipvsadm
2.添加策略
ipvsadm -A -t 172.25.30.100:80 -s rr## 定义一个VIP,使用轮询ip addr add 172.25.30.100/24 dev eth0## 添加一个虚拟ipip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:dd:bc:0e brd ff:ff:ff:ff:ff:ff inet 172.25.30.4/24 brd 172.25.30.255 scope global eth0 inet 172.25.30.100/24 scope global secondary eth0 inet6 fe80::5054:ff:fedd:bc0e/64 scope link valid_lft forever preferred_lft foreveripvsadm -lIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 172.25.30.100:http rripvsadm -a -t 172.25.30.100:80 -r 172.25.30.2:80 -g## 定义rs使用DR模式ipvsadm -a -t 172.25.30.100:80 -r 172.25.30.3:80 -gipvsadm -l ##查看IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 172.25.30.100:http rr -> server2:http Route 1 0 0 -> server3:http Route 1 0 0 /etc/init.d/ipvsadm save ## 保存策略ipvsadm -lnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 172.25.30.100:80 rr -> 172.25.30.2:80 Route 1 0 0 -> 172.25.30.3:80 Route 1 0 0 [root@server4 ha.d]#
3.后端配置
server2 添加ip ,添加策略
[root@server2 ~]# /etc/init.d/httpd startip addr add 172.25.30.100/32 dev eth0yum install -y arptables_*arptables -LChain IN (policy ACCEPT)target source-ip destination-ip source-hw destination-hw hlen op hrd pro Chain OUT (policy ACCEPT)target source-ip destination-ip source-hw destination-hw hlen op hrd pro Chain FORWARD (policy ACCEPT)target source-ip destination-ip source-hw destination-hw hlen op hrd proarptables -A IN -d 172.25.30.100 -j DROParptables -A OUT -s 172.25.30.100 -j mangle --mangle-ip-s 172.25.30.2/etc/init.d/arptables_jf savecd /var/www/htmlvim index.html server3 同上
物理机:测试
[root@foundation30 Desktop]# arp -d 172.25.30.100[root@foundation30 Desktop]# arp -an |grep 100? (172.25.30.100) at <incomplete> on br0[root@foundation30 Desktop]# curl 172.25.30.100<h1>server3-www.westos.org</h1>[root@foundation30 Desktop]# curl 172.25.30.100<h1>hello eastos</h1>[root@foundation30 Desktop]# curl 172.25.30.100<h1>server3-www.westos.org</h1>[root@foundation30 Desktop]# curl 172.25.30.100<h1>hello eastos</h1>
三 实现高可用+负载均衡
[root@server4 doc]# cd ldirectord-3.9.5/
scp ldirectord.cf /etc/ha.d/
cd /etc/ha.d/
vim ldirectord.cf checktimeout=3checkinterval=1autoreload=yesquiescent=novirtual=172.25.30.100:80 real=172.25.30.2:80 gate real=172.25.30.3:80 gate fallback=127.0.0.1:80 gate service=http scheduler=rr #persistent=600 #netmask=255.255.255.255 protocol=tcp checktype=negotiate checkport=80 request="index.html"ipvsadm -lIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 172.25.30.100:http rr -> server2:http Route 1 0 0 -> server3:http Route 1 0 0 ipvsadm -lIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn/etc/init.d/ldirectord start/etc/init.d/httpd start/etc/init.d/ldirectord stop #停止一个服务,heatbeat自启动ip addr del 172.25.30.100/24 dev eth0 ###删除vip,利用ldirectord加入vip/etc/init.d/httpd stopvim haresources server4 IPaddr::172.25.30.100/24/eth0 httpd ldirectord ###加入服务scp haresources ldirectord.cf server5:/etc/ha.d /etc/init.d/heartbeat startipvsadm -lIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 172.25.30.100:http rr -> server2:http Route 1 0 0 -> server3:http Route 1 0 0 /etc/init.d/heartbeat stop[root@server5 ~]# yum install ldirectord-3.9.5-3.1.x86_64.rpm
测试:
当server4停止服务,server5接管,仍可实现负载均衡。
- 集群应用之Heartbeat
- 集群之heartbeat
- 高可用集群之heartbeat
- 集群高可用之heartbeat
- HA集群之Heartbeat浅析及heartbeat+haresource
- 学习笔记之搭建heartbeat集群
- Linux 高可用(HA)集群之Heartbeat详解
- web集群之二 heartbeat实现ip漂移
- 高可用集群heartbeat
- HeartBeat 集群组件概述
- 集群/负载均衡 » heartbeat
- linux学习之使用heartbeat搭建高可用lvs集群服务
- 运维笔记29 (高可用集群之heartbeat+drbd+mysql)
- Linux运维进阶-文档总结-高可用集群之heartbeat和lvs
- heartbeat之ipfail
- heartbeat之crm资源管理
- 搭建基于heartbeat的高可用集群
- centos 5.2 lvs+heartbeat+ldirectord集群
- 使用struts2框架中3种客户端向服务端发送请求参数的方式
- python垃圾回收机制!
- HTML经典试题
- linux下用户、组、文件的管理
- 更新某个jar包都是LastUpdate
- 集群之heartbeat
- 1到10的平方和
- Docker之修改/etc/default/docker 里的DOCKER_OPTS参数不生效问题-yellowcong
- DOM编程-事件(一)
- 直接插入排序的java实现
- C语言——实例022 乒乓球比赛名单
- Batch Normalization导读
- linux7.3安装oracle12c release2
- K近邻算法