设为首页 收藏本站
查看: 1013|回复: 0

[经验分享] LVS简介及配置案例

[复制链接]

尚未签到

发表于 2019-1-4 10:29:24 | 显示全部楼层 |阅读模式
一、简介
  LVSLinux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的
  服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由
  软件项目之一。LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很
  好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的
  故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的
  结构对客户是透明的,而且无需修改客户端和服务器端的程序。LVS/NAT、LVS/TUN
  和LVS/DR技术是LVS集群中实现的三种IP负载均衡技术。
  三种转发机制的优缺点
  ◆Virtual Server via NAT
  VS/NAT 的优点是服务器可以运行任何支持TCP/IP的操作系统,它只需要一个IP地址
  配置在LVS主机上,服务器组可以用私有的IP地址。缺点是它的扩充能力有限,当服务
  器结点数目升到20时,LVS主机本身有可能成为系统的新瓶颈,因为在VS/NAT中请求
  和响应封包都需要通过负载平衡LVS主机。
  ◆Virtual Server via IP Tunneling
  在VS/TUN 的集群系统中,负载平衡LVS主机只将请求分配到不同的实际服务器,实际
  服务器将应答的资料直接返回给用户。这样,负载平衡LVS主机就可以处理巨量的请
  求,而不会成为系统的瓶颈。即使负载平衡LVS主机只有100Mbps的全双工网卡,虚
  拟服务器的最大吞吐量可以达到几Gbps。所以,VS/TUN可以极大地增加负载平衡
  LVS主机分配的服务器数量,它可以用来构建高性能超级服务器。
  ◆Virtual Server via Direct Routing
  同VS/TUN 一样,VS/DRLVS主机只处理客户到服务器端的连接,响应资料可以直接
  从独立的网络路由返回给客户。这可以极大地提高LVS集群系统的伸缩性。同VS/TUN
  相比,这种方法没有IP隧道的开销,但是要求负载平衡LVS主机与实际服务器都有一块
  网卡连在同一物理网段上,服务器网络设备或者设备别名不作 ARP 响应。
  一般来说,LVS集群采用三层结构,其主要组成部分为:
  A、负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的
  请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟
  IP地址)上的。
  B、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务
  有WEB、MAIL、FTP和DNS等。
  C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样
  很容易使得服务器池拥有相同的内容,提供相同的服务。
  调度器是服务器集群系统的唯一入口点(Single Entry Point),它可以采用IP负
  载均衡技术、基于内容请求分发技术或者两者相结合。
  四种分配方法(Load-balancing Methods)
  Round robin (RR)
  将工作平均的分配到服务器 (用于实际服务主机性能一致)
  Least-connections (LC)
  向较少连接的服务器分配较多的工作(IPVS 表存储了所有的活动的连接。用于实际服务
  主机性能一致。)
  Weighted round robin (WRR)
  向较大容量的服务器分配较多的工作。可以根据负载信息动态的向上或向下调整。 (用
  于实际服务主机性能不一致时)
  Weighted least-connections (WLC)
  考虑它们的容量向较少连接的服务器分配较多的工作。容量通过用户指定的砝码来说
  明,可以根据装载信息动态的向上或向下调整。(用于实际服务主机性能不一致时)
二、案例一(NAT)
  拓扑图:

  配置过程:
  虚拟服务器:
  打开路由转发功能:
  [root@localhost ~]# vim /etc/sysctl.conf
  编辑结果:

  [root@localhost ~]# sysctl –p
  查看内核版本:
  [root@localhost ~]# uname -r
2.6.18-164.el5
  挂载光盘:
  [root@localhost ~]# mkdir /mnt/cdrom
  [root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
  [root@localhost ~]# cd /mnt/cdrom
  编辑yum服务器:
  [root@localhost cdrom]# vim /etc/yum.repos.d/rhel-debuginfo.repo
  编辑结果:

  安装ipvsadm工具:
  [root@localhost cdrom]# yum install ipvsadm
  定义虚拟服务器:
  [root@localhost cdrom]# ipvsadm -A -t 192.168.100.100:80 -s rr
  定义realserver:
  [root@localhost cdrom]# ipvsadm -a -t 192.168.100.100:80 -r 192.168.2.100 –m
  [root@localhost cdrom]# ipvsadm -a -t 192.168.100.100:80 -r 192.168.2.101 –m
  [root@localhost cdrom]# service ipvsadm save
Saving IPVS table to /etc/sysconfig/ipvsadm:               [确定]
  [root@localhost cdrom]# service ipvsadm start
Clearing the current IPVS table:                           [确定]
Applying IPVS configuration:                               [确定]
  [root@localhost cdrom]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.100.100:80 rr
  -> 192.168.2.101:80             Masq    1      0          0         
  -> 192.168.2.100:80             Masq    1      0          0
  realser1配置:
  服务器的配置:
  安装web:
  [root@localhost ~]# yum install httpd
  [root@localhost ~]# cd /var/www/html/
  [root@localhost html]# echo “web1” > index.html
  重启web服务:
  [root@localhost html]# service httpd restart
  realserver2配置:
  安装web:
  [root@localhost ~]# yum install httpd
  [root@localhost ~]# cd /var/www/html/
  [root@localhost html]# echo “web2” > index.html
三、案例二(DR)
  拓扑图:

  配置过程:
  diretor上的配置:
  ip信息:

  打开路由转发功能:
  [root@localhost ~]# vim /etc/sysctl.conf
  编辑结果:

  [root@localhost ~]# sysctl –p
  查看内核版本:
  [root@localhost ~]# uname -r
2.6.18-164.el5
  挂载光盘:
  [root@localhost ~]# mkdir /mnt/cdrom
  [root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
  [root@localhost ~]# cd /mnt/cdrom
  编辑yum服务器:
  [root@localhost cdrom]# vim /etc/yum.repos.d/rhel-debuginfo.repo
  编辑结果:

  安装ipvsadm工具:
  [root@localhost cdrom]# yum install ipvsadm
  增加条目:
  [root@localhost ~]# ipvsadm -A -t 192.168.10.100:80 -s rr
  [root@localhost ~]# ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.2 –g
  [root@localhost ~]# ipvsadm -a -t 192.168.10.100:80 -r 192.168.10.3 –g
  [root@localhost cdrom]# service ipvsadm save
Saving IPVS table to /etc/sysconfig/ipvsadm: [确定]
  [root@localhost cdrom]# service ipvsadm start
Clearing the current IPVS table: [确定]
Applying IPVS configuration: [确定]
  web1服务器上的配置:
  Ip信息:

  安装web:
  [root@localhost ~]# yum install httpd
  [root@localhost ~]# cd /var/www/html/
  [root@localhost html]# echo “web1” >  index.html
  重启web服务
  [root@localhost html]# service httpd restart
  添加下列条目到/etc/sysctl.conf
  [root@localhost ~]# echo "net.ipv4.conf.eth0.arp_announce = 2" >>/etc/sysctl.conf
  [root@localhost ~]# echo "net.ipv4.conf.eth0.arp_ignore = 1" >>/etc/sysctl.conf
  [root@localhost ~]# sysctl –p
  [root@localhost ~]# route add -host 192.168.10.100 dev lo:0
  web2服务器上的配置:
  Ip信息:

  安装web服务器:
  [root@localhost ~]# yum install httpd
  [root@localhost ~]# cd /var/www/html/
  [root@localhost html]# echo “web2” >  index.html
  重启web服务
  [root@localhost html]# service httpd restart
  添加下列条目到/etc/sysctl.conf
  [root@localhost ~]# echo "net.ipv4.conf.eth0.arp_announce = 2" >>/etc/sysctl.conf
  [root@localhost ~]# echo "net.ipv4.conf.eth0.arp_ignore = 1" >>/etc/sysctl.conf
  [root@localhost ~]# sysctl –p
  [root@localhost ~]# route add -host 192.168.10.100 dev lo:0




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659236-1-1.html 上篇帖子: 0215lvs基础 下篇帖子: Linux LVS之持久连接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表