Forum Discussion

tomma's avatar
tomma
Icon for Nimbostratus rankNimbostratus
May 15, 2024
Solved

Inquiry on F5's Maintenance Mode Feature for Pool Members

Hello F5 Community,

I'm looking for a way to smoothly transition specific pool members into maintenance mode without disrupting service. Can anyone share insights or best practices on how to implement this in our network infrastructure?

Thanks!

  • Both "disable" and "force offline" actions may answer the requirement as they both provide some level of smoothness

    1. 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.
    2. 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.

11 Replies

  • Both "disable" and "force offline" actions may answer the requirement as they both provide some level of smoothness

    1. 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.
    2. 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.

    • tomma's avatar
      tomma
      Icon for Nimbostratus rankNimbostratus

      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...

      • 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

  • tomma's avatar
    tomma
    Icon for Nimbostratus rankNimbostratus

    In our network infrastructure, we frequently encounter scenarios where we need to perform maintenance tasks on specific pool members while ensuring uninterrupted service for end-users. Thus, we are keen to explore if F5 offers any dedicated features or mechanisms to gracefully transition a pool member into maintenance mode.

  • tomma's avatar
    tomma
    Icon for Nimbostratus rankNimbostratus

    Additionally, it's worth noting that our service infrastructure may not be fully compatible with the "forced offline" feature. Hence, we are particularly interested in alternative solutions or configurations that align better with our requirements.
    Any insights, best practices, or real-world experiences from the community regarding implementing maintenance mode in F5 deployments would be highly appreciated.

  • What are you trying to archive? I dont understand your posts at all so please tell what you trying to do... 

    • tomma's avatar
      tomma
      Icon for Nimbostratus rankNimbostratus

      I'm trying to find a way to move current established connections from one pool member to another, so I can perform maintenance on the first pool member.

      • Than please explain whats wrong with disabling a pool member? You can either disable it (no new connections - established one will timeout/expire but persistent will be allowed furthermore) or you force offline so all connections to this poolmember will be timeout/expire

         

        EDIT: Sorry I made a mistake - ForceOffline a BIGIP will close all connections immediately - On Poolmember this does not work