Linux集群服务LVS概述与安装配置详解

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

我的参赛主页是:http://2010blog.51cto.com/1060257,请各位支持我,给我投上宝贵一票,谢谢!

 

LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点。安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心。本文对LVS的应用场景进行了简单介绍,并着重介绍LVS的安装和配置操作。 (http://os.51cto.com/art/201011/233146.htm

 

LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点。到目前为止,该系统已在美、英、德、澳等国的几十个站点上正式使用。目前,一些大型LVS应用实例如下:

  1. 英国国家JANET Cache Service(wwwcache.ja.net)是为英国150所以上的大学提供Web Cache服务。他们用28个结点的LVS集群代替了原有现50多台相互独立的Cache服务器,用他们的话说现在速度就跟夏天一样,因为夏天是放假期间没有很多人使用网络。
  2. Linux的门户站点(www.linux.com)用LVS将很多台VA Linux SMP服务器组成高性能的WEB服务,已使用将近一年。
  3. SourceForge(sourceforge.net)是在全球范围内为开发源码项目提供WEB、FTP、Mailing List和CVS等服务,他们也使用LVS将负载调度到十几台机器上。
  4. 世界上最大的PC制造商之一采用了两个LVS集群系统,一个在美洲,一个在欧洲,用于网上直销系统。
  5. 以RealPlayer提供音频视频服务而闻名的Real公司(www.real.com)使用由20台服务器组成的LVS集群,为其全球用户提供音频视频服务。在2000年3月时,整个集群系统已收到平均每秒20,000个连接的请求流。
  6. NetWalk(www.netwalk.com)用多台服务器构造LVS系统,提供1024个虚拟服务,其中本项目的一个美国镜像站点(www.us.linuxvirtualserver.org)。
  7. RedHat(www.redhat.com)从其6.1发行版起已经包含LVS代码,他们开发了一个LVS集群管理工具叫Piranha,用于控制LVS集群,并提供了一个图形化的配置界面。
  8. VA Linux(www.valinux.com)向客户提供基于LVS的服务器集群系统,并且提供相关的服务和支持。

安装LVS

安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心。在本节我们将对其进行详细地介绍。主要包括如下几个核心步骤:

1.获取支持LVS的内核源代码

如果读者需要使用LVS,需要下载2.4.23以后版本的内核源代码。下载地址为http://www.kerner.org。目前主流的Linux内核已经支持LVS,只需要直接使用,不需要进行内核的下载和更新工作。

2.用户配置工具ipvsadm

该软件的下载地址为:http://www.linuxvirtualserver.org/software/ipvs.html

3.调整内核配置选项

读者在内核配置时应该对下列必选项(用*号表示)进行检查,如果某些选项的设置不正确,将有可能影响LVS的正常工作和使用。在查看这些选项之前,用户需要使用make menuconfig命令,进入Networking options选项进行查看:

Networking options  --->
<*> Packet socket
<*> Netlink device emulation
[*] TCP/IP networking
[*] IP: advanced router
[*] Network packet filtering (replaces ipchains)
IP: Netfilter Configuration  --->
<*> Connection tracking (required for masq/NAT)
<*> IP tables support (required for filtering/masq/NAT)
<*> Full NAT
<*> MASQUERADE target support
IP: Virtual Server Configuration  --->
<*> virtual server support (EXPERIMENTAL)
<M>   IPVS connection table size (the Nth power of 2)--- IPVS scheduler
<M>   round-robin scheduling
<M>   weighted round-robin scheduling
<M>   least-connection scheduling
<M>   weighted least-connection scheduling
<M>   locality-based least-connection scheduling
<M>   locality-based least-connection with replication scheduling
<M>   destination hashing scheduling
<M>   shortest expected delay scheduling
<M>   never queue scheduling

 

配置和使用LVS

在安装好LVS之后,就可以配置和使用LVS了,在本节我们将以一个具体的例子来对其进行讲解。图2为一个采用LVS系统的实际网络拓扑图。它基于NAT机制,具体的配置如下:

一台对外服务的超级服务器:它部署了LVS,也称为balancer或者director,主要功能为负载均衡和任务调度,其外部IP地址为:210.77.132.8,内部IP地址为:172.168.10.8。外部用户可以通过路由器(IP地址为:210.77.132.1)访问它;

两台内部的服务器:它们为实际的工作机器,通过前述的服务器对其进行调度。一台为RS1,其内部IP地址为:172.168.10.9;另一台为RS2,其内部IP地址为:172.168.10.10。

采用LVS系统的实际网络拓扑图 
图  采用LVS系统的实际网络拓扑图

根据上述的网路配置和拓扑,对LVS的配置如下:

1.配置LVS的超级服务器(称为load balancer或者director)

运行如下命令:

//配置重定向
#echo "1" >/proc/sys/net/ipv4/ip_forward
#echo "0" >/proc/sys/net/ipv4/conf/all/send_redirects #echo "0" >/proc/sys/net/ipv4/conf/default/send_redirects #echo "0" >/proc/sys/net/ipv4/conf/eth0/send_redirects #echo "0" >/proc/sys/net/ipv4/conf/eth1/send_redirects //清除ipvsadm表 #/sbin/ipvsadm -C //使用ipvsadm安装LVS服务 #add http to VIP with rr scheduling #/sbin/ipvsadm -A -t 210.77.132.8:80 -s rr //增加第一台内部服务器RS1 #forward http to realserver 172.168.10.9 using LVS-NAT (-m), with weight=1 /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.9:80 -m -w 1 增加第二台内部服务器RS2 #forward http to realserver 172.168.10.10 using LVS-NAT (-m), with weight=1 /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.10:80 -m -w 1

2.配置LVS中的内部服务器

在172.168.10.9(RS1)和172.168.10.9(RS2)上分别将其网关设置为172.168.10.8,并分别启动apache服务。在客户端使用浏览器多次访问:http://210.77.132.8,然后再210.77.132.8上运行ipvsadm命令,应该有类似下面的输出:

IP Virtual Server version 1.0.12 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  210.77.132.8:http rr
  -> 172.168.10.9:http           Masq    1      0          33       
  -> 172.168.10.10:http           Masq    1      0          33        

从上面的结果可以看出,我们配置的LVS服务器已经成功运行。
















本文转自samsunglinuxl51CTO博客,原文链接:http://blog.51cto.com/patterson/420557 ,如需转载请自行联系原作者







相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
14天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
19天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
21天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
115 20
|
12天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
86 7
|
15天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
140 7
|
21天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
40 2
|
2月前
|
人工智能 Java 关系型数据库
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
91 4
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
81 4
|
2月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
81 9