Linux Cluster:
Cluster:計(jì)算機(jī)集合,為解決某個(gè)特定問(wèn)題組合起來(lái)形成的單個(gè)系統(tǒng);
Linux Cluster類(lèi)型:
LB:Load Balancing Cluster,負(fù)載均衡集群
它是利用一個(gè)集群中的多臺(tái)機(jī)器,完成許多并行的工作。一般情況下,如果一個(gè)應(yīng)用使用的人多了,那么用戶(hù)請(qǐng)求的相應(yīng)時(shí)間就會(huì)增大,機(jī)器的性能也會(huì)受到影響,如果是使用LB,那么集群中的每一臺(tái)機(jī)器都能響應(yīng)用戶(hù)的請(qǐng)求,這樣集群就會(huì)在用戶(hù)發(fā)出請(qǐng)求之后,根據(jù)算法選擇機(jī)器接收請(qǐng)求并響應(yīng),來(lái)增加系統(tǒng)的可用性和穩(wěn)定性。
負(fù)責(zé)均衡集群中有一個(gè)Director(也叫調(diào)度器或分發(fā)器),它處在多個(gè)服務(wù)器的前面,接收客戶(hù)請(qǐng)求并根據(jù)內(nèi)部定義的規(guī)則或調(diào)度方式在后方服務(wù)器群中選擇一個(gè)來(lái)響應(yīng)用戶(hù)發(fā)送的請(qǐng)求。-
HA:High Availablity Cluster,高可用集群
高可用集群是服務(wù)的可用性高,當(dāng)我們的某臺(tái)服務(wù)器出現(xiàn)問(wèn)題不可用時(shí)不會(huì)造成服務(wù)不可用。
衡量標(biāo)準(zhǔn):A=MTBF/(MTBF+MTTR)
A(0,1): 90%,95%,99%,99.9%,99.99%,99.999%- MTBF:服務(wù)在線(xiàn)時(shí)間
- MTTR:故障處理時(shí)間
-
HP:High Performance Cluster。高性能集群
高性能集群是并行處理集群,將大任務(wù)劃分為小任務(wù),分別進(jìn)行處理的機(jī)制;一般用于科學(xué)研究與大數(shù)據(jù)運(yùn)算等方面的工作。
分布式系統(tǒng):
- 分布式存儲(chǔ)
- 分布式計(jì)算
系統(tǒng)擴(kuò)展方式:
- Scale UP:向上擴(kuò)展;當(dāng)一臺(tái)服務(wù)器不能滿(mǎn)足需求時(shí),更換更高性能的服務(wù)器替換,這種方式為向上擴(kuò)展
- Scale Out:向外擴(kuò)展;當(dāng)一臺(tái)服務(wù)器不能滿(mǎn)足需求時(shí),添加新的服務(wù)器,組成集群模式來(lái)使用,這種方式被稱(chēng)為向外擴(kuò)展
lvs:Linux Virtual Server
- lvs:四層路由器,四層交換機(jī);
VS根據(jù)請(qǐng)求報(bào)文的目標(biāo)ip和目標(biāo)協(xié)議及端口將其調(diào)度轉(zhuǎn)發(fā)之某RealServer,根據(jù)調(diào)度算法來(lái)挑選RS; - lvs : ipvsadm/ipvs
- ipvsadm:用戶(hù)空間的命令行工具,規(guī)則管理器,用于管理集群服務(wù)及相關(guān)的RealServer;
- ipvs:工作于內(nèi)核空間的netfilter的INPUT鉤子之上的框架;
- lvs集群類(lèi)型中的術(shù)語(yǔ):
- VS: Virtual Server,Director, Dispatcher,Balancer
- RS: Real Server,upstream server , backend server
- CIP: Client ip,VIP: Virtual server ip,RIP: Real server ip,DIP: Director ip
ipvs scheduler:調(diào)度算法(調(diào)度方法);
根據(jù)其調(diào)度時(shí)是否考慮各RS當(dāng)前的負(fù)載狀態(tài),可分為靜態(tài)方法和動(dòng)態(tài)方法兩種:
- 靜態(tài)方法:僅根據(jù)算法本身進(jìn)行調(diào)度
- RR: roundrobin, 輪詢(xún);
- WRR: Weighted RR, 加權(quán)輪詢(xún);
- SH: Source Hashing,實(shí)現(xiàn)session sticky,源ip地址哈希;將來(lái)自于同一個(gè)ip地址的請(qǐng)求始終發(fā)往第一次挑中的RS,從而實(shí)現(xiàn)回話(huà)綁定;
- DH: Destination Hashing,目標(biāo)ip地址哈希,將發(fā)往同一個(gè)目標(biāo)地址的請(qǐng)求始終發(fā)至第一次挑中的RS,典型的使用場(chǎng)景是正向代理緩存場(chǎng)景中的負(fù)載均衡;
- 動(dòng)態(tài)方法:主要根據(jù)每RS當(dāng)前的負(fù)載狀態(tài)及調(diào)度算法進(jìn)行調(diào)度;Overhead(負(fù)載值)、activeconns(活動(dòng)連接數(shù))、inactiveconns(非活動(dòng)連接數(shù))
- LC: least connections,最少連接數(shù)
- Overhead=activeconns*256+inactiveconns - WLC: Weighted LC, 加權(quán)最少連接;
- Overhead=(activeconns*256+inactiveconns)/weight - SED: Shortest Expection Delay,最短的期望延遲;
- Overhead=(activeconns+1)*256/weight - NQ: Never Queue,增強(qiáng)版SED
- LBLC: Locality-Based LC,動(dòng)態(tài)的DH算法;
- LBLCR:LBLC with Replication,帶復(fù)制功能的LBLC;
lvs四種集群:nat、dr、tun、fullnat
1. lvs-nat:
多目標(biāo)的DNAT,通過(guò)將請(qǐng)求報(bào)文的目標(biāo)地址和目標(biāo)端口修改為某挑選出的RS的ip、port實(shí)現(xiàn)轉(zhuǎn)發(fā)。
<1>. RIP和DIP必須在同一個(gè)ip網(wǎng)絡(luò),且應(yīng)該使用私網(wǎng)地址;RS的網(wǎng)關(guān)要指向DIP
<2>. 請(qǐng)求報(bào)文和響應(yīng)報(bào)文都必須經(jīng)由Director轉(zhuǎn)發(fā);Director易于稱(chēng)為系統(tǒng)瓶頸;
<3>. 支持端口映射,可以修改請(qǐng)求報(bào)文的目標(biāo)PORT
<4>. VS必須是Linux系統(tǒng),RS可以是任意系統(tǒng)
- 使用場(chǎng)景:小并發(fā)的實(shí)驗(yàn)性應(yīng)用、mysql集群
2. lvs-dr:
Direct Routing,直接路由;
通過(guò)為請(qǐng)求報(bào)文重新封裝一個(gè)MAC首部進(jìn)行轉(zhuǎn)發(fā),源MAC是DIP所在的接口的MAC,目標(biāo)MAC是某挑選出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目標(biāo)IP/PORT均保持不變;
Director和各RS都得配置使用VIP;
<1> 確保前段路由器將目標(biāo)ip為VIP的請(qǐng)求報(bào)文發(fā)往Director,有以下三種方式:
- 在前端網(wǎng)關(guān)做靜態(tài)綁定
- 在RS上使用arptables;
- 在RS上修改內(nèi)核參數(shù)以限制arp通告及應(yīng)答級(jí)別;
<2> RS的RIP可以使用私網(wǎng)地址,也可以使用公網(wǎng)地址;RIP和DIP在同一個(gè)ip網(wǎng)絡(luò);RIP的網(wǎng)關(guān)不能只想DIP,以確保響應(yīng)報(bào)文不會(huì)經(jīng)由Director;
<3> RS跟Director要在同一個(gè)物理網(wǎng)絡(luò);
<4> 請(qǐng)求報(bào)文要經(jīng)由Director,但響應(yīng)報(bào)文不能經(jīng)由Director,而是由RS直接發(fā)往Client;
<5> 不支持端口映射
- 使用場(chǎng)景:大眾方式;
3. lvs-tun:
轉(zhuǎn)發(fā)方式:不修改請(qǐng)求報(bào)文的IP首部(源IP為CIP,目標(biāo)IP為VIP),而是在原IP報(bào)文之外再封裝一個(gè)IP首部(源IP是DIP,目標(biāo)IP是RIP),將報(bào)文發(fā)往挑選出的目標(biāo)RS;RS直接響應(yīng)給客戶(hù)端(源IP是VIP,目標(biāo)IP是CIP);
<1> DIP VIP RIP 都應(yīng)該是公網(wǎng)地址;
<2> RS的網(wǎng)關(guān)不能,也不可能指向DIP;
<3> 請(qǐng)求報(bào)文要經(jīng)由Director,但響應(yīng)不能經(jīng)由Director;
<4> 不支持端口映射
<5> RS的OS得支持隧道功能;
- 使用場(chǎng)景:廣域網(wǎng)負(fù)載;
4. lvs-fullnat:
通過(guò)同時(shí)修改請(qǐng)求報(bào)文的源IP地址和目標(biāo)IP地址進(jìn)行轉(zhuǎn)發(fā)
CIP< - - > DIP
VIP< - - > RIP
<1> VIP是公網(wǎng)地址,RIP和DIP是私網(wǎng)地址,且通常不在同一個(gè)IP網(wǎng)絡(luò);因此,RIP的網(wǎng)關(guān)一般不會(huì)指向DIP
<2> RS收到的請(qǐng)求報(bào)文源地址是DIP,因此,只能響應(yīng)給DIP;但是Director還要將其發(fā)往Client;
<3> 請(qǐng)求和響應(yīng)報(bào)文都經(jīng)由Director;
<4> 支持端口映射;
- 注意: 此類(lèi)型默認(rèn)不支持;
總結(jié):
- lvs-nat,lvs-fullnat:請(qǐng)求和響應(yīng)報(bào)文都經(jīng)由Director
- lvs-nat:RIP的網(wǎng)關(guān)要指向DIP
- lvs-fullnat:RIP和DIP未必在同一IP網(wǎng)絡(luò),但要能通信
- lvs-dr,lvs-tun:請(qǐng)求報(bào)文要經(jīng)由Director,但響應(yīng)報(bào)文由RS直接發(fā)往Client
- lvs-dr:通過(guò)封裝新的MAC首部實(shí)現(xiàn),通過(guò)MAC網(wǎng)絡(luò)轉(zhuǎn)發(fā)
- lvs-tun:通過(guò)在原IP報(bào)文之外封裝新的IP首部實(shí)現(xiàn)轉(zhuǎn)發(fā),支持遠(yuǎn)距離通信
lvs-nat工作原理及配置實(shí)現(xiàn)
工作原理:
- 客戶(hù)端通過(guò)Internet訪(fǎng)問(wèn)本地的服務(wù),發(fā)送請(qǐng)求報(bào)文(源地址CIP:目標(biāo)地址VIP:端口號(hào))通過(guò)路由和Director的公網(wǎng)ip地址(VIP)到達(dá)Director,Director收到請(qǐng)求報(bào)文后,通過(guò)INPUT鏈上的規(guī)則發(fā)現(xiàn)是訪(fǎng)問(wèn)RealServer的服務(wù),就把請(qǐng)求報(bào)文的目標(biāo)地址和端口改為通過(guò)算法挑選出RS的ip地址和端口(源地址CIP:目標(biāo)地址RIP:端口),并通過(guò)DIP網(wǎng)卡發(fā)送給RS;此處要求Director開(kāi)啟核心轉(zhuǎn)發(fā)功能;
-
RS收到請(qǐng)求報(bào)文,解封裝后發(fā)送響應(yīng)報(bào)文(源端口RIP:目標(biāo)端口:CIP)給Director(此處RS的網(wǎng)關(guān)必須指向Director的DIP才行),Director收到報(bào)文后看到目標(biāo)地址是CIP,因此就通過(guò)本地VIP網(wǎng)卡發(fā)送給Client; 流程如下圖:
LVS-NAT.png
-
配置實(shí)現(xiàn):
根據(jù)上圖的網(wǎng)絡(luò)拓?fù)鋱D,配置lvs-nat實(shí)驗(yàn)機(jī)#把主機(jī)192.168.1.108配置成Director,先檢查看內(nèi)核是否支持lvs [root@localhost ~]# grep -i "ipvs" -C 10 /boot/config-3.10.0-693.el7.x86_64 #在192.168.1.108上在添加一塊網(wǎng)卡,配置僅主機(jī)模式并配置ip [root@localhost ~]# ifconfig ens33 192.168.18.254/24 #開(kāi)啟核心轉(zhuǎn)發(fā)功能 [root@localhost ~]# sysctl -w net.ipv4.ip_forward=1 [root@localhost ~]# hostnamectl set-hostname www.ilinux.com #在RS1和RS2兩臺(tái)主機(jī)上先安裝httpd、telnet-server兩個(gè)服務(wù)以便后面測(cè)試 [root@localhost ~]# yum -y install httpd telnet-server #分別給R1和R2配置兩個(gè)不同的測(cè)試頁(yè) [root@localhost ~]# vim /var/www/html/test1.html R1: <h1>R1,192.168.18.11</h1> R2: <h1>R2,192.168.18.12</h1> #修改RS1和RS2的主機(jī)名 [root@localhost ~]# hostnamectl set-hostname rs1.ilinux.com [root@localhost ~]# hostnamectl set-hostname rs2.ilinux.com #配置RS1和RS2的ip地址,并且網(wǎng)關(guān)指向192.168.18.254 [root@localhost ~]# ifconfig ens33 192.168.18.11/24 [root@localhost ~]# route add default gw 192.168.18.254 [root@localhost ~]# ifconfig ens33 192.168.18.12/24 [root@localhost ~]# route add default gw 192.168.18.254 #至此網(wǎng)絡(luò)配置完成,下面配置lvs規(guī)則定義集群 [root@www ~]# yum -y install ipvsadm [root@www ~]# ipvsadm -A -t 192.168.1.108:80 -s rr [root@www ~]# ipvsadm -a -t 192.168.1.108:80 -r 192.168.18.11 -m [root@www ~]# ipvsadm -a -t 192.168.1.108:80 -r 192.168.18.12 -m [root@www ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.108:80 rr -> 192.168.18.11:80 Masq 1 0 9 -> 192.168.18.12:80 Masq 1 0 8 #使用192.168.1.105的主機(jī)訪(fǎng)問(wèn)測(cè)試: [root@localhost ~]# for i in {1..10}; do curl http://192.168.1.108/test1.html;done <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> #加權(quán)輪詢(xún)測(cè)試 [root@www ~]# ipvsadm -E -t 192.168.1.108:80 -s wrr [root@www ~]# ipvsadm -e -t 192.168.1.108:80 -r 192.168.18.11 -m -w 2 [root@www ~]# ipvsadm -e -t 192.168.1.108:80 -r 192.168.18.12 -m -w 3 [root@www ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.108:80 rr -> 192.168.18.11:80 Masq 2 0 0 -> 192.168.18.12:80 Masq 3 0 0 #訪(fǎng)問(wèn)測(cè)試 [root@localhost ~]# for i in {1..10}; do curl http://192.168.1.108/test1.html;done <h1>RS2,192.168.18.12</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> <h1>RS2,192.168.18.12</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> <h1>RS2,192.168.18.12</h1> <h1>RS1,192.168.18.11</h1> #假如后端的RS2掛了,lvs還會(huì)繼續(xù)調(diào)度,因此需要手動(dòng)刪除或者修改權(quán)重為0 [root@localhost ~]# for i in {1..10}; do curl http://192.168.1.108/test1.html;done curl: (7) Failed connect to 192.168.1.108:80; 拒絕連接 curl: (7) Failed connect to 192.168.1.108:80; 拒絕連接 <h1>RS1,192.168.18.11</h1> curl: (7) Failed connect to 192.168.1.108:80; 拒絕連接 <h1>RS1,192.168.18.11</h1> curl: (7) Failed connect to 192.168.1.108:80; 拒絕連接 curl: (7) Failed connect to 192.168.1.108:80; 拒絕連接 <h1>RS1,192.168.18.11</h1> curl: (7) Failed connect to 192.168.1.108:80; 拒絕連接 [root@www ~]# ipvsadm -d -t 192.168.1.108:80 -r 192.168.18.12 [root@www ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.108:80 wrr -> 192.168.18.11:80 Masq 2 0 4 #修改權(quán)重為0 [root@www ~]# ipvsadm -e -t 192.168.1.108:80 -r 192.168.18.12 -m -w 0 [root@www ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.108:80 wrr -> 192.168.18.11:80 Masq 2 0 14 -> 192.168.18.12:80 Masq 0 0 0
假如RS1,RS2都掛了,可以把director當(dāng)做一個(gè)服務(wù),把RS1,RS2權(quán)重改為0
[root@www ~]# yum istall nginx -y
[root@www ~]# cd /usr/share/nginx/html/
[root@www html]# vim test1.html
<h1>SORRY</h1>
[root@www html]# systemctl start nginx
[root@www html]# ipvsadm -a -t 192.168.1.108:80 -r 127.0.0.1 -g
[root@www html]# ipvsadm -e -t 192.168.1.108:80 -r 192.168.18.11 -m -w 0
[root@www html]# ipvsadm -e -t 192.168.1.108:80 -r 192.168.18.12 -m -w 0
#使用主機(jī)測(cè)試
[root@localhost ~]# for i in {1..5}; do curl http://192.168.1.108/test1.html;done
<h1>SORRY</h1>
<h1>SORRY</h1>
<h1>SORRY</h1>
<h1>SORRY</h1>
<h1>SORRY</h1>
...
[root@www html]# ipvsadm -ln --stats #統(tǒng)計(jì)信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.1.108:80 253 1351 652 90948 78005
-> 127.0.0.1:80 63 373 0 24983 0
-> 192.168.18.11:80 108 545 368 36789 43865
-> 192.168.18.12:80 82 433 284 29176 34140
[root@www html]# ipvsadm -ln --rate #統(tǒng)計(jì)速率
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 192.168.1.108:80 0 0 0 0 0
-> 127.0.0.1:80 0 0 0 0 0
-> 192.168.18.11:80 0 0 0 0 0
-> 192.168.18.12:80 0 0 0 0 0
lvs-dr工作原理及配置實(shí)現(xiàn)
工作原理:
- Client發(fā)送請(qǐng)求報(bào)文(源地址CIP:目標(biāo)地址VIP)經(jīng)過(guò)層層路由到達(dá)離我們最近的末梢路由后,末梢路由會(huì)通過(guò)ARP廣播,得到Director的MAC地址,然后在請(qǐng)求報(bào)文外封裝一層mac首部(源mac地址末梢路由網(wǎng)卡的mac:目標(biāo)地址為Director網(wǎng)卡mac),然后發(fā)送給Director;
- Director收到請(qǐng)求報(bào)文后,發(fā)現(xiàn)目標(biāo)地址的mac是自己,就拆除mac首部封裝,給請(qǐng)求報(bào)文重新封裝一個(gè)mac首部(源mac為DIP:目標(biāo)mac為RIP)發(fā)送給挑選出的RS;流程如下圖;
- 注意:此處RS與Director在同一物理網(wǎng)絡(luò),都有VIP,因此要確保RS不響應(yīng)末梢路由的ARP廣播才行;有兩種方法
- 在RS上使用arptables
-
在RS上修改內(nèi)核參數(shù)以限制ARP通告及應(yīng)答級(jí)別(arp_announce和arp_ignore)
LVS-DR.png
實(shí)驗(yàn)配置:
按上圖網(wǎng)絡(luò)拓補(bǔ)圖配置試驗(yàn)機(jī),Director和RS全部一塊網(wǎng)卡,并橋接,設(shè)置DIP:192.168.43.245,RIP:192.168.43.11和192.168.43.12
把VIP地址192.168.43.99設(shè)置在DIP網(wǎng)卡別名上,RS的lo網(wǎng)卡別名上
#通過(guò)腳本修改內(nèi)核參數(shù)以現(xiàn)在RS的ARP通告和應(yīng)答級(jí)別
[root@rs1 ~]# vim setparam.sh
#!/bin/bash
#
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
stop)
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
;;
esac
#分別在RS1和RS2上運(yùn)行此腳本
[root@rs1 ~]# bash -x setparam.sh start
[root@rs2 ~]# bash -x setparam.sh start
#在RS1和RS2上配置VIP
[root@rs1 ~]# ifconfig lo:0 192.168.43.99 netmask 255.255.255.255 broadcast 192.168.43.99 up
[root@rs2 ~]# ifconfig lo:0 192.168.43.99 netmask 255.255.255.255 broadcast 192.168.43.99 up
#添加路由條目由哪個(gè)設(shè)備進(jìn)來(lái)就由哪個(gè)設(shè)備出去
[root@rs1 ~]# route add -host 192.168.43.99 dev lo:0
[root@rs2 ~]# route add -host 192.168.43.99 dev lo:0
#配置Director的VIP
[root@www ~]# ifconfig ens33:0 192.168.43.99 netmask 255.255.255.255 broadcast 192.168.43.99 up
#在Director上安裝ipvs并定義集群
[root@www ~]# ipvsadm -A -t 192.168.43.99:80 -s rr
[root@www ~]# ipvsadm -a -t 192.168.43.99:80 -r 192.168.43.11 -g
[root@www ~]# ipvsadm -a -t 192.168.43.99:80 -r 192.168.43.12 -g
[root@www ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.43.99:80 rr
-> 192.168.43.11:80 Route 1 0 9
-> 192.168.43.12:80 Route 1 0 8
ipvsadm命令
程序包:ipvsadm
Unit File: ipvsadm.service
主程序:/usr/sbin/ipvsadm
規(guī)則保存工具:/usr/sbin/ipvsadm-save
規(guī)則重載工具:/usr/sbin/ipvsadm-restore
配置文件:/etc/sysconfig/ipvsadm-config
-
核心功能:
- 集群服務(wù)管理:增、刪、改;
- 集群服務(wù)的RS管理:增、刪、改;
- 查看:
-
語(yǔ)法格式:
ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine] [-b sched-flags]ipvsadm -D -t|u|f service-address ipvsadm -C ipvsadm -R ipvsadm -S [-n] ipvsadm -a|e -t|u|f service-address -r server-address [options] ipvsadm -d -t|u|f service-address -r server-address ipvsadm -L|l [options] ipvsadm -Z [-t|u|f service-address]
-管理集群服務(wù):增、改、刪;
增、改:ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]
刪:ipvsadm -D -t|u|f service-address
service-address:
t|u|f:
-t: TCP協(xié)議的端口,VIP:TCP_PORT
-u: UDP協(xié)議的端口,VIP:UDP_PORT
-f:firewall MARK,是一個(gè)數(shù)字;
[-s scheduler]:指定集群的調(diào)度算法,默認(rèn)為wlc;
管理集群上的RS:增、改、刪;
增、改:
ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]
刪:
ipvsadm -d -t|u|f service-address -r server-address
server-address:
rip[:port]
選項(xiàng):
lvs類(lèi)型:
-g: gateway, dr類(lèi)型
-i: ipip, tun類(lèi)型
-m: masquerade, nat類(lèi)型
-w weight:權(quán)重;
清空定義的所有內(nèi)容:
ipvsadm -C
查看:
ipvsadm -L|l [options]
--numeric, -n:numeric output of addresses and ports
--exact:expand numbers (display exact values)
--connection, -c:output of current IPVS connections
--stats:output of statistics information
--rate :output of rate information
保存和重載:
ipvsadm -S = ipvsadm-save
ipvsadm -R = ipvsadm-restore
負(fù)載均衡集群設(shè)計(jì)時(shí)要注意的問(wèn)題:
(1) 是否需要會(huì)話(huà)保持;
(2) 是否需要共享存儲(chǔ);
- 共享存儲(chǔ):NAS, SAN, DS(分布式存儲(chǔ))

