【小編】在上一篇博客中給大家詳細介紹了LVS的幾種模型和常見的10種調度算法,並結合小的案例說明了LVS-NAT模型的工作原理,今天小編結合一個大的案例來詳細說明LVS的另一種模型DR模型的工作過程,簡單瞭解一下羣集的兩種架構HA和LB在企業網中的使用.
【實驗詳細拓撲規劃】
【詳細配置過程】
Web服務器的LB羣集:RealNode1、RealNode2
【RealNode1的相關配置】
①設置Web服務器網卡的ARP忽略和ARP宣告的默認值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
②讓系統配置立刻生效
③網卡參數配置,添加lo:0網卡
④配置Web服務器,添加基於主機頭的虛擬主機.
vim /etc/httpd/httpd.conf
【RealNode2的相關配置】
①設置Web服務器網卡的ARP忽略和ARP宣告的默認值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
②讓系統配置立刻生效
③網卡參數配置,添加lo:0網卡
④配置Web服務器,添加基於主機頭的虛擬主機.
vim /etc/httpd/httpd.conf
DNS服務器LB羣集:DNS1、DNS2
【DNS1的相關配置】
①配置本地yum源.
②本地yum安裝DNS服務器需要的軟件包.
yum install bind bind-chroot caching-nameserver
進行DNS相關配置
cd /var/named/chroot/etc/
cp -p named.caching-nameserver.conf named.conf
vim named.conf
vim named.rfc1912.zones
cd /var/named/chroot/var/named/
cp -p localhost.zone wpp.com.zone
vim wpp.com.zone
③DNS本地解析測試
④設置Web服務器網卡的ARP忽略和ARP宣告的默認值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
⑤讓系統配置立刻生效
⑥網卡參數配置,添加lo:0網卡
【DNS2的相關配置】
①配置本地yum源.
②本地yum安裝DNS服務器需要的軟件包.
yum install bind bind-chroot caching-nameserver
進行DNS相關配置
cd /var/named/chroot/etc/
cp -p named.caching-nameserver.conf named.conf
vim named.conf
vim named.rfc1912.zones
cd /var/named/chroot/var/named/
cp -p localhost.zone wpp.com.zone
vim wpp.com.zone
③DNS本地解析測試
④設置Web服務器網卡的ARP忽略和ARP宣告的默認值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
⑤讓系統配置立刻生效
⑥網卡參數配置,添加lo:0網卡
Director的HA羣集:node1.a.com、node2.a.com
【node1.a.com的相關配置】
①網絡參數配置
②配置本地yum源.
③下載並導入Heartbeat所需要的RPM軟件包
④掛載光盤,並且利用本地yum源安裝Heartbeat解決依賴關係.
mount /dev/cdrom /mnt/cdrom
yum localinstall -y heartbeat-2.1.4-11.el5.i386.rpm
heartbeat-pils-2.1.4-11.el5.i386.rpm heartbeat-stonith-2.1.4-11.el5.i386.rpm
libnet-1.1.5-1.el4.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
heartbeat-ldirectord-2.1.4-11.el5.i386.rpm--nogpgcheck
⑤編輯修改Director1節點的主機名
⑥編輯Heartbeat的主配置文件
vim /etc/ha.d/ha.cf
⑦編輯Heartbeat的認證文件
vim /etc/ha.d/authkeys
⑧編輯Heartbeat的資源管理文件
vim /etc/ha.d/haresources
⑨拷貝ldirectord服務的配置文件到Heartbeat的主配置目錄
cd /usr/share/doc/heartbeat-ldirectord-2.1.4/
cp ldirectord.cf /etc/ha.d
vim /etc/ha.d/ldirectord.cf
⑩將LVS服務的啓動腳本拷貝到Heartbeat的資源管理目錄下
cp /etc/init.d/ipvsadm /etc/ha.d/resource.d/
service ipvsadm stop
chkconfig ipvsadm off
【node2.a.com的相關配置】
①網絡參數配置
②配置本地yum源.
③下載並導入Heartbeat所需要的RPM軟件包
④掛載光盤,並且利用本地yum源安裝Heartbeat解決依賴關係.
mount /dev/cdrom /mnt/cdrom
yum localinstall -y heartbeat-2.1.4-11.el5.i386.rpm
heartbeat-pils-2.1.4-11.el5.i386.rpm heartbeat-stonith-2.1.4-11.el5.i386.rpm
libnet-1.1.5-1.el4.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
heartbeat-ldirectord-2.1.4-11.el5.i386.rpm--nogpgcheck
⑤編輯修改Director1節點的主機名
⑥編輯Heartbeat的主配置文件
vim /etc/ha.d/ha.cf
⑦編輯Heartbeat的認證文件
vim /etc/ha.d/authkeys
⑧編輯Heartbeat的資源管理文件
vim /etc/ha.d/haresources
⑨拷貝ldirectord服務的配置文件到Heartbeat的主配置目錄
cd /usr/share/doc/heartbeat-ldirectord-2.1.4/
cp ldirectord.cf /etc/ha.d
vim /etc/ha.d/ldirectord.cf
⑩將LVS服務的啓動腳本拷貝到Heartbeat的資源管理目錄下
cp /etc/init.d/ipvsadm /etc/ha.d/resource.d/
service ipvsadm stop
chkconfig ipvsadm off
NAS-->數據存儲服務器--->NFS搭建
①網絡參數
②NFS的基本配置
vim /etc/exports
service nfs start
chkconfig nfs on
③官方下載wordpress論壇的中文源碼包,解壓到共享目錄/webroot下.
cd /webroot
chmod -R nfsnobody.nfsnobody /webroot/wordpress
④配置本地yum源.
⑤本地yum安裝Mysql-server服務器需要的軟件包.
yum install mysql-server
配置本地root用戶的登錄Mysql數據庫的管理密碼.
mysqladmin -u root -p password “123456”
啓動Mysql服務
service mysqld start
chkconfig mysqld on
以root的身份登錄數據庫,授權Web服務器的節點用戶以Mysql主機地址的方式連接該數據庫.
mysql -u root -p
mysq>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY '123456' WITH GRANT OPTION;
msql>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>flush privileges;
⑥在Web服務器的兩個節點上分別掛載NFS的共享目錄
【RealNode1】
【RealNode2】
⑦在Web服務器上,切換到掛載目錄,添加測試頁面.
cd /usr/local/apache/htdocs
vim index.html
【測試分析】
服務器的高可用和負載均衡測試
Director的兩個節點上啓動Heartbeat服務,查看Real服務器狀態
Director1日誌監控
Director2日誌監控
查看主節點的網絡參數
watch監控Real服務器狀態
Web的負載均衡測試(以Vip的方式訪問)
測試一:服務都在線時,訪問主站點,並刷新頁面,日誌監控輪訓情況
測試二:Nide1宕掉時,訪問主站點,測試監控機制和測試Node2的可用性
DNS的負載均衡測試(以域名的方式訪問)
測試一:以域名的方式訪問主站點,日誌監控DNS的解析情況.
測試二:停掉一個DNS服務器,以域名的方式訪問主站點,測試DNS的LB.
3.1.3 Director的高可用性測試(主備切換測試)
將Director節點node1停掉後,測試Drirector的高可用性
①查看服務器的地址
②查看服務器所監控的資源
Web方式進行BBS論壇的搭建和配置
用戶以域名方式訪問WWW服務器的主站點和BBS論壇測試
DNS指向:192.168.10.5
【總結】通過這個案例我們可以簡單地瞭解一下LVS-DR模型的工作原理上與NAT模型的區別,應用LVS集合Ldirector+Heartbeat實現了基於Director的HA羣集,並且實現了對於Real服務器的動態監測,後方的NFS做了簡單地NAS存儲,實現了Web服務器的數據存儲和應用的分離,並且實現了Web和DNS的負載均衡羣集.