lvs搭建dr负载均衡集群
2024-09-02 19:08:20
一,查看本地centos的版本:
[root@localhost lib]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,director机器上安装:
1,确保ip_forward值为1,如果不是,手动修改为1
[root@14c53ada11c2 /]# more /proc/sys/net/ipv4/ip_forward 1
2,安装ipvsadm
[root@14c53ada11c2 /]# yum install ipvsadm
3, 配置虚拟ip:
[root@14c53ada11c2 /]# ip addr add 172.17.0.108 dev eth0:0
4,添加lvs规则:
先添加虚拟ip
[root@14c53ada11c2 /]# ipvsadm -A -t 172.17.0.108:80 -s rr
后添加realserver,两台,ip分别是:172.17.0.2/172.17.0.4
[root@14c53ada11c2 /]# ipvsadm -a -t 172.17.0.108:80 -r 172.17.0.2:80 -g -w 1
[root@14c53ada11c2 /]# ipvsadm -a -t 172.17.0.108:80 -r 172.17.0.4:80 -g -w 1
说明:如果有多台机器,按此格式继续添加
三,realserver上配置:
说明:每台机器上均需要做以下操作:
1,添加虚拟ip到本机的lo网络接口上:
[root@a63bd60008fe /]# ip addr add 172.17.0.108 dev lo:0
2,配置以下四项的取值:
[root@a63bd60008fe /]# echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@a63bd60008fe /]# echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
[root@a63bd60008fe /]# echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
[root@a63bd60008fe /]# echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
3,realserver上安装nginx,并启动:
[root@a63bd60008fe /]# yum install nginx
[root@a63bd60008fe /]# /usr/sbin/nginx
四,测试
从浏览器访问:
http://172.17.0.108/
说明:两台realserver上的nginx,其中一台的nginx默认页面做了处理,header的背景色从#900改成了#090,
为的是察看效果,
多刷新几次后可以看到后端nginx的切换。
说明:后端的多个realserver中,可以把其中一台的nginx关闭,则轮循不会再分发到此realserver
可以用下面的命令测试
[root@cb8a9d5de4fa html]# ps auxfww
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 118 0.0 0.0 103292 2164 ? Ss 08:33 0:00 nginx: master process /usr/sbin/nginx
nginx 119 0.0 0.2 122024 7748 ? S 08:33 0:00 \_ nginx: worker process
nginx 120 0.0 0.2 122024 7748 ? S 08:33 0:00 \_ nginx: worker process
[root@cb8a9d5de4fa html]# kill 118
最新文章
- 父div高度不能根据子div高度自动变化的解决方案
- 每天一个linux命令(21):find命令之xargs
- ES6 对象解构
- http://debugjs.com/
- C 到C++的升级
- IOS杂笔- 7(类方法load与initialize的区别 浅析)
- javascript 动态改变onclick事件
- Install MySQL on Mac OS X——MAC安装MySQL
- NBUT 1120 Reimu's Teleport (线段树)
- 你的iOS静态库该减肥了
- 【转】解决HttpServletResponse输出的中文乱码问题
- 5. repeater图片放大
- css样式图片、渐变、相关小知识
- 重读LPTHW-Lesson37
- MySQL validate_password 插件
- 最大值减去最小值小于或等于num的子数组数量
- DNS远程和DNS日志
- Prototype模式
- 《C++ Primer》学习笔记:迭代器介绍
- websocket简单实现在线聊天