一.檢查內核是否支持LVS

備注:2.4.23以后版本的內核已經支持LVS,只需要直接使用,不需要進行內核的下載和更新工作。

二.檢查內核是否支持lvs的ipvs模塊

[root@wjb10000 ~]# modprobe -l|grep ipvs

modprobe: invalid option -- 'l'

備注:參數l無效,查了很多資料。好像現在沒有這個參數了,可以改用下面這個命令查看內核是否支持lvs的ipvs模塊

[root@wjb10000 ~]# find /lib/modules/$(uname -r)/ -iname "**.ko*" | cut -d/ -f5-

....................前面省略...................

kernel/net/netfilter/ipvs/ip_vs.ko

kernel/net/netfilter/ipvs/ip_vs_dh.ko

kernel/net/netfilter/ipvs/ip_vs_ftp.ko

kernel/net/netfilter/ipvs/ip_vs_lblc.ko

kernel/net/netfilter/ipvs/ip_vs_lblcr.ko

kernel/net/netfilter/ipvs/ip_vs_lc.ko

kernel/net/netfilter/ipvs/ip_vs_nq.ko

kernel/net/netfilter/ipvs/ip_vs_pe_sip.ko

kernel/net/netfilter/ipvs/ip_vs_rr.ko

kernel/net/netfilter/ipvs/ip_vs_sed.ko

kernel/net/netfilter/ipvs/ip_vs_sh.ko

kernel/net/netfilter/ipvs/ip_vs_wlc.ko

kernel/net/netfilter/ipvs/ip_vs_wrr.ko

....................后面省略...................

看到有輸出以上內容,說明內核支持lvs了,無需再編譯內核了。

當然也可以進入文件夾列出:

三.查看ipvsadm 程序是否被安裝

[root@wjb10000 ~]# ipvsadm

-bash: ipvsadm: command not found

輸出以上信息表明未安裝ipvsadm程序。下面通過yum的方式安裝ipvsadm程序,不用考慮軟件之間的依懶性。

[root@wjb10000 ~]# yum -y install ipvsadm

[root@wjb10000 ~]# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

安裝完ipvsadm之后輸出的信息。說明ipvsadm安裝成功。

我們簡要查看ipvsadm的信息,可以獲取到更多有意思的事情:

可以發現,它確實已經加入到內核之中了,並一直有新的版本釋出。https://kernel.org/pub/linux/utils/kernel/ipvsadm/

四.配置 IPVS (資源來源自網絡未驗證,只供參考

1.開啟IP轉發功能

[root@wjb10000 /]#echo 1 >/proc/sys/net/ipv4/ip_forward   

默認是0,關閉ip轉發;這里需要開啟,所以設置值為1。

2.配置重定向

[root@wjb10000 /]#echo "0" >/proc/sys/net/ipv4/ip_forward

[root@wjb10000 /]#echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects

[root@wjb10000 /]#echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects

[root@wjb10000 /]#echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects

3.清除ipvsadm表

[root@wjb10000 /]#ipvsadm -C

4.使用ipvsadm安裝LVS服務實例:

ipvsadm -A -t vip:端口號 -s rr

5.增加二台內部web服務器

ipvsadm -a -t vip:端口號 -r web1服務器IP:端口號 -m -w 1

ipvsadm -a -t vip:端口號 -r web2服務器IP:端口號 -m -w 1


ipvsadm使用指南

1.名詞解釋

virtual-service-address(VIP):虛擬服務器的 ip  地址

real-service-address(RIP):是指真實服務器的 ip  地址

scheduler:調度方法

2.ipvsadm的用法和格式如下

ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p[timeout]] [-M netmask]

ipvsadm -D -t|u|f virtual-service-address

ipvsadm -C

ipvsadm -R

ipvsadm -S [-n]

ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port

[-g|i|m] [-w weight]

ipvsadm -d -t|u|f service-address -r server-address

ipvsadm -L|l [options]

ipvsadm -Z [-t|u|f service-address]

ipvsadm --set tcp tcpfin udp

ipvsadm --start-daemon state [--mcast-interface interface]

ipvsadm --stop-daemon

ipvsadm -h

3.命令選項

-A --add-service

在內核的虛擬服務器表中添加一條新的虛擬服務器記錄。也就是增加一台新的虛擬服務器。

-E --edit-service

編輯內核虛擬服務器表中的一條虛擬服務器記錄。

-D --delete-service

刪除內核虛擬服務器表中的一條虛擬服務器記錄。

-C --clear

清除內核虛擬服務器表中的所有記錄。

-R --restore

恢復虛擬服務器規則

-S --save

保存虛擬服務器規則,輸出為-R選項可讀的格式

-a --add-server

在內核虛擬服務器表的一條記錄里添加一條新的真實服務器記錄。也就是在一個虛擬服務器中增加一台新的真實服務器

-e --edit-server

編輯一條虛擬服務器記錄中的某條真實服務器記錄

-d --delete-server

刪除一條虛擬服務器記錄中的某條真實服務器記錄

-L|-l --list

顯示內核虛擬服務器表,輸出對應文件/proc/net/ip_vs

-Z --zero

虛擬服務表計數器清零(清空當前的連接數量等)

--set tcp tcpfin udp

設置連接超時值

--start-daemon

啟動同步守護進程。他后面可以是 master  或 backup,用來說明 LVS Router是master或是backup。在這個功能上也可以采用keepalived的 VRRP  功能。

--stop-daemon

停止同步守護進程

-h --help

顯示幫助信息

其他的選項::

-t --tcp-service service-address

說明虛擬服務器提供的是tcp的服務[vip:port] or [real-server-ip:port]

-u --udp-service service-address 

說明虛擬服務器提供的是udp的服務[vip:port] or [real-server-ip:port]

-f --fwmark-service fwmark

說明是經過iptables標記過的服務類型。

-s --scheduler scheduler

使用的調度算法,有這樣幾個選項 rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq。默認的調度算法是:wlc.

-p --persistent [timeout]

持久穩固的服務。這個選項的意思是來自同一個客戶的多次請求,將被同一台真實的服務器處理,timeout的默認值為300秒。

-r --real-server server-address

真實的服務器[Real-Server:port]

-g --gatewaying

指定LVS的工作模式為直接路由模式(也是LVS默認的模式)

-i --ipip

指定LVS的工作模式為隧道模式

-m --masquerading

指定LVS的工作模式為NAT模式

-w --weight weight

真實服務器的權值

--mcast-interface interface

指定組播的同步接口

-c --connection

顯示LVS目前的連接。如:ipvsadm -L –,輸出對應文件/proc/net/ip_conn

--timeout

顯示tcp tcpfin udp的timeout值。如:ipvsadm -L --timeout

--daemon

顯示同步守護進程狀態

--stats

顯示統計信息,輸出對應文件/proc/net/ip_vs_stats

--rate 

顯示速率信息輸出對應文件/proc/net/ip_vs_stats

--sort

對虛擬服務器和真實服務器排序輸出

--numeric -n

輸出IP地址和端口的數字形式

 

原文鏈接:http://blog.51cto.com/wjb10000/1789332

 擴展參考鏈接:https://www.cnblogs.com/liwei0526vip/p/6370103.html

擴展鏈接2:https://www.cnblogs.com/bananaaa/p/7929796.html 

KeepAlived介紹:http://m.elecfans.com/article/700023.html 

保持更新,資源來源自網絡。內容加以修改,轉載請注明出處。https://www.cnblogs.com/xuyaowen/p/lvs-help.html