请教一个集群的问题

发布于 2022-10-03 20:33:12 字数 363 浏览 22 评论 0

请问各位老大,我现在给客户想改造现有的环境。

如下的环境想搭建成集群,请问能否实现:

1、共7台服务器,且是不同的品牌和配置;

2、7台服务器上其中一台安装的是Linux系统,另外6台是Windows server

3、跑的数据库共有三种:mysql、ms sql 和oracle;

客户的意思想做成集群,需要什么设备可以再加。

如上,请各位给出个主意,不胜感激!

也可以加我QQ:72464

谢谢。

[ 本帖最后由 oldemon 于 2005-11-3 10:16 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

指尖微凉心微凉 2022-10-10 20:33:12

看你想用什么软件来实现了。不同的软件需要的设备不同。

南巷近海 2022-10-10 20:33:12

原帖由 netbee 于 2005-11-3 10:12 发表
看你想用什么软件来实现了。不同的软件需要的设备不同。

是吧

那我就想需要做成集群,能分担各种应用

我是问,有没有集群软件可以跨平台,跨应用实现管理

或者在现有的基础上,需要增配什么设备和软件来实现

谢谢

欢烬 2022-10-10 20:33:12

你想要做成什么样子的集群?负载还是热备?

笑咖 2022-10-10 20:33:12

是花钱的还是不花钱的,这个是关键

倾城月光淡如水﹏ 2022-10-10 20:33:12

是做成花钱的

做成负载的吧

谢谢

有什么好的建议请老大们帮忙啊

誰ツ都不明白 2022-10-10 20:33:12

lvs是负载的

聊慰 2022-10-10 20:33:12

用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.or ... 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

    对于kernel的其它选项,你可以根据需要进行选择。kernel的配置是一项很需要经验、细心和耐心的工作,不当的配置可能会导致编译过程中出现错误或者是新的kernel不能驱动原有的设备等问题。

    退出保存,然后继续执行以下命令:

    make dep

    make clean

    make bzImage

    make modules

    make modules_install

    以上各步可能需要一点时间,如果出错请重新检查你的kernel配置,如果没有出现任何错误就继续执行以下命令:

    depmod –a

    cp arch/i386/boot/bzImage /boot/vmlinuz-lvs

    cp System.map /boot/System.map-lvs

    cd /boot

    rm System.map

    ln -s System.map-lvs System.map

    然后修改你的lilo.conf使用新的kernel启动,比如在lilo.conf中以增加下几行以增加关于新的支持LVS的kernel的启动项:

    image=/boot/vmlinuz-lvs

    label=lvs

    read-only

    root=/dev/sda1

    注:如果使用Grub做启动引导程序的,请自行做对应的修改,以增加关于新的支持LVS的kernel的启动项。

    重新启动Linux,选择lvs项进入Linux。

    安装ipvsadm

    如果正常启动了,就开始安装IP虚拟服务器软件ipvsadm。因为我们用的是RH,所以我们直接下载RPM包进行安装。RPM包从以下地址下载:

    http://www.linuxvirtualserver.or ... sadm-1.21-7.src.rpm

    用以下命令来安装ipvsadm:

    rpmbuild --rebuild ipvsadm-1.21-7.src.rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/ipvsadm-1.21-7.i386.rpm

    至此,LVS的安装算是完成了一半。就是说,现在的Linux已经具备了实现LVS的能力了,接下来的问题就是如果使用LVS来构建一组cluster了。要想实现一组cluster,我们就要使用ipvsadm工具进行配置,而在我们开始使用ipvsadm进行配置之前,我们需要了解一些基本的LVS的知识,特别是以下三个要点:LVS的结构、LVS的三种包转发方式、LVS的八种调度算法。只有了解了这些知识以后,我们才能理该如何使用ipvsadm来进行配置。下面简单介绍LVS的这三个要点:

    1. LVS的结构

    LVS方式的cluster从结构上可分为两部分:前端的负载均衡器(称之为director)和后端的真实服务器(称之为real server)。cluster前端的director将来自外界的请求调度到cluster后端不同的real server去执行。real server负责真正的提供各种应用服务,比如:Web、FTP、Mail等服务。real server的数量可以根据实际需求进行增加、减少。

    2. LVS的三种包转发方式

    LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的转发模式决定了不同的cluster的网络结构,下面对三种转发方式分别介始:

    NAT(网络地址映射)

    NAT方式可支持任何的操作系统,以及私有网络,并且只需一个Internet IP地址,但是整个系统的性能受到限制。因为执行NAT每次需要重写包,有一定的延迟;另外,大部分应用有80%的数据是从服务器流向客户机,也就是用户的请求非常短,而服务器的回应非常大,对负载均衡器形成很大压力,成为了新的瓶颈。

    IP Tunneling(IP隧道)

    director分配请求到不同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。IP Tunneling技术极大地提高了director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,可以超过100个节点。real server可以在任何LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的IP地址用于与客户机直接通信,并且所有服务器必须支持IP隧道协议。

    Direct Routing(直接路由)

    与IP Tunneling类似,负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing与IP Tunneling相比,没有IP封装的开销,但由于采用物理层(修改MAC地址)技术,所有服务器都必须在一个物理网段。

    3. LVS的八种调度算法

    LVS已实现了以下八种调度算法:

    1.轮叫调度(Round-Robin Scheduling)

    2.加权轮叫调度(Weighted Round-Robin Scheduling)

    3.最小连接调度(Least-Connection Scheduling)

    4.加权最小连接调度(Weighted Least-Connection Scheduling)

    5.基于局部性的最少链接(Locality-Based Least Connections Scheduling)

    6.带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling)

    7.目标地址散列调度(Destination Hashing Scheduling)

    8.源地址散列调度(Source Hashing Scheduling)

    注:如果想了解关于以上几点的技术细节,LVS的主页查询。LVS的主页是:

    http://www.LinuxVirtualServer.org/ http://www.linux-vs.org/

    了解了LVS的三个要点之后,接下来我们来配置一个采用Direct Routing包转发方式、加权最小连接调度算法的cluster。

    我们知道Direct Routing包转发方式是通过改写请求报文的MAC地址,将请求发送到real server。前台的director机器只需要接收和调度外界的请求,而不需要负责返回这些请求的反馈结果。director机器和real server都有一块网卡连在同一物理网段上。所以我们给出以下的网络拓扑图:

    director机器上需要进行如下配置:

    设置好本机的IP:192.168.2.1

    然后执行以下命令:

    ifconfig lo:0 192.168.2.254 netmask 255.255.255.255 broadcast

    192.168.2.254 up

    route add -host 192.168.2.254 dev lo:0

    echo 1 > /proc/sys/net/ipv4/ip_forward

    echo 1 >/proc/sys/net/ipv4/conf/all/hidden

    ipvsadm –C

    ipvsadm -A -t 192.168.2.254:80 -s wlc

    ipvsadm -a -t 192.168.2.254:80 -r 192.168.2.2 –g

    ipvsadm -a -t 192.168.2.254:80 -r 192.168.2.3 –g

    ......

    ipvsadm -A -t 192.168.2.254:21 -s wlc

    ipvsadm -a -t 192.168.2.254:21 -r 192.168.2.2 –g

    ipvsadm -a -t 192.168.2.254:21 -r 192.168.2.3 –g

    ......

    real server机器上需要进行如下配置:

    对于第一台real server(RS1),设置好本机的IP:192.168.2.2 然后执行以下命令:

    ifconfig lo:0 192.168.2.254 netmask 255.255.255.255 broadcast

    192.168.2.254 up

    route add -host 192.168.2.254 dev lo:0

    对于其它real server:RS2、RS3、RS4......,做相类的设定。

    完成以上设置后,所有对192.168.2.254的80端口的访问都会通过director机器分配到后面的real server上去,而real server的处理后结果将直接反馈给客户。至此,我们完成了一个cluster的例子。通过这个例子,相信您也可以轻松地利用Linux架设起一组cluster来。其实在cluster架设到这里之后,还并不能达到正式应用的要求,实际应用中还有一些问题需要解决,比如要安装监视软件,监视集群的运作,要能及时发现real server的故障并对应调整real server的列表。还有后台real server节点的数据一致性等问题。这些在一些商用的cluster软件产品中就得到了很好的解决,而网络也有一些非商用的软件,比如mon就是这样的系统资源监控程序,可以监控网络服务可用性、服务器问题等,最重要的是mon提供了一个框架,用户可以自行定义和扩展。这些内容请参阅其它文章。

    网址忘了,只留了个TXT文件

  • |煩躁 2022-10-10 20:33:12

    非常感谢

    我想知道

    操作系统不一样 能不能做到一个集群里面

    比如我说的是 有的机子安装的是linux  有的安装的是windows  

    且数据库 有的是mysql  有的是ms sql  有的是oracle

    怎么实现?

    单挑你×的.吻 2022-10-10 20:33:12

    操作系统不一样 能不能做到一个集群里面

    可以,具体怎么做去搜一下吧

    俺是新手

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文