Among the various hardware load-balancing devices, the ServerIronXL
has gained popularity. Its interface is very similar to that of
Cisco's Local Director (CLD); many of the commands used to configure
each are identical. One of the differences (among several) between
the two devices is that ServerIronXL does not offer the dynamic
feedback protocol (DFP); it does, however, offer health-check
monitoring features that will redirect sessions away from a faulty
web application. The following steps will walk you through configuring
your ServerIronXL with Macromedia application servers.
Step 1: Complete the basic hardware installation and
configuration
Follow the manufacturer's instructions to
unpack, power up, and connect the switch to a terminal emulator.
Give the ServerIronXL a hostname, IP address, and subnet mask.
If you are using a ServerIronXL that you wish to configure from
scratch, erase the current configuration. From the command prompt
of the ServerIronXL using the terminal emulator, type in the following
commands:
enable
erase startup
reload
Note: The IP address you add should correspond to a fully
qualified host name (FQHN) in DNS with both forward and reverse
entries. This initial IP address (and name) is not the one that
will be visible to browsing clients. It is only a maintenance
address for the ServerIronXL.
In this example server configuration, the server address is 10.64.20.130,
and the name is serveriron.enterprise.macromedia.com. From the
terminal emulator attached to the ServerIronXL, enter:
enable
config t
hostname serveriron
serveriron(config)# ip address 10.64.20.130 255.255.255.0
(You will use this example to display other settings in this
article.)
Add the upstream default gateway, local DNS server address, and
domain name. The following settings are fictitious, but correspond
to the example in this tutorial.
ip default-gateway 10.64.20.1
ip dns domain-name enterprise.macromedia.com
ip dns server-address 10.64.20.20
Note: These are important settings. Write them to memory
to avoid the risk of losing them. To do so, use the following
command:
write mem
When you are setting the ServerIronXL, follow these cable requirements:
- The administrative serial connection to the ServerIronXL requires
a straight-through DB9 female to DB9 female connecting cable.
The appropriate hyperterminal settings are: 9600 - 8 - none
- 1.
- To connect the ServerIronXL to a hub, use a twisted-pair crossover
cable.
- To connect the ServerIronXL to a switch, use a twisted-pair
crossover cable.
- To connect the ServerIronXL to a NIC, use a straight-through
twisted-pair cable.
Step 2: Enter your real servers in ServerIronXL
Real
servers are what Foundry (and Cisco) calls the servers participating
in the cluster or farm. On the ServerIronXL, you will eventually
bind the real servers (the servers participating in the cluster)
with the virtual server on the ServerIronXL. This terminology
may still seem strange. Remember that when referring to ServerIronXL,
the virtual server is the name on ServerIronXL that is visible
to browsers hitting your website. The real servers are the ones
in the cluster or server farm behind the ServerIronXL.
Following the tutorial example, add two real servers with HTTP
ports:
serveriron(config)#server real brunner
10.64.20.129
serveriron(config-rs-brunner)# port http
serveriron(config-rs-brunner)# exit
serveriron(config)#server real pascal 10.64.20.128
serveriron(config-rs-pascal)# port http
serveriron(config-rs-pascal)# exit
Step 3. Create a virtual server on the ServerIronXL
The
virtual server is an IP address that must correspond to a FQHN
with forward and reverse DNS entries. This virtual server FQHN
will correspond to what may have previously been the Round-Robin
(RR) name. Following our example, the FQHN is 10.64.20.131.
The name corresponding to this IP address will be visible to all
browsing clients. It is the name placed in the client/customer
browser's URL line, the website name that you use to enter the
site, or the address you use to get to your website. Following
our example, use telnet to get into your ServerIronXL and add
the virtual server:
serveriron(config)# server virtual serverivip
10.64.20.131
serveriron(config-vs-serverivip)# port http
Step 4. Bind the real servers to the virtual server
To
bind the real servers to the virtual server, use the following:
serveriron(config-vs-serverivip)# bind http
brunner http pascal
Step 5. Save your settings
Save all of these
setting on ServerIronXL using the write mem command. Next, check
the configuration using the show config command:
serveriron# write mem
serveriron# show config
Step 6. Configure health-check monitors
Configure
health-check monitors to determine the status of both the web
server and the Macromedia JRun or Macromedia ColdFusion application
server. Macromedia ClusterCATS sets up a virtual directory on
each real server called /btauxdir. The btauxdir virtual directory
contains management content that that we will use as a target
for the ServerIronXL health-check monitor.
ColdFusion MX and JRun 4 will each provide a different target
file. Each adds the files during the ClusterCATS installation.
If you are running ColdFusion MX, use cfprobe.cfm; if JRun 4,
use jrunprobe.jsp. If you are not running ClusterCATS, you may
create a file that produces an application-dependent string to
probe. The files cfprobe.cfm and jrunprobe.jsp simply produce
the JRun- or ColdFusion-generated string: Hello.
serveriron# config t
serveriron(config)# http match-list macromedia
serveriron(config)# default down
serveriron(config)# up simple Hello
serveriron(config)# write mem
serveriron(config)# server real pascal
serveriron(config-rs-pascal)# port http
serveriron(config-rs-pascal)# port http url "GET /btauxdir/cfprobe.cfm"
serveriron(config-rs-pascal)# port http keepalive
serveriron(config-rs-pascal)# port http content-match macromedia
serveriron(config-rs-pascal)#exit
serveriron(config)# server real brunner
serveriron(config-rs-brunner)#port http
serveriron(config-rs-brunner)#port http url "GET /btauxdir/cfprobe.cfm"
serveriron(config-rs-brunner)#port http keepalive
serveriron(config-rs-brunner)# port http content-match macromedia
serveriron(config-rs-pascal)# exit
serveriron# write mem
Note: Before setting up this scenario, ensure that you
can browse to btauxdir/cfprobe.cfm and see the output "Hello"
on each individual web server. If you cannot see it displayed
from your local browser, ServerIronXL will not see it either.
If you cannot get to cfprobe.cfm (or jrunprobe.jsp), make sure
that you have created the virtual directory called btauxdir in
IIS (under the IIS virtual server you are monitoring).
Step 7. Secure your settings
You should add some
basic security parameters, especially if you wish to manage your
ServerIronXL configuration using Telnet from a remote client.
The following example provides administrative privileges to the
username support with the password "binoche":
serveriron# enable
serveriron# config t
serveriron(config)# username support priv 0 password binoche
You may also wish to set a password for the enable command:
serveriron(config)# enable password binoche
(Or, you can use your own favorite actress's last name for the
password instead of mine!)
You have completed setting up ServerIronXL.
By following the example-based procedures outlined in this article,
you have set up a resilient Macromedia enterprise production website
employing a hardware load-balancing device. The ServerIronXL will
provide load balancing and failover. It will also constantly monitor
the health of your application servers and your web servers. If
it senses a problem with a server, it will redirect session traffic
to a healthy server.
While ServerIronXL is distributing load based on the algorithm
of choice, ClusterCATS will employ probes to monitor and restart
any stalled application or web server. It will also send out alarms
and status reports that will inform your website administrator
to fix issues before they become problems with your enterprise
application.
|