A schedule pool is a list of configuration objects, each of which is tied to a specific real-server pool and schedule group. Used together with real-server pools, schedule groups, and content routing rules, schedule pools make it much easier for you to streamline the operation and management of your real servers. You set or change the working schedules of your real servers with ease.
The schedule pool feature takes the following two factors are taken into consideration:
First, there can be multiple pools in a virtual server or a content routing configuration. This does not mean to introduce a traffic distributing hierarchy to load-balance across the pools because all the pools of different schedule pools in a virtual server obey the same rule of traffic distribution. So the basic schema is not changed. The way it works is the same as a single pool does. We have the following specific confines:
- The same real server pool is not allowed to be used in different schedule pools which are configured in the same virtual server.
- The same real server is not allowed to be used in different real-server pools that are used by schedule pools configured in the same virtual server.
- When multiple schedule pools are active, all the real-server pools within them (schedule pools) are active, and traffic can be transmitted to all the real servers in the real-server pools as scheduled. In that case, all the real servers are placed in different pools for scheduling.
- The backup real servers are backed up for all the current active real servers from multiple schedule pools of a virtual server.
Second, a schedule pool can be scheduled inactive. The schedule daemon tracks the states of all the schedules. When a schedule's state changes, the schedule daemon updates the new state to all the related daemons. As soon as the state of a schedule pool goes active, the system will start to transmit traffic to members of the corresponding pool unless there are some other mechanisms keeping the schedule pool or some members of the pool in “not work” state, as in the case of health check failure or backup members of the pool. Once a schedule turns inactive, the system will stop transmitting traffic to all the members of the corresponding pool. Some or all members of the pool may be in “not work” state for various reasons when a schedule's state changes to inactive. Anyway, when members of a pool turn inactive, the system will react in the same way as it does when they fail their health check — immediately removes the connections involved and cuts off traffic to those connections at the same time.
The schedule-based pool can be applied to all kinds of virtual servers and all kinds of content routing configurations. It should also work well with all packet-forwarding methods, and can handle all the protocols that FortiADC now supports.
The following are the basic steps you need to follow to take advantage of the schedule pool feature:
- Configure schedule groups (Shared Resources > Schedule Group).
- Configure real servers (Server Load Balance > Real Server).
- Configure real-server pools (Server Load Balance > Real Server Pool).
- Configure schedule pools (Server Load Balance > Virtual Server > Schedule Pool).
- Configure content routing rules (Server Load Balance > Virtual Server > Content Routing). (Optional)
- Configure virtual servers (Server Load Balance > Virtual Server)
The following instructions assume that you have properly configured schedule groups, real servers, and real server pools, as mentioned in the preceding paragraph.
To configure schedule pools:
- From the main menu, click Server Load Balance > Virtual Server.
- Select the Schedule Pool tab.
- Click Create New to open the Schedule Pool dialog box.
- Specify a unique name for the schedule pool.
- Select a real server pool.
- Select a schedule group.
- Click Save when done.
- Repeat Steps 2 through 7 to create as many schedule pools as needed.