Keepalived详解之 - LVS(IPVS)管理工具ipvsadm使用指南
ipvsadm是什么?
ipvsadm是用來配置、維護或者查看Linux內核當中virtual server table的一個工具, LVS(Linux virtual server)能基于一個集群當中的兩個或者多個節點來創建彈性網絡服務, 集群中的處于激活狀態的節點能將服務請求重定向到一組實際提供服務的主機當中, 提供包括TCP和UDP兩種協議, 三種數據包轉發模式(NAT / tunneling / direct routing), 和八種負載均衡算法(round robin, weighted round robin, least-connection, weighted least-connection, locality-based least-connection, locality-based least-connection with replication, destination-hashing, and source-hashing).
使用方式
ipvsadm提供兩種基本的使用格式, 中括號表示可選, 兩種命令格式分別對應virtual server和real server
ipvsadm COMMOND [protocol] service-address [scheduling-method] [persistence options]或者
ipvsadm command [protocol] service-address server-address [packet-forwarding-method] [weight options]第一種命令格式用于配置虛擬服務(virtual service)和用于分配服務請求到真實服務器的算法, 另外一個可選項為用于持久化服務的持久化超時時間和網絡掩碼.
第二種命令格式用于配置與一個已經存在的虛擬服務器相關聯的真實服務器, 當指定一個真實服務器時, 數據包轉發方式和該真實服務器相對于該虛擬服務器下面的其他真實服務器的權重需要指定, 否則會采用默認值.
- 安裝ipvsadm
命令參數說明
慣例是大寫表示用于virtual server, 小寫表示用于real server
-A, --add-service 添加virtual server, virtual server必須唯一(IP+端口+協議用于區分一個唯一的虛擬服務)-E, --edit-service 編輯虛擬服務-D, --delete-service 刪除一個虛擬服務, 包括與之關聯的真實服務器-C, --clear 清空虛擬服務表-R, --restore 通過標準輸入恢復虛擬服務表(IPVS table)-S, --save 以可以通過-R參數恢復的格式導出虛擬服務表到標準輸出-a, --add-server 添加一個真實服務器到一個虛擬服務-e, --edit-server 在一個虛擬服務當中編輯一個真實服務器-d, --delete-server 從一個虛擬服務當中移除一個真實服務器-L, -l, --list 列出虛擬服務表, 默認是列出所有虛擬服務表, 若需要列出某服務表, 后面指定服務地址即可-Z, --zero 清零一個所有服務的數據包 / 字節 / 速率計數器示例
- 查看IPVS
保存IPVS
默認是輸出到標準輸出, 可以重定向到文本保存, 方便后期再導入
- 清空IPVS
恢復(restore)IPVS
注意: 默認是從標準輸入進行恢復
- 移除一個real server
注: 移除real server之后會先將destination(endpoint)移到trash(暫存垃圾桶), 過一段時間再刪除, 若這個期間這個real server又可以訪問了則會從trash中拿回來繼續用, 具體說明見IPVS源碼注釋https://elixir.bootlin.com/linux/v3.0/source/net/netfilter/ipvs/ip_vs_ctl.c, 下面為打開IPVS debug模式(debug_level=8)后dmesg -Hew的輸出
[Sep26 11:08] IPVS: Enter: ip_vs_del_dest, net/netfilter/ipvs/ip_vs_ctl.c line 1079 [ +0.000007] IPVS: Moving dest 172.16.130.20:7480 into trash, dest->refcnt=1 [ +0.000002] IPVS: Leave: ip_vs_del_dest, net/netfilter/ipvs/ip_vs_ctl.c line 1101 [ +11.076403] IPVS: Removing destination 0/172.16.130.20:7480 from trash- 添加一個real server
- 添加一個virtual server
- 移除一個virtual server
如果直接移除virtual server的話, 若有real server, real server也會一并移除掉
[root@10-10-88-192 ~]# ipvsadm -D -t 10.10.88.188:7480 [root@10-10-88-192 ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn [root@10-10-88-192 ~]#轉載于:https://www.cnblogs.com/dspace/p/9706436.html
總結
以上是生活随笔為你收集整理的Keepalived详解之 - LVS(IPVS)管理工具ipvsadm使用指南的全部內容,希望文章能夠幫你解決所遇到的問題。