lvs+keepalived+httpd同机器部署

lvs+keepalived+httpd同机器部署

背景

两台机器做lvs+keepalived高可用,且提供服务的httpd也在这两台机器上,变态级节省资源。

一、安装并做httpd区分机器页面

两台都做

yum -y install keepalived httpd ipvsadm

A机

echo 11111 >> /var/www/html/index.html
systemctl start httpd && systemctl enable httpd

B机

echo 222222 >> /var/www/html/index.html

systemctl start httpd && systemctl enable httpd

二、做realserver命令

两台都做

vim /etc/init.d/realserver 

#!/bin/bash  
#description : start realserver  
SNS_VIP=192.168.1.160 #定义了一个VIP变量,必须跟真实服务在一个网段
. /etc/rc.d/init.d/functions  
case "$1" in  
start)  
echo " start LVS of REALServer"  
/sbin/ifconfig lo:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up  #增加一个本地路由 lo:0
/sbin/route add -host $SNS_VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore  
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce  
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore  
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce  
;;  
stop)  
/sbin/ifconfig lo:0 down  
echo "close LVS Directorserver"  
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore  
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce  
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore  
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce  
;;  
*)  
echo "Usage: $0 {start|stop}"  
exit 1  
esac

service realserver start(写进开机启动命令)

三、打标签(写进开机启动命令,/etc/rc.d/rc.local加执行权限)

A机器

iptables -t mangle -I PREROUTING -d 192.168.1.160 -p tcp -m tcp --dport 80 -m mac ! --mac-source 00:0c:29:25:4e:ef -j MARK --set-mark 0x3

​ 对应vip B机mac地址 标记3

B机器

iptables -t mangle -I PREROUTING -d 192.168.1.160 -p tcp -m tcp --dport 80 -m mac ! --mac-source 00:0c:29:1e:83:3b -j MARK --set-mark 0x4

​ 对应vip A机mac地址 标记4

四、keepalived配置文件

A机

global_defs {
        router_id LVS_DEVELA
}
vrrp_instance VI_1 {
        state MASTER     
        interface ens33     #注意修改
        virtual_router_id 51
        priority 101
        advert_int 1
        authentication {
                auth_type PASS
                auth_pass 1111
        }
        virtual_ipaddress {
                192.168.1.160    
        }
}
virtual_server fwmark 3 80 { #注意改动
        delay_loop 6
        lb_algo rr
        lb_kind DR         #使用LVSDR模式                 
        nat_mask 255.255.255.0
        persistence_timeout 0
        protocol TCP
        real_server 192.168.1.70 80 {    
                weight 1        
                TCP_CHECK {
                        connect_timeout 10
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                }
        }
        real_server 192.168.1.71 80 {
                weight 1
                TCP_CHECK {
                        connect_timeout 10
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                }
        }
}

systemctl start keepalived.service && systemctl enable keepalived.service

B机

global_defs {
        router_id LVS_DEVELB
}
vrrp_instance VI_1 {
        state BACKUP
        interface ens33
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
                auth_type PASS
                auth_pass 1111
        }
        virtual_ipaddress {
                192.168.1.160
        }
}
virtual_server fwmark 4 80 { #注意改动
        delay_loop 6
        lb_algo rr
        lb_kind DR         #使用LVSDR模式
        nat_mask 255.255.255.0
        persistence_timeout 0
        protocol TCP
        real_server 192.168.1.70 80 {
                weight 1
                TCP_CHECK {
                        connect_timeout 10
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                }
        }
        real_server 192.168.1.71 80 {
                weight 1
                TCP_CHECK {
                        connect_timeout 10
                        nb_get_retry 3
                        delay_before_retry 3
                        connect_port 80
                }
        }
}

systemctl start keepalived.service && systemctl enable keepalived.service

五、查看

[root@localhost ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.160:80 rr
  -> 192.168.1.70:80              Route   1      0          1         
  -> 192.168.1.71:80              Route   1      0          0         
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值