• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Linux系統負載均衡集群系統解決方案

    發布: 2007-5-26 11:30 | 作者: shengzhou  | 來源: 賽迪網 | 查看: 31次 | 進入軟件測試論壇討論

    領測軟件測試網

    一、Linux虛擬服務器簡介

    基于中軟Linux的虛擬服務器(Linux Virtual Server,即LVS)是一個具有高可用性特點的負載均衡集群系統。該系統可以提供與服務器節點的數量、性能成正比的負載能力,有效提高服務的吞吐量、可靠性、冗余度、適應性,性能價格比高。同時,LVS也是利用低端設備實現高端服務器性能的有效途徑。

    中軟Linux虛擬服務器(Linux Virtual Server,即LVS)是建立在一個主控服務器(director)及若干真實服務器(real-server)所組成的集群之上。real- server負責實際提供服務,主控服務器根據指定的調度算法對real-server進行控制。而集群的結構對于用戶來說是透明的,客戶端只與單個的 IP(集群系統的虛擬IP)進行通信,也就是說從客戶端的視角來看,這里只存在單個服務器。

    Real-server可以提供眾多服務,如 ftp, http, dns, telnet, nntp, smtp 等。主控服務器負責對Real-Server進行控制?蛻舳嗽谙騆VS發出服務請求時,Director會通過特定的調度算法來指定由某個Real- Server來應答請求,而客戶端只與Load Balancer的IP(即虛擬IP,VIP)進行通信。

    二、優點

    * 提高吞吐量:為獲得更高的吞吐量,在LVS中增加real-servers,其開銷只是線性增長;而如果我們選擇更換一臺更高性能的服務器來獲得相當的吞吐量,其開銷要大得多,而且被替換掉的舊服務器會造成資源的浪費。

    * 冗余:如果LVS中某real-server由于需要升級或其它原因而停止服務,其退出以及恢復工作,并不會造成整個LVS對客戶端服務的中斷。

    * 適應性:不管是需要吞吐量逐漸地變化(因日常事務量變化),還是快速地變化(因突發事務量變化),服務器數量的增減對于客戶端都是透明的。

    三、結構圖

     

    傳統的“客戶端/服務器”的關系在LVS中仍舊適用,原因在于:

    * 所有服務器的IP地址都映射為一個IP(即VIP),客戶端只能看見此IP地址

    * 所有服務器都認為它與客戶端是直接聯系的。

    上圖一個LVS的基礎設置

    四、基本原理及功能

    事實上,director的主要作用類似于一個路由器,但它含有為完成LVS功能所設定的路由表。這些路由表允許director把屬于LVS設定服務的包轉發到real-servers。如果http(端口80)是LVS設定服務,那么這些包都會被director轉發,而director并不監聽 VIP:80。

    director使用三種不同的轉發方法

    1、VS-NAT:基于網絡地址轉換(network address translation ,NAT)

    2、VS-DR :直接路由(direct routing,DR),包上的MAC地址被更改,然后被轉發到real-server

    3、VS-Tun :隧道(tunnelling) ,包被IPIP封裝,然后被轉發到real-server。

    VS-NAT方式實現較為容易,只需要一個功能tcpip棧,缺點在于吞吐量不夠大,而且支持的real-server數有限。而VS-DR方式則吞吐量較大,并支持大量的real-server。VS-TUN方式的特點和VS-DR 相似,不過主要用于real-server分布在因特網之上的情況, real-servers對于director可以是遠程的,real-servers之間可以處于不同網段。不過,VS-DR和VS-TUN轉發方式需要對real-server的ifconfig和路由表進行修改。

    LVS可以提供幾乎所有的服務(單端口和2端口服務),除了VS-DR和VS-Tun不可以提供從real-servers進行初始化連接的服務(有identd,rsh)。

    Real-servers可以是相同的,提供相同的服務(如http ,ftp),文件系統保持內容上的一致,這種類型的LVS用來提高可服務客戶端數量。Real-server也可以不同,有各自不同的服務或操作系統。

    五、VS-NAT(基于網絡地址轉換,network address translation ,NAT)

    VS-NAT是LVS最基本的方法,如果想要設置一個用于測試的LVS,這是一個最簡單的方法。

    當客戶發出請求,director會將接受到的包的目標地址重寫為某個real-server,并將其轉發到real-server。Real-server的回復會發到director,director將回復包的源地址改寫為VIP

    不像VS-DR和VS-TUN,real-server只需要一個功能tcpip棧。Real-server可以是任意操作系統,在real-server上也不必做什么配置修改(除了在路由表中,需要把real-server的默認網關設為director)。

    下圖為VS-NAT方式的拓補和工作流程示意圖。

     

    六、VS-DR(直接路由,direct routing,DR)

     

    Director接到來自client的請求包后,根據調度算法選擇一個real- server,解析出此real-server的MAC地址,并且向此MAC發送包含一個IP datagram的鏈路層包。Real-server收到包后,恢復IP datagram,查找路由表后發現這個VIP就在本地(設備lo:0,non-arp),移交給端口監聽器。因為Real-server收到從CIP- >VIP的包,構造回復包時就是VIP->CIP。Real-server查找路由表,并通過到client的缺省gateway發送回復;貜筒唤涍^director。

    在real-server上所需做的工作就是配置一個non-arping的lo:0設備。并且服務需要監聽VIP的相應端口。

    VS-DR方式吞吐量較大,支持的real-server數量較多。

    七、VS-Tun(隧道,tunnelling)

    這種方式是基于VS-DR方式的,不同的只是director將包IPIP封裝,然后轉發到real-server。VS-TUN的real- servers相對于director可以遠程;而且每個real-server都可以在單獨的網絡上,但需要在路由器上做工作,允許源地址為VIP的輸出包。

    配置方法和要求與VS-DR方式類似。只是需要將lo:0設備換為tunl0設備,其對應模塊為ipip。

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>