Linux运维进阶-文档总结-高可用集群之heartbeat和lvs
来源:互联网 发布:c语言dll库详解 编辑:程序博客网 时间:2024/06/05 15:23
以下所有操作都是在Red-hat 6.5上
实验环境:
server1和server4做heartbeat实验。
1.heartbeat
heartbeat是一个开源项目,我们可以通过他的官网下载源代码包编译,这里我们使用rpm包安装了
在server1和server4上安装hreatbeat
安装包:heartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm heartbeat-devel-3.0.4-2.el6.x86_64.rpm ldirectord-3.9.5-3.1.x86_64.rpm yum install -y heartbeat-*
cd /etc/ha.d/ #进入管理hreatbeat目录vim README.config #查看hreatbeat配置文件,资源分配文件是什么rpm -q heartbeat -d #查找配置文件的位置cd /usr/share/doc/heartbeat-3.0.4/ cp ha.cf authkeys haresources /etc/ha.d/ #制作配置文件cd -vim ha.cf #hreatbeat配置文件34 logfacility local0 #日志类型48 keepalive 2 #心跳频率56 deadtime 30 #死亡时间(达到30s没反应就挂掉)61 warntime 10 #警告时间71 initdead 60 #初始化时间76 udpport 69441 #udp端口(每个人的端口要不一样)91 bcast eth0 # Linux157 auto_failback on #开启回切211 node server1 #节点位置(I只能写server1)212 node server4220 ping 172.25.41.254 #设置ping的网段253 respawn hacluster /usr/lib64/heartbeat/ipfail #回切(如果是64位系统就写lib64,如果是32就写32)259 apiauth ipfail gid=haclient uid=hacluster #给定uid和gid(在安装hraet的时候就给定uid和gid)vim authkeys(密钥文件)23 auth 124 1 crcchmod 600 authkeys #密钥文件必须给定600才能使用vim haresources150 server1 IPaddr::172.25.41.100/24/eth0 httpd (server1在server4上不用改,在写上http参数后,测试的后,就不能开启httpd)scp ha.cf authkeys haresources root@172.25.41.4:/etc/ha.d/ #将写好的配置为文件发到server4上/etc/init.d/heartbeat start #打开hreatbeat
2.lvs负载均衡(轮叫)
刷掉arp缓存命令是 arp -d IP关闭server1和server4的heartbeats 在server1上 yum install ldirectord -ycp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/ ip addr add 172.25.41.100/32 dev eth0 #在server1,2,3上添加虚拟ip地址ipvsadm -A -t 172.25.41.100:80 -s rr #添加轮询机制 -A是添加一个虚拟服务,-s是scheduler-methodipvsadm -a -t 172.25.41.100:80 -r 172.25.41.2:80 -g -a是添加一个服务 -r是真实服务ipvsadm -a -t 172.25.41.100:80 -r 172.25.41.3:80 -g/etc/init.d/ipvsadm save #保存策略在server2和server3上操作:/etc/init.d/httpd start #打开http服务yum install arptables_jf -y (server2和server3都安装)server2 arptables -A IN -d 172.25.41.100 -j DROP #-d 目的地arptables -A OUT -s 172.25.41.100 -j mangle --mangle-ip-s 172.25.41.2/etc/init.d/arptables_jf save #保存策略server3arptables -A IN -d 172.25.41.100 -j DROParptables -A OUT -s 172.25.41.100 -j mangle --mangle-ip-s 172.25.41.3/etc/init.d/arptables_jf save #保存策略
3.heart+lvs(进行负载均衡,如果server1挂了,server4直接接管,同样进行负载均衡)
刷掉原有ipvsadm的策略vim /etc/ha.d/ldirectord.cf 25 virtual=172.25.41.100:80 26 real=172.25.41.2:80 gate 27 real=172.25.41.3:80 gate 28 fallback=127.0.0.1:80 gate 29 service=http 30 scheduler=rr 31 #persistent=600 32 #netmask=255.255.255.255 33 protocol=tcp 34 checktype=negotiate 35 checkport=80 36 request="index.html" 37 # receive="Test Page" 38 # virtualhost=www.x.y.zvim /etc/ha.d/haresources150 server1 IPaddr::172.25.41.100/24/eth0 httpd ldirectord #添加ldirectord在server1上和server4上同时打开heartbeats服务 心跳功能开启一个机子上开启http和ldirectord,另外一个不开启任何一个服务,但当第一个机子挂了之后,第二台会直接接管
4.keepalived
keepalived:也是高可用的服务,分为一个master和backup,当master挂掉后,直接去backup去搞。关掉server1和server4的心跳服务,关闭httpd ldirectordtar zxf keepalived-1.2.8.tar.gz #解压 cd keepalived-1.2.8./configure --prefix=/usr/local/keepalived #在编译的时候,要解决依赖源的问题,根据后面的提示,直接yum安转软件就好。make && make insatall #安装ln -s /usr/local/keepalived/sbin/keepalived /sbin/ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ln -s /usr/local/keepalived/etc/keepalived/ /etc/chmod +x /etc/init.d/keepalived在安装好keepalived的时候,不用在server4上编译安装,直接将server1上装好的,scp过去scp -r /usr/local/keepalived/ root@172.25.77.4:/usr/local/做软连接(server1和server4)ln -s /usr/local/keepalived/sbin/keepalived /sbin/ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ln -s /usr/local/keepalived/etc/keepalived/ /etc/ 做配置文件vim /etc/keepalived/keepalived.conf 1 ! Configuration File for keepalived 2 3 global_defs { 4 notification_email { 5 root@localhost #接收警报的 email 地址,可以添加多个 6 } 7 8 notification_email_from keepalived@server1 9 smtp_server 127.0.0.1 #使用本机转发 email 10 smtp_connect_timeout 30 11 router_id LVS_DEVEL #load balancer 的标识 ID,用于 email 警报 12 } 13 14 vrrp_instance VI_1 { 15 state MASTER #备机改为 BACKUP,此状态是由 priority 的值来决定的,当前 priority的值小于备机的值,那么将会失去 MASTER 状 16 interface eth0 #HA 监测网络接口 17 virtual_router_id 77 #主、备机的 virtual_router_id 必须相同(不要跟别人的重复,用自己ip数) 18 priority 100 #主机的优先级,备份机改为 50 19 advert_int 1 #主备之间的通告间隔秒数 20 authentication { #主备切换时的验证 21 auth_type PASS 22 auth_pass 1111 23 } 24 virtual_ipaddress { #HA 虚拟 ip,可加多个 25 172.25.77.100 26 } 27 } 28 29 virtual_server 172.25.77.100 80 { 30 delay_loop 6 #每隔 6 秒查询 realserver状态 31 lb_algo rr #lvs 调度算法,这里使用轮叫 32 lb_kind DR #lvs 负载均衡机制,这里使用直连路由 33 #nat_mask 255.255.255.0 #1.2.8版本上这个行必须注释 34 #persistence_timeout 50 #同一 IP 的连接 60 秒内被分配到同一台 realserver 35 protocol TCP #用 TCP 协议检查 realserver 状态 36 37 real_server 172.25.77.2 80 { 38 weight 1 39 TCP_CHECK { 40 connect_timeout 3 41 nb_get_retry 3 #故障重试秒数 42 delay_before_retry 3 #重试延迟 43 } 44 } 45 real_server 172.25.77.3 80 { 46 weight 1 47 TCP_CHECK { 48 connect_timeout 3 49 nb_get_retry 3 50 delay_before_retry 3 51 } 52 53 } 54 55 }将配置文件scp到server4上,修改上面提到的几行信息,做backup将server1和server4开启keepalived服务。测试:输入172.25.77.100
The End
阅读全文
0 0
- Linux运维进阶-文档总结-高可用集群之heartbeat和lvs
- linux学习之使用heartbeat搭建高可用lvs集群服务
- 高可用集群之heartbeat
- 集群高可用之heartbeat
- linux进阶之旅(三)& heartbeat实现高可用
- Linux 高可用(HA)集群之Heartbeat详解
- LVS+heartbeat+ldirectord高可用负载均衡集群解决方案
- Linux-HA, heartbeat, 高可用集群,双机
- Linux-HA, heartbeat, 高可用集群,双机
- 高可用集群heartbeat
- 高可用集群heartbeat和调度器
- linux高可用集群heartbeat实现http的高可用
- 运维笔记29 (高可用集群之heartbeat+drbd+mysql)
- linux学习之高可用集群总结
- Linux高可用--heartbeat
- Heartbeat+ipvsadm+ldirectord高可用双机lvs
- heartbeat高可用+lvs负载均衡
- linux高可用(HA)集群笔记heartbeat+drbd+nfs (原创)
- 响应编码、请求编码与URL编码
- Linux线程基本知识
- HashMap和Hashtable的区别
- CSS常用语义命名
- 数据库主要功能
- Linux运维进阶-文档总结-高可用集群之heartbeat和lvs
- csu1941(exgcd)
- struts2校验框架中各个验证器param的值
- android学习系列
- view事件分发源代码详解
- 最近状态更新
- Eclipse+Intellij IDEA创建Maven项目
- Python温度转换实例
- 模板--最小生成树【prim】