Forum Discussion
HASH Carp Persistence
Hi guys,
I've just configured HASH persistence using CARP Algorithm, as describe in this document:
http://support.f5.com/kb/en-us/solutions/public/11000/300/sol11362.html
I've defined a persistence profile with this options:
Hash Algorithm: CARP
iRule: Select the iRule you created which contains the persist hash command.
Timeout: 0 seconds
This is the iRule:
when CLIENT_ACCEPTED { persist carp [IP::client_addr] }
This Persistence Profile has been applied in a Virtual Server type "Performance Layer (L4)" port UDP.
I've noticed something strange, active connections has increased around 35-40%, is this normal?, using this algorithm active connections have to be higher?
Thanks for your help, Ron
- AneshCirrostratus
So i will be able to support an SSL passthrough application which is required to be persisted to a server through a duration of a session with the below config paramteres
- Fast l4 profile, with RST on timeout disabled and loose intiation enabled
- Using HASH CARP persistance.
- nitassEmployee
So i will be able to support an SSL passthrough application which is required to be persisted to a server through a duration of a session with the below config paramteres
i think you had better find what information you want to persist on first. then you find how to configure it.
- AneshCirrostratus
Since SSL offloading is not an option for me, i am using Source ip for persistence, but my question is when we use HASH CARP where will be the record stored if not in the persistence table?
- nitassEmployee
but my question is when we use HASH CARP where will be the record stored if not in the persistence table?
i understand key (e.g. source ip) and pool member information (e.g. pool member ip and port) are included in the algorithm. if key is same, it will end up to the same pool member. so, it does not utilize persistence table.
- AneshCirrostratus
And idea where the Hash value is stored is it part of the TCP header, will i be able to see it in a tcpdump?
- nitassEmployee
And idea where the Hash value is stored is it part of the TCP header, will i be able to see it in a tcpdump?
carp hash is calculated on the fly. it is not kept inside a packet.
- AneshCirrostratus
so how does it consistently map to the same pool member based on source ip? The hash value needs to be stored, correct?
- nitassEmployee
so how does it consistently map to the same pool member based on source ip? The hash value needs to be stored, correct?
key and pool member both are included in hash algorithm. the highest score will be chosen. so, the same pool member will always be picked as long as it is up.
3. Routing Function Once an agent has a Proxy Array Membership Table. It uses a mathematical hash function to determine which of the members of the array should be the receptacle of a particular URL request. This routing function involves constructing n "scores" using a hash of the request URL plus a hash of each of the k proxies in the Proxy Array Membership Table. Both the URL and the proxy names are hashed in order to minimize the disruption of target routes if a member of the target array can't be contacted. Hashes of the URL and proxy name are constructed using the algorithm described in 3.1 and combined using the algorithm described in 3.2.
3.4. Route Selection The "score" for a particular combination of URL plus proxy is its resultant value. Once the agent determines the scores of the K proxies, it routes the URL query to the proxy with the highest score.
Cache Array Routing Protocol v1.0
http://icp.ircache.net/carp.txt - AneshCirrostratus
Ok. I got it Once a hash of the pool member and Source Ip is calculated it will remain constant and map to the same pool member, until it goes down. But this will work if the LTM gives us the same pool member based on the Load balancing algorithim like Round Robin, Least Connections, which is not the case as it may select any pool member.
- nitassEmployee
But this will work if the LTM gives us the same pool member based on the Load balancing algorithim like Round Robin, Least Connections, which is not the case as it may select any pool member.
i understand load balancing algorithm won't be taken into account when using carp except ratio based with carp which is introduced in 11.3.0.
Ratio based load balancing with CARP persistence Cache Array Routing Protocol (CARP) Persistence now leverages pool member ratio to enhance traffic distribution to heterogeneous server pools. Administrators can direct more traffic to more capable servers. The pool member's ratio is considered when calculating the hash value in the CARP mode of hash persistence.
Release Note: BIG-IP LTM and TMOS 11.3.0
http://support.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-ltm-11-3-0.html
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com