ipvsadm使用和命令
ipvsadm是LVS在應(yīng)用層的管理命令,我們可以通過(guò)這個(gè)命令去管理LVS的配置。需要使用yum單獨(dú)安裝。
modprobe -c|grep ipvs 查內(nèi)核模塊
alias ip6t_ipvs xt_ipvs
alias ipt_ipvs xt_ipvs
查ipvsadm由某個(gè)rpm包提供:yum provides ipvsadm
查是否安裝了:rpm -q ipvsadm
安裝:yum install -y ipvsadm
基本用法:
ipvsadm COMMAND [protocol] service-address
[scheduling-method] [persistence options]
ipvsadm command [protocol] service-address
server-address [packet-forwarding-method]
[weight options]
ipvsadm -h 或 man ipvsadm 查命令幫助.man手冊(cè)中有EXAMPLE例子
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1) Usage:(用法:)ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine] [-b sched-flags]ipvsadm -D -t|u|f service-addressipvsadm -Cipvsadm -Ripvsadm -S [-n]ipvsadm -a|e -t|u|f service-address -r server-address [options]ipvsadm -d -t|u|f service-address -r server-addressipvsadm -L|l [options]ipvsadm -Z [-t|u|f service-address]ipvsadm --set tcp tcpfin udpipvsadm --start-daemon state [--mcast-interface interface] [--syncid sid]ipvsadm --stop-daemon stateipvsadm -h命令:
Either long or short options are allowed.
--add-service -A add virtual service with options
--edit-service -E edit virtual service with options
--delete-service -D delete virtual service
--clear -C clear the whole table
--restore -R restore rules from stdin
--save -S save rules to stdout
--add-server -a add real server with options
--edit-server -e edit real server with options
--delete-server -d delete real server
--list -L|-l list the table
--zero -Z zero counters in a service or all services
--set tcp tcpfin udp set connection timeout values
--start-daemon start connection sync daemon
--stop-daemon stop connection sync daemon
--help -h display this help message
選項(xiàng):
--tcp-service -t service-address service-address is host[:port]
--udp-service -u service-address service-address is host[:port]
--fwmark-service -f fwmark fwmark is an integer greater than zero
--ipv6 -6 fwmark entry uses IPv6
--scheduler -s scheduler one of rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,
the default scheduler is wlc.
--pe engine alternate persistence engine may be sip,
not set by default.
--persistent -p [timeout] persistent service
--netmask -M netmask persistent granularity mask
--real-server -r server-address server-address is host (and port)
--gatewaying -g gatewaying (direct routing) (default)
--ipip -i ipip encapsulation (tunneling)
--masquerading -m masquerading (NAT)
--weight -w weight capacity of real server
--u-threshold -x uthreshold upper threshold of connections
--l-threshold -y lthreshold lower threshold of connections
--mcast-interface interface multicast interface for connection sync
--syncid sid syncid for connection sync (default=255)
--connection -c output of current IPVS connections
--timeout output of timeout (tcp tcpfin udp)
--daemon output of daemon information
--stats output of statistics information
--rate output of rate information
--exact expand numbers (display exact values)
--thresholds output of thresholds information
--persistent-conn output of persistent connection info
--nosort disable sorting output of service/server entries
--sort does nothing, for backwards compatibility
--ops -o one-packet scheduling
--numeric -n numeric output of addresses and ports
--sched-flags -b flags scheduler flags (comma-separated)
[root@node1 yum.repos.d]#
其中:
Virtual-service-address是指虛擬服務(wù)器的IP地址,本文是192.168.20.200;
Real-service-address是指Real Server的IP地址,本文是192.168.60.132/144;
Scheduler:指定調(diào)度算法。
ipvsadm命令選項(xiàng)的詳細(xì)含義
-A --add-service:在內(nèi)核的虛擬服務(wù)器列表中添加一條新的虛擬IP記錄,也就是為ipvs虛擬服務(wù)器添加一個(gè)虛擬服務(wù)。虛擬IP也就是虛擬服務(wù)器的IP地址。虛擬地址需要是ip地址,端口號(hào),協(xié)議的形式。
-E --edit-service:編輯內(nèi)核虛擬服務(wù)器列表中的一條虛擬服務(wù)器記錄
-D --delete-service:刪除內(nèi)核虛擬服務(wù)器列表中的一條虛擬服務(wù)器記錄
-C --clear:清除內(nèi)核虛擬服務(wù)器列表中的所有記錄
-R --restore:恢復(fù)虛擬服務(wù)器規(guī)則;從標(biāo)準(zhǔn)輸入獲取ipvsadm命令。一般結(jié)合下邊的-S使用。
-S --save:保存虛擬服務(wù)器規(guī)則,從標(biāo)準(zhǔn)輸出輸出虛擬服務(wù)器的規(guī)則。可以將虛擬服務(wù)器的規(guī)則保存,在以后通過(guò)-R直接讀入,以實(shí)現(xiàn)自動(dòng)化配置。
-a --add-server:在內(nèi)核虛擬服務(wù)器表的一條記錄里添加一條新的真實(shí)服務(wù)器記錄(RIP)。也就是在一個(gè)虛擬服務(wù)器中增加一臺(tái)新的真實(shí)服務(wù)器
-e --edit-server:編輯一條虛擬服務(wù)器記錄中的某條真實(shí)服務(wù)器記錄
-d --delete-server:刪除一條虛擬服務(wù)器記錄中的某條真實(shí)服務(wù)器記錄
-L|-l --list:顯示內(nèi)核中的虛擬服務(wù)器列表;列出虛擬服務(wù)表中的所有虛擬服務(wù)。可以指定地址。添加-c顯示連接表。
-Z --zero:虛擬服務(wù)器列表計(jì)數(shù)器清零(即清空當(dāng)前的連接數(shù)量)這些記錄一般用于調(diào)度策略。
--set tcp tcpfin udp:設(shè)置連接超時(shí)值
--start-daemon 啟動(dòng)同步守護(hù)進(jìn)程。他后面可以是master 或backup,用來(lái)說(shuō)明LVS Router 是master 或是backup。在這個(gè)功能上也可以采用keepalived 的VRRP 功能。置虛擬服務(wù)器的備服務(wù)器,用來(lái)實(shí)現(xiàn)主備服務(wù)器冗余。(注:該功能只支持ipv4)
--stop-daemon 停止同步守護(hù)進(jìn)程;停止備服務(wù)器
-h --help 顯示幫助信息
-p --persistent [timeout] 持久穩(wěn)固的服務(wù)(持久性連接)。這個(gè)選項(xiàng)的意思是來(lái)自同一個(gè)客戶的多次請(qǐng)求,將被同一臺(tái)真實(shí)的服務(wù)器處理。timeout 的默認(rèn)值為360 秒。
-t:說(shuō)明虛擬服務(wù)器提供的是TCP服務(wù),此選項(xiàng)后面跟的格式是[virtual-service-address:port]或[real-server-ip:port];service-address要是host[:port]的形式。端口是0表示任意端口。如果需要將端口設(shè)置為0,還需要加上-p選項(xiàng)(持久連接)。
-u:說(shuō)明虛擬服務(wù)器提供的是UDP服務(wù),此選項(xiàng)后面跟的格式是[virtual-service-address:port]或[real-server-ip:port]
-f fwmark:說(shuō)明是經(jīng)過(guò)iptables標(biāo)記過(guò)的服務(wù)類型;用firewall mark取代虛擬地址來(lái)指定要被負(fù)載均衡的數(shù)據(jù)包,可以通過(guò)這個(gè)命令實(shí)現(xiàn)把不同地址、端口的虛擬地址整合成一個(gè)虛擬服務(wù),可以讓虛擬服務(wù)器同時(shí)截獲處理去往多個(gè)不同地址的數(shù)據(jù)包。fwmark可以通過(guò)iptables命令指定。如果用在ipv6需要加上-6。
-s scheduler:此選項(xiàng)后面跟LVS使用的調(diào)度算法,有調(diào)度算法可以指定以下8種:rr(輪詢),wrr(權(quán)重),lc(最后連接),wlc(權(quán)重),lblc(本地最后連接),lblcr(帶復(fù)制的本地最后連接),dh(目的地址哈希),sh(源地址哈希),sed(最小期望延遲),nq(永不排隊(duì)),默認(rèn)的是wlc調(diào)度算法。
-p [timeout]:在某個(gè)Real Server上持續(xù)的服務(wù)時(shí)間。也就是說(shuō)來(lái)自同一個(gè)用戶的多次請(qǐng)求,將被同一個(gè)Real Server處理。此參數(shù)一般用于有動(dòng)態(tài)請(qǐng)求的操作中,通常用于ftp或者ssl中。timeout的默認(rèn)值為300s。如-p 600表示持續(xù)服務(wù)時(shí)間為600s。
-M --netmask netmask 指定客戶地址的子網(wǎng)掩碼。用于將同屬一個(gè)子網(wǎng)的客戶的請(qǐng)求轉(zhuǎn)發(fā)到相同服務(wù)器。
-r:指定真實(shí)服務(wù)器r的IP地址,此選項(xiàng)后面跟如下格式[real-server-ip:port];為虛擬服務(wù)指定數(shù)據(jù)可以轉(zhuǎn)發(fā)到的真實(shí)服務(wù)器的地址。可以添加端口號(hào)。如果沒(méi)有指定端口號(hào),則等效于使用虛擬地址的端口號(hào)。
-g --gatewaying:指定LVS的工作模式為直接路由模式;使用網(wǎng)關(guān)(即直接路由)(此模式是LVS的默認(rèn)工作模式)
-i --ipip:指定LVS的工作模式為ipip隧道模式
-m --masquerading:指定LVS的工作模式為NAT模式
-w --weight wegight:指定真實(shí)服務(wù)器的權(quán)重值;權(quán)重是0~65535的整數(shù)。如果將某個(gè)真實(shí)服務(wù)器的權(quán)重設(shè)置為0,那么它不會(huì)收到新的連接,但是已有連接還會(huì)繼續(xù)維持(這點(diǎn)和直接把某個(gè)真實(shí)服務(wù)器刪除時(shí)不同的)。
--mcast-interface interface 指定組播的同步接口
-x --u-threshold uthreshold:設(shè)置一個(gè)服務(wù)器可以維持的連接上限。0~65535。設(shè)置為0表示沒(méi)有上限。
-y --l-threshold lthreshold:設(shè)置一個(gè)服務(wù)器的連接下限。當(dāng)服務(wù)器的連接數(shù)低于此值的時(shí)候服務(wù)器才可以重新接收連接。如果此值未設(shè)置,則當(dāng)服務(wù)器的連接數(shù)連續(xù)三次低于uthreshold時(shí)服務(wù)器才可以接收到新的連接。(PS:筆者以為此設(shè)定可能是為了防止服務(wù)器在能否接收連接這兩個(gè)狀態(tài)上頻繁變換)
--mcast-interface interface:指定使用備服務(wù)器時(shí)候的廣播接口。
--syncid syncid:指定syncid,同樣用于主備服務(wù)器的同步。
-L -c --connection:顯示目前的連接信息,如ipvsadm -L -c
-L --timeout:顯示tcp tcpin udp的timeout值,列出超時(shí);如ipvsadm -L --timeout
-L --daemon:顯示同步守護(hù)進(jìn)程狀態(tài)
-L --stats:顯示統(tǒng)計(jì)狀態(tài)信息
-L --rate:顯示傳輸速率信息
-L --sort:對(duì)虛擬服務(wù)器和真實(shí)服務(wù)器排序輸出,例ipvsadm -L --sort
--nosort:不排序
-n --numeric 輸出IP地址和端口的數(shù)字形式
--thresholds:列出閾值
--persistent-conn:堅(jiān)持連接
--exact:單位
-6:如果fwmark用的是ipv6地址需要指定此選項(xiàng)。
ipvsadm -A -t 192.168.60.200:80 -s rr -p 600
在內(nèi)核的虛擬服務(wù)器列表中添加一條192.168.60.200的虛擬服務(wù)器記錄,并且指定此虛擬 服務(wù)器的服務(wù)端口為80,調(diào)度策略算法為輪詢調(diào)試,并勝在每個(gè)Real Server上持續(xù)服務(wù)時(shí)間為600s,即10min。
ipvsadm -A -t 192.168.60.188:21 -s wlc
在內(nèi)核虛擬服務(wù)器上添加一條192.168.60.188的虛擬服務(wù)器,此虛擬服務(wù)器的服務(wù)器端口為21,即FTP服務(wù),使用wlc加權(quán)最少鏈接算法。
ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.132:80 -g
ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.144:80 -g
以上兩條設(shè)置表示在虛擬服務(wù)器192.168.60.200中添加2條新的Real Server記錄,兩個(gè)Real Server的IP分別為192.168.60.132和192.168.60.144,選項(xiàng)-g指定了中的工作模式為DR直接路由模式 。
這樣設(shè)置完畢后,當(dāng)用戶訪問(wèn)192.168.60.200的80端口時(shí),LVS會(huì)根據(jù)設(shè)置的調(diào)度策略和路由模式將請(qǐng)求分配到192.168.60.132以及192.168.60.144的80端口。
ipvsadm -S /opt/ipvs.bak 備份ipvs記錄??
ipvsadm -C 清空ipvs記錄
ipvsadm -Ln 查看ipvs記錄
ipvsadm -Ln --stats
-L|-l --list 顯示內(nèi)核虛擬服務(wù)器表
-n --numeric 輸出IP 地址和端口的數(shù)字形式
--stats 顯示統(tǒng)計(jì)信息
ipvsadm -Sn > /etc/sysconfig/ipvsadm //保存記錄
ipvsadm -R < /etc/sysconfig/ipvsadm //恢復(fù)保存的記錄
注意:ipvsadm 命令配置的LVS集群列表信息是臨時(shí)有效的,如果想系統(tǒng)重啟自動(dòng)加載這些設(shè)置信息,必須將ipvsadm的操作命令寫(xiě)入到開(kāi)機(jī)啟動(dòng)腳本/etc/rc.d/rc.local文件中。
轉(zhuǎn)載于:https://blog.51cto.com/14168653/2367352
總結(jié)
以上是生活随笔為你收集整理的ipvsadm使用和命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SSL证书如何工作?
- 下一篇: 3.22 爬虫小记