首页 > 其他分享 >LVS+Keepalived+httpd安装及配置

LVS+Keepalived+httpd安装及配置

时间:2022-10-12 12:35:50浏览次数:54  
标签:httpd 00 LVS Keepalived keepalived 192.168 服务器 root

LVS+Keepalived+httpd安装及配置



目录
1 环境... 1
2 安装LVS软件(分别在LVS-Master和LVS-Backup中)... 1
1.1.查看是否有IPVS模块... 1
1.2.安装IPVS管理工具... 1
3 安装keepalived(分别在LVS-Master和LVS-Backup中)... 1
3.1 安装keepalived并配置... 1
3.2.启动keepalived. 1
4 在LVS-Backup上安装LVS、keepalived并配置... 1
4.1 安装LVS、keepalived. 1
4.2 配置LVS-Backup的keepalived. 1
4.3启动LVS-Backup的keeplived服务,并检查是否生效... 1
5 测试VIP,检查是否能主备切换。... 1
5.1 查看主VIP. 1
5.2 查看备VIP. 1
5.3 日志查看主备切换... 1
6 配置WEB服务器,即real server节点1和2. 1
6.1 配置web2. 1
6.2 配置web4. 1
7 负载均衡以及高可用测试... 1
7.1 负载均衡测试... 1
7.2 高可用测试... 1
8 其他常用操作... 1
8.1 关闭LVS. 1
8.2 系统虚拟IP管理:... 1
8.3 查看LVS的状态... 1








1 环境

操作系统Centos 6.4 X86_64
LVS-Master:192.168.1.19
LVS-Backup:192.168.1.18
VIP:192.168.1.10
RS01:192.168.1.18
RS02:192.168.1.17




2 安装LVS软件(分别在LVS-Master和LVS-Backup中)

1.1.查看是否有IPVS模块
LVS是Linux标准内核的一部分,直接被编译在内核中!


[root@LVS-Master ~]# modprobe -l | grep ipvs #使用modprobe命令查看


1.2.安装IPVS管理工具


[root@LVS-Master ~]# yum install ipvsadm










3 安装keepalived(分别在LVS-Master和LVS-Backup中)

3.1 安装keepalived并配置


[root@LVS-Master ~]# yum install keepalived
[root@LVS-Master ~]# vi/etc/keepalived/keepalived.conf

vi keepalived.conf

! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 10.0.0.1
smtp_connect_timeout30
router_idLVS_7
}

vrrp_instance VI_1 {
state MASTER
interfaceeth0
virtual_router_id 55
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.10/24
}
}

virtual_server192.168.1.10 80 {
delay_loop6
lb_algowrr
lb_kindDR
nat_mask255.255.255.0
persistence_timeout300
protocolTCP
# ipvsadm -A -t192.168.1.10:80 -s wrr -p 20
real_server 192.168.1.19 80 {
weight1
TCP_CHECK{
connect_timeout8
nb_get_retry3
delay_before_retry3
connect_port80
}
}

real_server 192.168.1.18 80 {
weight1
TCP_CHECK{
connect_timeout8
nb_get_retry3
delay_before_retry3
connect_port80
}
}
}

#ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.18:80 -g -w 1
#ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.19:80 -g -w 1






3.2.启动keepalived
设置keepalived服务自启动,检查是否生效


[root@LVS-Master ~]# /etc/init.d/keepalived start
Starting keepalived: [ OK ]
[root@LVS-Master ~]# chkconfig keepalived on
[root@LVS-Master keepalived]# ipvsadm -L -n #查看ipvs规则是否生效
IPVirtual Server version 1.2.1 (size=4096)
ProtLocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.33:80 wlc persistent 50
-> 192.168.2.29:80 Route 100 0 0
-> 192.168.2.30:80 Route 100 0 0







4 在LVS-Backup上安装LVS、keepalived并配置

4.1 安装LVS、keepalived

[root@LVS-Backup ~]# yum install ipvsadm
[root@LVS-Backup ~]# yum install keepalived

4.2 配置LVS-Backup的keepalived
先从LVS-Master把修改过的keepalived配置文件复制过来。

[root@LVS-Master keepalived]# scp [email protected]:/etc/keepalived/
[root@LVS-Backup ~]# vi/etc/keepalived/keepalived.conf
只修改state为BACKUP和priority为90,MASTER为主机服务器,BACKUP为备用服务器。
state BACKUP
priority 90



vi keepalived.conf

! Configuration File for keepalived

global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server 10.0.0.1
smtp_connect_timeout 30
router_idLVS_7
}

vrrp_instanceVI_1 {
state BACKUP
interfaceeth0
virtual_router_id 55
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.10/24
}
}


virtual_server192.168.1.10 80 {
delay_loop6
lb_algowrr
lb_kindDR
nat_mask255.255.255.0
persistence_timeout300
protocolTCP
#ipvsadm -A -t 192.168.1.10:80 -s wrr -p 20
real_server 192.168.1.18 80 {
weight1
TCP_CHECK{
connect_timeout8
nb_get_retry3
delay_before_retry3
connect_port80
}
}

real_server 192.168.1.17 80 {
weight1
TCP_CHECK{
connect_timeout8
nb_get_retry3
delay_before_retry3
connect_port80
}
}
}

#ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.18:80-g -w 1
#ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.17:80-g -w 1






4.3启动LVS-Backup的keeplived服务,并检查是否生效


[root@LVS-Backup ~]# /etc/init.d/keepalived start
[root@LVS-Backup ~]# chkconfig keepalived on
[root@LVS-Backup keepalived]# ipvsadm -L -n #查看ipvs规则是否生效
IPVirtual Server version 1.2.1 (size=4096)
ProtLocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.33:80 wlc persistent 50
-> 192.168.2.29:80 Route 100 0 0
-> 192.168.2.30:80 Route 100 0 0






5 测试VIP,检查是否能主备切换。

5.1 查看主VIP

启动keeplived后,先用ip addr显示主备服务器的VIP情况,当主备服务器同时启用keepalived时,只有主服务器拥有VIP地址,备服务器没有。


[root@LVS-Master~]# ip addr
1: lo:<LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000
link/ether 00:50:56:a6:00:13 brdff:ff:ff:ff:ff:ff
inet 192.168.2.32/24 brd 192.168.2.255scope global eth0
inet 192.168.2.33/32 scope global eth0 #可以看到主服务器拥有192.168.2.33这个VIP地址
inet6 fe80::250:56ff:fea6:13/64 scope link
valid_lft forever preferred_lft forever

[root@LVS-Backup~]# ip addr
1: lo:<LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWNqlen 1000
link/ether 08:00:27:77:d3:82 brdff:ff:ff:ff:ff:ff
inet 192.168.2.31/24 brd 192.168.2.255scope global eth0 #可以到看备服务器没有192.168.2.33这个VIP地址
inet6 fe80::a00:27ff:fe77:d382/64 scopelink
valid_lft forever preferred_lft forever




5.2 查看备VIP
当停止主服务器的keepalived服务,再查看下主备服务器VIP地址,发现VIP地址已从主服务器转移到了备服务器;


[root@LVS-Master
Stopping keepalived: [ OK ]
[root@LVS-Master
[root@mobankeepalived]# /etc/init.d/keepalived stop
Stopping keepalived: [ OK ]
[root@mobankeepalived]# ip add
1: lo:<LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000
link/ether 00:0c:29:48:9b:89 brdff:ff:ff:ff:ff:ff
inet 192.168.1.19/24 brd 192.168.1.255scope global eth0 #主服务器keepalived停止后,VIP地址将移除
inet6 fe80::20c:29ff:fe48:9b89/64 scopelink
valid_lft forever preferred_lft forever
[root@mobankeepalived]#

[root@LVS-Backup
[root@rs01keepalived]# ip add
1: lo:<LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000
link/ether 00:0c:29:7b:a7:5e brdff:ff:ff:ff:ff:ff
inet 192.168.1.18/24 brd 192.168.1.255scope global eth0
inet 192.168.1.10/24 scope global secondaryeth0 #可以看到VIP地址已转移到备服务器,继续提供服务
inet6 fe80::20c:29ff:fe7b:a75e/64 scopelink
valid_lft forever preferred_lft forever
[root@rs01keepalived]#





5.3 日志查看主备切换

1) 当主服务器停止keepalived后,主备服务器相关日志


[root@LVS-Master~]# service keepalived stop
Stopping keepalived: [ OK ]


主服务器日志
Sep 2 17:39:13 LVS-Master kernel: IPVS:__ip_vs_del_service: enter
Sep 2 17:39:13 LVS-Master Keepalived[13192]:Stopping Keepalived v1.2.7 (02/21,2013) #主服务器停掉后
Sep 2 17:39:13 LVS-Master Keepalived_vrrp[13195]:VRRP_Instance(VI_1) sending 0 priority
Sep 2 17:39:13 LVS-Master Keepalived_vrrp[13195]:VRRP_Instance(VI_1) removing protocol VIPs.


备服务器日志
Sep 2 17:39:14 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) Transition to MASTER STATE
Sep 2 17:39:15 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) Entering MASTER STATE #备转为MASTER,并设置VIP地址为192.168.2.33
Sep 2 17:39:15 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) setting protocol VIPs.
Sep 2 17:39:15 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.2.33
Sep 2 17:39:15 LVS-BackupKeepalived_healthcheckers[978]: Netlink reflector reports IP 192.168.2.33 added
Sep 2 17:39:20 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.2.33




2) 当主服务器重启keepalived后,主备服务器相关日志


[root@LVS-Master~]# service keepalived start
Starting keepalived: [ OK ]

主服务器日志
Sep 2 17:41:28 LVS-Master Keepalived_vrrp[13231]:VRRP_Instance(VI_1) Transition to MASTER STATE
Sep 2 17:41:29 LVS-Master Keepalived_vrrp[13231]:VRRP_Instance(VI_1) Entering MASTER STATE #主服务器重启后,从新接手MASTER角色,并拿回VIP地址192.168.2.33
Sep 2 17:41:29 LVS-Master Keepalived_vrrp[13231]:VRRP_Instance(VI_1) setting protocol VIPs.
Sep 2 17:41:29 LVS-MasterKeepalived_healthcheckers[13230]: Netlink reflector reports IP 192.168.2.33added
Sep 2 17:41:29 LVS-Master Keepalived_vrrp[13231]:VRRP_Instance(VI_1) Sending gratuitous ARPs on eth0 for 192.168.2.33

备服务器日志
Sep 2 17:41:28 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) Received higher prio advert
Sep 2 17:41:28 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) Entering BACKUP STATE #备服务器从MASTER又变回了BACKUP,并移除VIP地址192.168.2.33
Sep 2 17:41:28 LVS-Backup Keepalived_vrrp[979]:VRRP_Instance(VI_1) removing protocol VIPs.
Sep 2 17:41:28 LVS-BackupKeepalived_healthcheckers[978]: Netlink reflector reports IP 192.168.2.33removed






6 配置WEB服务器,即realserver节点1和2

由于采用的是DR方式调度,Real_Server会以LVS的VIP来直接回复Client,所以需要在Real_Server的lo上开启LVS的VIP来与Client建立通信


6.1 配置web2



[root@web2~]# vi /etc/init.d/lvsrs #编辑一个lvsrs脚本,并放到/etc/init.d/下
#!/bin/bash
#description: start Real Server

VIP=192.168.1.10

./etc/rc.d/init.d/functions

case"$1" in
start)
echo " Start LVS of Real Server"
/sbin/ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up
/sbin/route add -host $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


[root@web2~]# chmod 755 /etc/init.d/lvsrs #给新增lvsrs脚本一个755权限
[root@web2~]# service lvsrs start #启动lvsrs服务,我环境启动时出错,给一个functions 755权限,按各自环境操作
/etc/init.d/lvsrs: line 7:./etc/rc.d/init.d/functions: Permission denied
Start LVS ofReal Server

[[email protected]]# chmod 755 /etc/rc.d/init.d/functions #给functions 755权限
[root@web2~]# service lvsrs start #启动lvsrs服务
Start LVS ofReal Server

[root@web2~]# ifconfig #查看已有一个VIP地址
lo:0 Link encap:Local Loopback
inet addr:192.168.1.10 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1

[root@web2~]# echo "service lvsrs start" >> /etc/rc.local #把lvsrs服务添加到开机启动,否则下次启动电脑后,还需手动启动。


[root@web2~]# yum install httpd
[root@web2~]# vi /var/www/html/index.html
<h1>Welcome to web2(192.168.2.29)</h1>
[root@web2~]# service httpd start







6.2 配置web4


配置同上


[root@web4~]# scp [email protected]:/etc/init.d/lvsrs /etc/init.d/
[root@web4~]# chmod 755 /etc/rc.d/init.d/functions
[root@web4~]# service lvsrs start
Start LVS ofReal Server

[root@web4~]# echo "service lvsrs start" >> /etc/rc.local

[root@web4~]# ifconfig
lo:0 Link encap:Local Loopback
inet addr:192.168.1.10 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1

[root@web4~]# yum install httpd

[root@web4~]# vi /var/www/html/index.html
<h1>Welcome to web4(192.168.2.30)</h1>
[root@web4~]# service httpd start





7 负载均衡以及高可用测试

7.1 负载均衡测试
(1)两台WEB服务器都工作正常,访问VIP地址时,可以被负载到两台WEB服务器上。
(2)停掉一台WEB服务器的http服务后,访问VIP地址时,被负载到正常的WEB服务器上。

7.2 高可用测试
(1)两台DR的keepalived服务器正常时,VIP地址在主服务器,提供正常服务。
(2)当关闭主服务器的keepalived后,VIP地址自动转移到备服务器上,当主服务器重启keepalived服务后,VIP自动转移回主服务器,备服务器继续备用,实现了高可用负载均衡。





8 其他常用操作


8.1 关闭LVS

(1)在real服务器上执行

#service lvsrs stop

(2)LVS服务器上执行

killall-9 keepalived;ipvsadm -C


8.2 系统虚拟IP管理:

查看虚拟IP地址
# ip address list
删除虚拟IP地址
# ip addr del 192.168.1.205 dev eth0


[root@mobankeepalived]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdiscnoqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet127.0.0.1/8 scope host lo
inet6::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:48:9b:89 brd ff:ff:ff:ff:ff:ff
inet192.168.1.19/24 brd 192.168.1.255 scope global eth0
inet192.168.1.10/24 scope global secondary eth0
inet6fe80::20c:29ff:fe48:9b89/64 scope link
valid_lft forever preferred_lft forever
[root@moban keepalived]#



8.3 查看LVS的状态


#ipvsadm -ln
ipvsadm -L-n

[root@mobankeepalived]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
->RemoteAddress:Port ForwardWeight ActiveConn InActConn
TCP 192.168.1.10:80 wrr persistent 300
->192.168.1.17:80 Route 1 0 0
->192.168.1.18:80 Route 1 0 0
[root@moban keepalived]#

标签:httpd,00,LVS,Keepalived,keepalived,192.168,服务器,root
From: https://blog.51cto.com/u_15739274/5749387

相关文章

  • Linux 安装Httpd服务
    安装Httpd服务版本说明:CentOS7以上,默认系统是httpd2.4,CentOS6版默认为httpd2.2Ubuntu18.04默认Apache/2.4.29范例:CentOS8安装httpd[root@CentOS8~]#yum......
  • Keepalived高可用集群
    目录​​Keepalived​​​​Keepalived实现主备网站​​KeepalivedKeepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务器节点的状态,后来又......
  • 空值、NULL的对比(tdsqlVSPG)
    NULL值的对比PG\mysql中空字符串与null是不同的;而oracle中,空字符串与null等同。NULL和''ORACLE认为''等同于NULL,'a'||null结果是'a'NULL和''不同,'a'||null结......
  • keepalived高可用(haporxy)
    keepalived高可用(haporxy)目录keepalived高可用(haporxy)部署httpd,nginx部署haproxy负载均衡部署keepalived高可用编写脚本配置keepalived加入监控脚本的配置测试keep......
  • zabbix监控部署keepalived高可用
    zabbix监控部署keepalived高可用目录一.脑裂1.对付HA系统“裂脑”的对策,目前达成共识的的大概有以下几条:二.脑裂产生的原因2.1一般来说,脑裂的发生,有以下几种原因:三.脑......
  • 基于Keepalived实现LVS双主高可用集群
    1、环境准备设备IP地址作用系统版本Keepalived-Lvs192.168.100.118Keepalived-Lvs负载冗余Rocky8.6Keepalived-Lvs192.168.100.123Keepalived-Lvs负载冗余Rocky8.6Nginx192.......
  • 基于Keepalived实现LVS双主高可用集群
     1、环境准备设备IP地址作用系统版本Keepalived-Lvs192.168.100.118Keepalived-Lvs负载冗余Rocky8.6Keepalived-Lvs192.168.100.123Keepalived-L......
  • keepalived的安装和配置
    主机名称服务器IPserver0110.1.1.3masterserver0210.1.1.4backup第一步:master和backup都进行安装keepalivedyum-yinstallkeepalived文件或者目录作用/etc/keepalived/ke......
  • lvs负载均衡
    目录基本介绍基本工作原理LVS的组成LVS相关术语lvs三种工作模式NAT原理和特点DR原理和特点Tun原理和特点LVS调度算法实践LVS搭建HTTP负载均衡集群实践LVS的NAT模式基本介......
  • LVS负载均衡
    [LVS负载均衡]LVS负载均衡目录Lvs负载均衡[lvs简介][lvs作用][lvs体系结构]lvs的三种工作模式[基于NAT的LVS模式负载均衡][基于TUN模式的负载均衡][基于DR模......