标签归档:LVS

LVS、Nginx 及 HAProxy 的工作原理

当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等。

在实际应用中,在 Web 服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为 Web 服务器流量的入口,挑选最合适的一台 Web 服务器,将客户端的请求转发给它处理,实现客户端到真实服务端的透明转发。

最近几年很火的「云计算」以及分布式架构,本质上也是将后端服务器作为计算资源、存储资源,由某台管理服务器封装成一个服务对外提供,客户端不需要关心真正提供服务的是哪台机器,在它看来,就好像它面对的是一台拥有近乎无限能力的服务器,而本质上,真正提供服务的,是后端的集群。 继续阅读

LVS-HOWTO

LVS-HOWTO

Joseph Mack

jmack (at) wm7d (dot) net

v2012.01 Jan 2012, released under GPL. Note: Mar 2014 This HOWTO is no longer being maintained.

Abstract

Install, testing and running of a Linux Virtual Server with 2.2.x, 2.4.x, 2.6.x kernels

search the LVS documentation

Hank Leninger’s searchable mailing list archive has moved. It’s now at http://marc.info/?l=linux-virtual-server&w=2.


继续阅读

基于LVS的互联网应用架设攻略

可扩展、高可用服务网络设计方案实现技术细节。

网络环境

1、 硬件:服务器、网络附属存储(NAS)和交换机。3个服务器用来做web,2个服务器
来做流媒体,1个服务器做LVS-DR,2个mysql服务器,一个邮件服务器,2个交换机,一个NETAPP NAS。
2、 运行环境:流媒体windows,其他的都是linux。
3、 逻辑结构:除数据库服务器和NETAPP存储外,其他的服务器都使用2个网络地址,一个公网地址和一个私有网络地址。设置为公网ip的网络接口连接在一个交换机,设置为私有网络ip的网络接另外一个交换机,处于安全和网络带宽考虑,网络存储设备和数据库只使用私有网络地址。网络拓扑图如下所示:

基本原理

传统模式下,用户的访问请求通过DNS服务器解析后,把服务请求转发给web服务器,取得数据后返回给用户。这种模式有2个麻烦:同时访问的用户增加到某个程度后,服务器不能提供所需的正常访问;遇到故障,所有的访问请求都将失败。要解决这样一个难题,LVS是上上之选。当我们采用lvs方案之后,更改dns服务器的记录,这样用户的访问将首先到达LVS控制器所在的服务器,LVS把请求按照某种算法转发给后面真正的服务器。那么数据的返还是怎样的一个过程呢?在采用DR方式的集群形式下,真实服务器直接把数据返还给用户而不再经过LVS控制器。访问数据的流向在上图中用带箭头的虚线标识出来了,这样设计使得结构更简单一些,lvs控制器的压力也小很多。 继续阅读

在Linux下构造高性能、高可用、高可伸缩性的服务集群

简介: 随着Internet技术的迅猛发展,网络技术、性能的不断提高,高可伸缩性、高可用性、可管理性、价格有效性的网络服务技术将成为网络服务技术的主导。各种平台下的技术方案应运而生。本文试图以一篇完整的理论+实践性的文字来介绍如何在优秀的开源操作系统Linux下创建低成本、高性能、高可用的服务集群系统。文中所使用的系统和软件包均为最新版本。希望通过对本文的阅读能使你对如何创建Linux下的集群系统有所帮助。 继续阅读

Setup Linux loadbalancer with LVS, ldirectord and heartbeat

As my last post, I had built a more healthy load balancer. But it is still not practical. Because if the linux director fails, the system will not work. The high availability should be considered. In this post, I list my steps to implement HA function.

I added another machine to the system. The environment of my lab is as below.

ha1: eth0: 192.168.26.201 eth1: 192.168.26.221(heartbeat)
ha2: eth0: 192.168.26.202 eth1: 192.168.26.222(heartbeat)
rs1: eth0: 192.168.26.211
rs2: eth0: 192.168.26.212
VIP: 192.168.26.200
gateway: 192.168.26.1  继续阅读

LVS+Heartbeat+Ldirectord(RHEL5)

一、环境

我是用的vamware安装了两个RHEL5,默认安装了HTTP的服务。每个系统配置了两块类型为NAT的网卡。
Name                         ETH0                    ETH1             virtual IP
node1.hrwang.com          192.168.146.131         10.0.0.1         192.168.146.110
cluster.hrwang.com        192.168.146.132         10.0.0.2         192.168.146.110

关于ETH1网卡如何更改IP地址,可以编辑/etc/sysconfig/network-scripts/ifcfg-eth1文件,例如更改node1的eth1地址:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:8e:1d:eb
IPADDR=10.0.0.1
NETMASK=255.0.0.0 继续阅读

使用简单的 5 个步骤设置 Web 服务器集群

使用 Linux Virtual Server 和 Linux-HA.org 的 Heartbeat 进行构建和运行

来源:http://www.ibm.com/developerworks/cn/linux/l-linux-ha/index.html

使用 Linux Virtual Server 和 Heartbeat v2,分 5 个步骤跨越多个物理或虚拟 Linux® 服务器轻松构建高度可用的 Apache Web 服务器集群。

通过在多个处理器之间分担工作负载并采用多种软件恢复技术,能够提供高度可用的环境并提高环境的总体 RAS(可靠性、可用性和可服务性)。可以得到的好处包括:更快地从意外中断中恢复运行,以及将意外中断对终端用户的影响降至最低。

为了更好地理解这篇文章,您需要熟悉 Linux 和连网的基本知识,还需要配置好 Apache 服务器。本文的示例基于标准的 SUSE Linux Enterprise Server 10 (SLES10) 安装,但是使用其他版本的明智用户也应该可以采用文中展示的方法。

本文展示了健壮的 Apache Web 服务器堆栈,它拥有 6 个 Apache 服务器节点(虽然 3 个节点就足以支持文中阐述的步骤),以及 3 个 Linux Virtual Server (LVS) 控制器。我们使用 6 个 Apache 服务器节点,可以在测试时实现更高的工作负载吞吐量,从而模拟更大型的部署。文中展示的架构应该可以支持更多的控制器和后端 Apache 服务器(在资源允许的情况下),但是我们并未进行更深入的尝试。图 1 展示了使用 Linux Virtual Server 和 linux-ha.org 组件的实现。 继续阅读

LVS Heartbeat Ldirectord配置实现

LVS Heartbeat Ldirectord在RedhatAS4.2上的实现
环境描述:
本文在配置LVS时使用三台linux,一台做Directorserver (192.168.0.25),两台做realserver(192.168.0.127
192.168.0.12,在配置lvs+heartbeat时又添加了一台(192.168.0.126)做为备份主节点,虚拟VIP:
192.168.0.100
软件列表:
ipvsadm-1.24.tar.gz
libnet.tar 下载地址:http://www.packetfactory.net/libnet/ 稳定版本是:1.1.2.1
e2fsprogs 可以用rpm 安装光盘
heartbeat-2.0.2.tar.gz
2.6内核已经集成IPVS内核补订了,所以不再需要重新编译内核.
配置此集群分以下几种情况:
(1)、配置基于DR模式Lvs集群
(2)、配置基于隧道模式Lvs集群
(3)、配置基于高可用Lvs+heartbeat
(4)、此种配置方式可以加强LVS的主节点的高安全性前提下(主节点简称DR,备份主节点DRbak),考虑充分利用资源可以将DRbak做为realserver 继续阅读

How to install Ultra Monkey LVS in a 2-Node HA/LB Setup on CentOS/RHEL4

I never really got this setup working quite right. Use the information here however you like, but don’t bother asking me questions about it. I can’t answer them.

I’m the resident Linux guru at my job — a mid-sized local company with a decent sized IT department. We like to install servers in clusters to improve our fault tolerance. Being the Linux guy in a shop where Windows servers outnumber Unix server about 8:1, I wanted to do a one up on Windows’ active-passive (high availability, or HA) cluster setup by doing a 2-node active-active (load balanced, or LB) cluster using the Linux Virtual Server (LVS) system. Our Linux distribution of choice is RedHat Enterprise Linux 4 (RHEL 4), and CentOS is the most compatible free clone thereof. Version 4 of these distros uses the Linux 2.6 kernel. 继续阅读