四台台机器:

分发器主:192.168.0.154

分发器备:192.168.0.171

    rs_1:192.168.0.131
rs_2:192.168.0.132

keepalived安装:

yum install keepalived

ipvsadm安装:(可选keepalived就可以实现负载功能安装只是可以查看状态)

yum install ipvsadm

rs上http安装:(测试)

yum install httpd
rs_1:
echo 11111111 >/var/www/html/index.html
rs_2:
echo 22222222 >/var/www/html/index.html

分发器主配置:(keepalived主)

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs { ##全局配置部分
router_id LVS_MASTER ##运行keepalived机器的一个标识
}
vrrp_instance VI_1 { ##设置vrrp组,唯一且同一LVS服务器组要相同
state MASTER ##备份LVS服务器设置为BACKUP
interface eth0 # #设置对外服务的接口
virtual_router_id 51 ##设置虚拟路由标识
priority 100 #设置优先级,数值越大,优先级越高,backup设置小于100,当master宕机后自动将backup高的变为master。
advert_int 1 ##设置同步时间间隔
authentication { ##设置验证类型和密码,master和buckup一定要设置一样
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { ##设置VIP,可以多个,每个占一行
192.168.0.60
}
}
virtual_server 192.168.0.60 80 {
delay_loop 6 ##健康检查时间间隔,单位s
lb_algo wrr ##负载均衡调度算法设置为加权轮叫
lb_kind DR ##负载均衡转发规则
nat_mask 255.255.255.0 ##网络掩码,DR模式要保障真是服务器和lvs在同一网段
#persistence_timeout 5 ##会话保持时间,单位s
protocol TCP ##协议
real_server 192.168.0.131 80 { ##真实服务器配置,80表示端口
weight 3 ##权重
TCP_CHECK { ##服务器检测方式设置
connect_timeout 5 ##连接超时时间
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.0.132 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}

分发器备:(keepalived从)

从机以下两个位置其他配置相同

state MASTER 改为 BACKUP

priority 100 改为 小于100就可以

web rs_1:

执行以下命令

ifconfig lo:0 192.168.0.60 netmask 255.255.255.255 broadcast 192.168.0.60
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

web rs_2:

执行以下命令

ifconfig lo:0 192.168.0.60 netmask 255.255.255.255 broadcast 192.168.0.60
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

命令说明:

arp_ignore: 定义接收到ARP请求时的响应级别

0:只要本地配置的有相应地址,就给予响应;默认
1:仅在请求的目标地址配置在到达的接口上的时候,才给予响应

arp_announce:定义将自己地址向外通告时的通告级别

0:将本地任何接口上的任何地址向外通告;默认
1:试图仅向目标网络通告与其网络匹配的地址
2:仅向与本地接口上地址匹配的网络进行通告

启动:

  分发主:/etc/init.d/keepalived start
分发备:/etc/init.d/keepalived start

ipvsadm -ln 可以查看

  rs_1:/etc/init.d/httpd start
rs_2: /etc/init.d/httpd start

ifconfig lo:0 查看:

测试:

浏览器访问192.168.0.60

最新文章

  1. netty学习
  2. web应用程序性能优化
  3. lodash链式使用
  4. C#自定义控件
  5. 什么是SQL注入式攻击
  6. Rest风格WEB服务(Rest Style Web Service)的真相
  7. springmvc 中RequestMapping注解的使用
  8. HDU 5734 Acperience (推导)
  9. ASP.NET MVC中的统一化自定义异常处理
  10. iOS开发之protocol和delegate
  11. 并查集+bfs+暴力滑窗 Codeforces Round #356 (Div. 2) E
  12. 解决 Windows instance 时间不同步问题 - 每天5分钟玩转 OpenStack(153)
  13. Mybatis按顺序获取数据
  14. 十二、VueJs 填坑日记之项目打包发布
  15. Java中如何实现j并发更新数据库同一条数据
  16. @ExceptionHandler异常统一处理
  17. Python:fake-useragent 伪装请求头
  18. Java课堂笔记(零):内容索引
  19. Linux编程 11(shell全局环境变量与局变环境变量)
  20. TinyEditor

热门文章

  1. Java byte和hex十六进制字符串转换
  2. [转帖]redhat7.6Linux安装Oracle19C完整版教程
  3. 利用MySQL存储过程批量插入100W条测试数据
  4. Python知识之 方法与函数、偏函数、轮询和长轮询、流量削峰、乐观锁与悲观锁
  5. Harbor 开机自启遇到的问题
  6. RabbitMq 概述
  7. Oracle数据库Schema的简介
  8. Nas 系统的虚拟化方案
  9. 【转载】C#使用ToList()将数组快速转换为List集合
  10. JAVA项目之注册