LVS之dr模式
1,实验一
实验环境
server1 172.25.81.1 调度
server2 172.25.81.2 web1
server3 172.25.81.3 web2
client 172.25.254.81
server1,
1,配置好完整yum源,因为base镜像已经做过,这里不在描述
2,安装ipvsadm软件 yum install ipvsadm
3,添加ip ip addr add 172.25.81.100/24 dev eth0
4,设置lvs的vip,vip添加RS地址,并设置为DR模式
ipvsadm -A -t 172.25.81.100:80 -s rr #-t表示tcp协议 -s sheduler rr,表示轮询方式
5,ipvsadm -a -t 172.25.81.100:80 -r 172.25.81.2(3) -g
-r 表示rs地址 -g表示dr模式
,
6,/etc/init.d/ipvsadm save
server2
1,设置虚拟ip ip addr add 172.25.81.100/24 dev eth0
2,安装arp防火墙 yum install arptables_jf -y
3,arptables -A IN -d 172.25.81.100 -j DROP #对INPUT进行拒绝
arptables -A OUT -s 172.25.81.100 -j mangle --mangle-ip-s 172.25.81.2 # 对output进行伪装
/etc/init.d/arptables_jf save #保存配置
4,安装httpd服务,修改默认页为server2 ,记得开启httpd服务
server3,同server2此处掠过
client主机测试
可以看出负载均衡
ipvs主机查看 2被调度4次,3也被调度4次
实验2,ldirectord软件实现后端检查
1,安装软件 yum install ldirectord-3.9.5-3.1.x86_64.rpm
2,[[email protected] ~]# cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
[[email protected] ~]# cd /etc/ha.d/
[[email protected] ha.d]# ls
ldirectord.cf resource.d shellfuncs
[[email protected] ha.d]# vim ldirectord.cf
/etc/init.d/ldirectord start
yum install httpd -y
不支持端口转发,更改httpd服务监听端口为80 vim /etc/httpd/conf/httpd.conf
3.后端服务server2和server3关闭httpd服务 /etc/init.d/httpd stop
4.主机查看
5,客户端测试
3.高可用集群High-Avaliability
server1
[1]停止 ldirectord 服务(清理环境,删除vip ip addr del 172.25.81.100/24 dev eth0)
[2]下载并安装keepalived
yum install openssl-devel libnl3-devel ipset-devel iptables-devel libnfnetlink-devel gcc -y
[3]源码编译三部曲:
[4]生成软链接
[5]修改keepalived配置文件:
!Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict ##必须注释
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 7
priority 100 ## 权重
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.81.100
}
}
virtual_server 172.25.81.100 80 { #VS
delay_loop 3
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 172.25.81.2 80 { #RS
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 172.25.81.3 80 { #RS
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
象server4发送文件
启动服务 /etc/init.d/keepalived start
server4
1,生成软链接
2,编辑配置文件
3,开启服务 /etc/init.d/keepalived start
client测试
关闭server1上面的keepalived服务,测试
查看server4上面日志,server4已经变成master
,