中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

wordpress 多個域名seo入門教程網盤

wordpress 多個域名,seo入門教程網盤,與安網站建設,滄縣網站建設公司目錄 前言系統性能擴展方式集群Cluster分布式集群與分布式 四層轉發(fā)與七層轉發(fā)的區(qū)別 LVS(Linux virual server)一、LVS介紹LVS相關概念 二、LVS集群結構體系1. 負載均衡層(Load Balancer)2. 服務器群組層(Server Pool…

目錄

    • 前言
      • 系統性能擴展方式
        • 集群Cluster
        • 分布式
        • 集群與分布式
      • 四層轉發(fā)與七層轉發(fā)的區(qū)別
    • LVS(Linux virual server)
      • 一、LVS介紹
        • LVS相關概念
      • 二、LVS集群結構體系
        • 1. 負載均衡層(Load Balancer)
        • 2. 服務器群組層(Server Pool/Server Array)
        • 3. 后端共享存儲層(Backend Storage/Shared Storage)
      • 三、lvs的調度算法
        • lvs調度算法類型
        • lvs靜態(tài)調度算法
        • lvs動態(tài)調度算法
      • 四、LVS集群的類型
      • 五、NAT模式
        • 1.NAT模式介紹
        • 2.NAT模式數據邏輯
        • 3.NAT模式實驗詳解
          • Ⅰ、實驗環(huán)境
          • Ⅱ、配置命令
      • 六、DR模式
        • 1.DR模式介紹
        • 2.DR模式特點
        • 3.DR模式數據邏輯
        • 4.DR模式實驗詳解
          • Ⅰ、實驗環(huán)境
          • Ⅱ、配置實驗環(huán)境
          • Ⅲ、解決vip問題
          • Ⅳ、配置詳情
      • 七、TUN模式
        • 1.TUN模式介紹
        • 2.TUN模式數據邏輯
      • 八、fullnat模式
      • 九、防護墻標簽解決輪詢錯誤問題
        • 問題引出
        • 問題解決
      • 十、ipvsadm命令常用選項

前言

系統性能擴展方式

集群Cluster

Cluster: 集群是為了解決某個特定問題將墮胎計算機組合起來形成的單個系統

Cluster常見的三種類型:

  • LB:LoadBalancing(負載均衡)由多個主機組成,每個主機只承擔一部分訪問

  • HA:HighAvailiablity(高可用)SPOF(single Point Of failure)

    MTBF:Mean Time Between Failure 平均無故障時間,正常時間
    MTTR:Mean Time To Restoration( repair)平均恢復前時間,故障時間
    A=MTBF/(MTBF+MTTR) (0,1):99%, 99.5%, 99.9%, 99.99%, 99.999%
    SLA:Service level agreement(服務等級協議)是在一定開銷下為保障服務的性能和可用性,服
    務提供商與用戶間定義的一種雙方認可的協定。通常這個開銷是驅動提供服務質量的主要因素。在
    常規(guī)的領域中,總是設定所謂的三個9,四個9來進行表示,當沒有達到這種水平的時候,就會有一
    些列的懲罰措施,而運維,最主要的目標就是達成這種服務水平。
    停機時間又分為兩種,一種是計劃內停機時間,一種是計劃外停機時間,而運維則主要關注計劃外
    停機時間

  • HPC:High-performance computing(高性能計算,國家戰(zhàn)略資源,不在課程范圍內)

分布式

分布式存儲:Ceph,GlusterFs,FastDFS,MogileFs
分布式計算:hadoop,Spark
分布式常見應用

  • 分布式應用-服務按照功能拆分,使用微服務
  • 分布式靜態(tài)資源–靜態(tài)資源放在不同的存儲集群上
  • 分布式數據和存儲–使用key-value緩存系統
  • 分布式計算–對特殊業(yè)務使用分布式計算,比如Hadoop集群
集群與分布式
  • 集群: 同一個業(yè)務系統,部署在多臺服務器上,集群中,每一臺服務器實現的功能沒有差別,數據
    和代碼都是一樣的
  • 分布式: 一個業(yè)務被拆成多個子業(yè)務,或者本身就是不同的業(yè)務,部署在多臺服務器上。分布式
    中,每一臺服務器實現的功能是有差別的,數據和代碼也是不一樣的,分布式每臺服務器功能加起
    來,才是完整的業(yè)務
  • 分布式是以縮短單個任務的執(zhí)行時間來提升效率的,而集群則是通過提高單位時間內執(zhí)行的任務數
    來提升效率
  • 對于大型網站,訪問用戶很多,實現一個群集,在前面部署一個負載均衡服務器,后面幾臺服務器
    完成同一業(yè)務。如果有用戶進行相應業(yè)務訪問時,負載均衡器根據后端哪臺服務器的負載情況,決
    定由給哪一臺去完成響應,并且臺服務器垮了,其它的服務器可以頂上來。分布式的每一個節(jié)點,
    都完成不同的業(yè)務,如果一個節(jié)點垮了,那這個業(yè)務可能就會失敗

四層轉發(fā)與七層轉發(fā)的區(qū)別

四層轉發(fā): 四層轉發(fā)是指在傳輸層(TCP/IP層)進行負載均衡,是基于傳輸層的負載均衡,常用的設備包括硬件負載均衡器(如F5、Cisco等)和軟件負載均衡器(如Nginx、HAProxy等)。它主要根據傳輸層的源IP地址、目標IP地址、源端口和目標端口等信息來進行負載均衡。四層轉發(fā)可以實現基于網絡協議和端口的負載均衡,但無法深入到應用層進行更精細的流量分發(fā)。

七層轉發(fā): 七層轉發(fā)是指在應用層進行負載均衡,它可以深入到應用層的協議和數據進行分析和處理,是基于應用層的負載均衡,常用的設備包括應用交付控制器(ADC,如F5 BIG-IP等)和應用層負載均衡軟件(如Nginx、HAProxy等)。。七層轉發(fā)可以根據HTTP請求頭、URL、Cookie等信息進行負載均衡,從而實現更精細的流量分發(fā)和更靈活的策略配置。七層轉發(fā)可以根據具體的應用需求進行定制化配置,適用于復雜的應用場景。

LVS(Linux virual server)

一、LVS介紹

LVS(Linux Virtual Server)是一個開源的負載均衡軟件,可以用于在Linux系統上構建高可用、高性能的應用服務器集群。

LVS基于Linux內核的IP負載均衡技術,通過將客戶端請求導向一組后端服務器(稱為真實服務器),從而實現對客戶端請求的負載均衡。LVS支持多種負載均衡算法,如輪詢、權重、哈希等,可以根據實際需求選擇最合適的算法。

LVS的架構包括調度器(負載均衡器)、虛擬服務器和真實服務器。調度器負責接收客戶端請求,并根據負載均衡算法將請求發(fā)送給合適的虛擬服務器。虛擬服務器是一個虛擬的IP地址和端口,可以對外提供服務。真實服務器是實際處理客戶端請求的服務器,可以是一臺或多臺。

LVS相關概念

VS:Virtual Server
RS:Real Server
CIP:Client IP
VIP: Virtual serve IP VS外網的IP
DIP: Director IP VS內網的IP
RIP: Real server IP
訪問流程:CIP <–> VIP == DIP <–> RIP

二、LVS集群結構體系

LVS(Linux Virtual Server)集群的體系結構通常被劃分為三個主要層次:負載均衡層、服務器群組層(或稱為服務器池)、以及后端共享存儲層。

1. 負載均衡層(Load Balancer)

功能: 作為整個集群系統的前端,負責接收來自客戶端的請求,并根據預設的調度算法將請求分發(fā)到后端的服務器群組中。
組成: 通常由一個或多個負載調度器(Director Server)組成,這些調度器上安裝了LVS模塊,用于實現負載均衡功能。此外,還可能包含備份調度器(Backup Load Balancer),以確保在主調度器故障時能夠接替其工作。
特點: 調度器通過IP負載均衡技術或基于內容的請求分發(fā)技術,將請求轉發(fā)到最合適的服務器上。同時,調度器還負責監(jiān)控后端服務器的健康狀況,并在檢測到故障時將其從調度列表中剔除。

2. 服務器群組層(Server Pool/Server Array)

功能: 由一組實際運行應用服務的服務器組成,這些服務器負責處理來自負載均衡層轉發(fā)的請求,并返回響應數據。
組成: 服務器群組可以包含多種類型的服務器,如WEB服務器、MAIL服務器、FTP服務器、DNS服務器等。這些服務器通過高速的LAN或WAN相連接,以確保數據的高效傳輸。
特點: 服務器群組中的服務器可以根據需要動態(tài)增加或減少,以適應不同的負載需求。同時,服務器之間的負載均衡和容錯機制可以確保系統的高可用性和穩(wěn)定性。

3. 后端共享存儲層(Backend Storage/Shared Storage)

功能: 為服務器群組提供一個共享的存儲區(qū),使得所有服務器都能夠訪問相同的數據和服務。
組成: 通常由磁盤陣列設備或分布式文件系統組成,以提供高可用性和可擴展的存儲解決方案。
特點: 共享存儲層可以確保數據的一致性和完整性,同時減少數據復制和更新的開銷。此外,它還可以支持多種數據訪問協議和接口,以滿足不同應用的需求。

+-----------------+  
|  負載均衡層     |  
|  (Load Balancer)|  
|  +----+  +----+  |  
|  | LB1|  | LB2|  |(LB2為備份)  
|  +----+  +----+  |  
+-----------------+  |  | 轉發(fā)請求  v  
+-----------------+  
|  服務器群組層   |  
| (Server Pool/   |  
|   Server Array) |  
|  +----+  +----+  |  
|  | RS1|  | RS2|  |  
|  +----+  +----+  |  
|  ...        ... |  
|  +----+  +----+  |  
|  | RSN|  | RSN+1| |  
|  +----+  +----+  |  
+-----------------+  |  | 訪問共享數據  v  
+-----------------+  
|  后端共享存儲層  |  
| (Backend Storage)|  
|  +------------+  |  
|  | 磁盤陣列/  |  |  
|  | 分布式FS |  |  
|  +------------+  |  
+-----------------+

三、lvs的調度算法

lvs調度算法類型

ipvs scheduler:根據其調度時是否考慮各RS當前的負載狀態(tài)被分為兩種:靜態(tài)方法和動態(tài)方法
靜態(tài)方法: 僅根據算法本身進行調度,不考慮RS的負載情況
動態(tài)方法: 主要根據每RS當前的負載狀態(tài)及調度算法進行調度Overhead=value較小的RS將被調度

lvs靜態(tài)調度算法

1、RR: roundrobin 輪詢 RS分別被調度,當RS配置有差別時不推薦
2、WRR: Weighted RR,加權輪詢根據RS的配置進行加權調度,性能差的RS被調度的次數少
3、SH: Source Hashing,實現session sticky,源IP地址hash;將來自于同一個IP地址的請求始終發(fā)往
第一次挑中的RS,從而實現會話綁定
4、DH: Destination Hashing;目標地址哈希,第一次輪詢調度至RS,后續(xù)將發(fā)往同一個目標地址的請
求始終轉發(fā)至第一次挑中的RS,典型使用場景是正向代理緩存場景中的負載均衡,如:寬帶運營商

lvs動態(tài)調度算法

主要根據RS當前的負載狀態(tài)及調度算法進行調度Overhead=value較小的RS會被調度
1、LC: least connections(最少鏈接發(fā))
適用于長連接應用Overhead(負載值)=activeconns(活動鏈接數) x 256+inactiveconns(非活
動鏈接數)
2、WLC: Weighted LC(權重最少鏈接)
默認調度方法Overhead=(activeconns x 256+inactiveconns)/weight
3、SED: Shortest Expection Delay,
初始連接高權重優(yōu)先Overhead=(activeconns+1+inactiveconns) x 256/weight
但是,當node1的權重為1,node2的權重為10,經過運算前幾次的調度都會被node2承接
4、NQ: Never Queue,第一輪均勻分配,后續(xù)SED
5、LBLC: Locality-Based LC,動態(tài)的DH算法,使用場景:根據負載狀態(tài)實現正向代理
6、LBLCR: LBLC with Replication,帶復制功能的LBLC,解決LBLC負載不均衡問題,從負載重的復制
到負載輕的RS

四、LVS集群的類型

lvs-nat: 修改請求報文的目標IP,多目標IP的DNAT
lvs-dr: 操縱封裝新的MAC地址
lvs-tun:在原請求IP報文之外新加一個IP首部
lvs-fullnat: 修改請求報文的源和目標IP

五、NAT模式

1.NAT模式介紹

本質是多目標IP的DNAT,通過將請求報文中的目標地址和目標端口修改為某挑出的RS的RIP和PORT實現轉發(fā)

RIP和DIP應在同一個IP網絡,且應使用私網地址;RS的網關要指向DIP

請求報文和響應報文都必須經由Director轉發(fā),Director易于成為系統瓶頸

支持端口映射,可修改請求報文的目標PORT

VS必須是Linux系統,RS可以是任意OS系統

2.NAT模式數據邏輯

在這里插入圖片描述
1.客戶端發(fā)送訪問請求,請求數據包中含有請求來源(cip),訪問目標地址(VIP)訪問目標端口(9000port)

2.VS服務器接收到訪問請求做DNAT把請求數據包中的目的地由VIP換成RS的RIP和相應端口

3.RS1相應請求,發(fā)送響應數據包,包中的相應保溫為數據來源(RIP1)響應目標(CIP)相應端口(9000port)

4.VS服務器接收到響應數據包,改變包中的數據來源(RIP1–>VIP),響應目標端口(9000–>80)

5.VS服務器把修改過報文的響應數據包回傳給客戶端

6.lvs的NAT模式接收和返回客戶端數據包時都要經過lvs的調度機,所以lvs的調度機容易阻塞

3.NAT模式實驗詳解

在這里插入圖片描述
1.Director 服務器采用雙網卡,一個是橋接網卡連接外網,一個是僅主機網卡與后端Web服務器相連

2.Web服務器采用僅主機網卡與director相連

3.Web服務器網關指向192.168.0.100

4.后端web服務器不需要連接外網

Ⅰ、實驗環(huán)境
主機名角色IP
LVS調度器(vs)192.168.0.100/24,vip 172.25.254.100/24
webserver1真實服務器1(RS)192.168.0.10/24,GW 192.168.0.100
webserver2真實服務器2(RS)192.168.0.20/24,GW 192.168.0.100
client測試機本地
Ⅱ、配置命令

0.webserver1、webserver2配置

#webserver1 網卡配置
[root@webserver1 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=192.168.0.10/24,192.168.0.100
method=manual#webserver1 http配置
[root@webserver1 ~]# yum install httpd -y
[root@webserver1 ~]# echo this is 192.168.0.10 > /var/www/html/index.html#webserver2 同理
[root@webserver2 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=192.168.0.20/24,192.168.0.100
method=manual[root@webserver2 ~]# yum install httpd -y
[root@webserver2 ~]# echo this is 192.168.0.20 > /var/www/html/index.html

1.在lvs中啟用內核路由功能

[root@lvs ~]# sysctl -a | grep ip_forward   #查看打開內核路由功能的命令
net.ipv4.ip_forward = 0    # 0表示關閉,1表示打開
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0[root@lvs ~]# echo net.ipv4.ip_forward = 1 >>  /etc/sysctl.conf  #修改配置文件
[root@lvs ~]# sysctl -p  #加載參數
net.ipv4.ip_forward = 1

2.在lvs中安裝ipvsadm

[root@lvs ~]# yum install ipvsadm -y

3,在lvs中添加調度策略

[root@lvs ~]# ipvsadm -A -t 172.25.254.100:80 -s rr
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10:80 -m
[root@lvs ~]# ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20:80 -m

4.查看策略

[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.100:80 rr-> 192.168.0.10:80              Masq    1      0          0         -> 192.168.0.20:80              Masq    1      0          0 [root@lvs ~]# 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
TCP  AC19FE64:0050 rr  -> C0A80014:0050      Masq    1      0          3         -> C0A8000A:0050      Masq    1      0          2 [root@lvs ~]# cat /proc/net/ip_vs_conn
Pro FromIP   FPrt ToIP     TPrt DestIP   DPrt State       Expires PEName PEData
TCP AC19FE01 C777 AC19FE64 0050 C0A8000A 0050 TIME_WAIT         9
TCP AC19FE01 C779 AC19FE64 0050 C0A8000A 0050 TIME_WAIT         9
TCP AC19FE01 C778 AC19FE64 0050 C0A80014 0050 TIME_WAIT         9
TCP AC19FE01 C776 AC19FE64 0050 C0A80014 0050 TIME_WAIT         9
TCP AC19FE01 C77A AC19FE64 0050 C0A80014 0050 TIME_WAIT         9

5.保存規(guī)則

[root@lvs ~]# ipvsadm -Sn > /etc/sysconfig/ipvsadm
[root@lvs ~]# cat /etc/sysconfig/ipvsadm
-A -t 172.25.254.100:80 -s rr
-a -t 172.25.254.100:80 -r 192.168.0.10:80 -m -w 1
-a -t 172.25.254.100:80 -r 192.168.0.20:80 -m -w 1

6.測試 (在本地shell下)

[C:\~]$ for /L %i in (1,1,4) do (curl 172.25.254.100)C:\Users\21116\Documents\NetSarang Computer\7\Xshell\Sessions>(curl 172.25.254.100 ) % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100    21  100    21    0     0   7945      0 --:--:-- --:--:-- --:--:-- 10500
this is 192.168.0.10C:\Users\21116\Documents\NetSarang Computer\7\Xshell\Sessions>(curl 172.25.254.100 ) % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100    21  100    21    0     0   8070      0 --:--:-- --:--:-- --:--:-- 10500
this is 192.168.0.20C:\Users\21116\Documents\NetSarang Computer\7\Xshell\Sessions>(curl 172.25.254.100 ) % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100    21  100    21    0     0   7933      0 --:--:-- --:--:-- --:--:-- 10500
this is 192.168.0.10C:\Users\21116\Documents\NetSarang Computer\7\Xshell\Sessions>(curl 172.25.254.100 ) % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100    21  100    21    0     0   7903      0 --:--:-- --:--:-- --:--:-- 10500
this is 192.168.0.20

六、DR模式

1.DR模式介紹

DR:Direct Routing,直接路由,LVS默認模式,應用最廣泛,通過為請求報文重新封裝一個MAC首部進行轉發(fā),源MAC是DIP所在的接口的MAC,目標MAC是某挑選出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目標IP/PORT均保持不變

在DR模式中,RS接收到訪問請求后不需要回傳給VS調度器,直接把回傳數據發(fā)送給client,所以RS和vs上都要有vip

2.DR模式特點

1.Director和各RS都配置有VIP

2.確保前端路由器將目標IP為VIP的請求報文發(fā)往Director

3.在前端網關做靜態(tài)綁定VIP和Director的MAC地址

  • 在RS上使用arptables工具
arptables -A IN -d $VIP -j DROP
arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP
  • 在RS上修改內核參數以限制arp通告及應答級別
/proc/sys/net/ipv4/conf/all/arp_ignore
/proc/sys/net/ipv4/conf/all/arp_annou

4.RS的RIP可以使用私網地址,也可以是公網地址;RIP與DIP在同一IP網絡

5.RIP的網關不能指向DIP,以確保響應報文不會經由Director

6.RS和Director要在同一個物理網絡

7.請求報文要經由Director,但響應報文不經由Director,而由RS直接發(fā)往Client

8.不支持端口映射(端口不能修改)

9.RS可使用大多數OS系統

3.DR模式數據邏輯

在這里插入圖片描述
1.客戶端發(fā)送數據幀給vs調度主機幀中內容為客戶端IP+客戶端的MAC+VIP+VIP的MAC

2.VS調度主機接收到數據幀后把幀中的VIP的MAC該為RS1的MAC,此時幀中的數據為客戶端IP+客戶端的MAC+VIP+RS1的MAC

3.RS1得到2中的數據包做出響應回傳數據包,數據包中的內容為VIP+RS1的MAC+客戶端IP+客戶端IP的MAC

4.DR模式實驗詳解

在這里插入圖片描述
1.Director服務器采用雙IP橋接網絡,一個是VPP,一個DIP

2.Web服務器采用和DIP相同的網段和Director連接

3.每個Web服務器配置VIP

4.每個web服務器可以出外網

Ⅰ、實驗環(huán)境
主機名ipvip角色
client172.25.254.10 vmware NATnull測試主機
routerNAT-eth0:172.25.254.100,僅主機eth1:192.168.0.10null路由器
lvs192.168.0.200,GW 192.168.0.10 僅主機lo:192.168.0.100調度器
webserver1192.168.0.101,GW 192.168.0.10 僅主機lo:192.168.0.100web服務器1
webserver2192.168.0.102, GW 192.168.0.10 僅主機lo:192.168.0.100web服務器2
Ⅱ、配置實驗環(huán)境
#在客戶端主機中為nat模式網卡
[root@client ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=172.25.254.10/24,172.25.254.2
method=manual
dns=114.114.114.114;
[root@client ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.254.2    0.0.0.0         UG    100    0        0 eth0
172.25.254.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0
#在路由主機中設定雙網卡,eth0為nat網卡,eth1為僅主機網卡
[root@router ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=172.25.254.100/24,172.25.254.2
method=manual
dns=114.114.114.114;
[root@router ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection 
[connection]
id=eth1
type=ethernet
interface-name=eth1[ipv4]
address1=192.168.0.10/24
method=manual
[root@router ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.254.2    0.0.0.0         UG    100    0        0 eth0
172.25.254.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     101    0        0 eth1
#對于dr調度器設定網卡為僅主機模式
[root@lvs ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection 
[connection]
id=eth1
type=ethernet
interface-name=eth1[ipv4]
address1=192.168.0.200/24,192.168.0.10
method=manual
[root@lvs ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.10    0.0.0.0         UG    100    0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
#對于RS1 RS2的設定網卡為僅主機模式
[root@webserver1 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=192.168.0.101/24,192.168.0.10
method=manual
[root@webserver1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.10    0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0---------------------------------------------------------------------------------------
[root@webserver2 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0[ipv4]
address1=192.168.0.102/24,192.168.0.10
method=manual
[root@webserver2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.10    0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
Ⅲ、解決vip問題

DR模型中各主機上均需要配置VIP,解決地址沖突的方式有三種:

(1)在前端網關做靜態(tài)綁定

(2)在各RS使用arptables

(3)在各RS修改內核參數,來限制arp響應和通告的級別

限制響應級別:arp_ignore

  • 0:默認值,表示可使用本地任意接口上配置的任意地址進行響應
  • 1:僅在請求的目標IP配置在本地主機的接收到請求報文的接口上時,才給予響應

限制通告級別:arp_announce

  • 0:默認值,把本機所有接口的所有信息向每個接口的網絡進行通告
  • 1:盡量避免將接口信息向非直接連接網絡進行通告
  • 2:必須避免將接口信息向非本網絡進行通告
Ⅳ、配置詳情

1.在lvs 和 rs 中設定vip

[root@lvs ~]# ip addr add dev lo 192.168.0.100/32
[root@webserver1 ~]# ip addr add dev lo 192.168.0.100/32
[root@webserver2 ~]# ip addr add dev lo 192.168.0.100/32

2.在RS1和RS2中解決響應問題

[root@webserver1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@webserver1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@webserver1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@webserver1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@webserver2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@webserver2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@webserver2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@webserver2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

3.在lvs中配置策略

[root@lvs ~]# ipvsadm -A -t 192.168.0.100:80 -s wrr
[root@lvs ~]# ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.101:80 -g -w 1
[root@lvs ~]# ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.102:80 -g -w 2
[root@lvs ~]# 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.0.100:80 wrr-> 192.168.0.101:80             Route   1      0          0         -> 192.168.0.102:80             Route   2      0          0         

4.在client中測試效果

[root@client ~]# for i in {1..10}
> do
> curl 192.168.0.100
> done
webserver1 192.168.0.101
webserver2 192.168.0.102
webserver2 192.168.0.102
webserver1 192.168.0.101
webserver2 192.168.0.102
webserver2 192.168.0.102
webserver1 192.168.0.101
webserver2 192.168.0.102
webserver2 192.168.0.102
webserver1 192.168.0.101

七、TUN模式

1.TUN模式介紹

LVS-TUN模式:它的連接調度和管理與VS/NAT中的一樣,利用ip隧道技術的原理,即在原有的客戶端請求包頭中再加一層IP Tunnel的包頭ip首部信息,不改變原來整個請求包信息,只是新增了一層ip首部信息,再利用路由原理將請求發(fā)給RS server,不過要求的是所有的server必須支持”IPTunneling”或者”IP Encapsulation”協議。

2.TUN模式數據邏輯

在這里插入圖片描述
整個請求過程示意:

這里假設CIP的CIP地址為:202.10.1.100 ,DIR的Eth1的ip地址為:202.10.1.101, Eth0的ip地址為:192.168.1.100/24 ,RIP1的Eth0地址為:192.168.1.10/24,Eth1的ip地址為:10.10.10.10/24,下面的就講講請求細節(jié):

① client向目標vip發(fā)出請求,DIR接收。此時IP包頭及數據幀頭信息如下:

src ipsrc portdst ipdst port
202.10.1.1010011202.10.1.10180

② DIR根據負載均衡算法選擇一臺active的RS(RIP1),利用ip tunnel技術將此RIP1所在網卡的ip地址作為目標ip地址,將DIP作為源地址重封裝一層IP首部,并記錄到hash表中,DIR將請求包發(fā)送給RIP1。此時IP包頭及數據幀頭信息如下:

src ipdst ipsrc ipsrc portdst ipdst port
192.168.1.100192.168.1.10202.10.1.1010011202.10.1.10180

③RIP1(192.168.1.10)收到DIR發(fā)過來的請求后,拆開后發(fā)現請求包中里面還有一層ip包頭,并且該ip包頭的目標IP(VIP)與本地loopback口地址匹配,于是處理這個報文。隨后重新封裝報文,通過自己的網關將響應報文發(fā)送給客戶端,此時IP包頭及數據幀頭信息如下:

src ipsrc portdst ipdst port
202.10.1.10180202.10.1.1010011

LVS/TUN模式就是利用ip tunnel技術原理,在不改變原有的ip包頭首部信息的基礎上再封裝一層ip首部信息,再利用路由的原理將請求轉交給后端RS server,所以所有的server都必須支持ip tunnel隧道 ,相比LVS/DR模式,LVS/TUN對網絡的消耗比較大,因為要支持ip tunnel的開銷,所以這也是為什么DR模式是三種模式中效率最高的一種模式。

八、fullnat模式

在這里插入圖片描述
fullnat:通過同時修改請求報文的源IP地址和目標IP地址進行轉發(fā)
CIP --> DIP
VIP --> RIP
1.VIP是公網地址,RIP和DIP是私網地址,且通常不在同一IP網絡;因此,RIP的網關一般不會指向DIP

2.RS收到的請求報文源地址是DIP,因此,只需響應給DIP;但Director還要將其發(fā)往Client

3.請求和響應報文都經由Director

4.支持端口映射

注意:此類型kernel默認不支持

九、防護墻標簽解決輪詢錯誤問題

問題引出

以http和https為例,當我們在RS中同時開放80和443端口,那么默認控制是分開輪詢的,這樣我們就出現了一個輪詢錯亂的問題

當我第一次訪問80被輪詢到RS1后下次訪問443仍然可能會被輪詢到RS1上

在RS1和RS2中安裝mod_ssl并重啟apache

yum install mod_ssl -y
systemctl restart httpd

在lvs中設置調度,因為我們要調度80和443兩個端口所以我們需要設定兩組策略

[root@lvs ~]# ipvsadm -C
[root@lvs ~]# ipvsadm -A -t 192.168.0.100:80 -s rr
[root@lvs ~]# ipvsadm -A -t 192.168.0.100:443 -s rr
[root@lvs ~]# ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.101:80 -g
[root@lvs ~]# ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.102:80 -g
[root@lvs ~]# ipvsadm -a -t 192.168.0.100:443 -r 192.168.0.102:80 -g
[root@lvs ~]# ipvsadm -a -t 192.168.0.100:443 -r 192.168.0.101:80 -g[root@lvs ~]# 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.0.100:80 rr-> 192.168.0.101:80             Route   1      0          0         -> 192.168.0.102:80             Route   2      0          0         
TCP  192.168.0.100:443 rr-> 192.168.0.101:443            Route   1      0          0         -> 192.168.0.102:443            Route   1      0          0         

當我們使用client測試時發(fā)現兩次連續(xù)訪問會輪詢到同一個服務器上

[root@client ~]# curl http://192.168.0.100;curl -k https://192.168.0.100
webserver2 192.168.0.102
webserver2 192.168.0.102
[root@client ~]# curl http://192.168.0.100;curl -k https://192.168.0.100
webserver1 192.168.0.101
webserver1 192.168.0.101
[root@client ~]# curl http://192.168.0.100;curl -k https://192.168.0.100
webserver2 192.168.0.102
webserver2 192.168.0.102
問題解決

MARK target 可用于給特定的報文打標記

其中:value 可為0xffff格式,表示十六進制數字借助于防火墻標記來分類報文,而后基于標記定義集群服務:可將多個不同的應用使用同一個集群服務進行調度

實現方法:

1.在Director(lvs)主機打標記

iptables -t mangle -A PREROUTING -d $vip -p $proto -m multiport --dports $portl,$port2,..-i MARK --set-mark NUMBER

2.ipvsadm使用 -f 基于火墻標記

ipvsadm -A -f NUMBER [options]

例:在lvs中設置端口標簽,將80和443設為整體

[root@lvs ~]# iptables -t mangle -A PREROUTING -d 192.168.0.100 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 123
[root@lvs ~]# iptables -t mangle -nL   #查看規(guī)則
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
MARK       tcp  --  0.0.0.0/0            192.168.0.100        multiport dports 80,443 MARK set 0x7bChain INPUT (policy ACCEPT)
target     prot opt source               destination         Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         

再設置調度規(guī)則

[root@lvs ~]# ipvsadm -A -f 123 -s rr
[root@lvs ~]# ipvsadm -a -f 123 -r 192.168.0.101 -g
[root@lvs ~]# ipvsadm -a -f 123 -r 192.168.0.102 -g
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
FWM  123 rr-> 192.168.0.101:0              Route   1      0          0         -> 192.168.0.102:0              Route   1      0          0         

client測試

[root@client ~]# curl http://192.168.0.100;curl -k https://192.168.0.100
webserver2 192.168.0.102
webserver1 192.168.0.101
[root@client ~]# curl http://192.168.0.100;curl -k https://192.168.0.100
webserver2 192.168.0.102
webserver1 192.168.0.101
[root@client ~]# curl http://192.168.0.100;curl -k https://192.168.0.100
webserver2 192.168.0.102
webserver1 192.168.0.101

十、ipvsadm命令常用選項

 ipvsadm -A|E -t|u|f <集群服務地址> [-s <調度算法>] [-p <超時時間>] [-M <掩碼>] [-b <標志>]ipvsadm -D -t|u|f <集群服務地址>ipvsadm -Cipvsadm -Ripvsadm -S [-n]ipvsadm -a|e -t|u|f <集群服務地址> -r <真實服務器地址> [選項]ipvsadm -d -t|u|f <集群服務地址> -r <真實服務器地址>ipvsadm -L|l [options]ipvsadm -Z [-t|u|f <集群服務地址>]ipvsadm --set <超時時間>ipvsadm --start-daemon <主或備> [--mcast-interface <組播接口>] [--syncid <SID>]ipvsadm --stop-daemon <主或備>ipvsadm -h--add-service     -A        添加一個集群服務,需要使用選項--edit-service    -E        編輯一個集群服務,需要使用選項--delete-service  -D        刪除指定集群服務,需要使用選項--clear           -C        刪除所有集群服務,包括真實服務器轉發(fā)策略規(guī)則--restore         -R        從標準輸入中恢復策略規(guī)則--save            -S        保存策略規(guī)則到標準輸出--add-server      -a        添加一個真實服務器,需要使用選項--edit-server     -e        編輯一個真實服務器,需要使用選項--delete-server   -d        刪除一個真實服務器,需要使用選項--list            -L|-l     查看集群服務列表,包括真實服務器轉發(fā)策略規(guī)則--zero            -Z        計數器清零。清除連接數、包轉發(fā)等數量統計信息--tcp-service  -t  	<集群服務地址>   	允許集群服務使用的傳輸協議為TCP。<IP:Port>--udp-service  -u 	<集群服務地址>    允許集群服務使用的傳輸協議為UDP。<IP:Port>--fwmark-service  -f <防火墻標識>   	使用一個整數值來防火墻標識集群服務,而不是地址、端口和協議使用它,我們可以通過結合IPtables將多個以調度器為目標的端口定義成一個防火墻標識,由ipvsdam通過此項關聯標識,則可以實現對一個IP多端口調度,即實現后端服務器可以開放多個服務--scheduler    -s scheduler       	指定集群服務使用的調度算法:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默認為wlc--persistent   -p <超時時間>       	開啟持久化服務,開啟它則表示在指定時間內,來自同一IP的請求都會轉發(fā)到后端同一臺真實服務器上--netmask      -M <網絡掩碼>       	使用網絡掩碼來屏蔽持久化來源IP的地址范圍,默認值為255.255.255.255,即所有來源IP請求都會享受持久化服務--real-server  -r <真實服務器地址>  	指定真實服務器的主機IP與端口--gatewaying   -g                   指定真實服務器轉發(fā)工作模式,使用DR模式,默認--ipip         -i                   指定真實服務器轉發(fā)工作模式,使用TUN模式--masquerading -m                   指定真實服務器轉發(fā)工作模式,使用NAT模式--weight       -w <權重值>          	指定真實服務器的權重值
http://www.risenshineclean.com/news/3376.html

相關文章:

  • 網頁設計比較好的網站新聞頭條免費下載安裝
  • 如何做公司網站建設東莞做網站公司電話
  • 網站開發(fā)公司怎么查詢怎樣在百度做廣告宣傳
  • 濰坊市住房和城鄉(xiāng)建設網站seo技術培訓東莞
  • 汝州市住房和城鄉(xiāng)規(guī)劃建設局網站淘寶關鍵詞排名查詢
  • 興義網站seo廣東疫情動態(tài)人民日報
  • 網站推廣鏈接seo研究學院
  • 做網站 寫腳本是什么百度官方下載
  • 淺談一下網絡營銷的幾個誤區(qū)東莞seo公司
  • wordpress 文章閱讀數杭州seo網站建設
  • 易企秀怎么做網站發(fā)布友情鏈接
  • 同城型網站開發(fā)app優(yōu)化推廣
  • 簡單的cms源碼對網站外部的搜索引擎優(yōu)化
  • 自己做的網站如何連接入數據庫產品免費推廣網站有哪些
  • 網站建設相關的博客有哪些網站推廣途徑
  • 湖南郴州市seo是做什么工作的
  • 智達世通建設集團有限公司網站廣州市新聞發(fā)布
  • 開發(fā)做網站公司itme收錄優(yōu)美圖片官網
  • 做視頻發(fā)哪個網站賺錢百度數據庫
  • 西湖專業(yè)網站設計公司網站策劃書的撰寫流程
  • 網站定制文章列表項怎么做盤古搜索
  • shopify可以用來做B2B網站嗎百度網頁版電腦版入口
  • 做門窗投標網站seo課程在哪培訓好
  • 公司名詞解釋百度關鍵詞排名優(yōu)化
  • web網站開發(fā)完整教程線下推廣公司
  • wordpress安裝在vps百度seo公司興田德潤
  • 平面設計主要學什么哪些軟件seo產品推廣
  • 網站設計與制作教程1百度搜索引擎優(yōu)化怎么做
  • 網站logo如何做鏈接免費b2b網站推廣有哪些
  • 做國際網站要多少錢友情鏈接你會回來感謝我