溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹

發(fā)布時(shí)間:2020-04-17 14:31:54 來源:億速云 閱讀:268 作者:三月 欄目:系統(tǒng)運(yùn)維

下文給大家?guī)砘?NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹,希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來做一個(gè)解答。

基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹
實(shí)現(xiàn)結(jié)果如下:

  • 使用NAT模式的群集技術(shù),LVS負(fù)載調(diào)度器是所有節(jié)點(diǎn)訪問Internet的網(wǎng)關(guān)云服務(wù)器,其200.0.0.1也作為整個(gè)群集的VIP地址。
  • 使用輪詢(rr)的調(diào)度算法。
  • web1和web2先搭建web服務(wù),分別準(zhǔn)備不同的網(wǎng)頁(yè)文件,供客戶端訪問,以此來確定client訪問LVS服務(wù)器的200.0.0.1,可以訪問到兩臺(tái)wbe服務(wù)器。
  • 待client測(cè)試成功后,web1和web2便可以掛載NFS服務(wù)器提供的共享目錄,以此來為client提供相同的網(wǎng)頁(yè)文件。
    一、準(zhǔn)備:
    1、先把網(wǎng)絡(luò)調(diào)試至互通
    2、準(zhǔn)備系統(tǒng)鏡像和相關(guān)的軟件包,以便搭建httpd服務(wù),和安裝相關(guān)工具。這里為了方便,便直接使用系統(tǒng)映像中的安裝包來搭建httpd服務(wù)。
    3、配置防火墻策略放行流量(圖個(gè)方便,我這里直接停掉了防火墻)
    二、配置負(fù)載調(diào)度器:
    開啟路由轉(zhuǎn)發(fā)功能:
    [root@localhost /]# vim /etc/sysctl.conf 
    ...................       // 省略部分
    net.ipv4.ip_forward = 1
    [root@localhost /]# sysctl -p
    net.ipv4.ip_forward = 1

    配置負(fù)載分配策略:

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

    ipvsadm 是在負(fù)載調(diào)度器上使用的 LVS 群集管理工具,通過調(diào)用 ip_vs 模塊來添加、刪除服務(wù)器節(jié)點(diǎn),以及查看群集的運(yùn)行狀態(tài)(需要手動(dòng)安裝)。

    [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            # 設(shè)置為開機(jī)自啟

    配置節(jié)點(diǎn)服務(wù)器:
    web1 配置:

    [root@localhost /]# yum -y install httpd              # 安裝 http 服務(wù)
    [root@localhost /]# echo test1.com > /var/www/html/index.html            # 準(zhǔn)備測(cè)試網(wǎng)頁(yè)
    [root@localhost /]# systemctl start httpd               # 開啟服務(wù)
    [root@localhost /]# systemctl enable httpd           # 開機(jī)自啟

    web2 配置:

    [root@localhost /]# yum -y install httpd              # 安裝 http 服務(wù)
    [root@localhost /]# echo test2.com > /var/www/html/index.html             # 準(zhǔn)備測(cè)試網(wǎng)頁(yè)
    [root@localhost /]# systemctl start httpd
    [root@localhost /]# systemctl enable httpd

    當(dāng)然,在實(shí)際生產(chǎn)環(huán)境時(shí),網(wǎng)頁(yè)內(nèi)容都是一樣的,這里為了區(qū)分驗(yàn)證從實(shí)驗(yàn)的成功與否,我寫了兩個(gè)內(nèi)容不同的測(cè)試文件。
    測(cè)試一下 LVS 是否在工作:
    基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹
    刷新網(wǎng)頁(yè):
    基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹
    三、NFS 共享存儲(chǔ)服務(wù):
    搭建 NFS 共享使兩臺(tái)web服務(wù)器共同掛載同一個(gè)NFS服務(wù)器共享的目錄,以此來提供相同的網(wǎng)頁(yè)文件。
    安裝 nfs-utils、rpcbind 軟件包:

    [root@localhost /]# yum -y install nfs-utils rpcbind        # 安裝軟件包
    [root@localhost /]# systemctl enable nfs                    # 設(shè)置為開機(jī)自啟
    [root@localhost /]# systemctl enable rpcbind

    這兩軟件包我使用 rpm-qa 在Centos 7 上查看的時(shí)候是有的,具體這里本人也不是很清楚到底是不是安裝系統(tǒng)時(shí)自帶的,所以在做時(shí)還是敲一下這命令吧,以防萬(wàn)一嘛,如有大佬知道的,還煩請(qǐng)告知小弟。(拜謝)
    設(shè)置共享目錄:

    [root@localhost /]# mkdir -p /opt/wwwroot              # 創(chuàng)建共享目錄
    [root@localhost /]# vim /etc/exports                       # 修改 NFS 主配置文件
    /opt/wwwroot    192.168.2.0/24(rw,sync,no_root_squash)
    --rw:允許讀寫,ro 為只讀
    --sync:表示同步寫入
    --no_root_squash:當(dāng)客戶機(jī)以 root 身份訪問時(shí)賦予本地的 root 權(quán)限(默認(rèn)是 root_squash,將作為 nfsnobody 用戶降權(quán)對(duì)待)
    [root@localhost wwwroot]# echo nfs.test.com > index.html            # 準(zhǔn)備測(cè)試文件
    [root@localhost /]# systemctl restart rpcbind             # 重啟服務(wù)使配置生效
    [root@localhost /]# systemctl restart nfs
    [root@localhost /]# showmount -e                        # 查看本機(jī)發(fā)布的共享目錄
    Export list for localhost.localdomain:
    /opt/wwwroot 192.168.2.0/24

    在兩臺(tái) web 主機(jī)上掛載 NFS 共享目錄,并配置為開機(jī)自動(dòng)掛載

    [root@localhost /]# mount 192.168.2.1:/opt/wwwroot /var/www/html/            # 在兩臺(tái) web 主機(jī)上都執(zhí)行此操作
    [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                          # 設(shè)為開機(jī)自動(dòng)掛載
    192.168.2.1:/opt/wwwroot        /var/www/html   nfs     defaults,_netdev 0 0

    測(cè)試驗(yàn)證:
    基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹
    .
    我們看到 NFS 上寫的測(cè)試文件已經(jīng)訪問成功,但無(wú)論怎么刷新都不會(huì)變,這就說明 LVS 負(fù)載均衡也就成功了。

當(dāng)LVS服務(wù)器重啟后,LVS規(guī)則將會(huì)丟失,這就用到了備份,需要注意的是,備份時(shí)的主機(jī)名和恢復(fù)時(shí)的主機(jī)名必須一致,并且需要注意網(wǎng)卡優(yōu)先的問題,否則在恢復(fù)后,會(huì)發(fā)現(xiàn)VIP(群集的虛擬IP)變成了LVS服務(wù)器的另一個(gè)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            # 恢復(fù)策略
[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      

看了以上關(guān)于基于 NAT(地址轉(zhuǎn)換模式)構(gòu)建 LVS 負(fù)載均衡方法的詳細(xì)介紹,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。

 

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI