LVS專題: NAT和DR模型實現Web負載均衡

LVS專題: NAT和DR模型實現Web負載均衡

前言:

在上篇文章中我們講了一些LVS的基本概念和相應模型的實驗原理和流程,本篇文章我們主要使用lvs為web服務提供負載均衡

NAT實現

實驗拓撲

blob.png

實驗環境

主機 IP地址 功用
Director.anyisalin.com 172.16.1.2,172.16.2.2 LVS-Director
rs1.anyisalin.com 172.16.2.3 Real Server
rs2.anyisalin.com 172.16.2.3 Real Server

注意: 本文實驗中所有主機SElinux和iptables都是關閉的

實驗步驟

Real Server配置

[root@rs1 ~]# yum install httpd -y &> /dev/null && echo success || echo failure    #RS1安裝httpd
success #安裝成功
[root@rs1 ~]# route add default gw 172.16.2.2  #設置默認網關為Director的DIP
[root@rs1 ~]# echo "<h1>This is Real Server 1 </h1>" > /var/www/html/index.html    #添加網頁
[root@rs1 ~]# service httpd start &> /dev/null && echo success #啟動httpd服務
success #啟動成功

##以下操作在rs2上執行

[root@rs2 ~]# yum install httpd -y &> /dev/null && echo success || echo failure    #RS1安裝httpd
success #安裝成功
[root@rs2 ~]# route add default gw 172.16.2.2  #設置默認網關為Director的DIP
[root@rs2 ~]# echo "<h1>This is Real Server 2 </h1>" > /var/www/html/index.html    #添加網頁
[root@rs2 ~]# service httpd start &> /dev/null && echo success #啟動httpd服務
success #啟動成功

Director配置

IP地址配置的過程就不寫了

[root@director ~]# curl 172.16.2.3 #可以訪問RS1
<h1>This is Real Server 1 </h1>
[root@director ~]# curl 172.16.2.4 #可以訪問RS2
<h1>This is Real Server 2 </h1>
[root@director ~]# cat /proc/sys/net/ipv4/ip_forward   #查看內核核心轉發是否開啟
0   #沒有開啟
[root@director ~]# echo 0 > /proc/sys/net/ipv4/ip_forward  #開啟路由轉發, 若要永久修改自行配置配置文件

##添加ipvs規則, 這里為了直觀, 所以選擇了Round Robin的調度方法
[root@director ~]# ipvsadm -A -t 172.16.1.2:80 -s rr
[root@director ~]# ipvsadm -a -t 172.16.1.2:80 -r 172.16.2.3 -m
[root@director ~]# ipvsadm -a -t 172.16.1.2:80 -r 172.16.2.4 -m

[root@director ~]# ipvsadm -L -n   #查看ipvs規則的信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
 ->
RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.16.1.2:80 rr
 ->
172.16.2.3:80                Masq    1      0          0        
 ->
172.16.2.4:80                Masq    1      0          0        
[root@director ~]#

測試

LVS專題: NAT和DR模型實現Web負載均衡

DR實現

實驗拓撲

blob.png

實驗環境

主機 IP地址 功用
director.anyisalin.com 172.16.2.2,172.16.2.5 lvs-director
rs1.anyisalin.com 172.16.2.3,172.16.2.5 lvs-rs
rs.anyisalin.com 172.16.2.4,172.16.2.5 lvs-rs

注意: 本文實驗中所有主機SElinux和iptables都是關閉的

實驗步驟

由于LVS-NAT模式較為復雜,所以配置較為麻煩, 如果對LVS-DR模式還不是很理解的可以看我上一篇博客

Director配置

[root@director ~]# ifconfig eth1:0 172.16.2.5/32 broadcast 172.16.2.5 up   #配置VIP地址
[root@director ~]# route add -host 172.16.2.5 dev eth1:0   #添加一條路由避免地址沖突
[root@director ~]# ipvsadm -A -t 172.16.2.5:80 -s rr
[root@director ~]# ipvsadm -a -t 172.16.2.5:80 -r 172.16.2.3 -g
[root@director ~]# ipvsadm -a -t 172.16.2.5:80 -r 172.16.2.4 -g

Real Server配置

##修改內核參數,若要永久生效請修改配置文件
[root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
[root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@rs1 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
[root@rs1 ~]# ifconfig lo:0 172.16.2.5/32 broadcast 172.16.2.5 up  #配置VIP到lo:0
[root@rs1 ~]# route add -host 172.16.2.5 dev lo:0
[root@rs1 ~]# yum install httpd -y &> /dev/null && echo success || echo failure    #RS1安裝httpd
success #安裝成功
[root@rs1 ~]# echo "<h1>This is Real Server 2 </h1>" > /var/www/html/index.html    #添加網頁
[root@rs1 ~]# service httpd start &> /dev/null && echo success #啟動httpd服務
success #啟動成功

##以下操作在rs2中執行
[root@rs2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@rs2 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
[root@rs2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@rs2 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
[root@rs2 ~]# ifconfig lo:0 172.16.2.5/32 broadcast 172.16.2.5 up  #配置VIP到lo:0
[root@rs2 ~]# route add -host 172.16.2.5 dev lo:0
[root@rs2 ~]# yum install httpd -y &> /dev/null && echo success || echo failure    #RS1安裝httpd
success #安裝成功
[root@rs2 ~]# echo "<h1>This is Real Server 2 </h1>" > /var/www/html/index.html    #添加網頁
[root@rs2 ~]# service httpd start &> /dev/null && echo success #啟動httpd服務
success #啟動成功

測試

LVS專題: NAT和DR模型實現Web負載均衡

總結:

本文介紹了如何使用lvs來對多臺服務器進行負載均衡, 但是還是有多情況是本文沒有介紹的, 例如TUN, FULLNAT等, 以后有機會會和大家分享, 過兩天可能會寫使用keepalive+lvs實現director的高可用, 敬請期待 
作者:AnyISalIn QQ:1449472454 
感謝:MageEdu

原創文章,作者:Net18-AnyISalIn,如若轉載,請注明出處:http://www.www58058.com/14212

(0)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-04-05 21:24
下一篇 2016-04-05 22:40

相關推薦

  • 第七周小練習

    1.創建一個10G分區,并格式為ext4文件系統 (1)要求其block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl (2)掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳 fdisk /dev/sdb n p 1 +10G w mke2fs -t&nbs…

    Linux干貨 2017-01-05
  • 計算機基礎知識及基本命令(20170214)

    計算機基礎知識 操作系統相關 linux分區介紹 安裝linux linux基本命令    一、計算機基礎知識       計算機(computer):計算機(Computer):俗稱電腦,是一種能接收和存儲信息,并按照存儲在其內部的程序對海量數據進行自動、高速地處理,然后把處理結果輸出的現代化智能電子設備 …

    Linux干貨 2017-02-14
  • linux防火墻介紹

    一、前言firewall(防火墻):工作在網絡進入或者流包,進出的網絡數據包進行一定的規則進行檢查過濾系統。包括iptables和netfilter組件。iptables 是與 Linux 內核集成的 IP 信息包過濾系統。如果 Linux 系統連接到因特網或 LAN、服務器或連接 LAN 和因特網的代理服務器, 則該系統系統中更好地控制 IP 信息包過濾和…

    2017-04-30
  • N25-第一周博客

      第一周博客作業內容 1.描述計算機的組成及其功能 2.按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別 3.描述Linux哲學思想,并按照自己的理解對其進行解釋性描述。 4.說明Linux系統上命令的使用格式:詳細介紹,ifconfg,echo,tty,startx,export pwd,history,shutdown,powe…

    Linux干貨 2016-12-03
  • 20171121 grep 正則表達式

    diff與patch ,grep 正則表達式

    2017-11-21
  • shell腳本編程基礎練習

    這周,我們學習了shell腳本基礎,那么什么是shell腳本呢? shell script是利用shell的功能所寫的一個程序,這個程序是使用純文本文件,將一些shell的語法與指令寫在里面,然后用正則表達式,管道命令以及重定向向等功能,以達到我們所想要的處理目的。Shell腳本可以幫助我們系統、自動化的去管理和處理一些東西 下面是摘抄出的幾個練習: 首先,…

    2017-08-05
欧美性久久久久