首先show一下ipvsadm -h對這兩個參數的注釋
--persistent -p [timeout] persistent service //持久服務
--set tcp tcpfin udp set connection timeout values //連結的逾時時間
1. --persistent -p [timeout]
持久服務逾時時間設定參數,真對一些需要保持狀态的應用,例如一些http應用、ftp、ssl等。 在參數的時間範圍内同一使用者(client IP)的多次通路會被ipvs配置設定到同一台realserver上。
2. --set tcp tcpfin udp
真對連結的逾時時間。以tcp為例,一個tcp連接配接建立後會傳輸N個封包, 當兩個封包相繼到達的時間差在逾時時間内就會被轉發到同一台realserver上進行處理, 若時間差大于逾時時間就會根據排程算法重新選擇realserver,連接配接就有可能出現異常。 ipvs是根據client IP 和 client port來識别是不是同一個連結發的封包。
3. 兩者的差別與聯系
差別:
persistent 是提供對有持久服務需要的支撐, 是在逾時時間内将同一個client IP的連結分發到同一個realserver上,比較宏觀一些;
set 是針對一次連結兩個相繼到達封包的逾時時間定義, 這個值在單一一次連結内有效,比較微觀一些。
聯系:
persistent值大于等于set時,持久服務分發逾時以persistent的設定為準。
persistent值小于set時,持久服務分發逾時會以(s/60)*60 + p%60 + 60為準(當persistent值逾時後, 會将persistent自動指派為60,逾時後繼續将persistent自動指派為60....直到set逾時persistent再次逾時未知)。
本文轉自Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/1591843,如需轉載請自行聯系原作者