LVS原理概述:
lvs是一個開源軟件,是Linux virtual server的簡寫,即linux虛擬服務器,是一個虛擬的服務器集群系統,lvs集群采用ip負載均衡技術和基于內容的請求分發技術。將客戶端的請求均衡的轉移到后邊的不同的服務器上,且調度器自動屏蔽掉服務器的故障,整個服務器集群結構對于用戶是透明的。集群采用三層結構:負載均衡調度層、應用服務集群層、共享存儲層。lvs調度層一般是兩臺主備lvs服務器,主要作用是平衡真實服務器中的負載和檢查每個真實服務器中服務的完整性。
?
負載均衡集群常用軟件有:lvs、haproxy、nginx
高可用集群常用軟件:heartbeat、keepalived、corosync+pacemaker(RHCS)
功能:
ipvsadm負責數據分發(負載均衡)
keepalived負責lvs服務器錯誤檢測和健康檢查?
lvs負載均衡技術:
1、VS/NAT(網絡地址轉換)
2、VS/DR(直接路由方法)
3、VS/TUN(IP隧道方法)
常用VS/DR和VS/TUN
lvs體系結構:
使用lvs架設的服務器集群系統有三個部分:最前端的負載均衡層-Load Balancer;中間服務器群組層-server Array;最底層數據共享層-shared storage表示。

Load Balancer層:位于集群系統的最前端,有一臺或多臺父子均衡調度器(Director server)組成,lvs模塊就安裝在Director server上,而Director主要作用類似于一個路由器,它含有完成lvs功能所設定的路由表,通過這些路由表把用戶的請求發送到Real server上,同時在Director server上還要安裝對Real server服務的監控模塊Ldirectord(集成在heartbeat中),此模塊用于檢測各個Real server服務的健康狀況。
Server Array層:由一組運行應用服務的機器組成,可以是web服務、mail服務、ftp服務、dns服務等。實際應用中Director server也可以同時兼任Real server的角色。
Shared Storage層:為所有Real server提供共享存儲空間和內容一致的存儲區域,一般可以使用NFS/CIFS網絡文件共享數據,但是NFS在繁忙業務系統中性能不是很好,這是可以使用集群文件系統,如紅帽的GFS2文件系統,oracle提供的ocfs2文件系統。可以使用iscsi、DM多路徑存儲、MFS分布式文件存儲、DRBD
從整個lvs結構可以看出Director server是整個lvs的核心,linux系統(內核2.6)可以不用任何設置就支持lvs功能。
LVS安裝和配置
第一種:通過ipvsadm命令行配置
第二種:通過紅帽工具piranha來配置
通過ipvsadm命令行來配置:
1、yun install ipvsadm
2、加載ipvs規則,保存規則
3、在Director server上綁定vip
ifconfig eth0:0 192.168.0.200 netmask 255.255.255.0 up
4、Real server設置,/etc/sysctl.conf內核設置
5、Real server添加接口和路由規則
ifconfig lo:0 192.168.0.200 netmask 255.255.255.255 up
route add -host 192.168.0.200 dev lo:0
6、測試訪問vip ip反復刷新網頁出現不同網頁則表示成功
一、通過紅帽Piranha實現web負載均衡
聲明:可以不用經過以上配置,直接通過web界面配置lvs比較簡單
兩臺負載均衡調度服務器(主/備)、vip、兩臺Real server
?
piranha方案是基于lvs基礎上設計的一套負載均衡解決方案。
一個活動lvs負載均衡調度器和一個備份的
yum install piranha -y
配置文件/etc/sysconfig/ha/lvs.cf
設定密碼,啟動服務,進入web界面配置,ip:3636
配置主lvs和備份lvs,配置添加lvs(vip信息),配置realserver信息,啟動lvs服務pluse。
備份lvs和主lvs一樣,直接拷貝lvs.cf到相應目錄
測試:
ipvsadm? ? -ln? ? //查看lvs鏈接狀態
二、通過heartbeat搭建lvs高可用集群
一臺主心跳服務器和一臺備份心跳服務器
兩臺Real sever
?
yum install heartbeat heartbeat-libs heartbeat-devel ldirectord
修改/etc/ha.d/ha.cf文件
加載內核加載watchdog
#modprobe softdog
在/etc/modprobe.d下添加watchdog.conf
options? ? softdog? ? nowayout=0
資源文件/etc/ha.d/haresources修改
認證文件/etc/ha.d/authkeys權限600
配置/etc/ha.d/ldirectord.cf
主心跳服務器配置完后,拷貝/etc/ha.d目錄下的authkeys、haresources、ha.f、ldirectord.cf到備份心跳服務器。
啟動服務后,正常的話會多一個eth0:0接口
在Real server上添加接口和路由
#ifconfig eth0:0 192.168.0.200 netmask 255.255.255.255 up
#route add -host 192.168.0.200 dev eth0:0
然后測試ipvsadm -Lnc查看詳細鏈接情況
三、通過keepalived搭建lvs高可用集群
兩臺負載均衡調度服務器(主/備)、VIP、兩臺Real server
?
源碼編譯安裝keepalived? ? ./configure? ? --prefix=/usr/local/keepalived
創建軟連接,修改主備配置文件,Real server上添加接口和路由規則
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
