15.14 Automatic Port Aggregation (APA)

     

There are numerous other linkage technologies that HP-UX supports, everything from ATM, Frame Relay, X.25, and FDDI, to Fibre Channel and dial-up connections. We discuss some of these technologies at the end of Part 3 in Chapter 23, "Other Network Technologies." One interesting linkage technology that is proving increasingly popular is Automatic Port Aggregation (APA). This is where we aggregate the bandwidth of multiple LAN interfaces into a single interface (called a link aggregate or trunk ) to increase the overall bandwidth of a single LAN connection. Servers that are experiencing large volumes of traffic can benefit from this because we will configure a single IP address that is used effectively over multiple LAN interfaces. With a link aggregate, we are providing a fat pipe for high volume data transfers.

Important features of APA include automatic link failure and recovery (good for high availability solutions) as well as the optional load balancing of traffic across all links in the aggregate. Load balancing can be MAC-based, IP-based, Port-based, or Hot Standby. The decision of which load-balancing policy to use is based on the physical connections on your server:

  • Where we are connected directly to an APA-capable switch, we will normally use MAC-based load balancing.

  • Where we are connected directly to an APA-capable router, we will normally use IP-based load balancing.

  • Where we have connected two servers in a back-to-back configuration, we would use a Port-based algorithm.

  • The CPU-based algorithm uses the processor index that the data flow is being serviced on as an index into a table of 256 possible entries. Therefore, this algorithm relies on the CPU scheduler to determine how data flows will be distributed across different physical ports.

  • Hot Standby is where we have a primary port and multiple standby ports. This does not give me additional bandwidth, but provides a high availability solution where we do not want to lose network connectivity because of a single link failure. Prior to Hot Standby being available, I knew customers who would implement a Serviceguard cluster configuration in order to achieve automatic link-level failover. That is no longer necessary with APA Hot Standby.

Another alternative for a link aggregate is LAN Monitor mode whereby we configure a failover group . This will monitor the availability of a primary port and only use the standby ports when the primary fails. This is similar to a Hot Standby except that we can use FDDI and Token Ring cards in a failover group . LAN Monitor also operates slightly differently from Hot Standby; it will periodically exchange packets over all links in the failover group with the idea that such a behavior will better detect non-operational links.

We can utilize our 10/100 Ethernet cards (except ESIA 100BT cards) and Gigabit Ethernet cards, as well as Token Ring and FDDI (both FDDI and Token Ring can operate only in LAN Monitor mode). In creating an aggregate, we will group together cards of the same speed and duplex. The following switches are currently certified to work with APA:

  • 3Com Corebuilder and SuperStack

  • All Cisco Catalyst series

  • HP ProCurve

  • Foundry

  • Alteon

Other switches may work if they support manual configuration. The following protocols are used to communicate with the switches and routers:

  • Cisco's proprietary Fast EtherChannel (FEC/PAgP) technology

  • IEEE 802.3ad link aggregation control protocol (LACP)

  • Manually configured port trunks

We need to specify which protocol to use as part of the configuration. A single aggregate can be made up of anything from 2 to 32 individual links (using LACP). If you are going to use APA and Serviceguard, you can't use the LACP protocol currently. This means that we would have to use FEC or Manual configuration where we can have a maximum of four links in an aggregate. We can have up to 50 aggregates in our system, as a whole.

From an administrator's perspective, we see a single LAN interface to apply an IP address. The interface name for individual aggregates starts at lan900 (for HP-UX 11i), lan100 (for HP-UX 11.0), or lan90 (HP-UX 10.20). We do get a few extra commands to use, but once we have set up the configuration files, we can deal with an APA interface like any other interface as far as configuring IP addresses is concerned .

The software is available on the applications CD for HP-UX and has product number J4240AA. Ensure that you load the most recent patches. Loading the software (and patches) will require a reboot.

15.14.1 Manually configuring hp_apaconf

On my system, I have installed the product:

 

 root@hpeos003[]  swlist J4240AA  # Initializing... # Contacting target "hpeos003"... # # Target:  hpeos003:/ # # J4240AA               B.11.11.07     Auto-Port Aggregation Software   J4240AA.HP-APA-KRN    B.11.11.07     HP Auto-Port Aggregation/9000 APA kernel products.   J4240AA.HP-APA-LM     B.11.11.07     HP Auto-Port Aggregation/9000 LM commands.   J4240AA.HP-APA-SAM    B.11.11.07     HP Auto-Port Aggregation/9000 APA SAM product.   J4240AA.HP-APA-FMT    B.11.11.07     HP Auto-Port Aggregation/9000 APA formatter product.   J4240AA.HP-APA-RUN    B.11.11.07     HP Auto-Port Aggregation/9000 APA command products. root@hpeos003[] 

I have a four-port LAN card (A45506B) installed, with all four ports cabled up and ready to go:

 

 root@hpeos003[]  ioscan -fnkC lan  Class     I  H/W Path     Driver   S/W State   H/W Type     Description ======================================================================== lan       0  0/0/0/0      btlan    CLAIMED     INTERFACE    HP PCI 10/100Base-TX Core                          /dev/diag/lan0  /dev/ether0     /dev/lan0 lan       1  0/2/0/0/4/0  btlan    CLAIMED     INTERFACE    HP A5506B PCI 10/100Base-TX 4 Port                          /dev/diag/lan1  /dev/ether1     /dev/lan1 lan       2  0/2/0/0/5/0  btlan    CLAIMED     INTERFACE    HP A5506B PCI 10/100Base-TX 4 Port                          /dev/diag/lan2  /dev/ether2     /dev/lan2 lan       3  0/2/0/0/6/0  btlan    CLAIMED     INTERFACE    HP A5506B PCI 10/100Base-TX 4 Port                          /dev/diag/lan3  /dev/ether3     /dev/lan3 lan       4  0/2/0/0/7/0  btlan    CLAIMED     INTERFACE    HP A5506B PCI 10/100Base-TX 4 Port                          /dev/diag/lan4  /dev/ether4     /dev/lan4 root@hpeos003[] 

The main configuration file for APA is /etc/rc.config.d/hp_apaconf . Let's take a quick look at how the configuration parameters are set after installation:

 

 root@hpeos003[]  tail /etc/rc.config.d/hp_apaconf  ##################################################################### ########################################################################### #  The HP_APA_INIT_ARGS are reserved by HP. They are NOT user changable. HP_APA_START_LA_PPA=900 HP_APA_DEFAULT_PORT_MODE=MANUAL HP_APA_INIT_ARGS="HP_APA_LOAD_BALANCE_MODE HP_APA_GROUP_CAPABILITY HP_APA_HOT_STANDBY graphics/ccc.gif HP_APA_MANUAL_LA HP_APA_INIT HP_APA_KEY" # End of hp_apaconf configuration file root@hpeos003[] 

As we can see, the HP_APA_DEFAULT_PORT_MODE is set to MANUAL . This is the recommended setting because it allows you to configure the HP_APA_DEFAULT_PORT_MODE to whatever we see fit. If the HP_APA_DEFAULT_PORT_MODE is not set, each port's configuration mode will default to FEC_AUTO, i.e., Cisco's proprietary Fast EtherChannel (FEC/PAgP) technology. We can override the HP_APA_DEFAULT_PORT_MODE by specifying an individual port's configuration mode via the HP_APAPORT_CONFIG_MODE setting.

We can also see that HP_APA_START_LA_PPA has been set to 900. This means that by default HP APA should have created some additional network devices to support HP APA with a default device name starting at lan900 .

 

 root@hpeos003[]  lanscan  Hardware Station        Crd Hdw   Net-Interface  NM  MAC     HP-DLPI DLPI Path     Address        In# State NamePPA        ID  Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER    Yes     119 0/2/0/0/4/0 0x00306E467BF0 1    UP    lan1 snap1       2    ETHER Yes     119 0/2/0/0/5/0 0x00306E467BF1 2    UP    lan2 snap2       3    ETHER Yes     119 0/2/0/0/6/0 0x00306E467BF2 3    UP    lan3 snap3       4    ETHER Yes     119 0/2/0/0/7/0 0x00306E467BF3 4    UP    lan4 snap4       5    ETHER Yes     119   LinkAgg0 0x000000000000 900  DOWN  lan900 snap900   8    ETHER    Yes     119     LinkAgg1 0x000000000000 901  DOWN  lan901 snap901   9    ETHER    Yes     119     LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER    Yes     119     LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER    Yes     119     LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER    Yes     119   root@hpeos003[] 

As you can see, all links are currently DOWN, meaning that I have some work to do to get them up and running. This can be due to the link-speed and duplexity settings not being the same for all ports, and my switch/hub is not supporting the relevant APA technologies. My intention is to utilize the lan900 interface as an aggregate comprising of the physical LAN ports lan1 , lan2 , lan3 , and lan4 .

In my configuration, I have a weird, non-standard switch, so I want to manually configure each port in the aggregate. This means that I will not be using the following:

  • HP_APA_GROUP_CAPABILITY ( FEC_AUTO only) configuration setting. This is an integer value used to determine which network physical ports can be aggregated into a common PAgP link aggregate. Set the group capability to be the same for all network physical ports in the same Link Aggregate. Ports going to different link aggregates should have different group capabilities.

  • HP_APAPORT_KEY ( LACP_AUTO only). This works in a similar way to HP_APA_GROUP_CAPABILITY in that it is an integer value that determines which network physical ports can be aggregated into a common LACP link aggregate. Set the key to be the same for all network physical ports in the same Link Aggregate. Ports going to different link aggregates should have different keys. They must match the value of HP_APA_KEY in the / etc/rc.config.d/hp_apaconf file.

  • Because I am connected to a switch and not a router, I will be using MAC-based load balancing ( LB_MAC instead of LB_IP ).

Here's another aspect of the configuration: I must ensure that the ports destined for the aggregate aren't configured with an IP address currently:

 

 root@hpeos003[]  netstat -in  Name      Mtu  Network         Address         Ipkts   Ierrs Opkts   Oerrs Coll lan0:1    1500 192.168.0.0     192.168.0.13    17      0     12      0     0 lan0      1500 192.168.0.32    192.168.0.33    325     0     364     0     48 lo0       4136 127.0.0.0       127.0.0.1       1752    0     1752    0     0 root@hpeos003[] 

This all looks fine for the moment. What I need to do now is establish a configuration encapsulating the LAN cards destined for the aggregate and associate them with the logical interface lan900 . Here are the entries I have added to the hp_apaconf file:

 

 root@hpeos003[]  vi /etc/rc.config.d/hp_apaconf  ... #####################################################################  HP_APA_INTERFACE_NAME[0]=lan900   HP_APA_LOAD_BALANCE_MODE[0]=LB_MAC   HP_APA_HOT_STANDBY[0]=off   HP_APA_MANUAL_LA[0]="1,2,3,4"  ########################################################################### #  The HP_APA_INIT_ARGS are reserved by HP. They are NOT user changable. HP_APA_START_LA_PPA=900 HP_APA_DEFAULT_PORT_MODE=MANUAL HP_APA_INIT_ARGS="HP_APA_LOAD_BALANCE_MODE HP_APA_GROUP_CAPABILITY HP_APA_HOT_ST ANDBY HP_APA_MANUAL_LA HP_APA_INIT HP_APA_KEY" # End of hp_apaconf configuration file root@hpeos003[] 

I have documented the HOT_STANDBY parameter, even though it defaults to OFF . The LOAD_BALANCE and HOT_STANDBY parameter are mutually exclusive.

Because I am not configuring either FEC_AUTO or LACP_AUTO for any of my ports, I don't need to modify the /etc/rc.config.d/hp_apaportconf file.

Whenever we make changes to the hp_apaconf file, we should stop and then start the software to activate the new configuration:

 

 root@hpeos003[]  /sbin/init.d/hpapa stop  DLPI version is 2          /sbin/init.d/hpapa stopped. root@hpeos003[]  /sbin/init.d/hpapa start  DLPI version is 2          /sbin/init.d/hpapa started.          Please be patient. This may take about 40 seconds.          HP_APA_MAX_LINKAGGS = 50          HP_APA_DEFAULT_PORT_MODE = MANUAL lan900          /usr/sbin/lanadmin  -X -l LB_MAC 900          New Load Balancing = 2          /usr/sbin/lanadmin  -X -y off 900          New Hot Standby = OFF          /usr/sbin/lanadmin  -X  -a 1 2 3 4 900          Added ports:1 2 3 4 to lan900          /sbin/init.d/hpapa Completed successfully. root@hpeos003[] 

I am now in a position to check that this configuration has actually had some effect:

 

 root@hpeos003[]  lanscan -v  ----------------------------------------------------------------------------- Hardware Station        Crd  Hdw   Net-Interface  NM   MAC       HP-DLPI DLPI Path     Address        In#  State NamePPA        ID   Type      Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0     1    ETHER       Yes   119 Extended Station                           LLC Encapsulation Address                                    Methods 0x00306E5C3FF8                             IEEE HPEXTIEEE SNAP ETHER NOVELL Driver Specific Information btlan ----------------------------------------------------------------------------- Hardware Station        Crd  Hdw   Net-Interface  NM   MAC       HP-DLPI DLPI Path     Address        In#  State NamePPA        ID   Type      Support Mjr#   LinkAgg0 0x00306E467BF0 900  UP    lan900 snap900 8    ETHER       Yes   119   Extended Station                           LLC Encapsulation Address                                    Methods 0x00306E467BF0 Driver Specific Information hp_apa ............................................................................. Hardware Crd Hdw   Net-Interface  NM  MAC       HP-DLPI DLPI  Driver Path     In# State NamePPA        ID  Type      Support Mjr#  Name   0/2/0/0/4/0 1   UP    lan1 snap1     2   ETHER     Yes     119   btlan     0/2/0/0/5/0 2   UP    lan2 snap2     3   ETHER     Yes     119   btlan     0/2/0/0/6/0 3   UP    lan3 snap3     4   ETHER     Yes     119   btlan     0/2/0/0/7/0 4   UP    lan4 snap4     5   ETHER     Yes     119   btlan   ------------------------------------------------------------------------------- Hardware Station        Crd  Hdw   Net-Interface  NM   MAC       HP-DLPI DLPI Path     Address        In#  State NamePPA        ID   Type      Support Mjr# LinkAgg1 0x000000000000 901  DOWN  lan901 snap901 9    ETHER       Yes   119 Extended Station                           LLC Encapsulation Address                                    Methods 0x000000000000 Driver Specific Information hp_apa ----------------------------------------------------------------------------- Hardware Station        Crd  Hdw   Net-Interface  NM   MAC       HP-DLPI DLPI Path     Address        In#  State NamePPA        ID   Type      Support Mjr# LinkAgg2 0x000000000000 902  DOWN  lan902 snap902 10   ETHER       Yes   119 Extended Station                           LLC Encapsulation Address                                    Methods 0x000000000000 Driver Specific Information hp_apa ----------------------------------------------------------------------------- Hardware Station        Crd  Hdw   Net-Interface  NM   MAC       HP-DLPI DLPI Path     Address        In#  State NamePPA        ID   Type      Support Mjr# LinkAgg3 0x000000000000 903  DOWN  lan903 snap903 11   ETHER       Yes   119 Extended Station                           LLC Encapsulation Address                                    Methods 0x000000000000 Driver Specific Information hp_apa ----------------------------------------------------------------------------- Hardware Station        Crd  Hdw   Net-Interface  NM   MAC       HP-DLPI DLPI Path     Address        In#  State NamePPA        ID   Type      Support Mjr# LinkAgg4 0x000000000000 904  DOWN  lan904 snap904 12   ETHER       Yes   119 Extended Station                           LLC Encapsulation Address                                    Methods 0x000000000000 Driver Specific Information hp_apa ----------------------------------------------------------------------------- root@hpeos003[] 

From the lanscan output, we can see that lan1 , lan2 , lan3 , and lan4 have effectively gone , being replaced by an UP , lan900 interface, whose MAC address is that of the first port in the aggregate ( lan1 = 0x00306E467BF0 ). We can check the number of ports in the aggregate by using the lanadmin command:

 

 root@hpeos003[]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 4 Ports PPA                 : 1 2 3 4 Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : MAC Address based (LB_MAC) root@hpeos003[] 

The next task would be to set up an IP configuration in the /etc/rc.config.d/ netconf file referring to the lan900 interface. First, I will manually configure and test an IP configuration on the lan900 interface:

 

 root@hpeos003[]  ifconfig lan900 192.168.0.65 netmask 255.255.224.0  root@hpeos003[]  ifconfig lan900  lan900: flags=843<UP,BROADCAST,RUNNING,MULTICAST>         inet 192.168.0.65 netmask ffffe000 broadcast 192.168.31.255 root@hpeos003[]  netstat -in  Name      Mtu  Network         Address         Ipkts   Ierrs Opkts   Oerrs Coll lan0:1    1500 192.168.0.0     192.168.0.13    17      0     12      0     0 lan0      1500 192.168.0.32    192.168.0.33    399     0     460     0     48 lo0       4136 127.0.0.0       127.0.0.1       1752    0     1752    0     0   lan900    1500 192.168.0.0     192.168.0.65    27      0     48      0     0   root@hpeos003[]  netstat -rn  Routing tables Destination           Gateway            Flags   Refs Interface  Pmtu 127.0.0.1             127.0.0.1          UH        0  lo0        4136 192.168.0.33          192.168.0.33       UH        0  lan0       4136 192.168.0.13          192.168.0.13       UH        0  lan0:1     4136   192.168.0.65          192.168.0.65       UH        0  lan900     4136   192.168.0.32          192.168.0.33       U         3  lan0       1500 192.168.0.0           192.168.0.13       U         3  lan0:1     1500   192.168.0.0           192.168.0.65       U         2  lan900     1500   127.0.0.0             127.0.0.1          U         0  lo0           0 default               192.168.0.1        UG        0  lan0:1        0 root@hpeos003[] root@hpeos003[]  ping 192.168.0.65 64 3  PING 192.168.0.65: 64 byte packets 64 bytes from 192.168.0.65: icmp_seq=0. time=0. ms 64 bytes from 192.168.0.65: icmp_seq=1. time=0. ms 64 bytes from 192.168.0.65: icmp_seq=2. time=0. ms ----192.168.0.65 PING Statistics---- 3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms)  min/avg/max = 0/0/0 root@hpeos003[] root@hpeos003[]  ping -o 192.168.0.66 64 3  PING 192.168.0.66: 64 byte packets 64 bytes from 192.168.0.66: icmp_seq=0. time=0. ms 64 bytes from 192.168.0.66: icmp_seq=0. time=0. ms 64 bytes from 192.168.0.66: icmp_seq=0. time=1. ms ----192.168.0.66 PING Statistics---- 1 packets transmitted, 3 packets received, -200% packet loss round-trip (ms)  min/avg/max = 0/0/1 3 packets sent via:         192.168.0.66    - hpeos004.maabof.com         192.168.0.65    - hpeos003.hq.maabof.com root@hpeos003[] 

This appears to be working as expected. I would now want to attempt some performance- related tests to ensure that the architecture is actually giving me the benefits of having a big fat pipe as it claims to. If your switch does not support FEC_AUTO or LACP_AUTO , there is no guarantee that you will experience any improvement in performance. These standards were designed to load-balance network traffic over multiple interfaces. Using MANUAL configuration (as I have done) may give no performance advantage over a single interface configuration.

Another test I would want to undertake is to physically remove a network cable that is part of my aggregate. Just to remind us of how our aggregate is currently functioning, here is the output from lanscan :

 

 root@hpeos003[]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119 LinkAgg0 0x00306E467BF0 900  UP    lan900 snap900   8    ETHER     Yes   119 LinkAgg1 0x000000000000 901  DOWN  lan901 snap901   9    ETHER     Yes   119 LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER     Yes   119 LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[] 

I am going to remove the cable connected to the first interface in my aggregate ( lan1 ). You're going to have to trust me on this, but I have just removed the cable. Here's the output from lanadmin :

 

 root@hpeos003[]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 3   Ports PPA                 : 2 3 4   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : MAC Address based (LB_MAC) root@hpeos003[] 

As you can see, I have lost lan1 from the aggregate. The question is: How has that affected my aggregate? Here's the output from lanscan :

 

 root@hpeos003[]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119 0/2/0/0/4/0 0x00306E467BF0 1    UP    lan1 snap1       2    ETHER  Yes   119 LinkAgg0 0x00306E467BF1 900  UP    lan900 snap900   8    ETHER     Yes   119 LinkAgg1 0x000000000000 901  DOWN  lan901 snap901   9    ETHER     Yes   119 LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER     Yes   119 LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[] 

lan1 has dropped out of the configuration and the aggregate is functioning with the MAC address of the next interface ( lan2 = 0x00306E467BF1 ). The aggregate is still working, as you would expect, albeit with only 3 interfaces instead of 4.

 

 root@hpeos004[]  ping hpeos003 64 5  PING hpeos003.maabof.com: 64 byte packets 64 bytes from 192.168.0.65: icmp_seq=0. time=1. ms 64 bytes from 192.168.0.65: icmp_seq=0. time=1. ms 64 bytes from 192.168.0.65: icmp_seq=0. time=1. ms 64 bytes from 192.168.0.65: icmp_seq=1. time=0. ms 64 bytes from 192.168.0.65: icmp_seq=1. time=0. ms ----hpeos003.maabof.com PING Statistics---- 2 packets transmitted, 5 packets received, -150% packet loss round-trip (ms)  min/avg/max = 0/1/1 root@hpeos004[] 

An interesting observation is that I did not receive any warning or error messages on the system console. However, an ERROR was detected by the Network Tracing and Logging subsystem ( nettl ). We can see this error by formatting the nettl.LOG000 file:

 

 root@hpeos003[]  netfmt -v -f /var/adm/nettl.LOG000  more  ... ************************100 Mb/s LAN/9000 Networking**********************@#%   Timestamp            : Sat Nov 08 GMT 2003 16:14:20.592111   Process ID           : [ICS]              Subsystem        : BTLAN   User ID ( UID )      : -1                 Log Class        : ERROR   Device ID            : 1                  Path ID          : 0   Connection ID        : 0                  Log Instance     : 0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <7002>  10/100BASE-T driver detected bad cable connection between         the adapter in slot(Crd In#) 1 and the hub or switch.   btlan[ 1] [HP A5506B PCI 10/100Base-TX 4 Port]     going Offline @ [0/2/0/0/4/0] [Cable Disconnected]   (Error) The 10/100BASE-T driver detected a cable disconnect        from the adapter to the hub or switch.        Check the cable connection. ============================= LOG File Summary =============================         Node: hpeos003         HP-UX Version: B.11.11 U    Machine Type: 9000/800         Total number of messages: 333         Messages dropped: 21          Data dropped(bytes): 3591         First Message                       Last Message                 Time: 16:09:58.184812           Time: 16:14:20.592111                 Date: 09/16/03                  Date: 11/08/03         Message distribution:                  Disaster:       2                    Error:     331                   Warning:       0              Informative:       0         ~~~~~~~~~~~~~Message distribution by Subsystem~~~~~~~~~~~~~         Subsystem Name: STREAMS              Group Name: STREAMS/UX                  Disaster:       0                    Error:     155                   Warning:       0              Informative:       0   Subsystem Name: HP_APA               Group Name: Auto-Port Aggregatio     Disaster:       2                    Error:     170   Warning:       0              Informative:       0         Subsystem Name: BTLAN                Group Name: 100 Mb/s LAN/9000 Ne                  Disaster:       0                    Error:       6                   Warning:       0              Informative:       0 root@hpeos003[] 

It is now evident that we experienced a cable disconnect. If I were to plug the cable back in, I would expect the aggregate to return to its former configuration.

 

 root@hpeos003[]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 4   Ports PPA                 : 2 3 4 1   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : MAC Address based (LB_MAC)  root@hpeos003[]  root@hpeos003[]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119 LinkAgg0 0x00306E467BF1 900  UP    lan900 snap900   8    ETHER     Yes   119 LinkAgg1 0x000000000000 901  DOWN  lan901 snap901   9    ETHER     Yes   119 LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER     Yes   119 LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[] 

We can see that lan1 has returned to the aggregate but has returned to as the last member in the list, and we are still operating with the MAC address from the lan2 interface. If we think about it, this doesn't matter because this form of round- robin load balancing means that we have no real preference over which interface our packets are transmitted.

15.14.2 A high-availability network configuration

If we have a network configuration where we are using switches that don't support the FEC_AUTO or LACP_AUTO protocols (or in a configuration where we are using hubs instead of switches), we may decide to utilize APA simply to provide automatic failover capability in the event of an individual link failing. This does not exclude FEC_AUTO or LACP_AUTO devices from this configuration, although individual ports will need to be configured as MANUAL ports and we have just demonstrated a level of fault tolerance in the design of load balancing when an individual link fails.

Where we have 802.3 interfaces, the configuration will be very similar to the configuration we have seen already, except it is known as a Hot Standby. If we are using FDDI and/or Token Ring, we will need to configure LAN Monitor Failover Groups. There are subtle differences between a Hot Standby and a LAN Monitor Failover Group. Table 15-10 documents some of the differences.

Table 15-10. Differences between Hot Standby and LAN Monitor

Hot Standby

LAN Monitor

Active Standby architecture. The standby interfaces are used only in the event of a failure.

Active Hot Standby architecture. Packets are exchanges between the Primary and Standby interfaces repeatedly allowing for better detection of non-operational links.

A single MAC address per aggregate.

Each link maintains its own MAC address. The IP address will migrate to a Standby Link in the event of the failure of a Primary link.

Individual 10/100/1000 Base-T links make up an aggregate.

An aggregate can include FDDI and Token Ring interfaces, although a single aggregate cannot mix architectures. An aggregate can include an APA link aggregation device in a failover group.

Maximum of four links in an aggregate.

Up to 32 links in an aggregate.

Use of multiple hubs and/or switches encouraged enhancing High Availability configuration.

Use of multiple hubs and/or switches encouraged enhancing High Availability configuration.


LAN Monitor Failover Groups have been likened to the way that Serviceguard operates Primary and Standby LAN interfaces within a High Availability cluster. The benefit of using APA is that we don't need to implement High Availability clusters in order to implement automatic link-level failover.

15.14.2.1 HOT STANDBY CONFIGURATION

To change our current APA configuration from being a Load Balancing configuration to a Hot Standby configuration, we would do the following:

  1. Ensure that each port has a MANUAL configuration mode, i.e., disable both FEC_AUTO and LACP_AUTO . We may need to update the /etc/rc.config.d/hp_apaportconf file.

  2. Modify our hp_apaconf file to:

    1. Disable any load balancing configuration

    2. Implement Hot Standby for our aggregate

I did not make any changes to the hp_apaportconf file. I need to make the necessary changes to the hp_apaconf file. Here goes:

 

 root@hpeos003[]  vi /etc/rc.config.d/hp_apaconf  ... #####################################################################   HP_APA_INTERFACE_NAME[0]=lan900     HP_APA_HOT_STANDBY[0]=on     HP_APA_MANUAL_LA[0]="1,2,3,4"   ########################################################################### #  The HP_APA_INIT_ARGS are reserved by HP. They are NOT user changable. HP_APA_START_LA_PPA=900 HP_APA_DEFAULT_PORT_MODE=MANUAL HP_APA_INIT_ARGS="HP_APA_LOAD_BALANCE_MODE HP_APA_GROUP_CAPABILITY HP_APA_HOT_ST ANDBY HP_APA_MANUAL_LA HP_APA_INIT HP_APA_KEY" # End of hp_apaconf configuration file root@hpeos003[] 

I am now ready to implement this new configuration:

 

 root@hpeos003[]  /sbin/init.d/hpapa stop  DLPI version is 2 **********************Auto-Port Aggregation/9000 Networking*****************@#% Sat Nov 08 GMT 2003 17:17:05.060159  DISASTER     Subsys:HP_APA       Loc:00000 <1001> HP Auto-Port Aggregation product link aggregation 900 went down ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          /sbin/init.d/hpapa stopped. root@hpeos003[]  /sbin/init.d/hpapa start  DLPI version is 2          /sbin/init.d/hpapa started.          Please be patient. This may take about 40 seconds.          HP_APA_MAX_LINKAGGS = 50          HP_APA_DEFAULT_PORT_MODE = MANUAL lan900          /usr/sbin/lanadmin  -X -y on 900          New Hot Standby = ON          /usr/sbin/lanadmin  -X  -a 1 2 3 4 900          Added ports:1 2 3 4 to lan900          /sbin/init.d/hpapa Completed successfully. root@hpeos003[]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 4 Ports PPA                 : 1 2 3 4 Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : Hot Standby (LB_HOT_STANDBY) root@hpeos003[] 

This change is disruptive and would have dropped any live network connections. However, my IP configuration should now be alive for my new lan900 device:

 

 root@hpeos003[]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119 LinkAgg0 0x00306E467BF0 900  UP    lan900 snap900   8    ETHER     Yes   119 LinkAgg1 0x000000000000 901  DOWN  lan901 snap901   9    ETHER     Yes   119 LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER     Yes   119 LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[] root@hpeos003[]  netstat -in  Name      Mtu  Network         Address         Ipkts   Ierrs Opkts   Oerrs Coll lan0:1*   1500 192.168.0.0     192.168.0.13    113     0     106     0     0 lan0      1500 192.168.0.32    192.168.0.33    734     0     845     0     70 lo0       4136 127.0.0.0       127.0.0.1       1754    0     1754    0     0 lan900    1500 192.168.0.0     192.168.0.65    284811  0     73624   0     0 root@hpeos003[]  ifconfig lan900  lan900: flags=843<UP,BROADCAST,RUNNING,MULTICAST>         inet 192.168.0.65 netmask ffffe000 broadcast 192.168.31.255 root@hpeos003[] root@hpeos004[]  ping hpeos003 64 5  PING hpeos003.maabof.com: 64 byte packets 64 bytes from 192.168.0.33: icmp_seq=0. time=0. ms 64 bytes from 192.168.0.33: icmp_seq=1. time=0. ms 64 bytes from 192.168.0.33: icmp_seq=2. time=0. ms 64 bytes from 192.168.0.33: icmp_seq=3. time=0. ms 64 bytes from 192.168.0.33: icmp_seq=4. time=0. ms ----hpeos003.maabof.com PING Statistics---- 5 packets transmitted, 5 packets received, 0% packet loss round-trip (ms)  min/avg/max = 0/0/0 root@hpeos004[] 

If I were to remove my lan1 cable again, I would expect lan900 to adopt the MAC address of lan2 (as before):

 

 root@hpeos003[]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 3   Ports PPA                 : 2 3 4   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : Hot Standby (LB_HOT_STANDBY) root@hpeos003[]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119   0/2/0/0/4/0 0x00306E467BF0 1    UP    lan1 snap1       2    ETHER  Yes   119     LinkAgg0 0x00306E467BF0 900  UP    lan900 snap900   8    ETHER     Yes   119   LinkAgg1 0x000000000000 901  DOWN  lan901 snap901   9    ETHER     Yes   119 LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER     Yes   119 LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[] 

As you can see, a Hot Standby operates in a very similar fashion to a normal APA aggregate, except (1) we gain no load balancing performance benefits and (2) the aggregate is emulating the MAC address of the primary link. We can influence the choice of the Primary link in the aggregate by using the HP_APA_PORTPRIORITY setting in the hp_apaportconf file. The higher the priority, the more important the link. The port with highest priority becomes the Primary interface in the aggregate.

15.14.2.2 LAN MONITOR CONFIGURATION

A LAN Monitor configuration offers far more flexibility in its configuration than a simple Hot Standby. Many people liken the LAN Monitor configuration to the Standby LAN card configuration in Serviceguard. The benefit of LAN Monitor is that you don't need to implement a High Availability cluster to achieve the benefits of automatic link-level failover.

LAN Monitor supports all LAN technologies: 10/100/1000Base-T, FDDI, and Token Ring, although a single aggregate must be comprised of the same technology. LAN Monitor also supports the use of link aggregates as devices within a Failover Group. A Failover Group is the name given to an aggregate composed of individual links that offers automatic link-level recovery.

The configuration of a Failover Group starts with the hp_apaportconf file. However, the definition of the Failover Group(s) is stored in the ASCII file /etc/lanmon/lanconfig.ascii . Once we have defined our Failover Groups, we apply the configuration with commands such as lancheckconf , lanqueryconf , lanapplyconf , and landeleteconf .

Before we use lanapplyconf , the aggregate must have an IP address applied to the Primary interface. For this example, I have an IP configuration applied to lan1 . I will configure a Failover Group where lan1 is the Primary interface and lan2 will be configured as the Standby interface. Let's look at the commands involved. First, I will define all ports that will operate in LAN_MONITOR mode.

 

 root@hpeos003[]  vi /etc/rc.config.d/hp_apaportconf  ... #####################################################################   HP_APAPORT_INTERFACE_NAME[0]=lan1     HP_APAPORT_CONFIG_MODE[0]=LAN_MONITOR     HP_APAPORT_INTERFACE_NAME[1]=lan2     HP_APAPORT_CONFIG_MODE[1]=LAN_MONITOR   ########################################################################## #  The HP_APAPORT_INIT_ARGS are reserved by HP. They are NOT user changable. HP_APAPORT_INIT_ARGS="HP_APAPORT_GROUP_CAPABILITY HP_APAPORT_PRIORITY graphics/ccc.gif HP_APAPORT_CONFIG_MODE HP_APAPORT_KEY HP_APAPORT_SYSTEM_PRIORITY" # End of hp_apaportconf configuration file root@hpeos003[] 

LAN_MONITOR mode simply turns off FEC_AUTO and LACP_AUTO and assumes that you will be adding the interfaces into an aggregate manually with commands such as lanapplyconf . Later, we will use existing aggregates to create a Failover Group.

We can run the command lanqueryconf “s that will probe all network interfaces on the system and produce a lanconfig.ascii file with predefined failover groups and likely candidates for each group. If you have Serviceguard installed on your system, none of the LAN Monitor commands will work even if Serviceguard is installed but not running.

 

 root@hpeos003[]  lanqueryconf -s  lanqueryconf : ServiceGuard is installed on the system. Cannot run LAN Monitor Commands root@hpeos003[] 

If you really don't want to swremove Serviceguard at this point, then simply rename the directory /etc/cmcluster . There is a sample configuration file in the /etc/lanmon directory:

 

 root@hpeos003[]  cd /etc/lanmon  root@hpeos003[lanmon]  ll  total 2 -rw-r--r--   1 bin        bin            772 Dec 10  2001 lanconfig.ascii.sample root@hpeos003[lanmon]  cp lanconfig.ascii.sample lanconfig.ascii  root@hpeos003[lanmon] root@hpeos003[lanmon]  vi lanconfig.ascii  # ******************************************************** # *********** LAN MONITOR CONFIGURATION FILE ************* # *** For complete details about the parameters and how ** # *** to set them, consult the lanqueryconf(1m) manpage ** # *** or your manual.                                ** # ******************************************************** NODE_NAME                       hpeos003 POLLING_INTERVAL                10000000 DEAD_COUNT                      3 FAILOVER_GROUP                  lan900         STATIONARY_IP   192.168.0.65         PRIMARY         lan1    5         STANDBY         lan2    3 root@hpeos003[lanmon] 

As you can see, the configuration isn't difficult. Here are some definitions for the configuration parameters:

NODE_NAME : This is the system name of this node and should be the first line in the file.

FAILOVER_GROUP : This is the aggregate name that will form a single Failover Group. This may be specified repeatedly for all of the link aggregates in the system.

PRIMARY/STANDBY : This is the LAN interface (for example, lan0 , lan1 ). This may be specified repeatedly for all applicable LAN interfaces in the Failover Group. They can be specified only for Failover Groups that have more than one link. These interfaces belong to the last FAILOVER_GROUP that was mentioned. The last parameter is the port priority that will be assigned to the port. The port with an IP address assigned is taken to be primary. Port priority can be used to select which port will be used in the event of a failure.

STATIONARY_IP : This is the IP address dedicated to the link aggregate. This is a required field and must be set for the primary link before running lanapplyconf .

POLLING_INTERVAL : This is the number of microseconds between polling messages. Polling messages are sent between links in the specified interval for monitoring the health of all the links in the link aggregate. The default is 10,000,000 (10 seconds). It may occur more than once in the configuration file. An aggregate's polling interval is set to the most recent that is read.

DEAD_COUNT : This is the number of polling packets that are missed before deciding to send a nettl message to the user that the link may have problems and the network should be checked for problems. Default is 3.

I am now ready to apply this configuration. I could simply use the lanpplyconf or use the startup script in /sbin/init.d . As part of the configuration, lanpplyconf will make a binary equivalent of the lanconfig.ascii file. The binary file is simply called lanconfig .

To ensure that there is no preexisting APA configuration lurking around, I will stop and then start the entire configuration.

 

 root@hpeos003[lanmon]  /sbin/init.d/hpapa stop  DLPI version is 2          /sbin/init.d/hpapa stopped. root@hpeos003[lanmon]  /sbin/init.d/hplm stop  DLPI version is 2 ERROR: Unable to open /etc/lanmon/lanconfig for reading. errno = 2          /sbin/init.d/hplm stopped. root@hpeos003[lanmon] root@hpeos003[lanmon]  /sbin/init.d/hpapa start  DLPI version is 2          /sbin/init.d/hpapa started.          Please be patient. This may take about 40 seconds.          HP_APA_MAX_LINKAGGS = 50          HP_APA_DEFAULT_PORT_MODE = MANUAL          /usr/sbin/hp_apa_util -S 1 LAN_MONITOR          /usr/sbin/hp_apa_util -S 2 LAN_MONITOR          /sbin/init.d/hpapa Completed successfully. root@hpeos003[lanmon] root@hpeos003[lanmon]  /sbin/init.d/hplm start  DLPI version is 2          /sbin/init.d/hplm started. Reading ASCII file /etc/lanmon/lanconfig.ascii Creating Fail-Over Group lan900 Updated binary file /etc/lanmon/lanconfig          /sbin/init.d/hplm Completed successfully. root@hpeos003[lanmon] 

I now have a Failover Group that utilizes the lan900 interface:

 

 root@hpeos003[lanmon]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119 0/2/0/0/6/0 0x00306E467BF2 3    UP    lan3 snap3    4    ETHER     Yes   119 0/2/0/0/7/0 0x00306E467BF3 4    UP    lan4 snap4    5    ETHER     Yes   119 LinkAgg0 0x00306E467BF0 900  UP    lan900 snap900   8    ETHER     Yes   119 LinkAgg1 0x000000000000 901  DOWN  lan901 snap901   9    ETHER     Yes   119 LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER     Yes   119 LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[lanmon] root@hpeos003[lanmon]  ifconfig lan900  lan900: flags=843<UP,BROADCAST,RUNNING,MULTICAST>         inet 192.168.0.65 netmask ffffffe0 broadcast 192.168.0.95 root@hpeos003[lanmon] root@hpeos003[lanmon] root@hpeos003[lanmon]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 2   Ports PPA                 : 1 2   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : Hot Standby (LB_HOT_STANDBY) root@hpeos003[lanmon]  lanadmin -x -p 1 900  **** PORT NUMBER: 1 ******* Port Mode                 : LAN_MONITOR Port State                : PROTOCOL OFF Port Group Capability     : 5   Port Priority             : 5   root@hpeos003[lanmon]  lanadmin -x -p 2 900  **** PORT NUMBER: 2 ******* Port Mode                 : LAN_MONITOR Port State                : PROTOCOL OFF Port Group Capability     : 5 Port Priority             : 3 root@hpeos003[lanmon] 

If I were to lose my connection to lan1 , lan2 would take over. Unlike our other aggregates where we didn't receive any messages on the system console, when a link fails in a Failover Group, we receive a message on the system console of the following form:

 

 ********************Auto-Port Aggregation/9000 Networking*****************@#% Sun Nov 09 GMT 2003 17:45:46.420009  DISASTER     Subsys:HP_APA       Loc:00000 <1006> HP Auto-Port Aggregation product found that ports in failover           group lan900 are no longer connected to each other. Port 2 did           not receive any poll packets. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

Upon receiving the message on the system console, I could investigate which ports are still part of the aggregate by using the lanadmin command:

 

 root@hpeos003[lanmon]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 1   Ports PPA                 : 2   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : Hot Standby (LB_HOT_STANDBY) root@hpeos003[lanmon] 

From this, you should be able to deduce that I have had a problem with lan1 . The truth is that I pulled the cable out of the switch that was connected to lan1 . The IP address is still accessible. Nodes communicating with this IP address will be sent an ARP packet telling them to flush the ARP Cache for this entry. Nodes now communicating with this IP address will need to renew their ARP Cache for the associated MAC address. Here we can see that a node is now using the MAC address for lan2 to communicate with IP address 192.168.0.65:

 

 root@hpeos004[]  ping 192.168.0.65 64 3  PING 192.168.0.65: 64 byte packets 64 bytes from 192.168.0.65: icmp_seq=0. time=0. ms 64 bytes from 192.168.0.65: icmp_seq=1. time=0. ms 64 bytes from 192.168.0.65: icmp_seq=2. time=0. ms ----192.168.0.65 PING Statistics---- 3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms)  min/avg/max = 0/0/0 root@hpeos004[]  arp -an  (192.168.0.33) at 0:30:6e:5c:3f:f8 ether  (192.168.0.1) at 0:c:76:24:c7:69 ether   (192.168.0.65) at 0:30:6e:46:7b:f1 ether   (192.168.0.70) at 0:8:74:e5:86:be ether  (192.168.0.70) at 0:8:74:e5:86:be ether  (192.168.0.1) at 0:c:76:24:c7:69 ether root@hpeos004[] 

Should the failed link come back online, it will return to the aggregate automatically (as you would expect). While this configuration has obvious advantages for High Availability, the really clever part of LAN Monitor is when you combine it with existing aggregates to achieve that nirvana of both High Availability and Performance.

15.14.2.3 USING EXISTING AGGREGATES IN A FAILOVER GROUP

This configuration will consume a large number of network cards/ports. When we are trying to achieve both High Availability and Performance, we have to accept the old adage " There's no such thing as a free lunch ." By the end of this configuration, we will have three aggregates supporting a single IP address (see Figure 15-5).

Figure 15-5. LAN Monitor using existing aggregates.

graphics/15fig05.jpg


A human-readable interpretation of this could be:

  • lan900 is a load balancing aggregate made up of a number (two, in this case) of individual interfaces.

  • lan901 is a load balancing aggregate made up of a number (two, in this case) of individual interfaces.

  • We apply our IP configuration to lan900 ; lan901 will be our Standby interface in the event of a failure of lan900 .

  • lan902 is a Failover Group consisting of two interfaces: lan900 and lan901 .

  • We are using interconnected switches to avoid the switch being a Single Point Of Failure.

If we were really clever with our hardware configuration (and our server supported it), we could choose LAN cards located in different IO cardcages (but that only really applies to partitionable servers). Let's look at putting this configuration into practice. First, we create our load balancing aggregates:

 

 root@hpeos003[lanmon]  vi /etc/rc.config.d/hp_apaportconf  ... ##################################################################### HP_APAPORT_INTERFACE_NAME[0]=lan1 HP_APAPORT_CONFIG_MODE[0]=MANUAL HP_APAPORT_INTERFACE_NAME[1]=lan2 HP_APAPORT_CONFIG_MODE[1]=MANUAL HP_APAPORT_INTERFACE_NAME[2]=lan3 HP_APAPORT_CONFIG_MODE[2]=MANUAL HP_APAPORT_INTERFACE_NAME[3]=lan4 HP_APAPORT_CONFIG_MODE[3]=MANUAL ########################################################################## #  The HP_APAPORT_INIT_ARGS are reserved by HP. They are NOT user changable. HP_APAPORT_INIT_ARGS="HP_APAPORT_GROUP_CAPABILITY HP_APAPORT_PRIORITY graphics/ccc.gif HP_APAPORT_CONFIG_MODE HP_APAPORT_KEY HP_APAPORT_SYSTEM_PRIORITY" # End of hp_apaportconf configuration file root@hpeos003[lanmon] 

In my case, I am using MANUAL port mode. I would change this as appropriate for the switch I was using, i.e., FEC_AUTO or LACP_AUTO . I can now define my lan900 and lan901 aggregates:

 

 root@hpeos003[lanmon]  vi /etc/rc.config.d/hp_apaconf  ##################################################################### HP_APA_INTERFACE_NAME[0]=lan900 HP_APA_LOAD_BALANCE_MODE[0]=LB_MAC HP_APA_HOT_STANDBY[0]=off HP_APA_MANUAL_LA[0]="1,2" HP_APA_INTERFACE_NAME[1]=lan901 HP_APA_LOAD_BALANCE_MODE[1]=LB_MAC HP_APA_HOT_STANDBY[1]=off HP_APA_MANUAL_LA[1]="3,4" ########################################################################### #  The HP_APA_INIT_ARGS are reserved by HP. They are NOT user changable. HP_APA_START_LA_PPA=900 HP_APA_DEFAULT_PORT_MODE=MANUAL HP_APA_INIT_ARGS="HP_APA_LOAD_BALANCE_MODE HP_APA_GROUP_CAPABILITY HP_APA_HOT_STANDBY graphics/ccc.gif HP_APA_MANUAL_LA HP_APA_INIT HP_APA_KEY" # End of hp_apaconf configuration file root@hpeos003[lanmon] 

I can now apply this part of the configuration:

 

 root@hpeos003[lanmon]  /sbin/init.d/hplm stop  DLPI version is 2 Clearing Fail-Over Group lan900 Deleted binary file /etc/lanmon/lanconfig          /sbin/init.d/hplm stopped. root@hpeos003[lanmon]  /sbin/init.d/hpapa stop  DLPI version is 2          /sbin/init.d/hpapa stopped. root@hpeos003[lanmon] root@hpeos003[lanmon]  ifconfig lan1 unplumb  root@hpeos003[lanmon]  ifconfig lan900 unplumb  root@hpeos003[lanmon]  /sbin/init.d/hpapa start  DLPI version is 2          /sbin/init.d/hpapa started.          Please be patient. This may take about 40 seconds.          HP_APA_MAX_LINKAGGS = 50          HP_APA_DEFAULT_PORT_MODE = MANUAL          /usr/sbin/hp_apa_util -S 1 MANUAL          /usr/sbin/hp_apa_util -S 2 MANUAL          /usr/sbin/hp_apa_util -S 3 MANUAL          /usr/sbin/hp_apa_util -S 4 MANUAL lan900          /usr/sbin/lanadmin  -X -l LB_MAC 900          New Load Balancing = 2          /usr/sbin/lanadmin  -X -y off 900          New Hot Standby = OFF          /usr/sbin/lanadmin  -X  -a 1 2 900          Added ports:1 2 to lan900 lan901          /usr/sbin/lanadmin  -X -l LB_MAC 901          New Load Balancing = 2          /usr/sbin/lanadmin  -X -y off 901          New Hot Standby = OFF          /usr/sbin/lanadmin  -X  -a 3 4 901          Added ports:3 4 to lan901          /sbin/init.d/hpapa Completed successfully. root@hpeos003[lanmon] 

I should now have two aggregates up and running.

 

 root@hpeos003[lanmon]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119   LinkAgg0 0x00306E467BF0 900  UP    lan900 snap900   8    ETHER     Yes   119     LinkAgg1 0x00306E467BF2 901  UP    lan901 snap901   9    ETHER     Yes   119   LinkAgg2 0x000000000000 902  DOWN  lan902 snap902   10   ETHER     Yes   119 LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[lanmon]  lanadmin -x -v 900  Link Aggregate PPA #      : 900 Number of Ports           : 2   Ports PPA                 : 1 2   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : MAC Address based (LB_MAC) root@hpeos003[lanmon]  lanadmin -x -v 901  Link Aggregate PPA #      : 901 Number of Ports           : 2   Ports PPA                 : 3 4   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 5 Load Balance Mode         : MAC Address based (LB_MAC) root@hpeos003[lanmon] 

We can now apply our IP configuration to lan900 :

 

 root@hpeos003[lanmon]  ifconfig lan900 192.168.0.65 netmask 255.255.255.224  root@hpeos003[lanmon]  ifconfig lan900  lan900: flags=843<UP,BROADCAST,RUNNING,MULTICAST>         inet 192.168.0.65 netmask ffffffe0 broadcast 192.168.0.95 root@hpeos003[lanmon]  netstat -in  Name      Mtu  Network         Address       Ipkts   Ierrs Opkts   Oerrs Coll lan0:1    1500 192.168.0.0     192.168.0.13  11      0     23      0     0 lan0      1500 192.168.0.32    192.168.0.33  12321   0     8068    0     138 lo0       4136 127.0.0.0       127.0.0.1     118     0     118     0     0   lan900    1500 192.168.0.64    192.168.0.65  9       0     9       0     0   root@hpeos003[lanmon] 

To ensure that this IP configuration works over reboots, I would update my /etc/rc.config.d/netconf file to reflect the ifconfig command above. Next is to set up and apply the Failover Group configuration:

 

 root@hpeos003[lanmon]  vi lanconfig.ascii  # ******************************************************** # *********** LAN MONITOR CONFIGURATION FILE ************* # *** For complete details about the parameters and how ** # *** to set them, consult the lanqueryconf(1m) manpage ** # *** or your manual.                                ** # ******************************************************** NODE_NAME                       hpeos003 POLLING_INTERVAL                10000000 DEAD_COUNT                      3 FAILOVER_GROUP                  lan902         STATIONARY_IP   192.168.0.65         PRIMARY         lan900    5         STANDBY         lan901    3 root@hpeos003[lanmon] root@hpeos003[lanmon]  /sbin/init.d/hplm start  DLPI version is 2          /sbin/init.d/hplm started. Reading ASCII file /etc/lanmon/lanconfig.ascii Creating Fail-Over Group lan902 Updated binary file /etc/lanmon/lanconfig          /sbin/init.d/hplm Completed successfully. root@hpeos003[lanmon] 

I should have lost lan900 and lan901 as individual interfaces, but gained a lan902 interface configured with my IP address:

 

 root@hpeos003[lanmon]  lanscan  Hardware Station        Crd  Hdw   Net-Interface    NM   MAC     HP-DLPI DLPI Path     Address        In#  State NamePPA          ID   Type    Support Mjr# 0/0/0/0  0x00306E5C3FF8 0    UP    lan0 snap0       1    ETHER     Yes   119   LinkAgg2 0x00306E467BF0 902  UP    lan902 snap902   10   ETHER     Yes   119   LinkAgg3 0x000000000000 903  DOWN  lan903 snap903   11   ETHER     Yes   119 LinkAgg4 0x000000000000 904  DOWN  lan904 snap904   12   ETHER     Yes   119 root@hpeos003[lanmon] root@hpeos003[lanmon]  netstat -in  Name      Mtu  Network         Address       Ipkts   Ierrs Opkts   Oerrs Coll lan0:1    1500 192.168.0.0     192.168.0.13  11      0     23      0     0 lan0      1500 192.168.0.32    192.168.0.33  12580   0     8229    0     143 lo0       4136 127.0.0.0       127.0.0.1     118     0     118     0     0   lan902    1500 192.168.0.64    192.168.0.65  14      0     12      0     0   root@hpeos003[lanmon] root@hpeos003[lanmon]  lanadmin -x -v 902  Link Aggregate PPA #      : 902 Number of Ports           : 2   Ports PPA                 : 900 901   Link Aggregation State    : LINKAGG MANUAL Group Capability          : 2043239264 Load Balance Mode         : Hot Standby (LB_HOT_STANDBY) root@hpeos003[lanmon] 

We have a load balancing aggregate ( lan900 ) maximizing the throughput of multiple interfaces. Should we lose both ports that constitute lan900 , we will fail over to lan901 . I quite like this configuration.



HP-UX CSE(c) Official Study Guide and Desk Reference
HP-UX CSE(c) Official Study Guide and Desk Reference
ISBN: N/A
EAN: N/A
Year: 2006
Pages: 434

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net