溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

LVS虛擬云服務(wù)器、負載調(diào)度算法及其它

發(fā)布時間:2020-04-21 11:50:58 來源:億速云 閱讀:298 作者:三月 欄目:建站服務(wù)器

下文給大家?guī)鞮VS虛擬云服務(wù)器、負載調(diào)度算法及其它,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計的經(jīng)驗做一個解答。

LVS虛擬云服務(wù)器

Linux Virtual Server(LVS)是針對 Linux內(nèi)核開發(fā)的一個負載均衡項目,由我國
的章文嵩博土在1998年5月創(chuàng)建,官方站點位于http://www.linuxvirtualserver.org/.

LVS實際上相當于基于IP地址的虛擬化應(yīng)用,為基于IP地址和內(nèi)容請求分發(fā)的負載均衡提出了一種高效的解決方法。

LVS現(xiàn)在已成為Linux內(nèi)核的一部分,默認編譯為ip_vs模塊,必要時能夠自動調(diào)用。

LVS的負載調(diào)度算法

針對不同的網(wǎng)絡(luò)服務(wù)和配置需要,LVS調(diào)度器提供多種不同的負載調(diào)度算法,其中最常用的四種算法包括輪詢、加權(quán)輪詢、最少連接和加權(quán)最少連接。

輪詢( RoundRobin):將收到的訪問請求按照順序輪流分配給群集中的各節(jié)
點(真實服務(wù)器)。

加權(quán)輪詢( WeightedRoundRobin):根據(jù)真實服務(wù)器的處理能力輪流分配收到的訪問請求,調(diào)度器可以自動查詢各節(jié)點的負載情況,并動態(tài)調(diào)整其權(quán)重。這樣可以保證處理能力強的服務(wù)器承擔(dān)更多的訪問流量。

最少連接( LeastConnections):根據(jù)真實服務(wù)器已建立的連接數(shù)進行分配,將收到的訪問請求優(yōu)先分配給連接數(shù)最少的節(jié)點。

加權(quán)最少連接(WeightedLeastConnections):在服務(wù)器節(jié)點的性能差異較大的情況下,可以為真實服務(wù)器自動調(diào)整權(quán)重,權(quán)重較高的節(jié)點將承擔(dān)更大比例的活動連接負載。

使用ipvsadm管理工具

ipvsadm是在負載調(diào)度器上使用的LVS群集管理工具,通過調(diào)用ip_vs模塊添加、刪除服務(wù)器節(jié)點,以及查看群集的運行狀態(tài)。在Centos6系統(tǒng)中,需要手動安裝ipvsadm軟件包。在centos7中直接安裝就可以。

地址轉(zhuǎn)換模式

地址轉(zhuǎn)換( NetworkAddressTranslation)簡稱NAT模式,類似于防火墻的私有網(wǎng)絡(luò)結(jié)構(gòu),負載調(diào)度器作為所有服務(wù)器節(jié)點的網(wǎng)關(guān),即作為客戶機的訪問入口,也是各節(jié)點回應(yīng)客戶機的訪問出口。服務(wù)器節(jié)點使用私有IP地址,與負載調(diào)度器位于同一個物理網(wǎng)絡(luò),安全性要優(yōu)于其他兩種方式。

圖解

LVS虛擬云服務(wù)器、負載調(diào)度算法及其它
說明:節(jié)點服務(wù)器作用在私網(wǎng),而客戶端作用在公網(wǎng),此時LVS就作為網(wǎng)關(guān),節(jié)點服務(wù)器反饋信息給客戶端時,會經(jīng)過LVS。

實驗環(huán)境
角色IP
LVS192.168.100.1 / 12.0.0.1
apache1192.168.100.110
apache2192.168.100.120
NFS192.168.100.130
步驟
在兩臺節(jié)點服務(wù)器上搭建httpd服務(wù)
# yum install httpd -y
# systemctl stop firewalld.service
# setenforce 0
在NFS服務(wù)器上搭建NFS服務(wù)
  • 安裝服務(wù)
    # rpm -q nfs-utils
    # rpm -q rpcbind   //看是否安裝,服務(wù)已安裝
  • 編輯配置文件
    # vim /etc/exports
    /usr/share *(ro,sync)
    /opt/benet 192.168.100.0/24(rw,sync)//創(chuàng)建目錄benet,192.168.100.0網(wǎng)段的可以進行讀寫和同步操作
    /opt/accp 192.168.100.0/24(rw,sync)//創(chuàng)建目錄accp,192.168.100.0網(wǎng)段的可以進行讀寫和同步操作
  • 創(chuàng)建目錄并賦予權(quán)限
    # mkdir /opt/benet /opt/accp
    # chmod 777  /opt/benet /opt/accp
  • 開啟nfs服務(wù)并發(fā)布共享
    # systemctl start nfs.service
    # exportfs -rv  //發(fā)布共享

    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它

    節(jié)點服務(wù)器掛載nfs服務(wù)器的共享文件
  • apache1將/opt/benet掛載到站點目錄下
    # showmount -e 192.168.100.130  //查看共享文件
    # mount.nfs 192.168.100.130:/opt/benet /var/www/html  //掛載
    # cd /var/www/html/
    # echo "this is benet" > index.html
    # systemctl start httpd.service 

    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它

  • apache2將/opt/accp掛載到站點目錄下
    # showmount -e 192.168.100.130  //查看共享文件
    # mount.nfs 192.168.100.130:/opt/accp /var/www/html  //掛載
    # echo "this is accp" > index.html
    # systemctl start httpd.service 

    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它
    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它

    LVS服務(wù)器(注意是雙網(wǎng)卡)
  • 安裝ipvsadm管理工具
    # yum install ipvsadm -y
  • 加載內(nèi)核模塊
    # modprobe ip_vs
  • 設(shè)置路由轉(zhuǎn)發(fā)(因為是雙網(wǎng)卡)
    # vim /etc/sysctl.conf
    末尾添加:net.ipv4.ip_forward = 1
    # sysctl -p  //立即生效

    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它

  • 防火墻設(shè)置
    iptables -F  
    # iptables -t nat -F
    # iptables -L
    //清空所有規(guī)則
    # iptables -t nat -I POSTROUTING -s 192.168.100.0/24 -o ens36 -j SNAT --to-source 12.0.0.1   //設(shè)置SNAT轉(zhuǎn)發(fā),將所有192.168.100.0段的都轉(zhuǎn)換為12.0.0.1,然后進行訪問client

    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它

  • 開啟ipvsadm
    # systemctl start ipvsadm.service
    注:此時開啟可能會出現(xiàn)問題
    # ipvsadm --save  > /etc/sysconfig/ipvsadm  //輸入該行即可

    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它

  • 編寫可執(zhí)行的腳本
    # cd /opt
    # vi net.sh
    #!/bin/bash
    ipvsadm -C
    ipvsadm -A -t 12.0.0.1:80 -s rr
    ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.110:80 -m
    ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.120:80 -m
    ipvsadm
    # chmod +x net.sh
    # ./net.sh
    解釋如下:
    ipvsadm -C //清除內(nèi)核虛擬服務(wù)器表中的所有記錄//
    -A:添加虛擬服務(wù)器
    -s:指定調(diào)度算法
    rr:輪詢算法
    -a:添加真實服務(wù)器
    -t:指定外網(wǎng)網(wǎng)關(guān)及TCP端口
    -r:指定節(jié)點服務(wù)器的地址及TCP端口
    -m:使用NAT集群模式

    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它
    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它
    打開一臺win7進行檢測
    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它
    LVS虛擬云服務(wù)器、負載調(diào)度算法及其它
    注:當兩次連續(xù)訪問12.0.0.1時,可能一時間切換不過來,顯示的還是原來的界面,這時候就必須清除緩存,才能看到兩個不同的界面。當然了,如果這時關(guān)掉其中一臺節(jié)點服務(wù)器的httpd服務(wù),那么再去訪問12.0.0.1時,顯示的就是另一臺的網(wǎng)頁界面啦。

  • 看了以上關(guān)于LVS虛擬云服務(wù)器、負載調(diào)度算法及其它,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。

     

     


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI