[go: up one dir, main page]

0% found this document useful (0 votes)
40 views21 pages

Lab 3 - Load Balancing, Monitoring and Persistence

This document provides instructions for completing a lab on load balancing, monitoring, and persistence using the BIG-IP Local Traffic Manager. The objectives are to configure ratio load balancing, priority groups, content monitoring, and persistence. Specific steps are provided to create monitors, assign monitors to pools, test load balancing functionality, and simulate failures to test priority group activation.

Uploaded by

gjump0103
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views21 pages

Lab 3 - Load Balancing, Monitoring and Persistence

This document provides instructions for completing a lab on load balancing, monitoring, and persistence using the BIG-IP Local Traffic Manager. The objectives are to configure ratio load balancing, priority groups, content monitoring, and persistence. Specific steps are provided to create monitors, assign monitors to pools, test load balancing functionality, and simulate failures to test priority group activation.

Uploaded by

gjump0103
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

F5 Application Delivery Controller Solutions (../../index.

html) > BIG-IP® Local Traffic Manager (LTM) - Getting Started


(../class3.html) Source (../../_sources/class3/module3/lab3.rst.txt) | Edit on  (https://github.com/f5devcentral/f5-agility-labs-adc)

Lab 3: Load Balancing, Monitoring and Persistence¶


Objectives:

Configure and review Ratio load balancing


Build and test priority groups
Build a content monitor that looks for a receive string and requires authentication
Build and review simple (source IP) persistence and cookie persistence.

Ratio Load Balancing¶

1. Go to Local Traffic >> Pools and select www_pool and then Members from the top bar or you
could click on the Members link in the Pool List screen.

(../../_images/image114.png)

 Note

When we created the pool, we performed all of our configurations on one page, but
when we modify a pool the Resource information is under the Members tab

2. Under Load Balancing section

a. Change the Load Balancing Method to Ratio (Member)

b. As you look at the drop-down menu, notice most load balancing methods have two
options: (Node) or (Member). Remember the difference?
(../../_images/image213.png)

c. Don’t forget the Update button

d. Then under Current Members

i. Select the first member in the pool 10.1.20.11:80.

ii. Under the Configuration section

1. Change the Ratio of the member to 3


(../../_images/image312.png)

e. Select the Update button

3. Verification

a. Check the pool statistics by selecting Statistics on the top bar, if you are still in Local
Traffic >> Pools, or by going to Statistics >> Module Statistics >> Local Traffic and
selecting Pool from Statistics Type.

b. Reset the statistics for your www_pool pool by checking the boxes next to the pool
members and hitting the Reset button
i. Browse to your www_vs (10.1.10.100) virtual server

ii. Refresh the browser screen several times (use “<ctrl>” F5)

iii. Select the Refresh button on the Statistics screen

iv. How many total connections has each member taken?

v. Is the ratio of connections correct between the members?

c. Now go back and put the pool load balancing method back to Round Robin
i. Reset the statistics

ii. Refresh the virtual server page several times


iii. Refresh the statistics

iv. Does the ratio setting have any impact now?

Priority Groups Lab¶

Let’s look at priority groups. In this scenario we will treat the .13 server as if it were in a disaster
recovery site that can be reached over a backhaul. The customer would like to maintain at least
two members in the pool for redundancy and load. They would find this beneficial to allow
connections to proceed during a maintenance window or during an outage.

1. Go to Local Traffic >> Pools >> www_pool

a. Select the Members tab.

i. Set the Load Balancing Method back to Round Robin

ii. Set the Priority Group Activation to Less than … 2 Available Members.

(../../_images/image413.png)

b. Don’t forget to hit the Update button

c. Select the pool members 10.128.20.11 and 10.128.20.12 and set their Priority Group to 2.

i. This will allow you to change the priority on that particular member.
(../../_images/image53.png)

2. Review your settings and let’s see how load balancing reacts now

a. Select the Statistics tab.

b. Reset the pool statistics.

c. Browse to your virtual server and refresh several times.

d. Refresh your statistics.

e. Are all members taking connections?

f. Which member isn’t taking connections?

3. Let’s simulate a maintenance window or an outage by disabling a pool member in the highest
priority group (2).

 Note

F5 ranks priority from low number to high number. This means, a priority of 1 has a
lower priority than 2, and onwards.

This should cause priority group activation to kick in, since the number of active
members in our high priority group has dropped below one.

4. Select the member in the Priority Group 2 and Disable that pool member.
a. Select the Disable button

(../../_images/image63.png)

b. The status indicator now goes to black, indicating the member has been disabled

5. Once again, select Statistics, reset the pool statistics, browse to the virtual server and see which
pool members are taking hits now.

Once you are done testing re-enable your disabled pool member.

Monitor Labs¶

Objective:

Build a default monitor for nodes


Build a content monitor for your pool

Default Monitors

1. Go to Local Traffic >> Nodes, note the status of the nodes.

a. Note that the nodes exist in this table, even though they were never specifically configured
in the Node section of the GUI. Each time a unique IP address is placed in a pool a
corresponding node entry is added and assigned the default monitor (if any).

b. Select the Default Monitors tab.


(../../_images/image73.png)

c. Notice we have several options. For nodes you will want a generic monitor, so we will
choose icmp.

d. Select icmp from the Available box and hit (../../_images/image83.png) to place it in
the Active box.

e. Click on the Update button to finalize your changes.

2. Select Node List or Statistics from the top tab.

a. What are your node statuses?

3. Select Statistics >> Module Statistics >> Local Traffic

a. What are the statuses of your nodes, pool and virtual server?

For those of you who did the FQDN Pool extra credit lab, you will notice your FQDN in the node
list. The status should be Available (Green) even though there wasn’t a monitor. This is because a
good status indicates the BIG-IP successfully queried the DNS server for the name. Click on the
FQDN node to see additional options, such as query interval.

Content Monitors¶

The default monitor simply tells us the IP address is accessible, but we really don’t know the status
of the particular application the node supports. We are now going to create a monitor to specifically
test the application we are interested in. We are going to check our web site and its basic
authentication capabilities.

1. Browse to http://10.1.10.100 and on the web page select the Basic Authentication link under
Authentication Examples.

a. User: user.1
b. Password: password

c. You could use text from this page or text within the source code to test for availability. You
could also use HTTP statuses or header information. You will be looking for the HTTP
status “200 OK” as your receive string to determine availability.

d. Note the URI is /basic. You will need this for your monitor.

2. Select Local Traffic >> Monitor on the side-bar and select the plus (+) sign or Create

(../../_images/image93.png)

a. Now we can create a monitor to check the content of our web page to ensure things are
running properly.

i. Name: www_test

ii. Type: HTTP


(../../_images/image103.png)

b. Once you have selected you parent (Type) monitor, you can access the Configuration
section

i. Send String: Enter the command to retrieve the page you want “GET /basic/r\n" (no
quotes)

ii. In the Receive String box put “200 OK” (no quotes)

 Note

The receive string is not case sensitive.

iii. Enter user.1/password for the Username and Password


(../../_images/image115.png)

c. Click Finish and you will be taken back to Local Traffic >> Monitors

3. Where is your new Monitor?

a. (../../_images/image123.png)Hint: Check the lower right hand corner of the

Monitors list. Here you can go to the next page or view all Monitors

b. You can change the number of records displayed per page in System >> Preferences

4. Go to Local Traffic >> Pools >> www_pool and choose Properties from the top bar

a. Remove the http monitor from the Active box.

b. Select the www_test monitor from the Available monitor’s window in the Configuration
section and move it to the Active window.
(../../_images/image133.png)

5. Once you have selected your parent (Type) monitor, you can access the Configuration section

a. Select Statistics from the tabs.

b. What is the status of the pool and its members?

6. Go to Local Traffic >> Virtual Servers. What is the status of your virtual server?

a. Browse to your www_vs virtual server. Which members are taking traffic?

b. Just for fun reverse the monitor. Now when 200 OK is returned it indicates the server is
not responding successfully. You can see where this would be useful if you were looking
for a 404 (bad page) response.

Monitor Testing¶

There is now the ability to test monitors. This is tremendously helpful as you no longer need to
create monitors and add them to false objects on the BIG-IP. The functionality is now built in to the
monitor itself to be less invasive on your infrastructure, and less time consuming all together.

1. Go to Local Traffic >> Pools >> www_pool

a. Under Configuration, move the active monitor to Available


2. Go to Monitors and click on http

a. Click the Test tab

b. Under Address plug in 10.1.20.11 and in the port field plug in 80

c. Click Test

(../../_images/image142.png)

d. Go back to Local Traffic >> Pools >> www_pool

a. Once here, move http back to Active

Persistence Labs¶

In this lab we will configure a couple types of persistence and view their behavior. For persistence,
profiles will have to be created and attached to our virtual server.

Lab Requirements:

Prior to beginning the lab verify your www_pool has been set to the following parameters:
Load Balancing Method: Round Robin
Priority Group Activation: Disable
The members Ratio and Priority Group mean nothing since we aren’t using Ratio load
balancing and Priority Groups are disabled.
Hit Update
Hit your virtual server several times, you should see all 3 servers respond.
Simple (Source Address) Persistence¶

1. Go to Local Traffic >> Profiles and select the Persistence tab.

a. From the Persistence Profiles screen select the Create button.

(../../_images/image152.png)

b. At the New Persistence Profile screen enter:

i. Name: my-src-persist

ii. Persistence Type: Source Address Affinity


(../../_images/image162.png)

c. This will add the Configuration section to the General Properties section.

i. Note the parent profile.

d. In the Configuration section, set the

i. Timeout: 60 seconds

ii. Prefix Length: None


1. This is the default and is a /32 prefix (255.255.255.255 mask).

2. Each new IP address will create a new persistence record.

iii. Hint: You can’t change these settings until you have checked the Custom box. This
prevents unwanted or unauthorized changes from within the GUI, without explicitly
allowing it. Also, it allows you to know what has changed from the default settings.

e. You have just created your first custom Profile.

i. Note the check box for your new custom profile isn’t grayed out and can be selected
to allow you to delete the profile if desired.

2. Now let’s attach our new profile to the virtual server.

a. Go to Local Traffic >> Virtual Server and ….


i. Select www_vs and the Resources tab or ….

ii. Take the shortcut directly to the Resources of the virtual server. (Can you find it?)

b. Set the Default Persistence Profile to my-src-persist.

(../../_images/image172.png)

c. Don’t forget to Update before leaving the page. (Be careful, the reminders will stop!)

d. Testing Source Address Affinity

i. At this point you may want to open a second browser window to the management
GUI.

ii. From one management window go to Statistics >> Module Statistic >> Local Traffic

iii. Select Persistence Records for the Statistics Type menu


(../../_images/image182.png)

3. At this point you will see that the Persistence Records statistics display has been disabled (way
back in v12.1). A TMSH database command is required to activate it.

a. SSH to you BIG-IP at 10.1.1.245. Username: root Password: default

b. At the prompt enter: tmsh

c. At the TMSH prompt enter the command in the Persistence Value GUI.
i. modify sys db ui.statistics.modulestatistics.localtraffic.persistencerecords value
true
1. Tab completion will make this a little easier

4. Now, in this window you can watch your persistence records. You may want to set Auto Refresh
to 20 seconds.
(../../_images/image192.png)

5. In your other management GUI window go to www_pool and clear the member statistics.

a. Open a browser session to your virtual server and refresh several times.

b. How many members are taking traffic?

c. Check you Persists Records window. Are there any persistence records?
i. If you are not Auto Refreshing, don’t forget to hit Refresh

d. Refresh you web page prior to the Age column reaching 60. What happens?

Cookie Persistence (Cookie Insert)¶

1. Go to Local Traffic >> Profiles >> Persistence tab and hit Create

a. Let’s name our profile my_cookie_insert (original isn’t it)

b. Our Persistence Type will be Cookie

c. This brings us to the Configuration section.


(../../_images/image202.png)

2. As you can see, the default Cookie Method is HTTP Cookie Insert, so we won’t have to modify
the Cookie Method

a. The BIG-IP will also create a cookie name for you using a combination of “BIGipServer”
and the pool name the virtual server service. We will take this default also.

b. We will use a session cookie. Which means the cookie is deleted when the browser is
closed.

c. Select Finished

d. Now attach your cookie persistence profile to your virtual server’s Default Persistence
Profile by:

i. Go to Local Traffic >> Virtual Server >> www_vs >> Resources tab

ii. Set the Default Persistence Profile to my_cookie_insert

iii. Hit Update

e. Whoa! Did you just get this error message?


(../../_images/image214.png)

f. Remember what we said earlier about some Profiles requiring prerequisite Profiles? Since
we are looking in the HTTP header for the cookie the prerequisite for the Cookie Profile is
the HTTP profile.

3. We will have to go to the virtual server to add the HTTP profile, prior to adding the Cookie
Persistence profile.

a. Select the Properties tab on your virtual server

b. Go to HTTP Profile in the Configuration section and select the default HTTP (http) profile.
(../../_images/image221.png)

c. Hit the Update button

d. Now we can go back to the Resource tab and add our cookie persistence profile.

4. Testing cookie persistence.

a. If you wish you can watch the member statistics to validate your persistence.

b. Open a new browser session to your virtual server and refresh several times.

c. Does the page ever change?

d. Did you hit a different server?

e. Refresh several times. Are you hitting the same server?

i. On the web page under HTTP Request and Response Information click the Display
Cookie link.
(../../_images/image231.png)

Archive your work in the file: lab3_lb_monitor_and_persist

You might also like