构建LVS负载均衡集群——NAT模式(最简单方式)
2024-10-20 09:34:11
一、装备一台lvs调度器主机
要求两个网卡一个为内部局域网ip,一个为公网ip
#IP地址设置过程不再重复
[root@localhost ~]# ip a | grep eth0 #内网ip
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
inet 192.168.200.10/ brd 192.168.200.255 scope global eth0
[root@localhost ~]# ip a | grep eth1 #公网ip
: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
inet 192.168.100.1/ brd 192.168.100.255 scope global eth1 #开启路由功能,以便两个不同网络之间通信
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward =
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward =
安装ipvsadm软件,配置lvs负载均衡
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# lsmod | grep "ip_vs" #查看策略中有没有
#没有添加
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# lsmod | grep "ip_vs"
ip_vs
添加负载分配策略
[root@localhost ~]# ipvsadm -A -t 192.168.100.1: -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.100.1: -r 192.168.200.111: -m -w
[root@localhost ~]# ipvsadm -a -t 192.168.100.1: -r 192.168.200.112: -m -w ———————————————————————————————————
-A:表示添加虚拟服务器
-t用来指定VIP 地址及TCP端口
-s:用来指定负载调度算法——轮询(rr)
-a:添加服务器
-r 用来指定RIP 地址及TCP 端口
-m:使用NAT 群集模式(-g DR 模式、-i TUN 模式
-w:用来设置权后重(权重为0 时表示暂停节点)
查看群集节点状态
[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.1: rr
-> 192.168.200.111: Masq
-> 192.168.200.112: Masq
二、设置两台轮询主机
#安装Apache,并开启服务,不再复述
修改两台主机的默认网关,改为lvs服务器内网IP地址
部分修改内容
第一台
[root@tomcat1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
IPADDR=192.168.200.112
NETMASK=255.255.255.0
GATEWAY=192.168.200.10
DNS1=8.8.8.8
~
第二台
[root@tomcat1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
IPADDR=192.168.200.111
NETMASK=255.255.255.0
GATEWAY=192.168.200.10
DNS1=8.8.8.8
为两台主机准备测试文件
第一台
[root@tomcat1 ~]# echo "" > /var/www/html/index.html
第二台
[root@localhost ~]# echo "" > /var/www/html/index.html
三、测试
关闭防火墙,测试
#是轮询访问
[root@localhost ~]# while : ; do curl 192.168.100.1 ;sleep ; done
最新文章
- SQL Server 变更数据捕获(CDC)
- squid-nginx 基本配置
- iOS push与present Controller的区别
- 解决jQuery ajax跨域问题,Google、IE、Firefox亲测有效
- centos下 Vim快捷键操作命令大全
- 调bug的一点感悟
- BrowserSync:跨浏览器实时同步预览
- BroadcastReceiver和Intetnt的理解 Day34
- Delphi自写组件:可设置颜色的按钮(改成BS_OWNERDRAW风格,然后CN_DRAWITEM)
- Android Studio安装应用时报错 installation failed with message Failed to finalize session......
- 简单的实现HTTP密码验证登陆
- GIT初始学习记录
- Node.js_express_route 路由
- sql server 2008 64位连接sql 2000服务器的时候出现
- Linux并发与同步专题 (1)原子操作和内存屏障
- 洛谷 P2317 [HNOI2005]星际贸易 解题报告
- SQL Server通过外部程序集注册正则表达式函数(CLR函数) [转]
- .NET Best Practices
- (转)python高级:列表解析和生成表达式
- WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍