目錄:
- 安裝
- 基本描述
- 用法
- 命令選項
- 示例
【安裝】
可使用yum安裝或者從官網下載安裝包源碼安裝,兩種方式皆可
先檢查是否已經安裝ipvsadm
[root@v_machine1 ~]# yum list installed | grep ipvsadm
若沒有安裝,則使用以下命令安裝ipvsadm
[root@v_machine1 ~]# yum -y install ipvsadm
【基本描述】
ipvsadm是linux下的LVS虛擬服務器的管理工具,LVS工作於內核空間,而ipvsadm則提供了用戶空間的接口;
【用法】
基本用法如下,分別用於設置虛擬服務算法和后端真實服務器
ipvsadm 選項 服務器地址 -s 算法ipvsadm 選項 服務器地址 -r 真實服務器地址 [工作模式][權重]...
【命令選項】
-A 添加一個虛擬服務,使用ip地址、端口號、協議來唯一定義一個虛擬服務 -E 編輯一個虛擬服務 -D 刪除一個虛擬服務 -C 清空虛擬服務列表 -R 從標准輸入中還原虛擬服務列表 -S 保存虛擬服務規則至標准輸出,輸出規則可使用-R選項還原 -L 顯示虛擬服務列表 -Z 虛擬服務器列表計數器清零(清空當前連接數) -a 添加一台真實服務器 -e 編輯一台真實服務器 -d 減少一台真實服務器 -t 使用TCP服務,該參數后需加主機與端口信息 -u 使用UDP服務,該參數后需加主機與端口信息 -s 指定lvs的調度算法 -r 設置真實服務器IP與端口 -g 設置lvs工作模式為DR直連路由 -i 設置lvs工作模式為TUN隧道 -m 設置lvs工作模式為NAT地址轉換模式 -w 指定真實服務器權重 -c 連接狀態,配和-L使用 -n 數字格式顯示 --stats 顯示統計信息 --rate 顯示速率信息 --sort 對虛擬服務器和真實服務器排序輸出 --set tcp tcpfin udp 設置ipvs連接超時值,三個參數分別代表tcp會話超時時間、收到FIN包后tcp會話超時時間、udp超時時間 --timeout 顯示tcp tcpfin udp的timeout值 --start-daemon 啟動同步守護進程 --stop-daemon 停止同步守護進程
【示例】
添加虛擬服務,設置調度算法為輪詢:
[root@v_machine1 ~]# ipvsadm -A -t 192.168.237.131:80 -s rr [root@v_machine1 ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.237.131:80 rr
讓80端口請求通過NAT模式轉發給兩個后端真實服務器:
[root@v_machine1 ~]# ipvsadm -a -t 192.168.237.131:80 -r 192.168.237.171:80 -m [root@v_machine1 ~]# ipvsadm -a -t 192.168.237.131:80 -r 192.168.237.172:80 -m [root@v_machine1 ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.237.131:80 rr -> 192.168.237.171:80 Masq 1 0 0 -> 192.168.237.172:80 Masq 1 0 0
修改調度算法為加權輪詢:
[root@v_machine1 ~]# ipvsadm -E -t 192.168.237.131:80 -s wrr
規則表備份與還原:
[root@v_machine1 ~]# ipvsadm -S > /tmp/ip_vs.bak [root@v_machine1 ~]# cat /tmp/ip_vs.bak -A -t v_machine1:http -s rr -a -t v_machine1:http -r 192.168.237.171:http -m -w 1 -a -t v_machine1:http -r 192.168.237.172:http -m -w 1 [root@v_machine1 ~]# ipvsadm -C [root@v_machine1 ~]# ipvsadm -L IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn [root@v_machine1 ~]# ipvsadm -R < /tmp/ip_vs.bak [root@v_machine1 ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.237.131:80 rr -> 192.168.237.171:80 Masq 1 0 0 -> 192.168.237.172:80 Masq 1 0 0