用Linux下的LVS软件实现Linux集群

本文介绍了Linux下的cluster软件LVS,并举例介绍一个Linux下的cluster(集群)的安装和实现的详细过程。。
  在各种网络服务普遍应用的今天,随网络速度的提高以及用户的增加,在一些繁忙的场合,单凭一台机器已经无法就能应付所有的网络请求了。为了解决这个问题,许多用户就采 用一组cluster(集群)来代替单一的机器。cluster可以将多台计算机连接起来协同运作以对外提供各种服务,比如Apache、FTP、Mail等。

在Linux上最常见的、也可能是运用最广泛的cluster方案就是LVS(Linux Virtual
Server),很高兴LVS也是一个中国人创建和开发的开放源码项目。LVS自1998年开始,发展到现在已经是一个比较成熟的技术项目了。有许多比较著名网站和组织都在使用LVS架设的cluster,比如:www.linux.com、sourceforge.net、www.real.com等。

下面就开始介绍一下,笔者是如何利用LVS来架设一组cluster来对外提供Apache和FTP服务的。

安装操作系统

笔者选用的是Red Hat 9.0作为些cluster的director机器和所有real server机器的操作系统。RH的安装过程从略,笔者根据实际需要,只安装了少数的包。对于成批安装Linux,建议试试Kickstart来进入批理安装。

编译支持LVS的内核

LVS对Linux的kernel进行了修改和增加,所以要重新编译 linux kernel。我们先从http://www.linuxvirtualserver.org下载到LVS的内核补丁,对原有内核源代码进行更新,然后重新编译Linux的kernel。

下载LVS的内核补丁时要注意补丁版本要和kernel版本相一致,对于RH9.0,它的Linux核心版本是2.4.20,所以对应内核补丁应该是http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9.patch.gz

另外还有一个补丁是用来解决某些情况下ARP协议不能正常工作问题的,从http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff下载。
  把上面下载的两个补丁复制到/usr/src目录下,然后执行以下命令:
  cd /usr/src
  gzip -cd linux-2.4.20-ipvs-1.0.9.patch.gz
  cd /usr/src/linux
  patch -p1 < ../linux-2.4.20-ipvs-1.0.9.patch
  patch -p1 < ../hidden-2.4.20pre10-1.diff

make mrproper
  make menuconfig

执行make menuconfig时,我们将进入一个图形化的界面,在其中可以对Linux Kernel进行详细设置。与LVS相关的kernel选项都在“Networking options”中,进入“Networking options”,可以查看到“IP: Virtual Server Configuration”选项,将其它所有的子选项都选上:

<M> virtual server support (EXPERIMENTAL)
  [*] IP virtual server debugging
  (12) IPVS connection table size (the Nth power of 2)
  --- IPVS scheduler
  <M> round-robin scheduling
  <M> weighted round-robin scheduling
  <M> least-connection scheduling 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> source hashing scheduling
  <M> shortest expected delay scheduling
  <M> never queue scheduling
  --- IPVS application helper
  <M> FTP protocol helper

另外,“Networking options”中的“IP: Netfilter Configuration"中的选项的所有子项,除了以下两项不要选之外,其它全可以选:
  < > ipchains (2.2-style) support
  < > ipfwadm (2.0-style) support

还有,“Networking options”中还有一些关于网络的选项,要注意按自己的需要去选择:
  <*> Packet socket
  [ ] Packet socket: mmapped IO
  <*> Netlink device emulation
  [*] Network packet filtering (replaces ipchains)
  [*] Network packet filtering debugging
  [*] Socket Filtering
  <*> Unix domain sockets
  [*] TCP/IP networking
  [*] IP: multicasting
  [*] IP: advanced router
  [*] IP: policy routing
  [ ] IP: use netfilter MARK value as routing key
  [ ] IP: fast network address translation
  <M> IP: tunneling

时间: 2024-09-11 10:01:12

用Linux下的LVS软件实现Linux集群的相关文章

在Linux下使用办公软件_unix linux

希望像在Windows上一样方便.高效.轻松地使用计算机?没问题!Linux桌面版上的应用软件可以满足你办公.上网.娱乐等各方面的需求. Linux平台上的办公套件比较有名的有Sun微系统公司的StarOffice.KOffice.Applixware以及韩国韩软公司开发的"HancomOffice"."HancomOffice"中文名称为"文杰",由于"文杰"办公套件在中文处理方面非常优秀,可以说"文杰"

linux下yum安装软件的常用配置

开门见山,今天来小谈一下linux下yum安装软件的一些常用的配置,Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE.CentOS中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器(当然也可以是本地)自动下载RPM包并且安装,可以自动处理依赖性关系(很好的优点),并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. yum能很好实现一下功能: yum install 软件名 软件安装 yum inst

PDF edit一个Linux下PDF编辑软件

自由的通用PDF编辑器PDF edit是一个Linux下PDF编辑软件,可以选中局部,进行编辑,这个功能比较不错. 脚本编写扩展了编辑器应用, 也可以为此编辑器开发插件 注意: 需要QT3.x. 此软件无法在QT4.x下编译. 不过大部分发行版都带有QT3和QT4. 此编辑器在GNU GPL协议下发布 安装 sudo apt-get install pdfedit 注:有时安装完成后可能在"应用程序"里面看不到,重启X就可以了(或者终端输入pdfedit).

linux下的图像处理软件对比汇总

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   最近几年Linux的开源图像处理软件的进步迅速,尽管系统本身的兴趣不减,构建其上的各种开源软件也差强人意.比Windows下要强多了.作为一个普通的摄影爱好者,现在linux下的图像处理软件已经远远能够超出一般爱好者的要求. GIMP GIMP,Linux下的Photoshop,因为aloa不用photoshop,所以没有什么体会.但gimp功能只多不少,扩展功

lvs udp协议的集群方案?

问题描述 lvs udp协议的集群方案? 哪位大侠有lvs udp协议的集群方案啊!能否给我一份啊!万分感谢!Tks!!!

linux下的lvs三种模式及配置

  lvs:linux virtual server,linux虚拟服务器.是linux平台下的负载均衡软件. 优点:a.开源,免费b.在网上能找到相关技术资源c.具有软件负载均衡的优点. 技术简介: lvs集群采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡的转移到不同的服务器上执行,调度器自动屏蔽服务器的故障,从而将一组服务器构成一个高性能的高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,无需修改客户端和服务器端的程序. 集群的三层架构: A.负载调度器

LINUX下C-C++类软件的诊断

一般C/C++写程序由于内存.指针等问题在后期的过程都一般会遇到内存等资源泄露.崩溃等问题,对于这些问题,一般从哪个角度解决呢? 下面从几个角度进行总结: 内存泄露 首先需要注意一个问题是top或者htop显示的内存使用中cache的问题,这个和windows中的任务管理器看到的有差别. 具体分析如下: 在linux读写文件时,它用于缓存物理磁盘上的磁盘块,从而加快对磁盘上数据的访问. buffer cache的内容对应磁盘上一个块(block),块通常为1K,都是连续的.在linux下,为了更

linux下使用磁盘镜像软件DRBD

一. 什么是DRBD DRBD的全称为:Distributed Replicated Block Device (DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群.其实现方式是通过网络来镜像整个设备.它允许用户在远程机器上建立一个本地块设备的实时镜像.与心跳连接结合使用,也可以把它看作是一种网络RAID. 二.DRBD是如何工作的 Drbd 负责接收数据,把数据写到本地磁盘,然后发送给另一个主机.另一个主机再将数据存到自己的磁盘中.目前,drbd 每次只允

Linux下的代理服务器设置_unix linux

前言: 本文主要介绍了在linux使用squid和squidGuard配置代理服务器,以www代理服务为例介绍如何过滤有害站点和限制用户对internet的访问. 一.介绍 Squid是Linux下最为流行的代理服务器软件,它功能强大,支持对HTTP,FTP,Gopher,SSL和WAIS等协议的代理:设置简单,只需对配置文件中稍稍改动就可使代理服务器运转起来.而且Squid具有页面缓存功能,它接收用户的下载申请,并自动处理所下载的数据.也就是说,当一个用户象要下载一个主页时,它向Squid