地址轉換模式(LVS-NAT)

LVS 基本配置詳解請參考博文:http://www.javashuo.com/article/p-vuqwwdwq-ho.html
案例環境:
地址轉換模式(LVS-NAT)
實現結果以下:html

  • 使用NAT模式的羣集技術,LVS負載調度器是全部節點訪問Internet的網關服務器,其200.0.0.1也做爲整個羣集的VIP地址。
  • 使用輪詢(rr)的調度算法。
  • web1和web2先搭建web服務,分別準備不一樣的網頁文件,供客戶端訪問,以此來肯定client訪問LVS服務器的200.0.0.1,能夠訪問到兩臺wbe服務器。
  • 待client測試成功後,web1和web2即可以掛載NFS服務器提供的共享目錄,以此來爲client提供相同的網頁文件。
    1、準備:
    一、先把網絡調試至互通
    二、準備系統鏡像和相關的軟件包,以便搭建httpd服務,和安裝相關工具。這裏爲了方便,便直接使用系統映像中的安裝包來搭建httpd服務。
    三、配置防火牆策略放行流量(圖個方便,我這裏直接停掉了防火牆)
    2、配置負載調度器:
    開啓路由轉發功能:
    [root@localhost /]# vim /etc/sysctl.conf 
    ...................       // 省略部分
    net.ipv4.ip_forward = 1
    [root@localhost /]# sysctl -p
    net.ipv4.ip_forward = 1

    配置負載分配策略:web

    [root@localhost /]# modprobe ip_vs                   # 加載 ip_vs 模塊
    [root@localhost /]# cat /proc/net/ip_vs             # 查看版本信息,彈出以下所示,說明該模塊已啓動
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn

    ipvsadm 是在負載調度器上使用的 LVS 羣集管理工具,經過調用 ip_vs 模塊來添加、刪除服務器節點,以及查看羣集的運行狀態(須要手動安裝)。算法

    [root@localhost /]# yum -y install ipvsadm              # 安裝 ipvsadm
    [root@localhost /]# ipvsadm -v                       # 查看版本信息
    ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
    [root@localhost /]# ipvsadm -C                 # 清除原有策略
    [root@localhost /]# ipvsadm -A -t 200.0.0.1:80 -s rr           
    [root@localhost /]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.10:80 -m -w 1
    [root@localhost /]# ipvsadm -a -t 200.0.0.1:80 -r 192.168.1.20:80 -m -w 1
    [root@localhost /]# ipvsadm-save            # 保存策略
    -A -t localhost.localdomain:http -s rr
    -a -t localhost.localdomain:http -r 192.168.1.10:http -m -w 1
    -a -t localhost.localdomain:http -r 192.168.1.20:http -m -w 1
    [root@localhost /]# systemctl enable ipvsadm.service            # 設置爲開機自啓

    配置節點服務器:
    web1 配置:vim

    [root@localhost /]# yum -y install httpd              # 安裝 http 服務
    [root@localhost /]# echo test1.com > /var/www/html/index.html            # 準備測試網頁
    [root@localhost /]# systemctl start httpd               # 開啓服務
    [root@localhost /]# systemctl enable httpd           # 開機自啓

    web2 配置:服務器

    [root@localhost /]# yum -y install httpd              # 安裝 http 服務
    [root@localhost /]# echo test2.com > /var/www/html/index.html             # 準備測試網頁
    [root@localhost /]# systemctl start httpd
    [root@localhost /]# systemctl enable httpd

    固然,在實際生產環境時,網頁內容都是同樣的,這裏爲了區分驗證從實驗的成功與否,我寫了兩個內容不一樣的測試文件。
    測試一下 LVS 是否在工做:
    地址轉換模式(LVS-NAT)
    刷新網頁:
    地址轉換模式(LVS-NAT)
    3、NFS 共享存儲服務:
    搭建 NFS 共享使兩臺web服務器共同掛載同一個NFS服務器共享的目錄,以此來提供相同的網頁文件。
    安裝 nfs-utils、rpcbind 軟件包:網絡

    [root@localhost /]# yum -y install nfs-utils rpcbind        # 安裝軟件包
    [root@localhost /]# systemctl enable nfs                    # 設置爲開機自啓
    [root@localhost /]# systemctl enable rpcbind

    這兩軟件包我使用 rpm-qa 在Centos 7 上查看的時候是有的,具體這裏本人也不是很清楚究竟是不是安裝系統時自帶的,因此在作時仍是敲一下這命令吧,以防萬一嘛,若有大佬知道的,還煩請告知小弟。(拜謝)
    設置共享目錄:負載均衡

    [root@localhost /]# mkdir -p /opt/wwwroot              # 建立共享目錄
    [root@localhost /]# vim /etc/exports                       # 修改 NFS 主配置文件
    /opt/wwwroot    192.168.2.0/24(rw,sync,no_root_squash)
    --rw:容許讀寫,ro 爲只讀
    --sync:表示同步寫入
    --no_root_squash:當客戶機以 root 身份訪問時賦予本地的 root 權限(默認是 root_squash,將做爲 nfsnobody 用戶降權對待)
    [root@localhost wwwroot]# echo nfs.test.com > index.html            # 準備測試文件
    [root@localhost /]# systemctl restart rpcbind             # 重啓服務使配置生效
    [root@localhost /]# systemctl restart nfs
    [root@localhost /]# showmount -e                        # 查看本機發布的共享目錄
    Export list for localhost.localdomain:
    /opt/wwwroot 192.168.2.0/24

    在兩臺 web 主機上掛載 NFS 共享目錄,並配置爲開機自動掛載dom

    [root@localhost /]# mount 192.168.2.1:/opt/wwwroot /var/www/html/            # 在兩臺 web 主機上都執行此操做
    [root@localhost /]# df -hT /var/www/html/                  # 查看是否掛載成功
    Filesystem               Type  Size  Used Avail Use% Mounted on
    192.168.2.1:/opt/wwwroot nfs4   50G  4.0G   47G   8% /var/www/html
    [root@localhost /]# vim /etc/fstab                          # 設爲開機自動掛載
    192.168.2.1:/opt/wwwroot        /var/www/html   nfs     defaults,_netdev 0 0

    測試驗證:
    地址轉換模式(LVS-NAT)
    .
    咱們看到 NFS 上寫的測試文件已經訪問成功,但不管怎麼刷新都不會變,這就說明 LVS 負載均衡也就成功了。ide

當LVS服務器重啓後,LVS規則將會丟失,這就用到了備份,須要注意的是,備份時的主機名和恢復時的主機名必須一致,而且須要注意網卡優先的問題,不然在恢復後,會發現VIP(羣集的虛擬IP)變成了LVS服務器的另外一個IP地址工具

[root@localhost /]# ipvsadm-save > /etc/sysconfig/ipvsadm.bak            # 先備份一分
[root@localhost /]# ipvsadm -ln    #    查看
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
[root@localhost /]# ipvsadm-restore <  /etc/sysconfig/ipvsadm.bak            # 恢復策略
[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  200.0.0.1:80 rr                                          # 注意這裏是否仍是原來的 VIP
  -> 192.168.1.10:80              Masq    1      0          0         
  -> 192.168.1.20:80              Masq    1      0          0
相關文章
相關標籤/搜索