15.2.2. lvs-dr安装配置

Date:

2018-10

15.2.2.1. 环境

服务器列表

默认硬件、系统版本全部相同,只是主机名不同和网络配置不同

主机名

IP

lvs_vip_01

192.168.161.140

lvs_rip_web01

192.168.161.141

lvs_rip_web02

192.168.161.142

系统版本

CentOS release 6.6 (Final)

硬件环境

x86_64

lvsadm

ipvsadm-1.26

15.2.2.2. 安装配置

接路由(VS/DR)官方资料

http://www.linuxvirtualserver.org/zh/lvs3.html#5

15.2.2.2.1. 配置说明

本lvs实例是基于直接路由(dr)的实例配置。且调度算法使用rr(官方叫做轮叫,本人习惯叫做轮询算法。权重使用默认都是1)

15.2.2.2.2. lvs_vip_01安装配置过程

安装配置过程:

  1[root@lvs_vip_01 ~]# mkdir /home/tools -p
  2[root@lvs_vip_01 ~]# ll /home
  3total 4
  4drwxr-xr-x. 2 root root 4096 Nov  2 02:51 tools
  5[root@lvs_vip_01 ~]# lsmod|grep ip_vs
  6[root@lvs_vip_01 ~]# cd /home/tools
  7[root@lvs_vip_01 tools]# pwd
  8/home/tools
  9[root@lvs_vip_01 tools]# ls
 10[root@lvs_vip_01 tools]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
 11--2018-11-02 02:55:23--  http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
 12Resolving www.linuxvirtualserver.org... 173.255.202.51, 2600:3c00::f03c:91ff:fe96:fcc2
 13Connecting to www.linuxvirtualserver.org|173.255.202.51|:80... connected.
 14HTTP request sent, awaiting response... 200 OK
 15Length: 41700 (41K) [application/x-gzip]
 16Saving to: “ipvsadm-1.26.tar.gz”
 17
 18100%[===================================================================================================================================>] 41,700       194K/s   in 0.2s
 19
 202018-11-02 02:55:25 (194 KB/s) - “ipvsadm-1.26.tar.gz” saved [41700/41700]
 21
 22[root@lvs_vip_01 tools]# ls
 23ipvsadm-1.26.tar.gz
 24[root@lvs_vip_01 tools]# rpm -qa libnl* popt*
 25popt-1.13-7.el6.x86_64
 26libnl-1.1.4-2.el6.x86_64
 27
 28[root@lvs_vip_01 tools]#
 29[root@lvs_vip_01 tools]# yum install libnl* popt* -y
 30Loaded plugins: fastestmirror, security
 31Setting up Install Process
 32Determining fastest mirrors
 33* base: ftp.sjtu.edu.cn
 34* extras: mirrors.tuna.tsinghua.edu.cn
 35* updates: mirrors.tuna.tsinghua.edu.cn
 36base                                                                                                                                                  | 3.7 kB     00:00
 37base/primary_db                                                                                                                                       | 4.7 MB     00:00
 38extras                                                                                                                                                | 3.4 kB     00:00
 39extras/primary_db                                                                                                                                     |  26 kB     00:00
 40updates                                                                                                                                               | 3.4 kB     00:00
 41updates/primary_db                                                                                                                                    | 1.9 MB     00:00
 42Package libnl-1.1.4-2.el6.x86_64 already installed and latest version
 43Package popt-1.13-7.el6.x86_64 already installed and latest version
 44Resolving Dependencies
 45--> Running transaction check
 46---> Package libnl-devel.x86_64 0:1.1.4-2.el6 will be installed
 47---> Package libnl3.x86_64 0:3.2.21-8.el6 will be installed
 48---> Package libnl3-cli.x86_64 0:3.2.21-8.el6 will be installed
 49---> Package libnl3-devel.x86_64 0:3.2.21-8.el6 will be installed
 50---> Package libnl3-doc.x86_64 0:3.2.21-8.el6 will be installed
 51---> Package popt-devel.x86_64 0:1.13-7.el6 will be installed
 52---> Package popt-static.x86_64 0:1.13-7.el6 will be installed
 53--> Finished Dependency Resolution
 54
 55Dependencies Resolved
 56
 57=============================================================================================================================================================================
 58Package                                      Arch                                   Version                                      Repository                            Size
 59=============================================================================================================================================================================
 60Installing:
 61libnl-devel                                  x86_64                                 1.1.4-2.el6                                  base                                 707 k
 62libnl3                                       x86_64                                 3.2.21-8.el6                                 base                                 183 k
 63libnl3-cli                                   x86_64                                 3.2.21-8.el6                                 base                                  58 k
 64libnl3-devel                                 x86_64                                 3.2.21-8.el6                                 base                                  56 k
 65libnl3-doc                                   x86_64                                 3.2.21-8.el6                                 base                                  10 M
 66popt-devel                                   x86_64                                 1.13-7.el6                                   base                                  21 k
 67popt-static                                  x86_64                                 1.13-7.el6                                   base                                  21 k
 68
 69Transaction Summary
 70=============================================================================================================================================================================
 71Install       7 Package(s)
 72
 73Total download size: 11 M
 74Installed size: 30 M
 75Downloading Packages:
 76(1/7): libnl-devel-1.1.4-2.el6.x86_64.rpm                                                                                                             | 707 kB     00:00
 77(2/7): libnl3-3.2.21-8.el6.x86_64.rpm                                                                                                                 | 183 kB     00:00
 78(3/7): libnl3-cli-3.2.21-8.el6.x86_64.rpm                                                                                                             |  58 kB     00:00
 79(4/7): libnl3-devel-3.2.21-8.el6.x86_64.rpm                                                                                                           |  56 kB     00:00
 80(5/7): libnl3-doc-3.2.21-8.el6.x86_64.rpm                                                                                                             |  10 MB     00:02
 81(6/7): popt-devel-1.13-7.el6.x86_64.rpm                                                                                                               |  21 kB     00:00
 82(7/7): popt-static-1.13-7.el6.x86_64.rpm                                                                                                              |  21 kB     00:00
 83-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 84Total                                                                                                                                        3.6 MB/s |  11 MB     00:03
 85Running rpm_check_debug
 86Running Transaction Test
 87Transaction Test Succeeded
 88Running Transaction
 89Installing : libnl3-3.2.21-8.el6.x86_64                                                                                                                                1/7
 90Installing : libnl3-cli-3.2.21-8.el6.x86_64                                                                                                                            2/7
 91Installing : popt-devel-1.13-7.el6.x86_64                                                                                                                              3/7
 92Installing : popt-static-1.13-7.el6.x86_64                                                                                                                             4/7
 93Installing : libnl3-devel-3.2.21-8.el6.x86_64                                                                                                                          5/7
 94Installing : libnl3-doc-3.2.21-8.el6.x86_64                                                                                                                            6/7
 95Installing : libnl-devel-1.1.4-2.el6.x86_64                                                                                                                            7/7
 96Verifying  : libnl3-devel-3.2.21-8.el6.x86_64                                                                                                                          1/7
 97Verifying  : libnl-devel-1.1.4-2.el6.x86_64                                                                                                                            2/7
 98Verifying  : popt-static-1.13-7.el6.x86_64                                                                                                                             3/7
 99Verifying  : popt-devel-1.13-7.el6.x86_64                                                                                                                              4/7
100Verifying  : libnl3-cli-3.2.21-8.el6.x86_64                                                                                                                            5/7
101Verifying  : libnl3-3.2.21-8.el6.x86_64                                                                                                                                6/7
102Verifying  : libnl3-doc-3.2.21-8.el6.x86_64                                                                                                                            7/7
103
104Installed:
105libnl-devel.x86_64 0:1.1.4-2.el6  libnl3.x86_64 0:3.2.21-8.el6     libnl3-cli.x86_64 0:3.2.21-8.el6  libnl3-devel.x86_64 0:3.2.21-8.el6  libnl3-doc.x86_64 0:3.2.21-8.el6
106popt-devel.x86_64 0:1.13-7.el6    popt-static.x86_64 0:1.13-7.el6
107
108Complete!
109[root@lvs_vip_01 tools]# rpm -qa libnl* popt*
110libnl3-3.2.21-8.el6.x86_64
111libnl3-devel-3.2.21-8.el6.x86_64
112popt-1.13-7.el6.x86_64
113libnl-1.1.4-2.el6.x86_64
114libnl3-cli-3.2.21-8.el6.x86_64
115popt-static-1.13-7.el6.x86_64
116libnl3-doc-3.2.21-8.el6.x86_64
117popt-devel-1.13-7.el6.x86_64
118libnl-devel-1.1.4-2.el6.x86_64
119[root@lvs_vip_01 tools]# ls
120ipvsadm-1.26.tar.gz
121[root@lvs_vip_01 tools]# tar -xf ipvsadm-1.26.tar.gz
122[root@lvs_vip_01 tools]# ls
123ipvsadm-1.26  ipvsadm-1.26.tar.gz
124[root@lvs_vip_01 tools]# cd ipvsadm-1.26
125[root@lvs_vip_01 ipvsadm-1.26]# ls
126config_stream.c  contrib  dynamic_array.c  ipvsadm.8  ipvsadm-restore    ipvsadm-save    ipvsadm.sh    ipvsadm.spec.in  Makefile             README      VERSION
127config_stream.h  debian   dynamic_array.h  ipvsadm.c  ipvsadm-restore.8  ipvsadm-save.8  ipvsadm.spec  libipvs          PERSISTENCE_ENGINES  SCHEDULERS
128[root@lvs_vip_01 ipvsadm-1.26]# make
129make -C libipvs
130make[1]: Entering directory `/home/tools/ipvsadm-1.26/libipvs'`
131gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL  -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c
132gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL  -DHAVE_NET_IP_VS_H -c -o ip_vs_nl_policy.o ip_vs_nl_policy.c
133ar rv libipvs.a libipvs.o ip_vs_nl_policy.o
134ar: creating libipvs.a
135a - libipvs.o
136a - ip_vs_nl_policy.o
137gcc -shared -Wl,-soname,libipvs.so -o libipvs.so libipvs.o ip_vs_nl_policy.o
138make[1]: Leaving directory `/home/tools/ipvsadm-1.26/libipvs'`
139gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o ipvsadm.o ipvsadm.c
140ipvsadm.c: In function ‘print_largenum’:
141ipvsadm.c:1383: warning: field width should have type ‘int’, but argument 2 has type ‘size_t’
142gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o config_stream.o config_stream.c
143gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o dynamic_array.o dynamic_array.c
144gcc -Wall -Wunused -Wstrict-prototypes -g -o ipvsadm ipvsadm.o config_stream.o dynamic_array.o libipvs/libipvs.a -lpopt -lnl
145[root@lvs_vip_01 ipvsadm-1.26]# echo $?
1460
147[root@lvs_vip_01 ipvsadm-1.26]# make install
148make -C libipvs
149make[1]: Entering directory `/home/tools/ipvsadm-1.26/libipvs'`
150make[1]: Nothing to be done for `all'.`
151make[1]: Leaving directory `/home/tools/ipvsadm-1.26/libipvs'`
152if [ ! -d /sbin ]; then mkdir -p /sbin; fi
153install -m 0755 ipvsadm /sbin
154install -m 0755 ipvsadm-save /sbin
155install -m 0755 ipvsadm-restore /sbin
156[ -d /usr/man/man8 ] || mkdir -p /usr/man/man8
157install -m 0644 ipvsadm.8 /usr/man/man8
158install -m 0644 ipvsadm-save.8 /usr/man/man8
159install -m 0644 ipvsadm-restore.8 /usr/man/man8
160[ -d /etc/rc.d/init.d ] || mkdir -p /etc/rc.d/init.d
161install -m 0755 ipvsadm.sh /etc/rc.d/init.d/ipvsadm
162[root@lvs_vip_01 ipvsadm-1.26]#
163[root@lvs_vip_01 ipvsadm-1.26]#
164[root@lvs_vip_01 ipvsadm-1.26]# lsmod|grep ip_vs
165[root@lvs_vip_01 ipvsadm-1.26]# /sbin/ipvsadm
166IP Virtual Server version 1.2.1 (size=4096)
167Prot LocalAddress:Port Scheduler Flags
168-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
169[root@lvs_vip_01 ipvsadm-1.26]#
170[root@lvs_vip_01 ipvsadm-1.26]# lsmod|grep ip_vs
171ip_vs                 125694  0
172libcrc32c               1246  1 ip_vs
173ipv6                  334932  270 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
174[root@lvs_vip_01 ipvsadm-1.26]#
175[root@lvs_vip_01 ipvsadm-1.26]# ifconfig eth0:0 192.168.161.250/24
176[root@lvs_vip_01 ipvsadm-1.26]# ifconfig
177eth0      Link encap:Ethernet  HWaddr 00:0C:29:12:76:B6
178        inet addr:192.168.161.140  Bcast:192.168.161.255  Mask:255.255.255.0
179        inet6 addr: fe80::20c:29ff:fe12:76b6/64 Scope:Link
180        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
181        RX packets:14142 errors:0 dropped:0 overruns:0 frame:0
182        TX packets:6611 errors:0 dropped:0 overruns:0 carrier:0
183        collisions:0 txqueuelen:1000
184        RX bytes:19317256 (18.4 MiB)  TX bytes:501456 (489.7 KiB)
185
186eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:12:76:B6
187        inet addr:192.168.161.250  Bcast:192.168.161.255  Mask:255.255.255.0
188        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
189
190lo        Link encap:Local Loopback
191        inet addr:127.0.0.1  Mask:255.0.0.0
192        inet6 addr: ::1/128 Scope:Host
193        UP LOOPBACK RUNNING  MTU:65536  Metric:1
194        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
195        TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
196        collisions:0 txqueuelen:0
197        RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
198
199[root@lvs_vip_01 ipvsadm-1.26]# ping 192.168.161.250
200PING 192.168.161.250 (192.168.161.250) 56(84) bytes of data.
20164 bytes from 192.168.161.250: icmp_seq=1 ttl=64 time=0.024 ms
202^C
203--- 192.168.161.250 ping statistics ---
2041 packets transmitted, 1 received, 0% packet loss, time 935ms
205rtt min/avg/max/mdev = 0.024/0.024/0.024/0.000 ms
206[root@lvs_vip_01 ipvsadm-1.26]# ipvsadm -L -n
207IP Virtual Server version 1.2.1 (size=4096)
208Prot LocalAddress:Port Scheduler Flags
209-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
210[root@lvs_vip_01 ipvsadm-1.26]# ipvsadm -A -t 192.168.161.250:80 -s rr
211[root@lvs_vip_01 ipvsadm-1.26]# ipvsadm -L -n
212IP Virtual Server version 1.2.1 (size=4096)
213Prot LocalAddress:Port Scheduler Flags
214-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
215TCP  192.168.161.250:80 rr
216[root@lvs_vip_01 ipvsadm-1.26]# ipvsadm -a -t 192.168.161.250:80 -r 192.168.161.141 -g
217[root@lvs_vip_01 ipvsadm-1.26]# ipvsadm -a -t 192.168.161.250:80 -r 192.168.161.142 -g
218[root@lvs_vip_01 ipvsadm-1.26]# ipvsadm -L -n
219IP Virtual Server version 1.2.1 (size=4096)
220Prot LocalAddress:Port Scheduler Flags
221-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
222TCP  192.168.161.250:80 rr
223-> 192.168.161.141:80           Route   1      0          0
224-> 192.168.161.142:80           Route   1      0          0
225[root@lvs_vip_01 ipvsadm-1.26]#     ntpdate pool.ntp.org
226    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
227    setenforce 0
228    /etc/init.d/iptables stop
229    chkconfig iptables off
2302 Nov 03:18:06 ntpdate[1837]: 87.120.166.8 rate limit response from server.
2312 Nov 03:18:06 ntpdate[1837]: 37.247.53.178 rate limit response from server.
2321 Nov 19:18:06 ntpdate[1837]: step time server 87.120.166.8 offset -28800.986290 sec
233[root@lvs_vip_01 ipvsadm-1.26]#     sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
234[root@lvs_vip_01 ipvsadm-1.26]#     setenforce 0
235[root@lvs_vip_01 ipvsadm-1.26]#     /etc/init.d/iptables stop
236iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
237iptables: Flushing firewall rules:                         [  OK  ]
238iptables: Unloading modules:                               [  OK  ]
239[root@lvs_vip_01 ipvsadm-1.26]#     chkconfig iptables off

注意

有的资料说要开启路由转发。但是我测试没有开启路由转发也可以成功。如果需要开启路由转发,命令:

echo ‘1’>/proc/sys/net/ipv4/ip_forward

15.2.2.2.3. lvs_rip_web01安装配置过程

安装配置过程:

  1[root@lvs_rip_web01 ~]# mkdir /home/tools -p
  2[root@lvs_rip_web01 ~]# ll /home
  3total 4
  4drwxr-xr-x. 2 root root 4096 Nov  2 02:51 tools
  5[root@lvs_rip_web01 ~]# lsmod|grep ip_vs
  6[root@lvs_rip_web01 ~]# cd /home/tools
  7[root@lvs_rip_web01 tools]# pwd
  8/home/tools
  9[root@lvs_rip_web01 tools]# ls
 10[root@lvs_rip_web01 tools]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
 11--2018-11-02 02:55:23--  http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
 12Resolving www.linuxvirtualserver.org... 173.255.202.51, 2600:3c00::f03c:91ff:fe96:fcc2
 13Connecting to www.linuxvirtualserver.org|173.255.202.51|:80... connected.
 14HTTP request sent, awaiting response... 200 OK
 15Length: 41700 (41K) [application/x-gzip]
 16Saving to: “ipvsadm-1.26.tar.gz”
 17
 18100%[===================================================================================================================================>] 41,700       193K/s   in 0.2s
 19
 202018-11-02 02:55:25 (193 KB/s) - “ipvsadm-1.26.tar.gz” saved [41700/41700]
 21
 22[root@lvs_rip_web01 tools]# ls
 23ipvsadm-1.26.tar.gz
 24[root@lvs_rip_web01 tools]# rpm -qa libnl* popt*
 25popt-1.13-7.el6.x86_64
 26libnl-1.1.4-2.el6.x86_64
 27
 28[root@lvs_rip_web01 tools]#
 29[root@lvs_rip_web01 tools]# yum install libnl* popt* -y
 30Loaded plugins: fastestmirror, security
 31Setting up Install Process
 32Determining fastest mirrors
 33* base: mirrors.njupt.edu.cn
 34* extras: mirrors.njupt.edu.cn
 35* updates: ftp.sjtu.edu.cn
 36base                                                                                                                                                  | 3.7 kB     00:00
 37http://mirrors.njupt.edu.cn/centos/6.10/os/x86_64/repodata/1aa8754bde2f3921d67cca4bb70d9f587fb858a24cc3d1f66d3315292a89fc20-primary.sqlite.bz2: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
 38Trying other mirror.
 39base/primary_db                                                                                                                                       | 4.7 MB     00:00
 40extras                                                                                                                                                | 3.4 kB     00:00
 41http://mirrors.njupt.edu.cn/centos/6.10/extras/x86_64/repodata/0eb1b6b805b166a5f14cd3ad42db731169281d059ffbcdb1ebc157c0e4f675cf-primary.sqlite.bz2: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
 42Trying other mirror.
 43extras/primary_db                                                                                                                                     |  26 kB     00:00
 44updates                                                                                                                                               | 3.4 kB     00:00
 45updates/primary_db                                                                                                                                    | 1.9 MB     00:00
 46Package libnl-1.1.4-2.el6.x86_64 already installed and latest version
 47Package popt-1.13-7.el6.x86_64 already installed and latest version
 48Resolving Dependencies
 49--> Running transaction check
 50---> Package libnl-devel.x86_64 0:1.1.4-2.el6 will be installed
 51---> Package libnl3.x86_64 0:3.2.21-8.el6 will be installed
 52---> Package libnl3-cli.x86_64 0:3.2.21-8.el6 will be installed
 53---> Package libnl3-devel.x86_64 0:3.2.21-8.el6 will be installed
 54---> Package libnl3-doc.x86_64 0:3.2.21-8.el6 will be installed
 55---> Package popt-devel.x86_64 0:1.13-7.el6 will be installed
 56---> Package popt-static.x86_64 0:1.13-7.el6 will be installed
 57--> Finished Dependency Resolution
 58
 59Dependencies Resolved
 60
 61=============================================================================================================================================================================
 62Package                                      Arch                                   Version                                      Repository                            Size
 63=============================================================================================================================================================================
 64Installing:
 65libnl-devel                                  x86_64                                 1.1.4-2.el6                                  base                                 707 k
 66libnl3                                       x86_64                                 3.2.21-8.el6                                 base                                 183 k
 67libnl3-cli                                   x86_64                                 3.2.21-8.el6                                 base                                  58 k
 68libnl3-devel                                 x86_64                                 3.2.21-8.el6                                 base                                  56 k
 69libnl3-doc                                   x86_64                                 3.2.21-8.el6                                 base                                  10 M
 70popt-devel                                   x86_64                                 1.13-7.el6                                   base                                  21 k
 71popt-static                                  x86_64                                 1.13-7.el6                                   base                                  21 k
 72
 73Transaction Summary
 74=============================================================================================================================================================================
 75Install       7 Package(s)
 76
 77Total download size: 11 M
 78Installed size: 30 M
 79Downloading Packages:
 80(1/7): libnl-devel-1.1.4-2.el6.x86_64.rpm                                                                                                             | 707 kB     00:00
 81(2/7): libnl3-3.2.21-8.el6.x86_64.rpm                                                                                                                 | 183 kB     00:00
 82(3/7): libnl3-cli-3.2.21-8.el6.x86_64.rpm                                                                                                             |  58 kB     00:00
 83(4/7): libnl3-devel-3.2.21-8.el6.x86_64.rpm                                                                                                           |  56 kB     00:00
 84(5/7): libnl3-doc-3.2.21-8.el6.x86_64.rpm                                                                                                             |  10 MB     00:02
 85(6/7): popt-devel-1.13-7.el6.x86_64.rpm                                                                                                               |  21 kB     00:00
 86(7/7): popt-static-1.13-7.el6.x86_64.rpm                                                                                                              |  21 kB     00:00
 87-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 88Total                                                                                                                                        4.0 MB/s |  11 MB     00:02
 89Running rpm_check_debug
 90Running Transaction Test
 91Transaction Test Succeeded
 92Running Transaction
 93Installing : libnl3-3.2.21-8.el6.x86_64                                                                                                                                1/7
 94Installing : libnl3-cli-3.2.21-8.el6.x86_64                                                                                                                            2/7
 95Installing : popt-devel-1.13-7.el6.x86_64                                                                                                                              3/7
 96Installing : popt-static-1.13-7.el6.x86_64                                                                                                                             4/7
 97Installing : libnl3-devel-3.2.21-8.el6.x86_64                                                                                                                          5/7
 98Installing : libnl3-doc-3.2.21-8.el6.x86_64                                                                                                                            6/7
 99Installing : libnl-devel-1.1.4-2.el6.x86_64                                                                                                                            7/7
100Verifying  : libnl3-devel-3.2.21-8.el6.x86_64                                                                                                                          1/7
101Verifying  : libnl-devel-1.1.4-2.el6.x86_64                                                                                                                            2/7
102Verifying  : popt-static-1.13-7.el6.x86_64                                                                                                                             3/7
103Verifying  : popt-devel-1.13-7.el6.x86_64                                                                                                                              4/7
104Verifying  : libnl3-cli-3.2.21-8.el6.x86_64                                                                                                                            5/7
105Verifying  : libnl3-3.2.21-8.el6.x86_64                                                                                                                                6/7
106Verifying  : libnl3-doc-3.2.21-8.el6.x86_64                                                                                                                            7/7
107
108Installed:
109libnl-devel.x86_64 0:1.1.4-2.el6  libnl3.x86_64 0:3.2.21-8.el6     libnl3-cli.x86_64 0:3.2.21-8.el6  libnl3-devel.x86_64 0:3.2.21-8.el6  libnl3-doc.x86_64 0:3.2.21-8.el6
110popt-devel.x86_64 0:1.13-7.el6    popt-static.x86_64 0:1.13-7.el6
111
112Complete!
113[root@lvs_rip_web01 tools]# rpm -qa libnl* popt*
114libnl3-3.2.21-8.el6.x86_64
115libnl3-devel-3.2.21-8.el6.x86_64
116popt-1.13-7.el6.x86_64
117libnl-1.1.4-2.el6.x86_64
118libnl3-cli-3.2.21-8.el6.x86_64
119popt-static-1.13-7.el6.x86_64
120libnl3-doc-3.2.21-8.el6.x86_64
121popt-devel-1.13-7.el6.x86_64
122libnl-devel-1.1.4-2.el6.x86_64
123[root@lvs_rip_web01 tools]# ls
124ipvsadm-1.26.tar.gz
125[root@lvs_rip_web01 tools]# tar -xf ipvsadm-1.26.tar.gz
126[root@lvs_rip_web01 tools]# ls
127ipvsadm-1.26  ipvsadm-1.26.tar.gz
128[root@lvs_rip_web01 tools]# cd ipvsadm-1.26
129[root@lvs_rip_web01 ipvsadm-1.26]# ls
130config_stream.c  contrib  dynamic_array.c  ipvsadm.8  ipvsadm-restore    ipvsadm-save    ipvsadm.sh    ipvsadm.spec.in  Makefile             README      VERSION
131config_stream.h  debian   dynamic_array.h  ipvsadm.c  ipvsadm-restore.8  ipvsadm-save.8  ipvsadm.spec  libipvs          PERSISTENCE_ENGINES  SCHEDULERS
132[root@lvs_rip_web01 ipvsadm-1.26]# make
133make -C libipvs
134make[1]: Entering directory `/home/tools/ipvsadm-1.26/libipvs'`
135gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL  -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c
136gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL  -DHAVE_NET_IP_VS_H -c -o ip_vs_nl_policy.o ip_vs_nl_policy.c
137ar rv libipvs.a libipvs.o ip_vs_nl_policy.o
138ar: creating libipvs.a
139a - libipvs.o
140a - ip_vs_nl_policy.o
141gcc -shared -Wl,-soname,libipvs.so -o libipvs.so libipvs.o ip_vs_nl_policy.o
142make[1]: Leaving directory `/home/tools/ipvsadm-1.26/libipvs'`
143gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o ipvsadm.o ipvsadm.c
144ipvsadm.c: In function ‘print_largenum’:
145ipvsadm.c:1383: warning: field width should have type ‘int’, but argument 2 has type ‘size_t’
146gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o config_stream.o config_stream.c
147gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o dynamic_array.o dynamic_array.c
148gcc -Wall -Wunused -Wstrict-prototypes -g -o ipvsadm ipvsadm.o config_stream.o dynamic_array.o libipvs/libipvs.a -lpopt -lnl
149[root@lvs_rip_web01 ipvsadm-1.26]# echo $?
1500
151[root@lvs_rip_web01 ipvsadm-1.26]# make install
152make -C libipvs
153make[1]: Entering directory `/home/tools/ipvsadm-1.26/libipvs'`
154make[1]: Nothing to be done for `all'.`
155make[1]: Leaving directory `/home/tools/ipvsadm-1.26/libipvs'`
156if [ ! -d /sbin ]; then mkdir -p /sbin; fi
157install -m 0755 ipvsadm /sbin
158install -m 0755 ipvsadm-save /sbin
159install -m 0755 ipvsadm-restore /sbin
160[ -d /usr/man/man8 ] || mkdir -p /usr/man/man8
161install -m 0644 ipvsadm.8 /usr/man/man8
162install -m 0644 ipvsadm-save.8 /usr/man/man8
163install -m 0644 ipvsadm-restore.8 /usr/man/man8
164[ -d /etc/rc.d/init.d ] || mkdir -p /etc/rc.d/init.d
165install -m 0755 ipvsadm.sh /etc/rc.d/init.d/ipvsadm
166[root@lvs_rip_web01 ipvsadm-1.26]#
167[root@lvs_rip_web01 ipvsadm-1.26]#
168[root@lvs_rip_web01 ipvsadm-1.26]# lsmod|grep ip_vs
169[root@lvs_rip_web01 ipvsadm-1.26]# /sbin/ipvsadm
170IP Virtual Server version 1.2.1 (size=4096)
171Prot LocalAddress:Port Scheduler Flags
172-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
173[root@lvs_rip_web01 ipvsadm-1.26]#
174[root@lvs_rip_web01 ipvsadm-1.26]# lsmod|grep ip_vs
175ip_vs                 125694  0
176libcrc32c               1246  1 ip_vs
177ipv6                  334932  270 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
178[root@lvs_rip_web01 ipvsadm-1.26]#
179[root@lvs_rip_web01 ipvsadm-1.26]# ipvsadm -L -n
180IP Virtual Server version 1.2.1 (size=4096)
181Prot LocalAddress:Port Scheduler Flags
182-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
183[root@lvs_rip_web01 ipvsadm-1.26]# ifconfig lo:0 192.168.161.250/32
184[root@lvs_rip_web01 ipvsadm-1.26]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
185[root@lvs_rip_web01 ipvsadm-1.26]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
186[root@lvs_rip_web01 ipvsadm-1.26]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_announce
187[root@lvs_rip_web01 ipvsadm-1.26]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_ignore
188[root@lvs_rip_web01 ipvsadm-1.26]#
189[root@lvs_rip_web01 ipvsadm-1.26]# yum install httpd -y
190Loaded plugins: fastestmirror, security
191Setting up Install Process
192Loading mirror speeds from cached hostfile
193* base: mirrors.njupt.edu.cn
194* extras: mirrors.njupt.edu.cn
195* updates: ftp.sjtu.edu.cn
196Resolving Dependencies
197--> Running transaction check
198---> Package httpd.x86_64 0:2.2.15-69.el6.centos will be installed
199--> Processing Dependency: httpd-tools = 2.2.15-69.el6.centos for package: httpd-2.2.15-69.el6.centos.x86_64
200--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-69.el6.centos.x86_64
201--> Running transaction check
202---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
203---> Package httpd-tools.x86_64 0:2.2.15-69.el6.centos will be installed
204--> Finished Dependency Resolution
205
206Dependencies Resolved
207
208================================================================================================================================================
209Package                             Arch                         Version                                      Repository                  Size
210================================================================================================================================================
211Installing:
212httpd                               x86_64                       2.2.15-69.el6.centos                         base                       836 k
213Installing for dependencies:
214apr-util-ldap                       x86_64                       1.3.9-3.el6_0.1                              base                        15 k
215httpd-tools                         x86_64                       2.2.15-69.el6.centos                         base                        81 k
216
217Transaction Summary
218================================================================================================================================================
219Install       3 Package(s)
220
221Total download size: 932 k
222Installed size: 3.2 M
223Downloading Packages:
224(1/3): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm                                                                          |  15 kB     00:00
225http://mirrors.njupt.edu.cn/centos/6.10/os/x86_64/Packages/httpd-2.2.15-69.el6.centos.x86_64.rpm: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
226Trying other mirror.
227(2/3): httpd-2.2.15-69.el6.centos.x86_64.rpm                                                                             | 836 kB     00:00
228(3/3): httpd-tools-2.2.15-69.el6.centos.x86_64.rpm                                                                       |  81 kB     00:00
229------------------------------------------------------------------------------------------------------------------------------------------------
230Total                                                                                                            43 kB/s | 932 kB     00:21
231Running rpm_check_debug
232Running Transaction Test
233Transaction Test Succeeded
234Running Transaction
235Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                         1/3
236Installing : httpd-tools-2.2.15-69.el6.centos.x86_64                                                                                      2/3
237Installing : httpd-2.2.15-69.el6.centos.x86_64                                                                                            3/3
238Verifying  : httpd-tools-2.2.15-69.el6.centos.x86_64                                                                                      1/3
239Verifying  : httpd-2.2.15-69.el6.centos.x86_64                                                                                            2/3
240Verifying  : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                         3/3
241
242Installed:
243httpd.x86_64 0:2.2.15-69.el6.centos
244
245Dependency Installed:
246apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1                                httpd-tools.x86_64 0:2.2.15-69.el6.centos
247
248Complete!
249[root@lvs_rip_web01 ipvsadm-1.26]#     ntpdate pool.ntp.org
250    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
251    setenforce 0
252    /etc/init.d/iptables stop
253    chkconfig iptables off
2541 Nov 19:18:07 ntpdate[1732]: step time server 87.120.166.8 offset -28800.933704 sec
255[root@lvs_rip_web01 ipvsadm-1.26]#     sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
256[root@lvs_rip_web01 ipvsadm-1.26]#     setenforce 0
257[root@lvs_rip_web01 ipvsadm-1.26]#     /etc/init.d/iptables stop
258iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
259iptables: Flushing firewall rules:                         [  OK  ]
260iptables: Unloading modules:                               [  OK  ]
261[root@lvs_rip_web01 ipvsadm-1.26]#     chkconfig iptables off
262[root@lvs_rip_web01 ipvsadm-1.26]# sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
263[root@lvs_rip_web01 ipvsadm-1.26]# /etc/init.d/httpd start
264Starting httpd:                                            [  OK  ]
265[root@lvs_rip_web01 ipvsadm-1.26]# ll /var/www/html/
266total 0
267[root@lvs_rip_web01 ipvsadm-1.26]# echo '192.168.161.141    this lvs is working'>>/var/www/html/index.html

15.2.2.2.4. lvs_rip_web02安装配置过程

安装配置过程:

  1[root@lvs_rip_web02 ~]# mkdir /home/tools -p
  2[root@lvs_rip_web02 ~]# ll /home
  3total 4
  4drwxr-xr-x. 2 root root 4096 Nov  2 02:51 tools
  5[root@lvs_rip_web02 ~]# lsmod|grep ip_vs
  6[root@lvs_rip_web02 ~]# cd /home/tools
  7[root@lvs_rip_web02 tools]# pwd
  8/home/tools
  9[root@lvs_rip_web02 tools]# ls
 10[root@lvs_rip_web02 tools]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
 11--2018-11-02 02:55:23--  http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
 12Resolving www.linuxvirtualserver.org... 173.255.202.51, 2600:3c00::f03c:91ff:fe96:fcc2
 13Connecting to www.linuxvirtualserver.org|173.255.202.51|:80... connected.
 14HTTP request sent, awaiting response... 200 OK
 15Length: 41700 (41K) [application/x-gzip]
 16Saving to: “ipvsadm-1.26.tar.gz”
 17
 18100%[===================================================================================================================================>] 41,700       189K/s   in 0.2s
 19
 202018-11-02 02:55:25 (189 KB/s) - “ipvsadm-1.26.tar.gz” saved [41700/41700]
 21
 22[root@lvs_rip_web02 tools]# ls
 23ipvsadm-1.26.tar.gz
 24[root@lvs_rip_web02 tools]# rpm -qa libnl* popt*
 25popt-1.13-7.el6.x86_64
 26libnl-1.1.4-2.el6.x86_64
 27
 28[root@lvs_rip_web02 tools]#
 29[root@lvs_rip_web02 tools]# yum install libnl* popt* -y
 30Loaded plugins: fastestmirror, security
 31Setting up Install Process
 32Determining fastest mirrors
 33* base: mirrors.huaweicloud.com
 34* extras: mirrors.huaweicloud.com
 35* updates: mirrors.huaweicloud.com
 36base                                                                                                                                                  | 3.7 kB     00:00
 37base/primary_db                                                                                                                                       | 4.7 MB     00:00
 38extras                                                                                                                                                | 3.4 kB     00:00
 39extras/primary_db                                                                                                                                     |  26 kB     00:00
 40updates                                                                                                                                               | 3.4 kB     00:00
 41updates/primary_db                                                                                                                                    | 1.9 MB     00:00
 42Package libnl-1.1.4-2.el6.x86_64 already installed and latest version
 43Package popt-1.13-7.el6.x86_64 already installed and latest version
 44Resolving Dependencies
 45--> Running transaction check
 46---> Package libnl-devel.x86_64 0:1.1.4-2.el6 will be installed
 47---> Package libnl3.x86_64 0:3.2.21-8.el6 will be installed
 48---> Package libnl3-cli.x86_64 0:3.2.21-8.el6 will be installed
 49---> Package libnl3-devel.x86_64 0:3.2.21-8.el6 will be installed
 50---> Package libnl3-doc.x86_64 0:3.2.21-8.el6 will be installed
 51---> Package popt-devel.x86_64 0:1.13-7.el6 will be installed
 52---> Package popt-static.x86_64 0:1.13-7.el6 will be installed
 53--> Finished Dependency Resolution
 54
 55Dependencies Resolved
 56
 57=============================================================================================================================================================================
 58Package                                      Arch                                   Version                                      Repository                            Size
 59=============================================================================================================================================================================
 60Installing:
 61libnl-devel                                  x86_64                                 1.1.4-2.el6                                  base                                 707 k
 62libnl3                                       x86_64                                 3.2.21-8.el6                                 base                                 183 k
 63libnl3-cli                                   x86_64                                 3.2.21-8.el6                                 base                                  58 k
 64libnl3-devel                                 x86_64                                 3.2.21-8.el6                                 base                                  56 k
 65libnl3-doc                                   x86_64                                 3.2.21-8.el6                                 base                                  10 M
 66popt-devel                                   x86_64                                 1.13-7.el6                                   base                                  21 k
 67popt-static                                  x86_64                                 1.13-7.el6                                   base                                  21 k
 68
 69Transaction Summary
 70=============================================================================================================================================================================
 71Install       7 Package(s)
 72
 73Total download size: 11 M
 74Installed size: 30 M
 75Downloading Packages:
 76(1/7): libnl-devel-1.1.4-2.el6.x86_64.rpm                                                                                                             | 707 kB     00:00
 77(2/7): libnl3-3.2.21-8.el6.x86_64.rpm                                                                                                                 | 183 kB     00:00
 78(3/7): libnl3-cli-3.2.21-8.el6.x86_64.rpm                                                                                                             |  58 kB     00:00
 79(4/7): libnl3-devel-3.2.21-8.el6.x86_64.rpm                                                                                                           |  56 kB     00:00
 80(5/7): libnl3-doc-3.2.21-8.el6.x86_64.rpm                                                                                                             |  10 MB     00:02
 81(6/7): popt-devel-1.13-7.el6.x86_64.rpm                                                                                                               |  21 kB     00:00
 82(7/7): popt-static-1.13-7.el6.x86_64.rpm                                                                                                              |  21 kB     00:00
 83-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 84Total                                                                                                                                        3.7 MB/s |  11 MB     00:02
 85Running rpm_check_debug
 86Running Transaction Test
 87Transaction Test Succeeded
 88Running Transaction
 89Installing : libnl3-3.2.21-8.el6.x86_64                                                                                                                                1/7
 90Installing : libnl3-cli-3.2.21-8.el6.x86_64                                                                                                                            2/7
 91Installing : popt-devel-1.13-7.el6.x86_64                                                                                                                              3/7
 92Installing : popt-static-1.13-7.el6.x86_64                                                                                                                             4/7
 93Installing : libnl3-devel-3.2.21-8.el6.x86_64                                                                                                                          5/7
 94Installing : libnl3-doc-3.2.21-8.el6.x86_64                                                                                                                            6/7
 95Installing : libnl-devel-1.1.4-2.el6.x86_64                                                                                                                            7/7
 96Verifying  : libnl3-devel-3.2.21-8.el6.x86_64                                                                                                                          1/7
 97Verifying  : libnl-devel-1.1.4-2.el6.x86_64                                                                                                                            2/7
 98Verifying  : popt-static-1.13-7.el6.x86_64                                                                                                                             3/7
 99Verifying  : popt-devel-1.13-7.el6.x86_64                                                                                                                              4/7
100Verifying  : libnl3-cli-3.2.21-8.el6.x86_64                                                                                                                            5/7
101Verifying  : libnl3-3.2.21-8.el6.x86_64                                                                                                                                6/7
102Verifying  : libnl3-doc-3.2.21-8.el6.x86_64                                                                                                                            7/7
103
104Installed:
105libnl-devel.x86_64 0:1.1.4-2.el6  libnl3.x86_64 0:3.2.21-8.el6     libnl3-cli.x86_64 0:3.2.21-8.el6  libnl3-devel.x86_64 0:3.2.21-8.el6  libnl3-doc.x86_64 0:3.2.21-8.el6
106popt-devel.x86_64 0:1.13-7.el6    popt-static.x86_64 0:1.13-7.el6
107
108Complete!
109[root@lvs_rip_web02 tools]# rpm -qa libnl* popt*
110libnl3-3.2.21-8.el6.x86_64
111libnl3-devel-3.2.21-8.el6.x86_64
112popt-1.13-7.el6.x86_64
113libnl-1.1.4-2.el6.x86_64
114libnl3-cli-3.2.21-8.el6.x86_64
115popt-static-1.13-7.el6.x86_64
116libnl3-doc-3.2.21-8.el6.x86_64
117popt-devel-1.13-7.el6.x86_64
118libnl-devel-1.1.4-2.el6.x86_64
119[root@lvs_rip_web02 tools]# ls
120ipvsadm-1.26.tar.gz
121[root@lvs_rip_web02 tools]# tar -xf ipvsadm-1.26.tar.gz
122[root@lvs_rip_web02 tools]# ls
123ipvsadm-1.26  ipvsadm-1.26.tar.gz
124[root@lvs_rip_web02 tools]# cd ipvsadm-1.26
125[root@lvs_rip_web02 ipvsadm-1.26]# ls
126config_stream.c  contrib  dynamic_array.c  ipvsadm.8  ipvsadm-restore    ipvsadm-save    ipvsadm.sh    ipvsadm.spec.in  Makefile             README      VERSION
127config_stream.h  debian   dynamic_array.h  ipvsadm.c  ipvsadm-restore.8  ipvsadm-save.8  ipvsadm.spec  libipvs          PERSISTENCE_ENGINES  SCHEDULERS
128[root@lvs_rip_web02 ipvsadm-1.26]# make
129make -C libipvs
130make[1]: Entering directory `/home/tools/ipvsadm-1.26/libipvs'`
131gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL  -DHAVE_NET_IP_VS_H -c -o libipvs.o libipvs.c
132gcc -Wall -Wunused -Wstrict-prototypes -g -fPIC -DLIBIPVS_USE_NL  -DHAVE_NET_IP_VS_H -c -o ip_vs_nl_policy.o ip_vs_nl_policy.c
133ar rv libipvs.a libipvs.o ip_vs_nl_policy.o
134ar: creating libipvs.a
135a - libipvs.o
136a - ip_vs_nl_policy.o
137gcc -shared -Wl,-soname,libipvs.so -o libipvs.so libipvs.o ip_vs_nl_policy.o
138make[1]: Leaving directory `/home/tools/ipvsadm-1.26/libipvs'`
139gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o ipvsadm.o ipvsadm.c
140ipvsadm.c: In function ‘print_largenum’:
141ipvsadm.c:1383: warning: field width should have type ‘int’, but argument 2 has type ‘size_t’
142gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o config_stream.o config_stream.c
143gcc -Wall -Wunused -Wstrict-prototypes -g  -DVERSION=\"1.26\" -DSCHEDULERS=\""rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq"\" -DPE_LIST=\""sip"\" -DHAVE_POPT -DHAVE_NET_IP_VS_H -c -o dynamic_array.o dynamic_array.c
144gcc -Wall -Wunused -Wstrict-prototypes -g -o ipvsadm ipvsadm.o config_stream.o dynamic_array.o libipvs/libipvs.a -lpopt -lnl
145[root@lvs_rip_web02 ipvsadm-1.26]# echo $?
1460
147[root@lvs_rip_web02 ipvsadm-1.26]# make install
148make -C libipvs
149make[1]: Entering directory `/home/tools/ipvsadm-1.26/libipvs'`
150make[1]: Nothing to be done for `all'.`
151make[1]: Leaving directory `/home/tools/ipvsadm-1.26/libipvs'`
152if [ ! -d /sbin ]; then mkdir -p /sbin; fi
153install -m 0755 ipvsadm /sbin
154install -m 0755 ipvsadm-save /sbin
155install -m 0755 ipvsadm-restore /sbin
156[ -d /usr/man/man8 ] || mkdir -p /usr/man/man8
157install -m 0644 ipvsadm.8 /usr/man/man8
158install -m 0644 ipvsadm-save.8 /usr/man/man8
159install -m 0644 ipvsadm-restore.8 /usr/man/man8
160[ -d /etc/rc.d/init.d ] || mkdir -p /etc/rc.d/init.d
161install -m 0755 ipvsadm.sh /etc/rc.d/init.d/ipvsadm
162[root@lvs_rip_web02 ipvsadm-1.26]#
163[root@lvs_rip_web02 ipvsadm-1.26]#
164[root@lvs_rip_web02 ipvsadm-1.26]# lsmod|grep ip_vs
165[root@lvs_rip_web02 ipvsadm-1.26]# /sbin/ipvsadm
166IP Virtual Server version 1.2.1 (size=4096)
167Prot LocalAddress:Port Scheduler Flags
168-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
169[root@lvs_rip_web02 ipvsadm-1.26]#
170[root@lvs_rip_web02 ipvsadm-1.26]# lsmod|grep ip_vs
171ip_vs                 125694  0
172libcrc32c               1246  1 ip_vs
173ipv6                  334932  270 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
174[root@lvs_rip_web02 ipvsadm-1.26]#
175[root@lvs_rip_web02 ipvsadm-1.26]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
176[root@lvs_rip_web02 ipvsadm-1.26]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
177[root@lvs_rip_web02 ipvsadm-1.26]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_announce
178[root@lvs_rip_web02 ipvsadm-1.26]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_ignore
179[root@lvs_rip_web02 ipvsadm-1.26]# ipvsadm -L -n
180IP Virtual Server version 1.2.1 (size=4096)
181Prot LocalAddress:Port Scheduler Flags
182-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
183[root@lvs_rip_web02 ipvsadm-1.26]# ifconfig lo:0 192.168.161.250/32
184[root@lvs_rip_web02 ipvsadm-1.26]#
185[root@lvs_rip_web02 ipvsadm-1.26]# yum install httpd -y
186Loaded plugins: fastestmirror, security
187Setting up Install Process
188Loading mirror speeds from cached hostfile
189* base: mirrors.huaweicloud.com
190* extras: mirrors.huaweicloud.com
191* updates: mirrors.huaweicloud.com
192Resolving Dependencies
193--> Running transaction check
194---> Package httpd.x86_64 0:2.2.15-69.el6.centos will be installed
195--> Processing Dependency: httpd-tools = 2.2.15-69.el6.centos for package: httpd-2.2.15-69.el6.centos.x86_64
196--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-69.el6.centos.x86_64
197--> Running transaction check
198---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
199---> Package httpd-tools.x86_64 0:2.2.15-69.el6.centos will be installed
200--> Finished Dependency Resolution
201
202Dependencies Resolved
203
204================================================================================================================================================
205Package                             Arch                         Version                                      Repository                  Size
206================================================================================================================================================
207Installing:
208httpd                               x86_64                       2.2.15-69.el6.centos                         base                       836 k
209Installing for dependencies:
210apr-util-ldap                       x86_64                       1.3.9-3.el6_0.1                              base                        15 k
211httpd-tools                         x86_64                       2.2.15-69.el6.centos                         base                        81 k
212
213Transaction Summary
214================================================================================================================================================
215Install       3 Package(s)
216
217Total download size: 932 k
218Installed size: 3.2 M
219Downloading Packages:
220(1/3): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm                                                                          |  15 kB     00:00
221(2/3): httpd-2.2.15-69.el6.centos.x86_64.rpm                                                                             | 836 kB     00:00
222(3/3): httpd-tools-2.2.15-69.el6.centos.x86_64.rpm                                                                       |  81 kB     00:00
223------------------------------------------------------------------------------------------------------------------------------------------------
224Total                                                                                                           2.6 MB/s | 932 kB     00:00
225Running rpm_check_debug
226Running Transaction Test
227Transaction Test Succeeded
228Running Transaction
229Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                         1/3
230Installing : httpd-tools-2.2.15-69.el6.centos.x86_64                                                                                      2/3
231Installing : httpd-2.2.15-69.el6.centos.x86_64                                                                                            3/3
232Verifying  : httpd-tools-2.2.15-69.el6.centos.x86_64                                                                                      1/3
233Verifying  : httpd-2.2.15-69.el6.centos.x86_64                                                                                            2/3
234Verifying  : apr-util-ldap-1.3.9-3.el6_0.1.x86_64                                                                                         3/3
235
236Installed:
237httpd.x86_64 0:2.2.15-69.el6.centos
238
239Dependency Installed:
240apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1                                httpd-tools.x86_64 0:2.2.15-69.el6.centos
241
242Complete!
243[root@lvs_rip_web02 ipvsadm-1.26]#     ntpdate pool.ntp.org
244    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
245    setenforce 0
246    /etc/init.d/iptables stop
247    chkconfig iptables off
2481 Nov 19:18:08 ntpdate[1629]: step time server 87.120.166.8 offset -28800.981356 sec
249[root@lvs_rip_web02 ipvsadm-1.26]#     sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
250[root@lvs_rip_web02 ipvsadm-1.26]#     setenforce 0
251[root@lvs_rip_web02 ipvsadm-1.26]#     /etc/init.d/iptables stop
252iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
253iptables: Flushing firewall rules:                         [  OK  ]
254iptables: Unloading modules:                               [  OK  ]
255[root@lvs_rip_web02 ipvsadm-1.26]#     chkconfig iptables off
256[root@lvs_rip_web02 ipvsadm-1.26]# sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf
257[root@lvs_rip_web02 ipvsadm-1.26]# /etc/init.d/httpd start
258Starting httpd:                                            [  OK  ]
259[root@lvs_rip_web02 ipvsadm-1.26]# ll /var/www/html/
260total 0
261[root@lvs_rip_web02 ipvsadm-1.26]# echo '192.168.161.142    this lvs is working'>>/var/www/html/index.html

15.2.2.3. 测试

15.2.2.3.1. lvs_vip_01本地测试

1[root@lvs_vip_01 ipvsadm-1.26]# curl http://192.168.161.142
2192.168.161.142    this lvs is working
3[root@lvs_vip_01 ipvsadm-1.26]# curl http://192.168.161.141
4192.168.161.141    this lvs is working

15.2.2.3.2. lvs_rip_web01本地测试

1[root@lvs_rip_web01 ipvsadm-1.26]# curl http://192.168.161.141
2192.168.161.141    this lvs is working

15.2.2.3.3. lvs_rip_web02本地测试

1[root@lvs_rip_web02 ipvsadm-1.26]# curl http://192.168.161.142
2192.168.161.142    this lvs is working

15.2.2.3.4. 抓包分析

  1. 以下三台服务器都运行相应的命令
    • lvs_vip_01

      tcpdump -i eth0:0 dst port 80

    • lvs_rip_web01

      tcpdump -i eth0 src host 192.168.161.137 or dst host 192.168.161.137

    • lvs_rip_web02

      tcpdump -i eth0 src host 192.168.161.137 or dst host 192.168.161.137

  2. 从本地另一个IP为: 192.168.161.137 访问,即运行命令: curl http://192.168.161.250

  3. 查看监控的抓包信息:

15.2.2.4. 开机自启动

需要编写脚本校验然后开启。也可以结合keepalive做。