Forum Discussion
Inquiry on F5's Maintenance Mode Feature for Pool Members
- May 15, 2024
Both "disable" and "force offline" actions may answer the requirement as they both provide some level of smoothness
- When set to Disabled, a node or pool member continues to process persistent and active connections. It can accept new connections only if the connections belong to an existing persistence session.
- When set to Forced Offline, a node or pool member allows existing connections to time out, but no new connections are allowed
So, for the first you need to disable the node then wait for a sufficient time to make sure there is no active nor persistent connection related to that node. Typically, you will disable a node 30 minutes to a few hours before the maintenance schedule.
For the second, you set the node to forced offline and wait a few minutes until there is no active connection to this node. Note that persistence here is immediately lost and any client who is in the persistence table but who is not actively connected will load blance to the next member.
Both "disable" and "force offline" actions may answer the requirement as they both provide some level of smoothness
- When set to Disabled, a node or pool member continues to process persistent and active connections. It can accept new connections only if the connections belong to an existing persistence session.
- When set to Forced Offline, a node or pool member allows existing connections to time out, but no new connections are allowed
So, for the first you need to disable the node then wait for a sufficient time to make sure there is no active nor persistent connection related to that node. Typically, you will disable a node 30 minutes to a few hours before the maintenance schedule.
For the second, you set the node to forced offline and wait a few minutes until there is no active connection to this node. Note that persistence here is immediately lost and any client who is in the persistence table but who is not actively connected will load blance to the next member.
So you're telling me that there is no other way than just to "force offline" a pool member and wait till all the old connections are no longer active? I was hoping there could be a way to move active connections to another pool member...
- P_KueppersMay 16, 2024MVP
You can kill those connections from CLI after you force offline it:
"tmsh delete /sys connection ss-server-addr 1.1.1.1"
where 1.1.1.1 is your poolmember
- tommaMay 22, 2024Nimbostratus
Killing active connection would lead to interrupts in our service. I was talking about moving established connections to second pool member, but I guess F5 does not have a feature like that.
- gersbahMay 17, 2024Cirrostratus
Do your pool members share a connection table and/or application state? Or are you using a stateless protocol? Otherwise how would the second pool member know what to do with this already established connection that was just moved over?
If you are using UDP, you could look into datagram LB to force individual packet load balancing instead of virtual "UDP connections".
Other than that, yes, setting a member to forced offline and waiting for connections to time out is the smoothest transition you can hope for.
- Amine_KadimiMay 17, 2024MVP
Can you clarify your requirements? what do you mean by smoothly transitioning into maintenance mode, and what do you want to exactly achieve? If you don't want to affect end user experience, then depending on your application logic you may have to use either disable member or force offline, the first is less aggressive cause it will also wait for persistent sessions to expire, if persistence is not an issue for you then I don't see why "force offline" would be a problem
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