搭建环境说明

本次实现用到了6台节点,实现一个小型的Lvs负载调度

节点1客户端配置代表互联网用户

[root@centos7 network-scripts]# vi ifcfg-ens37 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=172.20.0.222
NETMASK=255.255.0.0
GATEWAY=172.20.0.80
DNS=172.20.127.159
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
UUID=d4341ea9-dfc5-4eb4-8f08-6349b7315cd8
DEVICE=ens37
ONBOOT=yes
PEERDNS=no

网卡配置

[root@centos7 network-scripts]# ip addr
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::6e:7f:0b brd ff:ff:ff:ff:ff:ff
inet 172.20.0.222/ brd 172.20.255.255 scope global ens37
valid_lft forever preferred_lft forever
inet6 fe80:::eb6f:c485:527e/ scope link
valid_lft forever preferred_lft forever
: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu qdisc noqueue state DOWN qlen
link/ether :::e0:: brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/ brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
: virbr0-nic: <BROADCAST,MULTICAST> mtu qdisc pfifo_fast master virbr0 state DOWN qlen
link/ether :::e0:: brd ff:ff:ff:ff:ff:ff #路由配置
[root@centos7 network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.0.80 0.0.0.0 UG ens37
172.20.0.0 0.0.0.0 255.255.0.0 U ens37
192.168.122.0 0.0.0.0 255.255.255.0 U virbr0

路由和网络

[root@centos7 network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.20.127.159
[root@centos7 network-scripts]#

配置DNS

节点2DNS服务器

[root@localhost ~]# ip addr
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::f6::d2 brd ff:ff:ff:ff:ff:ff
inet 172.20.127.159/ brd 172.20.255.255 scope global dynamic ens33
valid_lft 77367sec preferred_lft 77367sec
inet 172.20.127.160/ brd 172.20.255.255 scope global secondary ens33
valid_lft forever preferred_lft forever
inet6 fe80::c4be:ccbf:ed3c:f146/ scope link
valid_lft forever preferred_lft forever
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.0.1 0.0.0.0 UG ens33
172.20.0.0 0.0.0.0 255.255.0.0 U ens33

网络和路由

[root@localhost network-scripts]# vi ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
IPADDR=172.20.127.160
NETMASK=255.255.0.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9eb578d3--478f-9f9f-8a75dc50b157
DEVICE=ens33
ONBOOT=yes

网卡配置

节点3路由器

[root@localhost network-scripts]# vi ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=172.20.0.80
NETMASK=255.255.0.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes [root@localhost network-scripts]# vi ifcfg-ens37 TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.30.200
NETMASK=255.255.255.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
DEVICE=ens37
ONBOOT=yes

网卡配置

[root@localhost network-scripts]# ip addr
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::3b:b5: brd ff:ff:ff:ff:ff:ff
inet 172.20.0.80/ brd 172.20.255.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::fa59:9f2f:aa03:/ scope link
valid_lft forever preferred_lft forever
: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::3b:b5: brd ff:ff:ff:ff:ff:ff
inet 192.168.30.200/ brd 192.168.30.255 scope global ens37
valid_lft forever preferred_lft forever
inet 10.0.0.100/ scope global ens37
valid_lft forever preferred_lft forever
inet6 fe80::7c:88e7::b883/ scope link
valid_lft forever preferred_lft forever [root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 10.0.0.200 255.255.255.255 UGH ens37
10.0.0.0 0.0.0.0 255.255.255.0 U ens37
172.20.0.0 0.0.0.0 255.255.0.0 U ens33
192.168.30.0 0.0.0.0 255.255.255.0 U ens37

路由表

开启路由包转发

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

sysctl -p               ----加载,使得配置文件立即生效

节点4Lvs服务器

1.安装lvs客户端管理工具包

[root@localhost network-scripts]# yum install ipvsadm

[root@localhost network-scripts]# vi ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.30.7
NETMASK=255.255.255.0
GATEWAY=192.168.30.200
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9eb578d3--478f-9f9f-8a75dc50b157
DEVICE=ens33
ONBOOT=yes [root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.0.1 0.0.0.0 UG ens37
0.0.0.0 192.168.30.200 0.0.0.0 UG ens33
10.0.0.0 0.0.0.0 255.255.255.0 U ens37
172.20.0.0 0.0.0.0 255.255.0.0 U ens37
192.168.30.0 0.0.0.0 255.255.255.0 U ens33 [root@localhost network-scripts]# ip addr
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::a6:8d:ce brd ff:ff:ff:ff:ff:ff
inet 192.168.30.7/ brd 192.168.30.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80:::d83b:6d7a:226d/ scope link
valid_lft forever preferred_lft forever
: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::a6:8d:d8 brd ff:ff:ff:ff:ff:ff
inet 172.20.127.175/ brd 172.20.255.255 scope global dynamic ens37
valid_lft 81555sec preferred_lft 81555sec
inet 10.0.0.200/ scope global ens37
valid_lft forever preferred_lft forever
inet6 fe80::80ef:9ba0::/ scope link
valid_lft forever preferred_lft forever

网卡配置和路由

[root@localhost network-scripts]# ipvsadm -A -t 10.0.0.200: -s rr
[root@localhost network-scripts]# ipvsadm -a -t 10.0.0.200: -r 192.168.30.17
[root@localhost network-scripts]# ipvsadm -a -t 10.0.0.200: -r 192.168.30.27
[root@localhost network-scripts]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.200: rr
-> 192.168.30.17: Route
-> 192.168.30.27: Route

lvs设置命令

节点5webserver1

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.30.17
NETMASK=255.255.255.0
GATEWAY=192.168.30.200
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9eb578d3--478f-9f9f-8a75dc50b157
DEVICE=ens33
ONBOOT=yes [root@localhost html]# ip addr a 10.0.0.200/ dev ens33
[root@localhost html]# cd /proc/sys/net/ipv4/conf/all
[root@localhost all]# echo > arp_ignore
[root@localhost all]# echo > arp_announce

网络配置

节点6webserver2

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.30.27
NETMASK=255.255.255.0
GATEWAY=192.168.30.200
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=9eb578d3--478f-9f9f-8a75dc50b157
DEVICE=ens33
ONBOOT=yes [root@localhost html]# ip addr a 10.0.0.200/ dev ens33
[root@localhost html]# cd /proc/sys/net/ipv4/conf/all
[root@localhost all]# echo > arp_ignore
[root@localhost all]# echo > arp_announce

网络配置

注意事项

IP地址每段的最大值是255,超过255的设置都不会生效
[root@centos7 ~]# ip addr a 10.0.0.100/ dev ens37
[root@centos7 ~]# ip addr del 10.0.0.100/ dev ens37 添加静态路由
ip route add 10.0.0.0/ via 10.0.0.100 dev ens37 给一个网卡添加多个IP地址 不能使用ifconfig查看
[root@localhost ]# ip addr 如果在ip配置文件里面配置的网关,需要重启网络服务才会生效
路由匹配和系统中路由表记录的顺序有关,当匹配到前一条记录的时候后面的记录不会再生效
#记录顺序1 不能访问外网
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.30.200 0.0.0.0 UG ens33
0.0.0.0 172.20.0.1 0.0.0.0 UG
[root@localhost network-scripts]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) () bytes of data.
From 192.168.30.200 icmp_seq= Destination Net Unreachable #记录顺序2 能访问外网
[root@localhost network-scripts]# route del default gw 192.168.30.200
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.0.1 0.0.0.0 UG ens37
0.0.0.0 192.168.30.200 0.0.0.0 UG [root@localhost network-scripts]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) () bytes of data.
bytes from 61.135.169.125 (61.135.169.125): icmp_seq= ttl= time=96.8 ms
From 172.20.127.96 (172.20.127.96) icmp_seq= Redirect Network(New nexthop: gateway (172.20.0.1))

最终效果

在节点1上进行测试

[root@centos7 ~]# curl www.tianhuang.com
<h1>天皇万岁,我是web1</h1>
[root@centos7 ~]# curl www.tianhuang.com
<h1>天皇万岁,我是web2</h1>
[root@centos7 ~]# curl www.tianhuang.com
<h1>天皇万岁,我是web1</h1>
[root@centos7 ~]# curl www.tianhuang.com
<h1>天皇万岁,我是web2</h1>
[root@centos7 ~]# curl www.tianhuang.com
<h1>天皇万岁,我是web1</h1>
[root@centos7 ~]# curl www.tianhuang.com
<h1>天皇万岁,我是web2</h1>
[root@centos7 ~]#

LVS小型系统架构搭建笔记的更多相关文章

  1. CentOS6.8下MySQL MHA架构搭建笔记

    转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...

  2. 【PaPaPa】系统架构搭建浅析 - 人人可以搭架构

    声明 [PaPaPa]这个项目是以技术分享与研究为目的而做的,并非商业项目,所以更多的是提供一种思路,请勿直接在项目中使用. 上一篇隐藏开源项目地址实属无奈,为了寻找一起做这件事的同伴不得已刷了一天推 ...

  3. Android进阶加密-第1章-Android系统架构-读书笔记

    第 1 章 Android 系统架构 1.1 Android 系统架构 Android 系统架构分为五层,从上到下依次是应用层.应用框架层.系统运行库层.硬件抽象层和 Linux 内核层. 应用层(S ...

  4. lvs+keepalived+ipvsadm 完整搭建笔记

    原文:http://www.safecdn.cn/2018/12/lvs-keepalived-ipvsadm/ 1.环境介绍: 系统:centos 6.7 keepalived VIP1 :10.0 ...

  5. 虚拟集群LVS及DR模式搭建笔记

    LVS(虚拟集群Linux Virtual Server) LVS-NAT:地址转换,数据包来回都要经过NAT转换,所以Director Server(即LVS服务器)将成为系统瓶颈.使用NAT模式将 ...

  6. 大众点评cat系统的搭建笔记

    项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...

  7. TOP100summit2017:网易云通信与视频CTO赵加雨:外力推动下系统架构的4个变化趋势

      壹佰案例:很荣幸邀请到您成为第六届壹佰案例峰会架构专场的联席主席,您曾深度参与Cisco Jabber,Webex Meeting, Cisco Spark等多项分布式实时通信类产品的架构与研发, ...

  8. 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

    课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...

  9. 用c#开发微信 (11) 微统计 - 阅读分享统计系统 1 基础架构搭建

    微信平台自带的统计功能太简单,有时我们需要统计有哪些微信个人用户阅读.分享了微信公众号的手机网页,以及微信个人用户访问手机网页的来源:朋友圈分享访问.好友分享消息访问等.本系统实现了手机网页阅读.分享 ...

随机推荐

  1. [React] 04 - Intro: mongoDB becomes popular

    Ref: Linux平台安装MongoDB - 菜鸟教程 安装:sudo apt-get install mongodb 安装完毕产生: ls /etc/init.d/mongodb 配置:vim / ...

  2. 理解AppDomain

    在传统的 Win32的程序中,进程是独立的运行空间, 在一些大型系统中, 通常都是将系统中的核心功能分解出来用独立的进程来处理,一方面是为了能获得更高的系统性能.吞吐量 .另一方面是为了能隔离功能之间 ...

  3. 题目1018:统计同成绩学生人数(数组或者map)

    题目链接:http://ac.jobdu.com/problem.php?pid=1018 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  4. linux-Centos 7下tftp-server服务的安装与配置

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间 进行简单文件传输的协议,提供不复杂.开销不大的文件传输服 ...

  5. celery 原理理解

    这里有一篇写的不错的:http://www.jianshu.com/p/1840035cb510 自己的“格式化”后的内容备忘下: 我们总在说c10k的问题, 也做了不少优化, 然后优化总是不够的. ...

  6. jquery <img> 图片懒加载 和 标签如果没有加载出图片或没有图片,就显示默认的图片

    参考链接:http://www.jq22.com/jquery-info390 或压缩包下载地址:链接:http://pan.baidu.com/s/1hsj8ZWw 密码:4a7s    下面是没有 ...

  7. weblogic启动项目,设置内容、设置的数据源链接不生效

    昨天坑自己了一把,把weblogic的数据库连接方式由jdbc改成了jndi,然后不生效,还是走之前jdbc的连接地址. 因为数据库用户之前权限有问题,所以一直纠结于这个地方,忘记了缓存的原因. 后来 ...

  8. thymeleaf 标签的使用

    1.html页面 2.<label class="control-label col-sm-1" for="vehiclesFormalities"> ...

  9. {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用

    MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...

  10. Luogu 1603 - 斯诺登的密码 - [简单字符串操作]

    题目链接:https://www.luogu.org/problemnew/show/P1603 题目背景 根据斯诺登事件出的一道水题 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混 ...