LVS ——(Linux Virtual Server),即Linux虛擬服務器,又可爲一個虛擬的服務器集羣系統,是由我國章文嵩博士在1998年研究得出的;主要利用此技術實現一個高性能,高可用的服務器;提供很好的可伸縮性、可靠性、可管理性;算法
LVS集羣的三種模型:
vim
NAT:Network Address Translation(地址轉換)
服務器
DR:Direct Routing(直接路由)、
網絡
TUN:IP Tunneling(IP隧道)
ide
NAT模型:客戶經過Virtual IP Address(虛擬服務的IP地址)訪問網絡服務時,請求報文到達調度器,調度器根據鏈接調度算法從一組真實服務器中選出一臺服務器,將報文的目標地址Virtual IP Address改寫成選定服務器的地址,報文的目標端口改寫成選定服務器的相應端口,最後將修改後的報文發送給選出的服務器。同時,調度器在鏈接Hash表中記錄這個鏈接,當這個鏈接的下一個報文到達時,從鏈接Hash表中能夠獲得原選定服務器的地址和端口,進行一樣的改寫操做,並將報文傳給原選定的服務器。當來自真實服務器的響應報文通過調度器時,調度器將報文的源地址和源端口改成Virtual IP Address和相應的端口,再把報文發給用戶。咱們在鏈接上引入一個狀態機,不一樣的報文會使得鏈接處於不一樣的狀態,不一樣的狀態有不一樣的超時值。這樣,客戶所看到的只是在Virtual IPAddress上提供的服務,而服務器集羣的結構對用戶是透明的。性能
使用NAT模型至少須要三臺主機;一個調度器VS 兩個真實服務器RS
spa
1.首先VS(調度器):
3d
由於作調度器的任務因此通常須要兩個IP接口,一個外網的用來接收客戶端請求,另外一個內網用於轉發報文到RS上面;即VIP與DIP;(調度器須要開啓核心轉發功能 臨時:# echo 1 > /proc/sys/net/ipv4/ip_forward 永久開啓:# vim /etc/sysctl.conf 以後用 # sysctl -p從新加載便可)
blog
VIP: 172.16.6.6
接口
DIP: 192.168.100.1
2.RS1(真實服務器1)
配置其IP地址爲:192.168.100.5
指定網關:192.168.100.1
# route add default gw 192.168.100.1
而且開啓http服務
RS2(真實服務器2)
配置其IP地址爲:192.168.100.6
指定網關:192.168.100.1
# route add default gw 192.168.100.1
而且開啓http服務
剩下的任務是在VS上面使用ipvsadm命令進行相關操做完成NAT模型的構建:
到此,NAT模型已經構建完成;只需訪問VIP就可獲取RS1與RS2上的http服務的主頁信息,由於採用的是rr算法,因此訪問時也會在RS1與RS2中輪流訪問;