1. 程式人生 > >CentOS 7.3 部署LVS 集群

CentOS 7.3 部署LVS 集群

receive lin 5.0 conf method 權限 www 接受 工作

簡介
LVS的全稱Linux vitual system, linux vitual server
是由目前阿裏巴巴的著名工程師章文嵩博士開發的一款開源軟件。LVS工作在一臺server上提供Directory(負載均衡器)的功能,本身並不提供服務,只是把特定的請求轉發給對應的realserver(真正提供服務的主機),從而實現集群環境中的負載均衡。
LVS的核心組件ipvs工作在kernel中,是真正的用於實現根據定義的集群轉發規則把客戶端的請求轉發到特定的realserver。而另一個組件ipvsadm是工作在用戶空間的一個讓用戶定義ipvs規則的工具。故我們只要在server上裝了ipvsadm軟件包就可以定義ipvs規則,
而在linux kernel的2.6版本之後kernel是直接支持ipvs的。
註:由於ipvs是接受netfilter五個鉤子函數的中的local_in函數控制的。故ipvs不能和netfilter的一些控制規則同時使用。

三種模式

DR直接路由模式、NAT轉發模式、IP隧道模式
十幾種算法
輪訓算法 加權輪訓算法 最小連接算法 加權最下連接算法 ..... 
LVS Scheduling Method LVS的調度方法:
1.Fixed Scheduling Method  靜態調服方法
(1).RR     輪詢 
(2).WRR    加權輪詢 
(3).DH     目標地址hash
(4).SH     源地址hash
2.Dynamic Scheduling Method 動態調服方法
(1).LC     最少連接 
(2).WLC    加權最少連接 
(3).SED    最少期望延遲
(4).NQ     從不排隊調度方法
(5).LBLC   基於本地的最少連接
(6).LBLCR  帶復制的基於本地的最少連接

部署環境·為四臺centos 7 其中一臺做調度 兩臺提供 http 服務 一臺提供共享

 nfs-utils 自動安裝好伴隨這系統自帶
NFS是Network File System的縮寫NFS在文件傳送或信息傳送的過過程中,依賴於RPC協議。
RPC,遠程過程調用(Remote Procedure Call),是使客戶端能夠執行其他系統中程序的一種機制。
NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,就是因為NFS使用了RPC提供的傳輸協議,可以說NFS就是使用PRC的一個程序。
systemctl start nfs.service //啟動服務
vim /etc/sysconfig/network-scripts/ifcfg-ens33 //修改網卡
BOOTPROTO=staic //從自動獲取IP地址改為靜態
IPADDR=192.168.200.13  //手動添加IP地址 
NETMASK=255.255.255.0  //子網掩碼
GATEWAY=192.168.200.1  //網管
service network restart //重啟網卡服務我在虛擬機上所有還要把網卡綁定為主機模式
systemctl stop firewalld.service  //關閉防火墻
setenforce 0 //關閉增強行安全功能
編輯配置文件
vim /etc/exports 
/usr/share *(ro,sync)   //提供站點目錄 自帶就有所有來訪者都可以訪問 只讀 同步
/opt/benet 192.168.100.0/24(rw,sync)    // 為兩個節點服務創建兩個站點 共享的網段訪問 可以都可寫
看個人需求·若希求多了可以自行添加···
mkdir /opt/benet accp  //創建兩個目錄 然後可以創建做個磁盤整列 看個人
chmod 777 benet/ accp/  //並且給與權限 ··
--發布共享---
exportfs -rv

客戶端兩臺同同樣的配置

yum install httpd -y  //下載httpd 服務並且關閉防火墻
 修改網卡··· 
systemctl restart network.service 重啟網卡服務 
systemctl stop firewalld.service  關閉防火墻
setenforce 0 關閉防火墻
systemctl start httpd.service 開啟服務並且進行自測
netstat -ntap | grep 80 查看端口有沒有開啟  
showmount -e 192.168.200.130 查看共享文件有沒有
mount.nfs 192.168.200.130:/opt/accp /var/www/html/ //掛在站點目錄
echo "this is accp web "> index.html 寫一個首頁目錄 然後去 提供掛在的地方 就可以看

技術分享圖片
技術分享圖片
查看掃描共享的時候報錯對應下面的報錯解決辦法

服務端驗證NFS共享:
showmount -e ip 
註:正常能顯示出上面設置的共享目錄,如果報如下錯誤:
clnt_create: RPC: Program not registered
說明 rpcbind服務與NFS服務 啟動順序不對,把他倆都停了,重新啟動,先啟動rpcbind服務再啟動nfs服務;
客戶端驗證NFS共享:
showmount -e 192.168.1.207 (即NFS服務器的IP地址)
註:正常也能顯示出上面設置的共享目錄,如果報如下錯誤:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
說明防火墻沒有開啟相應需要開啟的端口,把防火墻關掉,再測試應該就可以正常了;不過防火墻比較重要,一般情況下,不會隨意關閉,在服務端可開啟如下命令列出的所有端口即可:
# rpcinfo -p localhost

技術分享圖片
最後配置 調度的服務器

centos7-1 做為調度器做為網管 雙網卡       調度  外 12.0.0.1  內 192.168.200.1
yum install ipvsadm -y //安裝方便管理軟件

vim /etc/sysctl.conf 設置防火墻
net.ipv4.ip_forward = 1 //最後添加開啟路由轉換
sysctl -p 生效
iptables -t nat -F //清楚防火墻中nat 
iptables -F  //清楚防火墻中所有規則
iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1 /
規則 添加規則 -t nat -A 在POSTROUTING鏈 指定出口 ens36 指定源地址192.168.200.0/24 -j 做動作SNAT --to-source 轉換成12.0.0.1
modprobe ip_vs 加載模塊 
cat /proc/net/ip_vs 查看內核版本
ipvsadm --save > /etc/sysconfig/ipvsadm 保存規則 不然開啟服務會失敗
systemctl start ipvsadm.service  開啟服務
NAT、只要在服務器上配置,業務服務器不需要特殊配置--------
cd /opt/  //可以自行定義
vi nat.sh
#!/bin/bash
ipvsadm -C //清楚內核虛擬服務器表中的所有記錄
ipvsadm -A -t 12.0.0.1:80 -s rr     //添加一臺虛擬的服務器 -t 指定那種IP -s 指定那種算 rr 
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.101:80 -m  -a 指定虛擬的IP地址的 r 指定的真是的IP地址節點服務 -m指定 SNAT 模式
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.102:80 -m  -a -t 通過一個虛擬的IP地址訪問-r 到一真時的地址 
ipvsadm  啟用服務 

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

CentOS 7.3 部署LVS 集群