14.4. keepalive+lvs安装配置
- Date:
2018-09
14.4.1. keepalive+lvs环境
服务器环境
- 服务器列表
默认硬件、系统版本全部相同,只是主机名不同和网络配置不同
主机名 |
IP |
web_101 |
192.168.1.140 |
web_102 |
192.168.1.142 |
web_201 |
192.168.1.151 |
web_202 |
192.168.1.102 |
系统版本 |
CentOS release 6.6 (Final) |
硬件环境 |
x86_64 |
lvsadm |
ipvsadm-1.26 |
VIP |
192.168.1.250 |
keepalived |
keepalived-1.1.19 |
- 服务器说明:
web_101:keepalive配置的master,lvs配置dr模式,vip使用192.168.1.250
web_102:keepalive配置的backup,lvs配置dr模式,vip使用192.168.1.250
web_201:lvs配置绑定VIP:192.168.1.250,提供web服务
web_202:lvs配置绑定VIP:192.168.1.250,提供web服务
web_201、web_202本实例配置的负载均衡。
14.4.2. keepalive+lvs安装
14.4.2.1. 安装准备
1ntpdate pool.ntp.org
2sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
3setenforce 0
4/etc/init.d/iptables stop
5chkconfig iptables off
14.4.2.2. lvs安装
四台服务器都需要安装lvs的管理工具
1yum install libnl* popt* -y
2ln -s /usr/src/kernels/2.6.32-504.el6.x86_64/ /usr/src/linux
3mkdir /data/tools -p
4cd /data/tools
5wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
6tar xf ipvsadm-1.26.tar.gz
7cd ipvsadm-1.26
8make
9make install
14.4.2.3. keepalive安装
- 在以下两台服务器安装keepalive:
web_101
web_102
1yum install openssl openssl-devel libnfnetlink-devel -y
2cd /data/tools
3wget http://www.keepalived.org/software/keepalived-1.3.5.tar.gz
4tar xf keepalived-1.3.5.tar.gz
5cd keepalived-1.3.5
6./configure
7make && make install
8
9cp /data/tools/keepalived-1.3.5/keepalived/etc/init.d/keepalived /etc/init.d/
10cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
11mkdir /etc/keepalived -p
12cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
13cp /usr/local/sbin/keepalived /usr/sbin/
14chkconfig --add keepalived
备注
keepalived1.3.5需要安装 libnfnetlink-devel 否则安装会报错。1.1.19则不用安装这个依赖包。
14.4.2.4. nginx安装
- 下面两台服务器需要安装nginx:
web_201
web_202
1yum install pcre pcre-devel perl-CPAN gcc -y
2echo '[nginx]' >>/etc/yum.repos.d/nginx.repo
3echo 'name=nginx repo' >>/etc/yum.repos.d/nginx.repo
4echo 'baseurl=http://nginx.org/packages/centos/$releasever/$basearch/' >>/etc/yum.repos.d/nginx.repo
5echo 'gpgcheck=0' >>/etc/yum.repos.d/nginx.repo
6echo 'enabled=1' >>/etc/yum.repos.d/nginx.repo
7yum clean all
8yum makecache
9yum install nginx -y
14.4.3. keepalive+lvs配置
14.4.3.1. web_101配置
- keepalive配置过程:
keepalive日志记录配置
修改配置文件
1sed -i 's#KEEPALIVED_OPTIONS="-D"#KEEPALIVED_OPTIONS="-D -d -S 0"#g' /etc/sysconfig/keepalived
2echo '#save keepalived log to keepalive.log' >>/etc/rsyslog.conf
3echo 'local0.* /var/log/keepalive.log'>>/etc/rsyslog.conf
4
5/etc/init.d/rsyslog restart
1cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.`date +%F`
2>/etc/keepalived/keepalived.conf
1vi /etc/keepalived/keepalived.conf
1! Configuration File for keepalived
2
3global_defs {
4# notification_email {
5# login_root@163.com
6# }
7# notification_email_from Alexandre.Cassen@firewall.loc
8# smtp_server 127.0.0.1
9# smtp_connect_timeout 30
10 router_id LVS_101
11}
12
13vrrp_instance VI_1 {
14 state MASTER
15 interface eth0
16 virtual_router_id 55
17 priority 150
18 advert_int 1
19 authentication {
20 auth_type PASS
21 auth_pass 1111
22 }
23 virtual_ipaddress {
24 192.168.161.250
25 }
26}
27
28virtual_server 192.168.1.250 80 {
29 delay_loop 20
30 lb_algo rr
31 lb_kind DR
32 persistence_timeout 50
33 protocol TCP
34 real_server 192.168.1.151 80 {
35 weight 1
36 TCP_CHECK {
37 connect_timeout 3
38 #nb_get_retry 3
39 #delay_before_retry 3
40 connect_port 80
41 }
42 }
43 real_server 192.168.1.102 80 {
44 weight 1
45 TCP_CHECK {
46 connect_timeout 3
47 #nb_get_retry 3
48 #delay_before_retry 3
49 connect_port 80
50 }
51 }
52}
- lvs配置过程:
添加vip
1ifconfig eth0:0 192.168.1.250/24
14.4.3.2. web_102配置
- keepalive配置过程:
keepalive日志记录配置
修改配置文件
1sed -i 's#KEEPALIVED_OPTIONS="-D"#KEEPALIVED_OPTIONS="-D -d -S 0"#g' /etc/sysconfig/keepalived
2echo '#save keepalived log to keepalive.log' >>/etc/rsyslog.conf
3echo 'local0.* /var/log/keepalive.log'>>/etc/rsyslog.conf
4
5/etc/init.d/rsyslog restart
1cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.`date +%F`
2>/etc/keepalived/keepalived.conf
1vi /etc/keepalived/keepalived.conf
1! Configuration File for keepalived
2
3global_defs {
4# notification_email {
5# login_root@163.com
6# }
7# notification_email_from Alexandre.Cassen@firewall.loc
8# smtp_server 127.0.0.1
9# smtp_connect_timeout 30
10 router_id LVS_102
11}
12
13vrrp_instance VI_1 {
14 state BACKUP
15 interface eth0
16 virtual_router_id 55
17 priority 200
18 advert_int 1
19 authentication {
20 auth_type PASS
21 auth_pass 1111
22 }
23 virtual_ipaddress {
24 192.168.161.250
25 }
26}
27
28virtual_server 192.168.1.250 80 {
29 delay_loop 20
30 lb_algo rr
31 lb_kind DR
32 persistence_timeout 50
33 protocol TCP
34 real_server 192.168.1.151 80 {
35 weight 1
36 TCP_CHECK {
37 connect_timeout 3
38 #nb_get_retry 3
39 #delay_before_retry 3
40 connect_port 80
41 }
42 }
43 real_server 192.168.1.102 80 {
44 weight 1
45 TCP_CHECK {
46 connect_timeout 3
47 #nb_get_retry 3
48 #delay_before_retry 3
49 connect_port 80
50 }
51 }
52}
- lvs配置过程:
添加vip
1ifconfig eth0:0 192.168.1.250/24
14.4.3.3. web_201配置
1echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
2echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
3echo "1" > /proc/sys/net/ipv4/conf/all/arp_announce
4echo "2" > /proc/sys/net/ipv4/conf/all/arp_ignore
5ifconfig lo:0 192.168.1.250/32
14.4.3.4. web_202配置
1echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
2echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
3echo "1" > /proc/sys/net/ipv4/conf/all/arp_announce
4echo "2" > /proc/sys/net/ipv4/conf/all/arp_ignore
5ifconfig lo:0 192.168.1.250/32