日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

LVS配置指南

發(fā)布時(shí)間:2025/3/19 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LVS配置指南 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Part I. 安裝配置ipvsadm

1>加載ip_vs模塊
[root@ssn ~]# modprobe ip_vs
[root@ssn ~]# lsmod | grep ip_vs
ip_vs????????????????? 77569? 0
[root@ssn ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
? -> RemoteAddress:Port Forward Weight ActiveConn InActConn

2>建立kernel-source目錄鏈接
[root@ssn src]# rpm -q kernel-devel
kernel-devel-2.6.18-8.el5
[root@ssn src]# ln -s /usr/src/kernels/2.6.18-8.el5-i686/ /usr/src/linux

3>安裝ipvsadm
[sense@ssn Desktop]$ tar xzvf ipvsadm-1.24.tar.gz
[sense@ssn Desktop]$ cd ipvsadm-1.24
[sense@ssn ipvsadm-1.24]$ make
[sense@ssn ipvsadm-1.24]$ sudo make install



5>三種IP負(fù)載均衡技術(shù)的優(yōu)缺點(diǎn)比較:

雜項(xiàng)         VS/NAT     VS/TUN     VS/DR
服務(wù)器操作系統(tǒng)    任意      支持隧道    ?? 多數(shù)(支持Non-arp )
服務(wù)器網(wǎng)絡(luò)      私有網(wǎng)絡(luò)    局域網(wǎng)/廣域網(wǎng)  局域網(wǎng)
服務(wù)器數(shù)目(100M網(wǎng)絡(luò))????? 10-20      100       多(100)
服務(wù)器網(wǎng)關(guān)      負(fù)載均衡器   自己的路由   ?? 自己的路由
效率         一般      高       ?? 最高


Part II. LVS/NAT

1>director端配置
(1)開啟IP轉(zhuǎn)發(fā):
臨時(shí)開啟(立即生效):
[root@ssn src]# echo "1">/proc/sys/net/ipv4/ip_forward
永久開啟(重啟服務(wù)器或NETWROK服務(wù)后生效):
[root@ssn src]# vi /etc/sysctl.conf
--------------------------------------------
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
--------------------------------------------
[root@ssn src]# sysctl -p
(2)配置ipvsadm調(diào)度
[root@ssn src]# ipvsadm -C
[root@ssn src]# ipvsadm -A -t 192.168.1.90:80 -s wlc -p 120
[root@ssn src]# ipvsadm -a -t 192.168.1.90:80 -r 192.168.2.1:80 -m
[root@ssn src]# ipvsadm -a -t 192.168.1.90:80 -r 192.168.2.2:80 -m
[root@ssn src]# iptables -F
注:目前director端使用netfilter模塊會(huì)與LVS產(chǎn)生沖突,所以推薦直接關(guān)閉iptables。

2>client端配置
cluster1:
[root@cluster1 ~]# vi /etc/sysconfig/network
-------------------------------------------------
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=cluster1
GATEWAY=192.168.2.254
-------------------------------------------------
[root@cluster1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
-------------------------------------------------
DEVICE=eth0
BROADCAST=192.168.2.255
IPADDR=192.168.2.1
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
-------------------------------------------------
cluster2:
[root@cluster2 ~]# vi /etc/sysconfig/network
-------------------------------------------------
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=cluster2
GATEWAY=192.168.2.254
-------------------------------------------------
[root@cluster2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
-------------------------------------------------
DEVICE=eth0
BROADCAST=192.168.2.255
IPADDR=192.168.2.2
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
-------------------------------------------------

3>遠(yuǎn)程測試
[url]http://192.168.1.254/[/url]

4>問題說明
ip_vs模塊是實(shí)現(xiàn)基于內(nèi)核的流量調(diào)度,所以本地不會(huì)顯示相應(yīng)的監(jiān)控程序。
[root@ssn httpd-2.2.6]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address?????????????? Foreign Address???????????? State?????? PID/Program name? ?
tcp??????? 0????? 0 127.0.0.1:8000????????????? 0.0.0.0:*?????????????????? LISTEN????? 5321/nasd????????? ?
tcp??????? 0????? 0 0.0.0.0:873???????????????? 0.0.0.0:*?????????????????? LISTEN????? 6010/rsync???????? ?
tcp??????? 0????? 0 :::873????????????????????? :::*??????????????????????? LISTEN????? 6010/rsync??? ?

[root@ssn httpd-2.2.6]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
? -> RemoteAddress:Port?????????? Forward Weight ActiveConn InActConn
TCP? 192.168.1.90:http wlc
? -> 192.168.2.3:http???????????? Masq??? 1????? 0????????? 42?????? ?
? -> 192.168.2.2:http???????????? Masq??? 1????? 0????????? 44?????? ?



Part III. LVS/DR

1>director配置
root@ssn httpd-2.2.6]# vi /etc/sysctl.conf
------------------------------------------------
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.eth0.send_redirects = 1
------------------------------------------------
[root@ssn httpd-2.2.6]# sysctl -p
配置VIP:
[root@ssn httpd-2.2.6]# ip addr add 192.168.1.254 dev eth0
[root@ssn httpd-2.2.6]# ip route add 192.168.1.254/32 dev eth0
配置ipvsadm調(diào)度:
[root@ssn httpd-2.2.6]# ipvsadm -C
[root@ssn httpd-2.2.6]# ipvsadm -A -t 192.168.1.254:80 -s wlc -p 120
[root@ssn httpd-2.2.6]# ipvsadm -a -t 192.168.1.254:80 -r 192.168.1.92 -g
[root@ssn httpd-2.2.6]# ipvsadm -a -t 192.168.1.254:80 -r 192.168.1.93 -g
關(guān)閉防火墻:
[root@ssn src]# iptables -F
注:目前director端使用netfilter模塊會(huì)與LVS產(chǎn)生沖突,所以推薦直接關(guān)閉iptables。

2>realserver配置
cluster1:
[root@cluster1 ~]# vi /etc/sysctl.conf
----------------------------------------
net.ipv4.ip_forward = 0
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
----------------------------------------
[root@cluster1 ~]# sysctl? -p
配置VIP:
[root@cluster1 ~]# ip addr add 192.168.1.254 dev lo
[root@cluster1 ~]# ip route add 192.168.1.254/32 dev lo
本地IP:
[root@cluster1 ~]# vi /etc/sysconfig/network
-------------------------------------------------
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=cluster1
GATEWAY=192.168.1.1
-------------------------------------------------
[root@cluster1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
-------------------------------------------------
DEVICE=eth0
BROADCAST=192.168.1.255
IPADDR=192.168.1.91
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
-------------------------------------------------
關(guān)閉iptables:
[root@cluster1 ~]# iptables -F


cluster2:
[root@cluster2 ~]# vi /etc/sysctl.conf
----------------------------------------
net.ipv4.ip_forward = 0
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
----------------------------------------
[root@cluster2 ~]# sysctl? -p
配置VIP:
[root@cluster2 ~]# ip addr add 192.168.1.254 dev lo
[root@cluster2 ~]# ip route add 192.168.1.254/32 dev lo
本地IP:
[root@cluster2 ~]# vi /etc/sysconfig/network
-------------------------------------------------
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=cluster2
GATEWAY=192.168.1.1
-------------------------------------------------
[root@cluster2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
-------------------------------------------------
DEVICE=eth0
BROADCAST=192.168.1.255
IPADDR=192.168.1.92
IPV6ADDR=
IPV6PREFIX=
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
-------------------------------------------------
關(guān)閉iptables:
[root@cluster1 ~]# iptables -F


3>遠(yuǎn)程測試
[url]http://192.168.1.254/[/url]

4>問題說明
LVS/DR中realserver也不能使用iptables,否則訪問測試不能成功。
[root@ssn httpd-2.2.6]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
? -> RemoteAddress:Port?????????? Forward Weight ActiveConn InActConn
TCP? 192.168.1.254:http wlc
? -> 192.168.1.91:http??????????? Route?? 1????? 0????????? 11?????? ?
? -> 192.168.1.92:http??????????? Route?? 1????? 1????????? 10?????? ?



Part III. LVS/TUN


Part IV. ipvsadm命令參數(shù)說明(引用)

ipvsadm -A -t 192.168.1.90:80 -s wlc -p 120

-A 增加一個(gè)虛擬服務(wù),該服務(wù)由協(xié)議、IP地址和端口號(hào)組成,例如:
-A -t 202.99.59.110:80 (增加一格虛擬服務(wù),其協(xié)議(-t表示tcp,-u表示udp)為TCP、IP為202.99.59.110、端口號(hào)為80。

-s 指定服務(wù)采用的算法,常用的算法參數(shù)如下:

??? * rr?? 輪叫(Round Robin)
????? 調(diào)度器通過"輪叫"調(diào)度算法將外部請求按順序輪流分配到集群中的真實(shí)服務(wù)器上,它均等地對待每一臺(tái)服務(wù) 器,而不管服務(wù)器上實(shí)際的連接數(shù)和系統(tǒng)負(fù)載。
??? * wrr?? 加權(quán)輪叫(Weighted Round Robin)
????? 調(diào)度器通過"加權(quán)輪叫"調(diào)度算法根據(jù)真實(shí)服務(wù)器的不同處理能力來調(diào)度訪問請求。這樣可以保證處理能力強(qiáng)的服務(wù)器處理更多的訪問流量。調(diào)度器可以自動(dòng)問詢真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值。
??? * lc?? 最少鏈接(Least Connections)
????? 調(diào)度器通過"最少連接"調(diào)度算法動(dòng)態(tài)地將網(wǎng)絡(luò)請求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上。如果集群系統(tǒng)的真實(shí)服務(wù)器具有相近的系統(tǒng)性能,采用"最小連接"調(diào)度算法可以較好地均衡負(fù)載。
??? * wlc?? 加權(quán)最少鏈接(Weighted Least Connections)
????? 在集群系統(tǒng)中的服務(wù)器性能差異較大的情況下,調(diào)度器采用"加權(quán)最少鏈接"調(diào)度算法優(yōu)化負(fù)載均衡性能,具有較高權(quán)值的服務(wù)器將承受較大比例的活動(dòng)連接負(fù)載。調(diào)度器可以自動(dòng)問詢真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值。
??? * lblc?? 基于局部性的最少鏈接(Locality-Based Least Connections)
????? "基于局部性的最少鏈接" 調(diào)度算法是針對目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。該算法根據(jù)請求的目標(biāo)IP地址找出該目標(biāo)IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒有超載,將請求發(fā)送到該服務(wù)器;若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于一半的工作負(fù)載,則用"最少鏈接"的原則選出一個(gè)可用的服務(wù)器,將請求發(fā)送到該服務(wù)器。
??? * lblcr?? 帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication)
????? " 帶復(fù)制的基于局部性最少鏈接"調(diào)度算法也是針對目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。它與LBLC算法的不同之處是它要維護(hù)從一個(gè)目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法維護(hù)從一個(gè)目標(biāo)IP地址到一臺(tái)服務(wù)器的映射。該算法根據(jù)請求的目標(biāo)IP地址找出該目標(biāo)IP地址對應(yīng)的服務(wù)器組,按"最小連接"原則從服務(wù)器組中選出一臺(tái)服務(wù)器,若服務(wù)器沒有超載,將請求發(fā)送到該服務(wù)器,若服務(wù)器超載;則按"最小連接"原則從這個(gè)集群中選出一臺(tái)服務(wù)器,將該服務(wù)器加入到服務(wù)器組中,將請求發(fā)送到該服務(wù)器。同時(shí),當(dāng)該服務(wù)器組有一段時(shí)間沒有被修改,將最忙的服務(wù)器從服務(wù)器組中刪除,以降低復(fù)制的程度。
??? * dh?? 目標(biāo)地址散列(Destination Hashing)
????? "目標(biāo)地址散列"調(diào)度算法根據(jù)請求的目標(biāo)IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請求發(fā)送到該服務(wù)器,否則返回空。
??? * sh?? 源地址散列(Source Hashing)
????? "源地址散列"調(diào)度算法根據(jù)請求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請求發(fā)送到該服務(wù)器,否則返回空。

-p 會(huì)話保持時(shí)間,定義流量被轉(zhuǎn)到同一個(gè)realserver的會(huì)話存留時(shí)間。


/sbin/ipvsadm -a -t 192.168.1.254:80 -r 192.168.1.12 -g -w 1 -p 100

-a 表示往一個(gè)服務(wù)內(nèi)增加一個(gè)real server
-r 指定real server的IP地址
-w 表示權(quán)重
-g 表示使用DR方式,-m表示NAT方式,-i表示tunneling方式。




更新中……

轉(zhuǎn)載于:https://blog.51cto.com/sense5/55297

總結(jié)

以上是生活随笔為你收集整理的LVS配置指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。