LVS 負(fù)載均衡
一、系統(tǒng)環(huán)境:
系統(tǒng):Centos 6.5_64位
二、Director和Real Server的配置部署:
1臺(tái)director server:VIP/外網(wǎng)ip:192.168.121.141 內(nèi)網(wǎng)ip:172.16.2.31
2臺(tái)real server:172.16.2.21 172.16.2.24 并且需要設(shè)置內(nèi)網(wǎng)網(wǎng)關(guān)為director的內(nèi)網(wǎng)ip:172.16.2.31
director server 2塊網(wǎng)卡配置:
一塊172.16.2.31 網(wǎng)卡為橋接模式
一塊192.168.121.141 網(wǎng)卡為nat模式.
最好先安裝好eple-release源
兩個(gè) real server 上都安裝 nginx 服務(wù) # yum install -y nginx Director 上安裝 ipvsadm # yum install -y ipvsadm兩臺(tái)real server的網(wǎng)卡配置:
Real Servcer1--172.16.2.24主機(jī)網(wǎng)卡配置:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:7F:32:0F TYPE=Ethernet UUID=2d67590f-694e-4491-9e8c-d7757ca7e5c0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=172.16.2.24 PREFIX=24 GATEWAY=172.16.2.31Real Server2--172.16.2.21主機(jī)網(wǎng)卡配置:
# cat ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:F9:9B:A8 TYPE=Ethernet UUID=12ad4433-399f-4df2-b3c7-62d78444fa0d ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=172.16.2.21 PREFIX=24 GATEWAY=172.16.2.31三、簡(jiǎn)單了解Iptables規(guī)則:
iptables內(nèi)置了4個(gè)表,即raw表、filter表、nat表和mangle表,分別用于實(shí)現(xiàn)包過濾,網(wǎng)絡(luò)地址轉(zhuǎn)換和包重構(gòu)的功能。
主要用于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT,該表可以實(shí)現(xiàn)一對(duì)一,一對(duì)多,多對(duì)多等NAT 工作,iptables就是使用該表實(shí)現(xiàn)共享上網(wǎng)的,NAT表包含了PREROUTING鏈(修改即將到來(lái)的數(shù)據(jù)包),POSTROUTING鏈(修改即將出去的數(shù)據(jù)包),OUTPUT鏈(修改路由之前本地生成的數(shù)據(jù)包)
iptables 參數(shù):
-n:以數(shù)字的方式顯示ip,它會(huì)將ip直接顯示出來(lái),如果不加-n,則會(huì)將ip反向解析成主機(jī)名。
-v:顯示詳細(xì)信息
-L:查看iptables規(guī)則列表
-s --source 源地址或子網(wǎng)> 指定數(shù)據(jù)包匹配的源地址
四、lvs/nat 配置:
LB集群是load balance 集群的簡(jiǎn)寫,翻譯成中文就是負(fù)載均衡集群;
LVS是一個(gè)實(shí)現(xiàn)負(fù)載均衡集群的開源軟件項(xiàng)目;
LVS架構(gòu)從邏輯上可分為調(diào)度層(Director)、server集群層(Real server)和共享存儲(chǔ)層;
LVS可分為三種工作模式:
NAT:(調(diào)度器將請(qǐng)求的目標(biāo)ip即vip地址改為Real server的ip, 返回的數(shù)據(jù)包也經(jīng)過調(diào)度器,調(diào)度器再把源地址修改為vip)
TUN:(調(diào)度器將請(qǐng)求來(lái)的數(shù)據(jù)包封裝加密通過ip隧道轉(zhuǎn)發(fā)到后端的real server上,而real server會(huì)直接把數(shù)據(jù)返回給客戶端,而不再經(jīng)過調(diào)度器)
DR:(調(diào)度器將請(qǐng)求來(lái)的數(shù)據(jù)包的目標(biāo)mac地址改為real server的mac地址,返回的時(shí)候也不經(jīng)過調(diào)度器,直接返回給客戶端)
LVS的調(diào)度算法:
輪叫調(diào)度(Round Robin)(簡(jiǎn)稱rr)
加權(quán)輪叫(Weighted Round Robin)(簡(jiǎn)稱wrr)
最少鏈接(least connection)(lc)
加權(quán)最少鏈接(Weighted Least Connections)(wlc) 等等;
五、Director 調(diào)度器的配置:
#創(chuàng)建腳本并添加如下規(guī)則:
[root@localhost sbin]# cat /usr/local/sbin/lvs_nat.sh #! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects echo 0 > /proc/sys/net/ipv4/conf/eth2/send_redirects iptables -t nat -F iptables -t nat -X #MASQUERADE 改寫封包來(lái)源IP為防火墻的IP,可以指定port 對(duì)應(yīng)的范圍,進(jìn)行完此處理動(dòng)作后,直接跳往下一個(gè)規(guī)則鏈(mangle:postrouting)。 iptables -t nat -A POSTROUTING -s 172.16.2.0/24 -j MASQUERADE IPVSADM='/sbin/ipvsadm' $IPVSADM -C $IPVSADM -A -t 192.168.121.141:80 -s wlc $IPVSADM -a -t 192.168.121.141:80 -r 172.16.2.21:80 -m -w 2 $IPVSADM -a -t 192.168.121.141:80 -r 172.16.2.24:80 -m -w 1#添加完成后運(yùn)行次腳本就完成了lvs/nat的配置了.
#sh lvs_nat.sh六、查看ipvs規(guī)則是否生效:
[root@localhost ~]# iptables -t nat -nvL Chain PREROUTING (policy ACCEPT 171 packets, 10777 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 1 136 MASQUERADE all -- * * 172.16.2.0/24 0.0.0.0/0 Chain OUTPUT (policy ACCEPT 1 packets, 136 bytes) pkts bytes target prot opt in out source destination ------------------------------------------------------------------------------------------ [root@localhost ~]# ipvsadm ipvsadm ipvsadm-restore ipvsadm-save ----------------------------------------------------------------------------------------- [root@localhost ~]# 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.121.141:80 wlc -> 172.16.2.21:80 Masq 2 0 0 -> 172.16.2.24:80 Masq 1 0 0 [root@localhost network-scripts]# /etc/init.d/nginx stop Stopping nginx: [ OK ]Nginx 下面可以直接放一個(gè)文件做測(cè)試,截圖丟失就不展示了.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。