6    Fibre Channel

Fibre Channel is designed to carry various command sets and their associated architectures over the same physical interface. Fibre Channel is primarily a transport medium, therefore, independent of the function that it is used for.

The TruCluster Software products use the Fibre Channel Protocol (FCP) for SCSI-3 to use Fibre Channel as the physical interface.

Fibre Channel, with its serial transmission method overcomes the limitations of parallel SCSI by providing:

Fibre Channel uses an extremely high transmit clock frequency to achieve the high data rate. Using optical fibre transmission lines allows the high-frequency information to be sent up to 10 Km, the maximum distance between transmitter and receiver.

Copper transmission lines may be used for shorter distances.

6.1    Basic Fibre Channel Terminology

This section describes the basic Fibre Channel terminology:

Frame

All data is transferred in a packet of information called a frame. A frame is limited to 2112 bytes. If the information consists of more than 2112 bytes, it is divided up into multiple frames.

Node

The source and destination of a frame. A node may be a computer system, redundant array of independent disks (RAID) array controller, or a disk device. Each node has a 64-bit unique node name (worldwide name) that is built into the node when it is built.

N_Port

Each node must have at least one Fibre Channel port from which to send or receive data. This node port is called an N_Port. Each port has a 64-bit unique port name (worldwide name) that is built into the node when it is built.

Fabric

A switch, or multiple interconnected switches, that route frames between the originator node (transmitter) and destination node (receiver). Fabrics do not originate nor are they the final recipient of frames; they pass frames on to the destination.

F_Port

The ports within the fabric (fabric port). The port is called an F_port. Each F_port has a 64-bit unique port name (worldwide name) that is built into the node when it is built.

Link

The physical connection between an N_Port and another N_Port or an N_Port and an F_Port. A link consists of two fibres, one to transmit information and one to receive information. The transmit fibre on one node is the receive fibre on the node at the other end of the link. A link may be optical fibre, coaxial cable, or shielded twisted pair.

6.2    Fibre Channel Topologies

Fibre Channel supports three different interconnect topologies:

Note

It is possible to interconnect an arbitrated loop with fabric, creating a hybrid configuration. The fabric must have ports with loop capabilities (FL_Ports) to attach an arbitrated loop to the fabric. Hybrid configurations are not discussed in this document.

6.2.1    Point-to-Point

The point-to-point topology is the simplest of the Fibre Channel topologies. In a point-to-point topology, one N_Port is connected to another N_Port by a single link.

Frames require no routing; all frames transmitted by one N_Port are received by the other N_Port, and in the same order in which they were sent.

Figure 6-1 shows an example point-to-point topology.

Figure 6-1:  Point-to-Point Topology

6.2.2    Fabric

The fabric topology provides more connectivity than point-to-point topology. The fabric topology allows up to 224 ports to be connected.

The fabric examines the destination address in the frame header and routes the frame to the destination node.

A fabric may consist of a single switch, or there may be several switches interconnected. Each switch contains two or more fabric ports (F_Port) that are interconnected by the fabric switching function, which routes the frame from one F_Port to another F_Port within the fabric.

When an N_Port is connected to a fabric F_Port, the fabric is responsible for the assignment of the Fibre Channel address to the N_Port attached to the fabric. The fabric is also responsible for selecting the route the frame will take, within the fabric, to be delivered to the destination.

When the fabric consists of multiple switches, the fabric may determine an alternate route to ensure that a frame gets delivered to its destination.

Figure 6-2 shows an example fabric topology.

Figure 6-2:  Fabric Topology

6.2.3    Arbitrated Loop Topology

In an arbitrated loop topology, frames are routed around a loop set up by the links between the nodes.

In the arbitrated loop topology, a node port is called an NL_Port (node loop port), and a fabric port is called an FL_Port (fabric loop port).

Figure 6-3 shows an example arbitrated loop topology.

Figure 6-3:  Arbitrated Loop Topology

The arbitrated loop topology is not supported by the TruCluster Software products.

6.3    Fibre Channel Requirements and Restrictions for the TruCluster Products

Refer to the TruCluster Software Products Release Notes for Fibre Channel requirements and restrictions.

6.4    Example Fibre Channel Configurations Supported by the TruCluster Software Products

This section provides diagrams of some of the configurations supported by Tru64 UNIX and TruCluster Software Products Version 1.6.

Figure 6-4 shows a two-node Fibre Channel cluster with a single RA8000 or ESA12000 storage array with dual-redundant HSG80 controllers and a DSGGA Fibre Channel switch.

Figure 6-4:  Fibre Channel Configuration with One Storage Array

Figure 6-5 shows a cluster with a full complement of eight targets on one DSGGA Fibre Channel switch. Each member system represents one target, and each HSG80 represents one target.

Figure 6-5:  Single Switch Configuration with Full Complement

Figure 6-6 shows a cluster configuration with two DSGGA Fibre Channel switches and two RA8000/ESA12000 storage arrays.

Figure 6-6:  Fibre Channel Cluster Configuration with Two Switches

6.5    Installing the Fibre Channel Hardware

This section provides information about installing the Fibre Channel hardware needed for a TruCluster configuration accessing storage over the Fibre Channel.

For more information, see the following documentation:

Ensure that the member systems, the DSGGA Fibre Channel switch, and the HSG80 array controllers are placed within the lengths of the optical cables you will be using.

Note

The maximum length of the optical cable between the KGPSA and the DSGGA switch or switch and the HSG80 array controller is 500 meters short wave multi-mode fibre.

6.5.1    Installing and Setting up the DSGGA Switch

The DSGGA switch supports up to 8 (DS-DSGGA-AA) or 16 (DS-DSGGA-AB) full duplex 1.6025 Gb/sec ports. The ports can be connected to the KGPSA-BC PCI-to-Fibre Channel host adapter or an HSG80 array controller.

The switch has a front panel display and four push buttons that can be used to manage the switch. There are four menus that allow you to configure, operate, obtain status, or test the switch.

The DSGGA Switch also has a 10Base-T Ethernet (RJ45) port. You can use a telnet connection (or Web access) to manage the switch or obtain switch status. You have an expanded set of controls and displays using a telnet connection.

Note

You have to set the IP address and subnet mask from the front panel before you set up a telnet connection or gain Web access to the switch.

The DSGGA switch has slots to accommodate up to 4 (DS-DSGGA-AA) or 8 (DS-DSGGA-AB) plug-in interface modules. Each interface module in turn supports 2 gigabit (Gb) interface converter modules (GBIC). The GBIC module is the electrical-to-optical converter, and supports both 50 and 62.5 micron multi-mode fiber (MMF) using the standard SC connector. Only the 50 micron MMF optical cable is supported for the TruCluster Software Products.

If you need to install additional interface modules, do so before placing the switch in an inaccessible location. Remove the top cover to install the interface modules.

6.5.1.1    Installing the Switch

Ensure that you place the switch within 500 meters of the member systems (with KGPSA PCI-to-Fibre Channel adapter) and the HSG80 array controllers.

The DSGGA switch can be mounted in a 19-in (48.7 cm) rackmount installation or placed on a flat solid surface. The switch is shipped with adhesive rubber feet that you can install to prevent marring the surface.

When you plan the switch location, ensure that you provide access to the switch front. All cables plug into the front of the switch. Also, the control panel display and switches are on the front of the switch.

For an installation, at a minimum, you have to:

  1. Place the switch or install it in the rackmount.

  2. Connect the optical fiber cables.

  3. Connect power to the switch.

  4. Turn on the power. The switch runs a series of power-on self test (POST) tests.

  5. Set the switch IP address, subnet mask (see Section 6.5.1.2.2), and switch name (see Section 6.5.1.2.4). The switch IP address and subnet mask must be set from the front panel. You must use a telnet session to set the switch name.

  6. Reboot the switch (to enable the change in IP address and subnet mask to take effect).

For more installation information, see the COMPAQ StorageWorks Fibre Channel Storage Switch Users Guide.

If you want to manage the switch from a member system, you also need to connect the switch to the Ethernet with a 10Base-T cable and set the Ethernet IP address and subnet mask (see Section 6.5.1.2.2).

6.5.1.2    Managing the DSGGA Switch

You can manage the DSGGA switch and obtain switch status from the front panel, by making a telnet connection, or by web access. The IP address and subnet mask have to be set before you can access the switch with a telnet session or through the web.

Before you can make a telnet connection or access the switch via the web, you must assign an IP address and subnet mask to the Ethernet connection using the front panel.

6.5.1.2.1    Using the DSGGA Switch Front Panel

The DSGGA switch front panel consists of a display and four buttons. The display is normally not activated, but it is activated when any of the buttons are pressed. The display has a timer. After approximately 30 seconds of inactivity, the display will go out.

The four front panel buttons are:

Down--Downward triangle: Moves down the menu or decreases the value being displayed.

Up--Upward triangle: Moves up the menu or increases the value being displayed.

Note

When the up or down buttons are used to increase or decrease a numerical display, the number changes slowly at first, but changes to fast mode if the button is held down. The maximum number displayed is 255. An additional increment at a count of 255 resets the count to 0.

Tab/Esc--Leftward triangle: Allows you to tab through multiple optional functions, for example, the fields in an IP address. You can use this button to abort an entry, which takes you to the previous menu item. If pressed repeatedly, the front panel display will turn off.

Enter--Rightward triangle: Causes the switch to accept the input you have made and move to the next function.

6.5.1.2.2    Setting the Ethernet IP Addresses and Subnet Mask from the Front Panel

Before you telnet to the switch, you must set the Ethernet IP address and subnet mask.

To use the front panel to set the Ethernet address and subnet mask, follow these steps:

  1. Press any of the DSGGA switch front panel buttons to activate the display for the top-level menu. If Configuration Menu is not displayed, press the down button repeatedly until it is displayed:

    Select Menu:
    Configuration Menu
    

    Note

    Pressing the down button selects the next lower top-level menu. The top-level menus are:

    Configuration Menu
    Operation Menu
    Status Menu
    Test Menu
    

  2. Press enter to display the first submenu item in the configuration menu, Ethernet IP address:

    Ethernet IP address:
    10.00.00.10
    --
    

    The underline cursor denotes the selected address field.

    Use the up or down button to increase or decrease the displayed number. Use the Tab/Esc button to select the next field. Modify the address fields until you have the address set correctly.

  3. Use the enter button to accept the value and step to the next submenu item (Ethernet Submask), and then repeat step 2 to set the Ethernet subnet mask.

  4. Press the enter button to accept the Ethernet subnet mask.

  5. Press the Tab/Esc button repeatedly to get back to the configuration menu in the main menu.

    Note

    After changing any configuration menu settings, you must reboot the switch for the change to take effect.

  6. Press the down button to select the Operation Menu:

    Select Menu:
    Operation Menu
    

  7. Press the Enter button to display the first submenu in the Operation Menu:

    Operation Menu:
    Switch Offline
    

    Note

    If the switch is operational, you must place the switch off line before rebooting or you will lose any transmission in progress.

  8. Press the down button until the Reboot submenu item is displayed:

    Operation Menu:
    Reboot
    

  9. Press the Enter button. You are allowed to change your mind and not reboot:

    Reboot
    Accept?    Yes  No
    

  10. Use the Tab/Esc button to select yes to reboot the switch. Press the Enter button to reboot the switch and execute the POST tests.

Refer to the COMPAQ StorageWorks Fibre Channel Storage Switch Users Guide for information on other switch configuration settings.

6.5.1.2.3    Logging Into the Switch with a Telnet Connection

Before you telnet to the DSGGA switch, you must set the Ethernet IP address and subnet mask.

You can use a telnet session to log in to the switch with one of three user names:

The default password for all the user names is password.

You can set the user names and passwords by logging in as the admin user and executing the passwd command. Enter a new user name (if desired) and a new password for the user.

If you forget a password, you can reset the passwords (and user names) to the factory default from the front panel with the Configuration menu Reset to Default submenu item.

The three user names have different levels of privilege, as shown in the following list (in order of least privilege to highest privilege):

Notes

Use Ctrl-H to correct typing errors.

Use the logout command to log out from any telnet connection.

There are three commands that can only be executed from a telnet session:

6.5.1.2.4    Setting the Switch Name via Telnet Session

After you set the Ethernet address and subnet mask, you can use a telnet session to log in to the switch to complete other switch management functions or monitor switch status. For example, if a systems' /etc/hosts file contains an alias for the switches IP address, set the switch name to the alias. This allows you to telnet to the switch name from that system. Telnet from a system that has the IP address in its /etc/hosts file and set the switch address as follows:

# telnet 10.0.0.2
User admin
Passwd        [Return]
:Admin> switchName fcsw1
:Admin> switchName [Return]
fcsw1
:Admin>

Note

When you telnet to the switch the next time, the prompt will include the switch name, for example:

fcsw1:Admin>

6.5.2    Setting up the HSG80 Array Controller for a Fibre Channel Cluster

This section covers setting up the HSG80 controller for operation with Tru64 UNIX and the TruCluster products. For more information on installing the HSG80, see the Compaq StorageWorks HSG80 Array Controller ACS Version 8.4 Configuration and CLI Reference Guide.

To set up an HSG80 for TruCluster operation, follow these steps:

  1. If not already installed, install the HSG80 controller(s) into the RA8000 or ESA1200 storage arrays.

  2. Ensure that the external cache battery (ECB) is connected to the controller cache module(s). If an uninterruptible power supply (UPS) is used instead of the external cache battery, to prevent the controller from periodically checking the cache batteries after power is applied, enter the following command:

    > set this CACHE_UPS
    

    Note

    Setting the controller variable CACHE_UPS for one controller sets it for both controllers.

  3. Install the fibre optics cables between the switch and the HSG80.

  4. Set the power verification and addressing (PVA) ID. Use PVA ID 0 for the enclosure that contains the HSG80 controller(s). Set the PVA ID to 2 and 3 on expansion enclosures (if present). Do not use PVA ID 1.

  5. Remove the program card ESD cover and insert the controller's program card. Replace the ESD cover.

  6. Connect a terminal to the maintenance port on one of the HSG80 controllers. You need a local connection to configure the controller for the first time. The maintenance port supports serial communication with the following default values:

    • 9600 BPS

    • 8 data bits

    • 1 stop bit

    • No parity

  7. Connect the RA8000 or ESA12000 to the power source and apply power.

  8. From the maintenance terminal, use the show this and show other commands to verify that controllers have the current firmware version. See the Compaq StorageWorks HSG80 Array Controller ACS Version 8.4 Maintenance and Service Guide for information on upgrading the firmware.

  9. To ensure proper operation of the HSG80 with Tru64 UNIX and the TruCluster products, set the the controller values as follows:

     set this scsi_version = scsi-2       [1]
     set this nocommand_console_lun       [2]
     set this port_1_profile = plda       [3]
     set this port_1_topology = fabric    [4]
     set this port_2_profile = plda       [3] 
     set this port_2_topology = fabric    [4]
     set other scsi_version = scsi-2      [1]
     set other nocommand_console_lun      [2]
     set other port_1_profile = plda      [3]
     set other port_1_topology = fabric   [4] 
     set other port_2_profile = plda      [3]
     set other port_2_topology = fabric   [4] 
     set failover_copy = this_controller  [5]
    

    1. Specifies the host protocol to use. Also specifies how the Command Console LUN (CCL) is handled. When set to SCSI-2, the CCL is not fixed at a particular location, but floats depending on the configuration. For example, if D0 and D1 are defined on the controller (which map to LUN 0 and LUN 1), then the CCL device will appear at LUN 2. If D2 is then configured, the CCL device will appear at LUN 3. [Return to example]

    2. Disables the virtual LUN used with the command console. [Return to example]

    3. Defines the format used to present and interpret the LUN values in the Fibre Channel command information set. For the value of plda, the LUN number ranges from 0 to 255, and is contained in byte 1 of the 8-byte FCP_LUN field. [Return to example]

    4. Specifies fabric as the switch topology. [Return to example]

    5. Specifies that the failover mode is transparent failover. With transparent failover, controller A (the upper controller) port 1 is active for units D0-D99. Controller A port 2 is passive for units D100-D199. Controller B port 1 is passive for units D0-D99 and active for units D100-D199. [Return to example]

  10. Execute the show connections command to determine the connection name, and then use the connection name to set the operating system and unit offset. In the following example, the connection name is !NEWCON05. The ! (explanation mark) is part of the name.

    > show connections
    Connection                                                            Unit
    Name        Operating System   Controller   Port   Address   Status   Offset
    !NEWCON05   DIGITAL_UNIX       THIS         1      000001    OL this   0
                HOST_ID=1000-0000-C920-A6D9     ADAPTER_ID=1000-0000-C920-A6D9
    > set !NEWCON05 unit_offset = 0                  [1]
    > set !NEWCON05 operating_system = digital_unix  [2]
    > restart this                                   [3]
    > restart other                                  [4]
    

    1. Set the relative offset for LUN numbering to 0. [Return to example]

    2. Specify that the host environment connected to the Fibre Channel port is Tru64 UNIX. [Return to example]

    3. Restart both controllers to cause all changes to take effect. [Return to example]

    Use the show this and show other commands to verify the changes.
  11. Set up the storage sets as required for the applications to be used.

6.5.3    Installing and Configuring the KGPSA PCI-to-Fibre Channel Adapter Module

When you install the KGPSA PCI-to-Fibre Channel adapter module, you have to ensure that it is configured symmetrically. The following sections discuss KGPSA installation and configuration.

6.5.3.1    Installing the KGPSA PCI-to-Fibre Channel Adapter Module

Use the following steps as a guide to installing the KGPSA PCI-to-Fibre Channel adapter module. See the PCI-to-Fibre Channel Host Adapter (KGPSA) User's Guide for more information.

Caution

Static electricity can damage modules and electronic components. Compaq recommends using a grounded antistatic wrist strap and a grounded work surface when handling modules.

  1. If necessary, install the mounting bracket on the KGPSA module. Place the mounting bracket tabs on the component side of the board. Insert the screws from the solder side of the board.

  2. The KGPSA should arrive with the gigabit link module (GLM) installed. If not, close the GLM ejector mechanism. Then, align the GLM alignment pins, alignment tabs, and connector pins with the holes, oval openings, and board socket. Press the GLM into place.

  3. Install the KGPSA in an open 32- or 64-bit PCI slot.

  4. Insert the optical cable SC connectors into the GLM. The SC connectors are keyed to prevent their being plugged in incorrectly. Do not use unnecessary force.

  5. Connect the fiber optic cables to the DSGGA switch.

6.5.3.2    Configuring the KGPSA Adapter

Ensure that each KGPSA adapter is configured into the system symmetrically.

If you are adding Fibre Channel hardware to an existing ASE configuration, boot each member system to single-user mode after all Fibre Channel hardware has been installed, and the fibre optics cables are connected between the switch, KGPSA adapters, and HSG80 RAID controller. Run the ase_fix_config utility to ensure that the emx (KGPSA) adapters are configured symmetrically. For more information on the ase_fix_config utility, see the TruCluster Software Products Software Installation manual.

If this is an new installation and the software has not been installed, install the Fibre Channel hardware. When the TruCluster software is installed, the ase_fix_config utility is used to set up SCSI and fibre channel buses.

6.5.4    Configuring the emx Driver for Fibre Channel Operation

In order for the TruCluster Software Version 1.6 products to operate correctly, the SCSI and Fibre Channel adapters must be configured symmetrically.

The SCSI adapters have to be connected symmetrically, and the KGPSA Fibre Channel adapters (emxn) must also be connected symmetrically. All emx0 adapters must be connected to the same switch, and all emx1 adapters must be connected to the same switch (which is not the same switch that the emx0 adapters are connected to). See Figure 6-6 for an example configuration.

The target ID to worldwide name mapping on each cluster member must to be symmetrically assigned.

For more information on the emx driver, see emx(7).

6.5.4.1    Initial Target ID to Worldwide Name Mapping

After installing Fibre Channel hardware, the target ID to worldwide name mapping is set up, on a first device encountered basis, the first time the member system is booted. The software does the mapping so you do not have to take any action. After the systems are operational, the target ID mapping is written to the emx drivers data and backup files, /etc/emx.db and /etc/emx.db.bak.

The mapping is done on a first device encountered basis, so if you boot all member systems, each system could have a different target ID mapping and the contents of the /etc/emx.db and /etc/emx.db.bak files could be different between systems. To prevent this, the assignment of target ID mapping must be synchronized.

6.5.4.2    Synchronizing the Initial Assignment of Target IDs

To ensure that all cluster member systems have the same target ID mapping at initial boot, follow these steps:

  1. Boot one member system to multi-user mode. The initial target ID mapping takes place, and is written to the emx drivers data and backup files, /etc/emx.db and /etc/emx.db.bak.

  2. Boot all other cluster member systems to single-user mode.

  3. Copy the /etc/emx.db and /etc/emx.db.bak files from the first system to each of the other systems to synchronize the target ID mapping.

  4. Reboot each of the systems at single-user mode to multi-user mode.

Note

You can copy the /etc/emx.db and /etc/emx.db.bak database files in a TruCluster Software configuration because of the requirement for a symmetrical hardware configuration.

6.5.4.3    Files Used to Manage the emx Driver Target ID Mapping Change

The target ID mapping does not change as long as there are no target ID changes or KGPSA adapters replaced. The only time you have to change the target ID to worldwide name mapping is if you add or replace a KGPSA adapter or modify target ID mapping.

Before covering the procedure to modify target ID mapping, you need to know about the files used. For more information on managing target ID mapping and the files used, see emx_data.c(4).

You need to rebuild the kernel after a KGPSA adapter is added or replaced, or if changes are made to target ID assignments. During the kernel build, the /sys/data/emx_data.c file is compiled to place the target ID to worldwide name mapping in the kernel. After booting the new kernel, The updated mapping values are written out to the emx driver data files (/etc/emx.db and /etc/emx.db.bak).

The /sys/data/emx_data.c file contains EMX_FCPID_RECORD entries. Each record provides the mapping for one target on one emx adapter. The file format is:

/*emx? tgtid  FC Port Name                     FC Node Name */
{   0,    0,  0x0050, 0xe11f, 0x0000, 0x310d,  0x0050, 0xe11f, 0x0000, 0x300d },
{   0,    1,  0x0050, 0xe11f, 0x0000, 0x320d,  0x0050, 0xe11f, 0x0000, 0x300d },
{   0,    5,  0x0010, 0x0000, 0x20c9, 0x25ca,  0x0010, 0x0000, 0x20c9, 0x25ca },
{   0,    6,  0x0010, 0x0000, 0x20c9, 0x12ca,  0x0010, 0x0000, 0x20c9, 0x12ca },
{   0,    7,  0x0010, 0x0000, 0x20c9, 0xfec9,  0x0010, 0x0000, 0x20c9, 0xfec9 },
{   1,    0,  0x0050, 0xe11f, 0x0000, 0x310d,  0x0050, 0xe11f, 0x0000, 0x300d },
{   1,    1,  0x0050, 0xe11f, 0x0000, 0x320d,  0x0050, 0xe11f, 0x0000, 0x300d },
{   1,    5,  0x0010, 0x0000, 0x20c9, 0x28a6,  0x0010, 0x0000, 0x20c9, 0x28a6 },
{   1,    6,  0x0010, 0x0000, 0x20c9, 0xaba6,  0x0010, 0x0000, 0x20c9, 0xaba6 },
{   1,    7,  0x0010, 0x0000, 0x20c9, 0x63a7,  0x0010, 0x0000, 0x20c9, 0x63a7 },

The fields, from left to right are:

Note

If you compare the port and node names in the /sys/data/emx_data.c file with those reported by an HSG80 RAID array controller, you will find that the bytes are swapped in the 16-bit values of /sys/data/emx_data.c. For example, consider this worldwide name:

0x0050, 0xe11f, 0x0000, 0x310d, 0x0050, 0xe11f, 0x0000, 0x300d

In /sys/data/emx_data.c. This will be seen at the HSG80 as:

5000-1fe1-0000-0d31-5000-1fe1-0000-0d30

Fortunately, you do not have to type the worldwide names into the /sys/data/emx_data.c. When the emx driver assigns target ID mappings, it writes a text version of the mappings to the /etc/emx.info file. The entries are formatted exactly as you would see them in the /sys/data/emx_data.c file, so you can cut and paste from /etc/emx.info to /sys/data/emx_data.c.

6.5.4.4    Remapping Target IDs After Adding or Replacing a Fibre Channel Adapter

If you shut down an ASE configuration to modify the Fibre Channel by adding or replacing a Fibre Channel device, the target ID mapping has to be modified. Because each device is assigned a worldwide name when it is manufactured, if you replace the emx0 adapter at target ID 6, because the new adapter has a different worldwide name, it would not be seen.

To modify the target ID to worldwide name mappings after adding or replacing a fibre channel adapter, follow these steps:

  1. Boot one member system to single-user mode.

  2. Use an editor to cut and paste the target ID mapping entry for the new device from /etc/emx.info to /sys/data/emx_data.c.

  3. Use the doconfig utility to generate a new kernel. The target IDs are compiled into the kernel from /sys/data/emx_data.c, and later written by the kernel to /etc/emx.db and /etc/emx.db.bak.

    During the compilation, each EMX_FCPID_RECORD in the /sys/data/emx_data.c is checked as follows:

    • If the cam_tgt_id field matches an entry in the existing target ID mappings for the named emx adapter, the existing target ID mapping is deleted.

    • If the device defined by the worldwide name already exists in the target ID mapping for the defined emx adapter, the existing entry is deleted.

    • If the cam_tgt_id is non-negative, the table entry is added to the mapping.

  4. Reboot the system to multi-user mode.

  5. Boot all other member systems to single-user mode.

  6. Copy the new /etc/emx.db and /etc/emx.db.bak files from the first system to all other member systems.

  7. Reboot the other member systems to multi-user mode.

After you create the new target ID to worldwide name mapping, you can remove the mapping from the kernel if you want. Create an empty /sys/data/emx_data.c and rebuild the kernel. The kernel is cleared of target ID mappings, but the /etc/emx.db and /etc/emx.db.bak are not changed. Any subsequent reboots use the on-disk database files.