1. 程式人生 > >LVS叢集搭建

LVS叢集搭建

LVS(Linux虛擬伺服器)全拼:Linux Virtual Server 是一個虛擬的伺服器集群系統 三種模式: LVS-NAT:地址轉換, 原理簡述 客戶端向VIP發起請求連線,DS在經過排程之後選取RS,然後RS返還資料給DS,DS將資料返還客戶端,資料包來回都要經過NAT轉換,所以DS將成為系統瓶頸。NAT支援10-20臺伺服器。需要有兩個網絡卡。 ===================================================================== LVS-TUN:隧道
原理簡述 客戶端向VIP傳送請求時,DS經過排程輪詢後選擇一個RS後使用隧道技術再次封裝後向RS傳送,RS通過隧道收到請求後拆開資料後得到目的IP,找到資料後將資料直接通過公網返還給客戶端,可以跨網段。速度快。 ===================================================================== LVS-DR: 路由模式 原理簡述 直接路由,此種方式是最常用的方式,當客戶端向VIP發起請求時,資料包通過路由器傳送到DS。然後DS不修改其源IP目的iP。經過排程後將目的MAC改為RS的MAC,然後RS找到資料後直接通過公網返回給客戶端。
速度快,所有的DS和RS都在同一個物理網路中(交換機)並且都只有一塊網絡卡。 ===================================================================== 排程常用演算法: 手動: 1. 輪叫排程 rr 2. 加權輪叫 wrr 自動: 3. 最少連結 lc 4. 加權最少連結 wlc   步驟: 所需環境,一臺DS,兩臺RS,一臺客戶機,在一個網段中,全部關閉防火牆。操作過程中不可重啟。 DS: 1. #yum -y install ipvsadm #下載ipvsadm命令
引數: -C–clear 清除核心虛擬伺服器表中的所有記錄。 -A:增加一臺新的虛擬伺服器,也就是VIP -a:在虛擬伺服器中增加一臺新的真實伺服器 -t:–tcp 說明虛擬伺服器提供的是tcp 的服務 -r:後跟真實的伺服器ip -s:指定排程演算法 -g:指定LVS 的工作模式為直接路由模式   2. #ipvsadm -C #ipvsadm -A -t 192.168.29.250:80 -s rr #ipvsadm -a -t 192.168.29.250:80 -r 192.168.29.138:80 -g #ipvsadm -a -t 192.168.29.250:80 -r 192.168.29.139:80 -g   #ifconfig ens33:0 192.168.29.250 broadcast 192.168.29.250 netmask 255.255.255.255 up 給ens33網絡卡新增一塊子網絡卡,IP地址設為250,並且設定為廣播地址 #route add -host 192.168.29.250 dev ens33:0 訪問192.168.29.250的時候指定一條路由,走子網絡卡,   RS: 1. # ifconfig lo:0 192.168.29.250 broadcast 192.168.29.250 netmask 255.255.255.255 up 給LOOPBACK新增子網絡卡,設定IP為250,並設定為廣播地址 # route add -host 192.168.29.250 dev lo:0 訪問250指定路由是從裝置LOOPBACK走   2. 配置核心引數檔案 arp_ignore: 定義接收到ARP請求時的響應級別 0:預設,只有本地配置的有相應的地址才給與迴應 1:僅僅在目標地址是本地地址,並是配置在請求進來的介面上的時候才給予響應 arp_announce:定義將自己的地址向外通告時的級別 0:預設,表示使用配置在任何介面的任何地址向外通告 1:儘量僅向目標網路通過餘其網路匹配地址 2:僅向與本地介面上地址匹配的網路進行通告 # echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore # echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce # echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore # echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce   該配置檔案重啟失效,是寫在記憶體中的。 如果要永久生效,要把引數寫在/etc/sysctl.conf中   3. 給RS和DS端都安裝httpd服務 在RS1,RS2端/var/www/html目錄下建立index.html檔案 編輯:<h1>this is 138 host</h1> <h1>this is 139 host</h1> 啟動httpd服務   4. 測試: 自己做實驗時DS端的子IP不在了,所以不成功,記得檢查一下!!! 在客戶機執行 curl 192.168.29.250,或者在瀏覽器輸入網址 在DS上檢視ipvsadm的 ipvsadm -Ln --stats -L:顯示核心虛擬伺服器表 -n:輸出IP地址和埠的數字形式 ipvsadm --zero :清空流量   為防止服務重啟失敗 cd /etc/sysconfig touch ipvsadm檔案   擴充套件: tun隧道模式   DS端配置: ifconfig tunl0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.0 up route add -host 192.168.254.250 dev tunl0 ipvsadm -A -t 192.168.254.250:80 -s rr ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.18 -i ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.19 -i # tunl0是隧道網絡卡的名字,可以隨意起名字   RS端的配置 ifconfig tunl0 192.168.254.250 netmask 255.255.255.255 broadcast 192.168.254.250 up route add -host 192.168.254.250 dev tunl0   echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce   echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce   echo "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter   0:不開啟源地址校驗。 1:開啟嚴格的反向路徑校驗。對每個進來的資料包,校驗其反向路徑是否是最佳路徑。 如果反向路徑不是最佳路徑,則直接丟棄該資料包。 2:開啟鬆散的反向路徑校驗。對每個進來的資料包,校驗其源地址是否可達,即反向路徑是否能通(通過任意網口), 如果反向路徑不同,則直接丟棄該資料包。