lvs1

来源:互联网 发布:网络制作软件扑克 编辑:程序博客网 时间:2024/05/29 18:13

lvs配置

—-lvs虚拟服务器是一个高度可扩展性和高可用性的服务器,建立在一个集群的服务器中
4层Load Balance(负载均衡)
– 基于传输层信息进行 调度
– 调度算法:WRR/WLC 等
– 工作模式:NAT/DR/TUNNEL
– 传输协议:TCP/UDP
nginx–>七层

DR模式的工作原理:
client –> vs –> rs(也有vip,需要nonArp,不接受直接访问vip) –> client
1.vs的数据包中包含cip和vip
2.vs和rs在同一个vlan中
3.在vs中做了二层链路的mac地址的转化
4.rs中mac向上解析得到vip和cip

ipvs(内核层面)ipvsadm(用户管理层面)
netfilter+ipvs (怎么区别fileter表到ipvs还是防火墙)

ipvs

—–LVS的IP负载平衡技术就是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件,它的主要作用是:安装在Director Server上,同时>在Director Server上虚拟出一个IP地址,用户必须通过这个虚拟的IP地址访问服务。这个虚拟IP一般称为LVS的VIP,即Virtual IP。访问的请求首先经过VIP到达负载调度器,然>后由负载调度器从Real Server列表中选取一个服务节点响应用户的请求。

server1(调度器):
/etc/init.d/heartbeat stop 将hearbeat停止(手动去实现调度)
yum install -y ldirectord-3.9.5-3.1.x86_64.rpm 下载使用ld进行可以对rs进行健康检查
yum install -y ipvsadm 下载lvs管理命令
ipvsadm -A -t 172.25.31.100:80 -s rr -A 追加策略,-t tcp服务,-s 算法,rr 轮询
ip addr add 172.25.31.100/24 dev eth0 添加虚拟主机ip
ipvsadm -a -t 172.25.31.100:80 -r 172.25.31.2:80 -g 添加rs的ip地址,保证端口一致为80
ipvsadm -a -t 172.25.31.100:80 -r 172.25.31.3:80 -g
ipvsadm -l 查看当前主机的调度策略
/etc/init.d/ipvsadm save 保存策略

server4:
/etc/init.d/heartbeat stop 将heartbeat停止

server2:(real server)
/etc/init.d/httpd start 开启httpd服务
ip addr add 172.25.31.100/32 dev eth0 添加vip
yum install -y arptables_jf 下载arp包
arptables -A IN -d 172.25.31.100 -j DROP 追加策略,丢弃100的包,不允许直接在rs上访问到vip
arptables -A OUT -s 172.25.31.100 -j mangle –mangle-ip-s 172.25.31.2 arp协议将vs的mac转换为rs的mac
/etc/init.d/arptables_jf save 保存策略
arptables -nL 查看arptables规则

server3:(real server)
/etc/init.d/httpd restart 开启httpd服务
ip addr add 172.25.31.100/32 dev eth0 添加vip
vim /etc/httpd/conf/httpd.conf 查看是否监听80端口
yum install -y arptables_jf 下载arp包
arptables -A IN -d 172.25.31.100 -j DROP 追加策略,丢弃100的包,不允许直接在rs上访问到vip
arptables -A OUT -s 172.25.31.100 -j mangle –mangle-ip-s 172.25.31.3 arp协议将vs的mac转换为rs的mac
/etc/init.d/arptables_jf save
vim /etc/sysconfig/arptables 查看写入的策略

测试
物理机: curl 172.25.31.100     轮询实现负载均衡
[kiosk@foundation31 Desktop]$ curl 172.25.31.100

<h1> server3-www.westos.org </h1>

[kiosk@foundation31 Desktop]$ curl 172.25.31.100

<h1> server2-www.westos.org </h1>

[kiosk@foundation31 Desktop]$ curl 172.25.31.100

<h1> server3-www.westos.org </h1>

[kiosk@foundation31 Desktop]$ curl 172.25.31.100

<h1> server2-www.westos.org</h1>

[kiosk@foundation31 Desktop]$ curl 172.25.31.100

<h1> server3-www.westos.org</h1>
原创粉丝点击