中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹

發布時間:2020-04-21 10:50:03 來源:億速云 閱讀:298 作者:三月 欄目:云計算

下文給大家帶來LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗做一個解答。

LVS簡介

LVS(Linux Virtual Server)即Linux虛擬云服務器,是由章文嵩博士主導的開源負載均衡項目,目前LVS已經被集成到Linux內核模塊中。該項目在Linux內核中實現了基于IP的數據請求負載均衡調度方案,其體系結構如圖1所示,終端互聯網用戶從外部訪問公司的外部負載均衡服務器,終端用戶的Web請求會發送給LVS調度器,調度器根據自己預設的算法決定將該請求發送給后端的某臺Web服務器,比如,輪詢算法可以將外部的請求平均分發給后端的所有服務器,終端用戶訪問LVS調度器雖然會被轉發到后端真實的服務器,但如果真實服務器連接的是相同的存儲,提供的服務也是相同的服務,最終用戶不管是訪問哪臺真實服務器,得到的服務內容都是一樣的,整個集群對用戶而言都是透明的。最后根據LVS工作模式的不同,真實服務器會選擇不同的方式將用戶需要的數據發送到終端用戶,LVS工作模式分為NAT模式、TUN模式、以及DR模式。

了解負載均衡群集的原理

群集的含義

**Cluster,集群,群集**
 由多臺主機構成,但對外只表現為一個整體
在互聯網應用中,隨著站點對硬件性能,響應速度,服務穩定性,數據可靠性等要求越來越高,單臺服務器力不從心
** 解決方法**
 使用價格昂貴的小型機,大型機
 使用普通服務器構建服務群集

群集的分類

根據群集所針對的目標差異,可分為三種類型
 負載均衡群集
高性能運算群集
**負載均衡群集(Load,Balance Cluster)**
以提高應用系統的響應能力,盡可能處理更多的訪問請求,減少延遲為目標,獲得高并發,高負載LB的整體性能
LB的負載分配依賴主節點的分流算法
 **高可用群集**
以提高應用系統的可靠性,盡可能地減少中斷時間為目標,確保服務的連續性達到高可用
HA的容錯效果
HA的工作方式包括雙工和主從模式
**高性能運算群集**
以提高應用系統的CPU運算速度,擴展硬件資源和分析能力為目標,獲得相當于大型,超級計算機的高性能運算HPC能力
高性能運算群集的高性能依賴于分布式運算,并行計算,通過專用硬件和軟件將多個服務器的CPU,內存等資源整合在一起,實現只有,大型,超級計算機才具備的計算能力

負載均衡群集工作模式分析和工作模式

負載均衡群集是目前企業用的最多的群集類型
群集的負載調度技術有三種工作模式
 **地址轉換**
 **IP隧道**
 **直接路由**

NAT模式 (Network Address Translation)

**簡稱NAT模式**,類似于防火墻的私有網絡結構,負載調度器作為所有服務器節點的網關,即作為客戶機的訪問入口,也是各節點回應客戶機的訪問出口
服務器節點使用私有IP地址,與負載調度器位于銅一個物理網絡,安全性要優于其他兩種方式

TUN模式(IP Tunnel)

**簡稱TUM模式**,采用開放式的網絡結構,負載調度器僅作為客戶機的訪問入口,各節點通過各自的網絡連接直接回應客戶機,而不再經過負載調度器
服務器節點分散在互聯網中的不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信。所有環境都是公網環境

DR模式 (Direct Routing)

直接路由

**簡稱DR模式**,采用半開放式的網絡結構,與TUN模式的結構類似,但各節點并不是分散在各地,而是與調度器位于同一個物理網絡
負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道
在局域網中

LVS的負載調度算法

**輪詢 (Round Robin)**
將收到的訪問請求安裝順序輪流分配給群集中的個節點(真實服務器),均等地對待每一臺服務器,而不管服務器實際的連接數和系統負載
**加權輪詢 (Weighted Round Robin**)
根據真實服務器的處理能力輪流分配收到的訪問請求,調度器可以自動查詢各節點的負載情況,并動態調整其權重
保證處理能力強的服務器承擔更多的訪問流量
**最少連接 (Least Connections)**
根據真實服務器已建立的連接輸進行分配,將收到的訪問請求優先分配給連接數最少的節點
**加權最少連接 (Weighted Least Connections)**
在服務器節點的性能差異較大情況下,可以為真實服務器自動調整
權重
權重較高的節點將承擔更大比例活動連接負載

下面我們來做實驗

實驗結構:

我們需要五臺虛擬機
1 作為負載均衡調度器   外網地址:12.0.0.1 內網:192.168.200.1
4 網站服務器apache   節點:192.168.200.110 
5 網站服務器                 節點: 192.168.200.120
6 nfs共享存儲               節點:192.168.200.130
7 客戶端                     12.0.0.12
先到6安裝ngs和遠程調用包
[root@localhost ~]# yum install nfs-utils rpcbind -y
4,5安裝web服務
[root@localhost ~]# yum install httpd -y
1安裝LVS負載均衡調度器
[root@localhost ~]# yum install ipvsadm -y

配置6nfs服務器

僅主機模式我們服務器都要在一個局域網

LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹

配置固定IP

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #配置ens33網卡
BOOTPROTO=static #靜態
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=66a1e3d6-5c57-42ab-9996-b942b049ef85
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.200.130 #IP地址
NETMASK=255.255.255.0 #子網掩碼
GATEWAY=192.168.200.1 #網關

開啟服務

[root@localhost ~]# systemctl stop firewalld.service 
s[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start nfs.service
[root@localhost ~]# systemctl status nfs.service
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since 二 2019-11-26 1
[root@localhost ~]# systemctl start rpcbind.service
[root@localhost ~]# systemctl status rpcbind.service
● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service

配置共享目錄,給777權限

[root@localhost ~]# vim /etc/exports
/usr/share *(ro,sync) #只讀,同步 所有服務器都可以去訪問
/opt/accp 192.168.200.0/24(rw,sync) #共享給200段可以訪問,可讀,可寫,同步
/opt/benet 192.168.200.0/24(rw,sync)

[root@localhost ~]# cd /opt/
[root@localhost opt]# mkdir benet accp
[root@localhost opt]# chmod 777 accp/ benet/ #給可讀可寫可執行
[root@localhost opt]# ls -l
總用量 0
drwxrwxrwx. 2 root root 6 11月 26 17:13 accp
drwxrwxrwx. 2 root root 6 11月 26 17:13 benet
drwxr-xr-x. 2 root root 6 3月  26 2015 rh

發布共享

[root@localhost opt]# exportfs -rv
exporting 192.168.200.0/24:/opt/benet
exporting 192.168.200.0/24:/opt/accp
exporting *:/usr/share

4,web服務器僅主機模式,配置固定IP

LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c3f0a196-6819-4702-9b54-7cad18402591
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.200.110
NETMASK=255.255.255.0
GATEWAY=192.168.200.1

開啟服務,去測試能不能與6nfs服務器聯通

[root@localhost ~]# systemctl restart network

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0

[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      100863/httpd    
[root@localhost ~]# ping 192.168.200.130
PING 192.168.200.130 (192.168.200.130) 56(84) bytes of data.
64 bytes from 192.168.200.130: icmp_seq=1 ttl=64 time=0.724 ms
64 bytes from 192.168.200.130: icmp_seq=2 ttl=64 time=0.356 ms

掛載,寫一個文件在web4,測試6nfs服務器有沒有存儲這個文件

[root@localhost ~]# showmount -e 192.168.200.130 #測試6服務器的共享目錄
Export list for 192.168.200.130:
/usr/share *
/opt/benet 192.168.200.0/24
/opt/accp  192.168.200.0/24

[root@localhost ~]# mount.nfs 192.168.200.130:/opt/accp /var/www/html/ #掛載
[root@localhost ~]# df -h
問件系統                   容量  已用  可用 已用% 掛載點
/dev/mapper/centos-root     20G  3.4G   17G   17% /
devtmpfs                   897M     0  897M    0% /dev
tmpfs                      912M     0  912M    0% /dev/shm
tmpfs                      912M  9.6M  903M    2% /run
tmpfs                      912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                  6.0G  179M  5.9G    3% /boot
/dev/mapper/centos-home     10G   37M   10G    1% /home
tmpfs                      183M   40K  183M    1% /run/user/0
tmpfs                      183M  4.0K  183M    1% /run/user/42
192.168.200.130:/opt/accp   20G  3.8G   17G   19% /var/www/html

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo "THII IS ACCP WEB" > index.html

#6服務器去測試
[root@localhost opt]# cd accp/
[root@localhost accp]# ls
index.html

5web服務器也是同樣的操作,僅主機模式,綁定固定IP

LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=a6cf69fe-eb42-4a99-9239-0da4cdeae0c7
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.200.120
NATMASK=255.255.255.0
GATEWAT=192.168.200.1

[root@localhost ~]# systemctl restart network
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0

掛載,寫一個文件在web4,測試6nfs服務器有沒有存儲這個文件

[root@localhost ~]# mount.nfs 192.168.200.130:/opt/benet /var/www/html/
[root@localhost ~]# df -h
問件系統                    容量  已用  可用 已用% 掛載點
/dev/mapper/centos-root      20G  4.3G   16G   22% /
devtmpfs                    897M     0  897M    0% /dev
tmpfs                       912M     0  912M    0% /dev/shm
tmpfs                       912M  9.5M  903M    2% /run
tmpfs                       912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                   6.0G  179M  5.9G    3% /boot
/dev/mapper/centos-home      10G   36M   10G    1% /home
tmpfs                       183M   44K  183M    1% /run/user/0
192.168.200.130:/opt/benet   20G  3.8G   17G   19% /var/www/html

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo "this is benet web" > index.html
[root@localhost html]# systemctl start httpd.service
#6去測試
[root@localhost accp]# cd ../
[root@localhost opt]# cd benet/
[root@localhost benet]# ls
index.html

1負載均衡調度器僅主機模式,綁定兩塊網卡,配置網卡

LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=12.0.0.1
NETMASK=255.255.255.0

BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=849aa04e-1874-490f-8cb0-b2fde4b9a6f8
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.200.1
NETMASK=255.255.255.0

[root@localhost ~]# systemctl restart network #重啟網絡服務

開啟路由轉發,NAT轉換

vim /etc/sysctl.conf #修改配置文件
net.ipv4.ip_forward=1 #加一條

[root@localhost ~]# sysctl -p #生效路由轉發
net.ipv4.ip_forward = 1

[root@localhost ~]# iptables -t nat -F #清除NAT表
[root@localhost ~]# iptables -F #清除轉發表

[root@localhost ~]# iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1
#在nat表中-A在POSTROUTING列中-o指定出口-s指定源地址 -j做nat 轉換成12.0.0.1

去7客戶端綁定IP

LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹

去4web服務器去測試能不能與客戶端聯通

[root@localhost html]# ping 12.0.0.12
PING 12.0.0.12 (12.0.0.12) 56(84) bytes of data.
64 bytes from 12.0.0.12: icmp_seq=1 ttl=127 time=0.815 ms
64 bytes from 12.0.0.12: icmp_seq=2 ttl=127 time=0.752 ms
64 bytes from 12.0.0.12: icmp_seq=3 ttl=127 time=0.727 ms
64 bytes from 12.0.0.12: icmp_seq=4 ttl=127 time=0.712 ms

加載LVS內核模塊

[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# cat /proc/net/ip_vs #查看LVS內核版本
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn

開啟LVS內核

先保存

[root@localhost ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
[root@localhost ~]# systemctl start ipvsadm.service
[root@localhost ~]# systemctl status ipvsadm.service
● ipvsadm.service - Initialise the Linux Virtual Server
   Loaded: loaded (/usr/lib/systemd/system/ipvsadm.service; disabled; vendor preset: disabled)
   Active: active (exited) since 二 2019-11-26 17:59:41 CST; 9s ago

寫LVS虛擬服務器腳本,啟動腳本

[root@localhost ~]# cd /opt/
[root@localhost opt]# vim nat.sh

#!/bin/bash
ipvsadm -C #清除緩存
ipvsadm -A -t 12.0.0.1:80 -s rr #添加虛擬服務器,-A -t指定端口 -s指定算法輪詢
ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.110:80 -m #-a -t指定端口 -r指定真實節點服務器 -m指定NAT
ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.120:80 -m
ipvsadm
[root@localhost opt]# source nat.sh #啟動腳本
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  localhost.localdomain:http rr
  -> 192.168.200.110:http         Masq    1      0          0         
  -> 192.168.200.120:http         Masq    1      0          0        

NAT地址轉換

[root@localhost opt]# iptables -F #清除轉發表
[root@localhost opt]# iptables -t nat -F #清除轉發表
[root@localhost opt]# iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1
#在nat表中-A在POSTROUTING列中-o指定出口-s指定源地址 -j做nat 轉換成12.0.0.1

再去客戶端測試一下能不能通過外網地址訪問到web服務器的內容

LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹

看了以上關于LVS-NAT負載均衡群集部署的原理、模式分析及工作模式介紹,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。

 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广汉市| 苍溪县| 荣昌县| 安化县| 水城县| 阳江市| 吴桥县| 桃园县| 于都县| 武安市| 清远市| 永宁县| 永新县| 浪卡子县| 石狮市| 泾川县| 凌海市| 中牟县| 巴彦淖尔市| 昭觉县| 喀什市| 宣化县| 无为县| 余姚市| 宜黄县| 阿尔山市| 翼城县| 禄劝| 宜良县| 许昌县| 卢龙县| 莎车县| 区。| 祁阳县| 伊金霍洛旗| 龙南县| 塔河县| 桦甸市| 天柱县| 嘉荫县| 丘北县|