日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Keepalived详解之 - LVS(IPVS)管理工具ipvsadm使用指南

發布時間:2023/12/1 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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
[root@10-10-40-96 ~]# yum instal -y 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
[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 TCP 10.10.88.188:7480 wlc persistent 1800-> 172.16.130.20:7480 Masq 1 0 0 [root@10-10-88-192 ~]#
  • 保存IPVS

    默認是輸出到標準輸出, 可以重定向到文本保存, 方便后期再導入

[root@10-10-88-192 ~]# ipvsadm -S -n -A -t 10.10.88.188:7480 -s wlc -p 1800 -a -t 10.10.88.188:7480 -r 172.16.130.20:7480 -m -w 1 [root@10-10-88-192 ~]# ipvsadm -S -n > ipvs_info [root@10-10-88-192 ~]#
  • 清空IPVS
[root@10-10-88-192 ~]# ipvsadm -C [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 ~]#
  • 恢復(restore)IPVS

    注意: 默認是從標準輸入進行恢復

[root@10-10-88-192 ~]# cat ipvs_info | ipvsadm -R [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 TCP 10.10.88.188:7480 wlc persistent 1800-> 172.16.130.20:7480 Masq 1 0 0 [root@10-10-88-192 ~]#
  • 移除一個real server
[root@10-10-88-192 ~]# ipvsadm -d -t 10.10.88.188:7480 -r 172.16.130.20: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 TCP 10.10.88.188:7480 wlc persistent 1800 [root@10-10-88-192 ~]#

注: 移除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
[root@10-10-88-192 ~]# ipvsadm -a -t 10.10.88.188:7480 -r 172.16.130.22:7480 -m [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 TCP 10.10.88.188:7480 wlc persistent 1800-> 172.16.130.22:7480 Masq 1 0 0 [root@10-10-88-192 ~]#
  • 添加一個virtual server
[root@10-10-88-192 ~]# ipvsadm -A -t 10.10.88.189:7480 -s wlc -p 1800 [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 TCP 10.10.88.188:7480 wlc persistent 1800-> 172.16.130.22:7480 Masq 1 0 0 TCP 10.10.88.189:7480 wlc persistent 1800 [root@10-10-88-192 ~]#
  • 移除一個virtual server
[root@10-10-88-192 ~]# ipvsadm -D -t 10.10.88.189: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 TCP 10.10.88.188:7480 wlc persistent 1800-> 172.16.130.22:7480 Masq 1 0 0

如果直接移除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使用指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。