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
下一篇 2016-04-05

相關推薦

  • NoSQL理論基礎及安裝、基本操作

    30分鐘開始 分布式系統理論: CAP: 一致性 可用性 分區容錯性     MongoDB: 安裝 crud 索引 副本集 分片   NoSQL:非關系型、分布式、不提供ACID功能 技術特點: 1、簡單數據模型 2、元數據和應用數據分離(分不同服務器存儲) 3、弱一致性   優勢: 1、避免不必要的復雜性 2、高吞…

    2016-11-27
  • 初入LINUX之首周總結及虛擬機的安裝

    一.初入LINUX   1.在接觸LINUX之前,先了解了計算機的系統組成: 2.服務器是計算機的一種,是網絡中為客戶端計算機提供各種服務的高性能的計算機,服務器在網絡操作系統的控制下,將與其相連的硬盤磁帶,打印機及昂貴的專用通訊設備提供給網絡上的客戶站點共享,也能為網絡用戶提供集中計算、信息發布及數據管理等服務 。 3.服務器的三大操作系統:①w…

    2017-05-20
  • 關于大型網站技術演進的思考(十四)–網站靜態化處理—前后端分離—上(6)

    原文出處: 夏天的森林   前文講到了CSI技術,這就說明網站靜態化技術的講述已經推進到了瀏覽器端了即真正到了web前端的范疇了,而時下web前端技術的前沿之一就是前后端 分離技術了,那么在這里網站靜態化技術和前后端分離技術產生了交集,所以今天我將討論下前后端分離技術,前后端分離技術討論完后,下一篇文章我將會以網站 靜態化技術的…

    Linux干貨 2015-03-03
  • 系統管理中的三大利刃(htop glances dstat)

    工欲善事情,必先利其器,生產環境中的服務器在處理請求并生成回應數據的時間主要消耗在服務器端,包括了眾多的環節,如何全面了解我們linux服務器的CPU使用率、使用時間、內存占用比例、磁盤IO數據、網絡相關數據等等眾多指標,保證我們的linux服務器順利完成每一個請求,怎能沒有幾個趁手的利刃,而今天就讓我們見識一下系統管理中三大利刃。 相傳一把三尺長的軟劍,叫…

    Linux干貨 2015-11-18
  • OSI七層模型

      OSI模型的七層結構 首先,OSI是什么呢?OSI(Open System Interconnection),OSI是一個開放性的通行系統互連參考模型,是一個協議規范。它把網絡協議從邏輯上分為了7層。每一層都有相關、相對應的物理設備。OSI七層模型是一種框架性的設計方法 ,建立七層模型的主要目的是為解決異種網絡互連時所遇到的兼容性問題,其最主要…

    2017-09-02
  • 文件查找命令(find、locate)

    在文件系統上查找符合條件的文件: 實現工具:locate, find locate: 依賴于事先構建好的索引庫; 系統自動實現(周期性任務); 手動更新數據庫(updatedb); 工作特性: 查找速度快; 模糊查找; 非實時查找; locate [OPTION]… PATTERN… -b:只匹配路徑中的基名; -c:統計出共有多少個符合條件的文件;…

    Linux干貨 2016-11-06
欧美性久久久久