1.實驗環境配置
Lvs調度器有兩塊網卡 一塊僅主機和一塊nat網卡,客戶端nat模式,兩臺服務器為僅主機模式
2.集群和分布式簡介
集群與分布式系統簡介
集群 (Cluster)
集群是指將多臺計算機(通常為同構的)通過高速網絡連接起來,作為一個整體對外提供服務。
主要特點:
- 高可用性:當某個節點故障時,服務可以快速轉移到其他節點
- 負載均衡:工作負載可以分配到多個節點上
- 可擴展性:可以通過增加節點來提升整體性能
- 共享存儲:通常使用共享存儲系統
常見集群類型:
- 高可用集群:確保服務持續可用(如數據庫集群)
- 負載均衡集群:分散請求到多個節點(如Web服務器集群)
- 高性能計算集群:用于科學計算等需要大量計算資源的場景
分布式系統 (Distributed System)
分布式系統是由多臺計算機通過網絡連接,協同完成任務的系統,這些計算機可以位于不同地理位置。
主要特點:
- 資源共享:可以共享硬件、軟件和數據
- 并發性:多個節點可以同時處理不同請求
- 透明性:用戶無需知道具體由哪個節點提供服務
- 容錯性:部分節點故障不影響整體系統運行
- 可擴展性:可以方便地增加節點
關鍵技術:
- 分布式計算:如MapReduce
- 分布式存儲:如HDFS、分布式數據庫
- 分布式通信:如RPC、消息隊列
- 一致性協議:如Paxos、Raft
集群與分布式的區別
特性 | 集群 | 分布式系統 |
---|---|---|
節點位置 | 通常在同一數據中心 | 可以跨地域分布 |
節點類型 | 通常同構 | 可以異構 |
通信延遲 | 低(局域網) | 可能較高(廣域網) |
管理復雜度 | 相對簡單 | 更復雜 |
典型應用場景 | Web服務器、數據庫集群 | 云計算平臺、大型互聯網服務 |
兩者在實際應用中常常結合使用,例如分布式系統可能由多個集群組成。
3.lvs-nat模式數據邏輯
1.客戶端發送訪問請求,請求數據包中含有請求來源(cip),訪問目標地址(VIP)訪問目標端口(9000port)
2.VS服務器接收到訪問請求做DNAT把請求數據包中的目的地由VIP換成RS的RIP和相應端
3.RS1相應請求,發送響應數據包,包中的相應保溫為數據來源(RIP1)響應目標(CIP)相應端口(9000port)
4.VS服務器接收到響應數據包,改變包中的數據來源(RIP1-->VIP),響應目標端口(9000-->80)5.VS服務器把修改過報文的響應數據包回傳給客戶端
6.Ivs的NAT模式接收和返回客戶端數據包時都要經過lvs的調度機,所以vs的調度機容易阻塞
4.lvs-nat實驗配置
首先利用事先編寫的peizhi.sh 的shell腳本給四臺主機配好ip
確保兩臺的http服務為開啟狀態
給兩臺http服務器的index編寫內容,實際情況下兩臺服務器發布配置內容應該為一模一樣,為方便后續實驗驗證,將兩臺服務區分開
將兩臺服務器的網關設置為調度服務器的vip 192.168.182.123
在lvs調度服務器上安裝ipvsadm
首先將lvs調度服務器上開啟ip轉發功能
編寫lvs調度策略
最后在客戶機上訪問http服務
修改策略再次驗證一下
可以看見訪問一次122 訪問兩次121
5.lvs的dr模式和nat模式的區別
LVS(Linux Virtual Server)的 NAT 模式 和 DR 模式 是兩種最常用的負載均衡實現方式,它們在架構、性能、配置復雜度等方面有顯著區別。以下是兩者的核心對比:
1. 數據包轉發原理
特性 | NAT 模式 | DR 模式(Direct Routing) |
---|---|---|
修改內容 | 修改請求和響應的?IP 地址/端口 | 僅修改請求的?MAC 地址 |
請求路徑 | 客戶端 → LVS → 真實服務器 → LVS → 客戶端 | 客戶端 → LVS → 真實服務器 → 客戶端(直接返回) |
響應路徑 | 必須經過 LVS 調度器(SNAT) | 真實服務器直接返回客戶端(不經過 LVS) |
2. 性能對比
特性 | NAT 模式 | DR 模式 |
---|---|---|
吞吐量 | 較低(LVS 是瓶頸) | 極高(僅處理入站請求) |
延遲 | 較高(兩次經過 LVS) | 低(響應不經過 LVS) |
適用場景 | 小規模集群、需要端口轉換 | 高性能場景(如大型網站) |
3. 網絡配置要求
特性 | NAT 模式 | DR 模式 |
---|---|---|
真實服務器(RS)網關 | 必須指向 LVS 調度器 | 可指向其他路由器 |
IP 轉發 | 需啟用?net.ipv4.ip_forward=1 | 不需要 |
IP 地址 | RS 使用私有 IP,LVS 需要公網 IP | RS 和 LVS 需在同一局域網,且 RS 可隱藏 |
4. 配置復雜度
特性 | NAT 模式 | DR 模式 |
---|---|---|
LVS 配置 | 簡單(只需 DNAT/SNAT) | 需配置 ARP 抑制和 MAC 重寫 |
真實服務器配置 | 簡單(改網關即可) | 需綁定 VIP 到 lo 接口,并配置 ARP 規則 |
典型命令 | ipvsadm -A -t VIP:80 -s rr ipvsadm -a -t VIP:80 -r RIP:80 -m | ipvsadm -A -t VIP:80 -s rr ipvsadm -a -t VIP:80 -r RIP:80 -g |
5. 優缺點對比
NAT 模式
- 優點:
- 支持端口映射(VIP 和 RIP 端口可不同)。
- 真實服務器可隱藏在內網。
- 缺點:
- LVS 容易成為性能瓶頸。
- 需要維護連接狀態(消耗內存)。
DR 模式
- 優點:
- 性能接近物理極限(響應直接由 RS 返回)。
- LVS 僅處理入站請求,吞吐量高。
- 缺點:
- 要求 RS 和 LVS 在同一局域網。
- 需配置 ARP 抑制,防止 IP 沖突。
6.lvs的dr實驗配置
1.客戶端發送數據幀給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
我們將server服務器的vip配置在回環接口上,lvs的vip添加在僅主機網卡上。在添加一臺主機模擬路由器裝置。
兩臺服務器以及lvs調度器的網關都為路由器相應的網段;兩臺服務器上配置回環接口vip將lvs調度器的vip添加到網卡上;
編寫回環接口配置vip為192.168.182.200
利用scp命令將配置文件直接傳輸給server2
然后將兩臺服務器和lvs的arp回應關閉
其他主機依次操作,在路由器上開啟火墻的ip偽裝服務,實現五臺主機互相連通
在lvs調度服務器上配置調度策略
在客戶端驗證策略是否生效。
客戶端成功訪問服務器的http服務,且根據策略調度。
7.利用wireshark抓包軟件驗證dr模式的特性
可以觀察到數據包里的ip只在CIP和VIP之間轉換
數據包的mac地址一直在變化