LVS 的DR直接路由實現負載均衡並實現NAS(網絡附加儲存技術)
一、直接路由dr的介紹
2、Direct routing (LVS-DR)直接路由 簡稱爲 DR
用戶的請求經過Director,服務器的響應由服務器直接返回給用戶
工作特點:
1、集羣結點Real-server和Director的ip在同一個物理網絡,因爲轉發是基於MAC地址的
2、RIP可以使用公網地址
這樣有個好處就是當Director不能工作時,用戶可以通過IP地址訪問服務器
3、director 僅處理入站請求
4、R-server 的網關一定不要指向director,出站請求不經過director
5、不支持端口映射
6、大多數操作系統都可以用於 R_SERVER 能配置多個IP地址並要支持隔離ARP廣播
7、DR當中 directot的性能比遠遠優於DNAT
二、lvs dr的實現方法案例
1、Lvs-dr實現要注意的三個問題:
1)多個的虛擬vip地址
2)解決arp廣播時real server 也做出迴應
3)實現迴應請求的路由源地址是vip地址
2.兩臺server的基本配置
[root@localhost ~]# sysctl -a |gerp arp (過濾與arp有關的)
[root@localhost ~]# echo "net.ipv4.conf.all.arp_ignore = 1" >>/etc/sysctl.conf
[root@localhost ~]# echo "net.ipv4.conf.all.arp_announce = 2" >>/etc/sysctl.conf
(追加給這個配置文件實現arp廣播時不作出任何的迴應,主要解決問題二)
[root@localhost ~]# sysctl -p (使配置立即生效)
[root@localhost ~]# route add -host 192.168.1.101 dev lo:0 (主要解決問題三)
兩臺server在setup下設置地址和添加一個lo:0,lookback接口,並配上1.101的vip虛擬地址,在diector 分發裝置的ip地址添加一個eth0:0地址,配置虛擬地址。
3.安裝apache實現web的發佈,在兩臺server上
[root@localhost Server]# yum install httpd-2.2.3-22.el5.i386.rpm
[root@localhost Server]# cd /var/www/html/
[root@localhost html]# echo "hua1">index.html
[root@localhost html]# service httpd start
Starting httpd: [ OK ]
4.在director分發裝置上安裝ipvsadm的工具
[root@localhost ~]# yum list all |grep ipvs (列出yum庫中全部與ipvs有關的)
[root@localhost Cluster]# yum install ipvsadm-1.24-8.1.i386.rpm
[root@localhost Cluster]# ipvsadm -A -t 192.168.1.101:80 -s rr (設置要訪問的地址,-s調度爲rr輪詢)
[root@localhost Cluster]# ipvsadm -a -t 192.168.1.101:80 -r 192.168.1.200 -g (通過虛擬ip轉給哪個server)
[root@localhost Cluster]# ipvsadm -a -t 192.168.1.101:80 -r 192.168.1.201 -g
[root@localhost Cluster]# ipvsadm -L
[root@localhost Cluster]# ipvsadm -ln (查看規則)
[root@localhost ~]# watch -n 1 ipvsadm -ln (可以動態的查看規則表)
三、在上面的基礎上,爲了使用戶訪問服務器時是同一個頁面,則用到了nas網絡存儲技術,主要是把兩臺服務器的網頁交給了nas,可以用nfs文件共享實現。並實現手動掛載;開機自動掛載和auto自動掛載。
1.實現共享以後手動掛載
1)需要安裝nfs軟件,把自身作爲一個nfs服務器
2)1.[root@mail ~]# rpcinfo -p (查看自己的rpc)
3)編譯共享的清單
[root@mail ~]# vim /etc/exports
/var/www/html 192.168.1.0/24(rw) (要實現可寫,必須是網絡權限和本地權限都要有可寫的操作)
4)[root@mail ~]# service nfs start
5)客戶機測試是否可以訪問
需要[root@mail ~]# rpcinfo -p 確定客戶機已經開啓了這個服務
然後看是否有權限訪問
[root@mail ~]# showmount -e 192.168.1.100 (-e表示對方的exports文件)
6)如何把共享文件掛載到本地
[root@mail ~]# mount 192.168.1.100:/var/www/html/ /var/www/html/
[root@mail ~]# mount -a (就可以看到了)
2、實現開機自動掛載
[root@mail hua]# vim /etc/fstab
[root@mail ~]# mount -a
[root@mail ~]# mount 就可以看到了
3、因爲nfs有一個status狀態,如果經常連接着而不做任何事,這樣是非常消耗資源的,爲了解決這個問題,需要一個自動auto服務,超過一定的時間掛斷,要想在連接,還可以直接連接上。
要實現自動掛載需要改auto的一些腳本
[root@mail ~]# vim /etc/auto.master
10 /var/www /etc/auto.nfs --timeout=60
[root@mail ~]# cp -p /etc/auto.misc /etc/auto.nfs
[root@mail ~]# vim /etc/auto.nfs
html (*) -ro,soft.intr 192.168.1.100:/var/www/html
[root@mail ~]# service autofs restart
當訪問網頁後出現下圖
當再查看mount時發現,已經自動掛載上去了。