您好,欢迎访问三七文档
Lvs安装配置这篇文档将解释怎样建立和管理可提供高质量的web和ftp服务的lvs(linux虚拟服务器)集群。-------------------------------------------------------------------------------目录-------------------------------------------------------------------------------简介一个lvs集群的组件lvs集群的背景硬件/网络的要求lvs路由的必要条件集群节点内部连接的必要条件安装软件配置一个lvs集群例子---建立一个5节点的集群[目录]简介linux虚拟服务器集群是一个被特别配置的,可提供高性能web和ftp服务的服务器的集合。在下面的图表中阐述了lvs集群是怎样工作的。到达一个lvs集群的服务请求被寻址到一个虚拟的服务器上。一个公开广告的,完整网域名称与一个浮动的ip地址相关联,这种浮动ip地址能迁移到不同的节点。Figure1.LVSClusterInteractions_/\__/\_||/Internet\\____/\/\/\/||VirtualServerIP/FQDN|------------------------------------------||eth0|eth0------|------------|-----|Primary||Backup||Node||Node|LVS||||routers------|------------|-----|eth1|eth1|-------|------------|-----------------|---|||||||||||----|----||----|----||----|----||Web/FTP||Web/FTP||Web/FTP|real|Node#1||Node#2|...|Node#n|servers|_________||_________||_________|一个lvs集群由一个或两个路由节点和很多数量的web/ftp服务器(底部)组成。我们把lvs路由节点称作lvs路由,而将web/ftp服务器的汇集称作真实服务器。真实服务器通过内部网络相连。lvs路由同时相连着内部网络和公共网络。对于把lvs路由与内部网络和公共网络连接起来的适配器(图中的eth0和eth1)可以是任何的设备,但是每个路由上的设备必须是相同的。在同一时刻,仅有一个路由是激活的。激活的路由扮演的角色是将虚拟服务器上的服务请求重定向到真实服务器。重定向基于四种负载平衡算法规则中的一种(如表一)。激活的路由通过三种被支持方式中的一种(如图二),动态的监视真实服务器的健康情况和每个服务器的工作量。如果有一个真实服务器无效了,在工作的router将停止向这台服务器发送任务直到服务器恢复正常运转。lvs路由定期通过公共网互相交换“我活着的”心脏跳动信息。当备份的节点在与其在一段时间间隔内没有接收到心脏跳动信息,它将启动failover以取代激活的路由。在failover过程中,备份路由将接管失败的路由的浮动ip地址(在集群配置文件中指示),利用arp(地址解析协议)欺骗技术,开始宣布自己为失败节点ip包寻址的目的地。当失败的节点恢复服务时,它将承担热备份这个角色。当前,lvs集群支持一个路由选择的方式,netaddresstranslation(nat)(将来,tunneling和directrouting将被加入。)。下面的图表阐述了一个nat虚拟服务器是怎样工作的。Figure2.AnLVSClusterImplementedwithNATRouting_/\__/\_||/Internet\\____/\/\/\/|||------------------------------------------|public|networketh0|virtualserverIPaddress--------------------|activerouter|||--------------------eth1|NATrouterIPaddress||-------|-------------------------|--------|private||network|||||----|----------||-----------|---||realserver#1||realserver#2|||||...|_______________||_______________|客户端的服务请求到达一个虚拟服务器的ip地址。这是个公共广告地址,它被网站管理员与一个完整网域名称相关联(例如,lvs.agax.com)。在叙述中只看到了一个虚拟服务器地址,但是也可有多个。一个独立的虚拟服务器地址包含了三个部分:一个协议(tcp或udp),一个ip地址和端口号。虚拟服务器的地址的ip部分是浮动的地址。他们也许是一个通过lvs路由连接到公共网络的设备的别名(例如,eth0:1),或者是每个ip地址与一个单独的设备相联系。nat路由ip地址也是个浮动ip地址,每个在内部网络中的真实服务器使用这个ip地址为默认路由,与活动的路由通信。对于虚拟服务器的地址,nat路由ip地址可以是连接虚拟服务器到真实服务器网络的一个设备的别名(例如,eth1:1),或者也可与一个独立的设备相关联。虚拟服务器和nat寻址只可在被激活的路由上才可运行。因此,如果激活状态下的路由失败了,通过接管浮动ip地址,备份路由便可运行虚拟服务器和nat寻址。如图二所示的拓扑学原理,虚拟服务器寻址在eth0设备上运行,而nat路由寻址在eth1上运行。核心中的ipvs表映射所有内部网络中从虚拟服务器地址到真实服务器地址的请求。例如,在一个虚拟服务器1.2.3.1上,一个tcp请求被寻址到80端口也许被按指定路线发送到真实服务器192.168.1.2的80端口。在ipvs表中,对任务实际映射到哪个真实服务器上是基于使用某个负载平衡规则。表一描述了被支持的负载平衡方式。Table1.Load-balancingMethods名称描述Roundrobin将工作平均的分配到服务器Least-connections向较少连接的服务器分配较多的工作(IPVS表存储了所有的活动的连接。)Weightedroundrobin向较大容量的服务器分配较多的工作。容量通过用户指定的砝码来说明,可以根据装载信息动态的向上或向下调整。Weightedleast-connections考虑它们的容量向较少连接的服务器分配较多的工作。容量通过用户指定的砝码来说明,可以根据装载信息动态的向上或向下调整。当真实服务器处理一个请求时,它将包返回到活动的路由,包中真实服务器的地址也被虚拟服务器的地址所代替。在这种规则下,对于客户的请求,内部网络中的真实服务器被伪装起来。[目录]组件下面介绍一个lvs集群的组件。pulse这是控制启动其他守护进程的过程所需的。正常情况下它是在系统启动时,在lvs路由上通过/etc/rc.d/init.d/pulse脚本启动。通过pulse,提供一种简单的心跳检测,非活动的lvs路由决定活动的路由是否健康,是否需要启动failover。lvslvs守护进程在lvs路由上运行。它读入配置文件,调用ipvsadm来建立和维护ipvs路由选择表。nannynanny将监视在活动的lvs路由上运行的守护进程。通过这个守护进程,活动的路由决定每个真实服务器是否健康,同时获得服务器的工作量。它是一个被每个虚拟服务器使用的,独立的在每个真实服务器上运行的进程。/etc/lvs.cf只是lvs集群的配置文件。直接或间接的,所有的守护进程都从这个文件中获得它们的配置信息。piranha这是一个图形化的监视,配置和管理lvs集群的工具。通常情况下,你将用这个工具来维护/etc/lvs.cf,重新启动运行的守护进程,监视一个lvs集群。ipvsadm这个工具用来更新核心中的ipvs路由选择表。lvs守护进程通过调用ipvsadm向ipvs路由选择表添加,改变或删除项目来建立和管理一个lvs集群。[目录]背景lvs集群的背景redhatlvs集群是基于linux社团直接的贡献,要不然就是linux社团工程使它的成分更富于灵感,更丰富。lvs集群主要是源于wensongzhang的linux虚拟服务器核心选择规则(请看)。当前redhatlvs支持的功能:建立虚拟的服务器:公共网络中的服务请求到达的地址,采用浮动ip地址。虚拟服务器上的服务请求到真实服务器上的路由选择。负载平衡(看表一)。包转发中的网络地址翻译。lvs的创新被redhatlvs集群所支持,它以很多的技术为基础,包括网络地址的翻译(nat),ip伪装,端口转发。对于一般性的讨论和相关howto的索引以及有关的主题,请看[目录]硬件/网络的要求硬件/网络的要求一个lvs集群由一个或两个lvs路由,一些提供web和ftp服务的真实服务器组成。下面描述了连接和硬件的要求。lvs路由一个基本的lvs路由的要求是一个linux服务器。这台机器要有两个网络适配器,一个与公共网络连接而另一个与真实服务器的内部网络连接。如果要有failover功能,你需要有第二个linux服务器来作为备份lvs路由。这台机器也需要两块适配器来连接公共网络和有真实服务器的内部网络。两个lvs路由中的适配器设备必须相匹配。因此,如果主lvs路由设备eth0和eth1分别与公共网和内部网相连,在备份lvs路由中的相同设备也要分别与公共网和内部网连接。注意,备份lvs路由是个纯热候补机器。真实服务器lvs路由连接的内部网包括一定数量的web/ftp服务器主机。寻址到虚拟服务器上的工作被重定向到真实的服务器,这些服务器可以是各种各样的,运行任何操作系统或是web服务器的计算机平台。在配置过程中,你对每个真实服务器的砝码进行赋值。这是一个反映每个服务器处理能力的,与其它服务器相关联在一起的整数(以内存,处理器速度,处理器个数,等等为基础)。它们是成比例的(2/1,20/10,200/100),这很有效。例如,分配的砝码是2000的服务器表示它的计算能力是砝码为1000的服务器的两倍。通过两个有效的任务计划规则(表一所示),以装载信息为基础来分配砝码,从而动态的调节砝码。你应该准备制定一个准确的砝码。[目录]路由的必要条件lvs路由的必要条件lvs路由要求redhatlinux6.1或更高的版本。在lvs路由上,packet-forwarding,packetdefragmenting和ipmasquerading必须是激活的。激活packet-forwarding和defragmenting,确定/etc/sysconf/network中由这两行:FORWARD_IPV4=yesDEFRAG_IPV4=yes这些行将使/etc/rc.d/rc.sysinit在路由启动时执行:echo1/proc/sys/net/ipv4/ip_forwardecho1/proc/sys/net/ipv4/ip_always_defrag激活ipmasquerading,用这个命令:ipchains-Aforward-jMASQ-sn.n.n.n/type-d0.0.0.0/0其中:n.n.n.n是内部子网的真实服务器的连接地址。类型是8.16.24.32,他们表示地址的类型和掩码:netmask|type|Subnet~~~~~~~~~~~~~~~~|~~~~~~|~~~~~~~~~~~~~~~255.0.0.0|8|ClassA255.255.0.0|16|ClassB255.255.255.0|24|ClassC255.255.255.25
本文标题:LVS安装配置
链接地址:https://www.777doc.com/doc-4241610 .html