准备rhel-7.6虚拟机并封装
qemu-img create -f qcow2 -b rhel7.6-demo.qcow2 demo1
##虚拟机安装 选择桥接模式
server1;LB(调度器)
ip addr add 172.25.9.100/24 dev eth0 ##添加ip地址
ipvsadm -A -t 172.25.0.100:80 -s rr ##把ip为100的主机设置为负载均衡主机
ipvsadm -a -t 172.25.0.100:80 -r 172.25.9.2:80 -g ##当访问ip为100的主机时,转接至2主机
ipvsadm -a -t 172.25.0.100:80 -r 172.25.9.3:80 -g
##当访问ip为100的主机时,转接至3主机
server2:
arptables -A INPUT -d 172.25.0.100 -j DROP ##增加防火墙策略,在访问主机100时,丢弃缓存信息
arptables -A OUTPUT -s 172.25.0.100 -j mangle --mangle-ip-s 172.25.9.2
arptables-save > /etc/sysconfig/arptables
###将此防火墙策略缓存至配置文件中
srver3:
arptables -A INPUT -d 172.25.0.100 -j DROP ##增加防火墙策略,在访问主机100时,丢弃缓存信息
arptables -A OUTPUT -s 172.25.0.100 -j mangle --mangle-ip-s 172.25.9.3
arptables-save > /etc/sysconfig/arptables ###将此防火墙策略缓存至配置文件中
server2 server3: ##发布网络目录
cd /var/www/html
echo lxq2 > index.html
cat index.html
lxq2
实现负载:
在主机进行curl 172.25.9.100指令,可以查看到server2 server3网页交替出现
工作原理
keeplives安装
lvs健康检查
数字越高,优先级越高
路由id 确认组
频率
vip 与虚拟服务保持一致
健康检查时间频率
ip addr del 172.25.9.100/24 dev eth0
ipvsadm -C
ipvsadm -ln
systemctl start keepalived
vim /etc//keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
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 6
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.9.100
}
}
virtual_server 172.25.9.100 80{
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 172.25.9.2 80{
weight 1
TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.25.9.3 80{
weight 1
TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
双机热备负载均衡
创建新虚拟机
增加keepalived实现某台realdown时,继续服务
vim /etc//keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 6
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.9.100
}
}
virtual_server 172.25.9.100 80{
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 172.25.9.2 80{
weight 1
TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.25.9.3 80{
weight 1
TCP_CHECK{
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
server1:
systemctl stop keepalived
server4:
cat /var/log/messages
lftp:
yum install vsftpd
virtual_server 172.25.9.100 21
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 172.25.9.2 21 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 172.25.9.3 21 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
安装邮件查看工具
第四种工作模式 fullnat 解决不同vlan之间的 原地址变更+目的地质变更
五元祖 原地址 元端口 协议 目的地址 目的端口