A P P E N D I X  A

Feedback SAS Single Path Configuration

This appendix describes special instructions to configure SAS single path connections between a data host running Solaris 10 operating system and a StorageTek 2530 Array.

It is not recommended to have a single controller, single path configuration when uptime and availability are key concerns or requirements.



Note - Multipath and single path configurations are supported for all StorageTek 2500 Series Arrays. Oracle recommends multipath configurations for data availability.




Note - Enclosure Service Modules (ESMs) cannot be used with a duplex 25xx array.


This appendix includes the following main sections:


Planning for SAS Single Path Connections

Key requirements to configuring Solaris SAS single path are:

Important Notes

Before configuring single path, you need to collect host, initiator, and topology information, review the naming conventions, and prepare a table of configuration information as outlined in the sections that follow.

Solaris 10 Restrictions

On Solaris 10 OS, the Target ID is generated from the World Wide Names (WWNs) of both the HBA initiators and the controller ports. Replacing controllers can change the Target ID. Review the file naming after changing controllers to make sure the naming conventions for single path in this document are still met.


procedure icon  Collecting Host Information

1. Issue the hostname command to collect the host information.

# hostname
 hostA
 
 # hostname
 hostB

This example uses two data hosts running Solaris 10 OS.


procedure icon  Collecting Initiator Information

An initiator is a system component that initiates an I/O operation over a Fibre Channel (FC) network. If allowed by FC fabric zoning rules, each host connection within the FC network has the ability to initiate transactions with the storage array. Each host in the FC network represents a separate initiator; therefore, if a host is connected to the system through two host bus adapters (HBAs), the system identifies two different negotiators (similar to multi-homed, Ethernet-based hosts). In contrast, when multipathing is used in round-robin mode, multiple HBAs are grouped together and the multipathing software identifies the group of HBAs as a single initiator.

1. Issue the dmesg command to collect initiator information (the initiator of data on the HBA).

# dmesg | grep WWN
 Apr  9 17:02:26 hostA     mpt1: Port 0/PHYs 0-3 (wide-port) WWN: 0x500605b000253410
 Apr  9 17:02:26 hostA     mpt1: Port 1/PHYs 4-7 (wide-port) WWN: 0x500605b000253414
# dmesg | grep WWN
 Apr  9 17:00:38 hostB     mpt3: Port 0/PHYs 0-3 (wide-port) WWN: 0x500605b0000db020
 Apr  9 17:00:38 hostB     mpt3: Port 1/PHYs 4-7 (wide-port) WWN: 0x500605b0000db024

In each of the above lines in the output is embedded valuable information as shown in the following example:

mpt3: Port 0/PHYs 0-3 (wide-port) WWN: 0x500605b0000db020


Note - The initiator information is printed at boot-up time. If the dmesg command does not return any output, the same information can be obtaining by searching on the WWN string in the /var/adm/messages files.



procedure icon  Collecting Controller and Target ID Information

Use the cfgadm -al command to collect information about the controllers and the Target ID. The scsi-bus code identifies the SAS controller.

 

# cfgadm -al
Ap_Id                          Type         Receptacle   Occupant   Condition
c0                             scsi-bus     connected    configured unknown
c0::dsk/c0t0d0                 disk         connected    configured unknown
c0::dsk/c0t1d0                 disk         connected    configured unknown
c5                             scsi-bus     connected    configured unknown
c5::dsk/c5t9d0                 disk         connected    configured unknown
c5::es/ses2                    disk         connected    configured unknown
c6                             scsi-bus     connected    configured unknown
c6::dsk/c6t9d0                 disk         connected    configured unknown
c6::es/ses3                    disk         connected    configured unknown
unconfigured ok

Planning the Cabling Topology

The StorageTek 2540 Array, with a Fibre Channel data path, has built-in drivers with dynamic discovery and multipathing capabilities.

The StorageTek 2530 Array, if configured for SAS single path, does not have these capabilities. There is no utility to correlate the connections between initiators, HBA ports and controller ports. You have to plan the topology prior to configuring single path connections.

FIGURE A-1 Topology of the 2530 array when connected to data hosts


Figure showing two dual port HBAs connected to 2530 array controllers.

Suggested Naming Convention in the Sun Storage Common Array Manager Software

The following suggests an optional naming convention to assure the initiators are mapped correctly to the volumes. You can use the naming modifications listed in TABLE A-1 in the Sun Storage Common Array Manager software to improve the operations.


TABLE A-1 Naming Modifications in the Sun Storage Common Array Manager Software

CAM

Components

Solaris Single Path Configuration

Naming Modification

Comments

Initiator names

Naming modifications

1. Start with the letter i- to denote that this is an initiator

2. Add data host name (example - hostA)

3. Add the HBA controller information (example - mpt1)

4. Add the last 4 characters of the WWN (example - 3410)

 

Start with i-

Add naming of associated components.

Example -

i-hostA-mpt1-3410

i-hostA-mpt1-3414

and

i-hostB-mpt3-b020

i-hostB-mpt3-b024

Hosts

The initiator is associated with a particular:

* Data host (example - hostA)

* HBA controller (example - mpt1)

* Initiator Port WWN (last four letters, example - 3410)

 

Start with vh- (for virtual host)

Add naming of associated components.

 

Example -

vh-hostA-mpt1-3410

vh-hostA-mpt1-3414

and

vh-hostB-mpt3-b020

vh-hostB-mpt3-b024

Host Groups

In CAM, create one host (virtual host) per initiator

The host is associated with a particular:

* Data host (example - hostA)

* HBA controller (example - mpt1)

* Initiator Port WWN (last four letters, example - 3410)

 

Start with hg- (for host group)

Add data host name

Example -

hg-hostA

hg-hostB

Host Group Restrictions

Include all hosts in the host group with the corresponding data host name.

Naming modifications

Start the volume name with either A- or B- to denote which controller is the preferred controller.

 

Example -

 hg-hostA contains 
 vh-hostA-mpt1-3410 and 
 vh-hostA-mpt1-3414 hosts
  and
 hg-hostB contains 
 vh-hostB-mpt3-b020 and 
 vh-hostB-mpt3-b024 hosts.

Volumes

 

Ensure that all volumes beginning with A- are owned by Controller A and all volumes beginning with B- are owned by Controller B.

Example -

A-vol1, A-vol2 and so on to denote that these volume's preferred owner is Controller A.

Mapping Volumes to Hosts

Map volumes to a host group, not to a host.

(This maps the volume to all hosts in the host group.)

Note - it is especially important with single path that ownership be correct as failover will not occur as it does with multipath.

Naming modifications

Start the volume name with either A- or B- to denote which controller is the preferred controller.

 

Example -

Map A-vol1 to

hg-hostA

instead of to

vh-hostA-mpt1-3410


Completing the Configuration Worksheet

Whether you use the suggested naming strategy or not, you can use the following table as a guideline when collecting all information prior to configuring single path connections.


TABLE A-2 Collect Configuration Information

Component Type

Component Name

Your Value

Example

Result to Add to CAMC

Data host

# hosts

 

2

This information translates to the host groups

Data host1

 

hostA

Host group 1 = hg-hostA

Data host2

 

hostB

Host group 2 = hg-hostB

Initiators

# of HBAs in data host1

 

1

This information translates into initiator names and virtual host names. See Figure A-3.

Initiator 0 WWN, last 4 characters, HBA controller

 

0x500605b000253410, 3410, mpt1

Initiator 1 =

i-hostA-mpt1-3410

Virtual host 1 =

vh-hostA-mpt1-3410

Initiator 0 WWN, last 4 characters

 

0x500605b000253414, 3414, mpt1

Initiator 2 =

i-hostA-mpt1-3414

Virtual host 2 =

vh-hostA-mpt1-3414

# of HBAs in data host2

 

1

-

Initiator 0 WWN, last 4 characters

 

0x500605b0000db020, b020, mpt3

Initiator 3 =

i-hostB-mpt3-b020

Virtual host 3 =

vh-hostB-mpt3-b020

Initiator 0 WWN, last 4 characters

 

0x500605b0000db024, b024, mpt3

Initiator 4 =

i-hostB-mpt3-b024

Virtual host 4 =

vh-hostB-mpt3-b024

Volumes to be owned by Controller A

# of volumes

 

3

Ensure that during mapping to a particular host group, the volumes are owned by Controller A. See Figure A-4.

Volume 1 name

 

A-vol1

Volume 2 name

 

A-vol2

Volume 3 name

 

A-vol3

Volumes to be owned by Controller B

# of volumes

 

2

Ensure that during mapping to a particular host group, the volumes are owned by Controller B.

Volume 4 name

 

B-vol1

Volume 5 name

 

B-vol2

Volume 6 name

 

 



Configuring Single Path Connections

With the information collected, you can now proceed to make the connections and configure the software for single path connections as documented in the following sections:


procedure icon  Connecting the Host and Array

1. Run the /usr/sbin/devfsadm command to disoover devices and load the appropriate driver (if necessary) on the host:

# /usr/sbin/devfsadm

#

If no output displays, the command ran successfully.

2. Log into the Sun Storage Common Array Manager software as outlined in the Sun Storage Common Array Manager Software Installation Guide.

3. On the New Initiator page, view existing WWNs of initiators in Sun Storage Common Array Manager software.

Configuring Storage in the Sun Storage Common Array Manager Software

Follow the usual steps to configure storage in the Sun Storage Common Array Manager software. You can use the suggested naming conventions as you configure.

Before you begin, review the following configuration notes:


procedure icon  Configuring Storage in the Management Software

Use the Sun Storage Common Array Manager software to configure the following:

For more information, review the Online Help.

Adding More Devices

Before the host can see more devices, identify the Target ID and update the /kernel/drive/sd.conf file as noted in the following sections:


procedure icon  Identifying the Target ID

1. Ensure that LUN ID 0 is mapped to a data host correctly as requested in Configuring Single Path Connections.

2. Identify the controllers and Target ID using the cfgadm command, noting which elements have the proper bus.

# cfgadm -al
Ap_Id 	Type         Receptacle   Occupant   Condition
c0 	scci-bus     connected    configured   unknown
c0::dsk/c0t0d0 	disk         connected    configured   unknown
c0::dsk/c0t1d0 	disk         connected    configured   unknown
c5 	scci-bus     connected    configured   unknown
c5::dsk/c5t9d0 	disk         connected    configured   unknown
c5::es/ses2 	disk         connected    configured   unknown
c6 	scci-bus     connected    configured   unknown
c6::dsk/c6t9d0 	disk         connected    configured   unknown
c6::es/ses3 	disk         connected    configured   unknown
unconfigured ok

procedure icon  Updating the /kernel/drv/sd.conf File

1. Edit the /kernel/drv/sd.conf file. Add any additional LUNs for the Target ID.



Note - Add LUN entries to the targets for each of your configured volumes. Adding unnecessary LUN entries to this file will increase boot time.


# 
 name="sd" parent="mpt" target=9 lun=0;
 name="sd" parent="mpt" target=9 lun=1;
 name="sd" parent="mpt" target=9 lun=2;
 name="sd" parent="mpt" target=9 lun=3;
  [ .. ]
 
 name="sd" parent="mpt" target=9 lun=30;
 


Note - LUN 31 (the UTM LUN) cannot be used. Do not add it to the sd.conf file.


2. Reboot the array to place the changes to sd.conf file into effect.

  # reboot -- -r

After reboot, you should be able to see the volumes.

3. Review devices using the format command.

In the format command output for each controller, you should be able to see the Target ID and the LUN. In the example below for controller 5 (c5t9d0), the Target ID is 9 and the LUN is 0.

 
# format
Searching for disks...done
 
 
c3t9d0: configured with capacity of 40.00GB
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@0,0
1. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@1f,700000/pci@0/pci@2/pci@0/pci@8/LSILogic,sas@1/sd@1,0
2. c5t9d0 <SUN-LCSM100_S-0617 cyl 20478 alt 2 hd 64 sec 64>
/pci@1f,700000/pci@0/pci@9/LSILogic,sas@0/sd@9,0
...

4. Before using the volumes, you must label the disks using the format command.

5. After labeling the disk, verify the labels by looking at the detailed partition table using the format verify option.

Troubleshooting Errors When Trying to Establish Communication

If you get an error when attempting to write the label and/or when you are trying to write to a device specifically in a dual controller configuration, it is likely the LUN is currently owned by the controller that the host is not connected to.

If this occurs, go to the Volume Details Page for the volume associated with this LUN and change the owner.


Verifying Single Path Information After Replacing Controllers

Take the following steps to ensure smooth continuation of operations when replacing controllers.

On Solaris 10 OS, the Target ID is generated by using the World Wide Names of both the HBA initiators and the controller ports. When replacing controllers, there is a very high possibility that the Target ID will change. Therefore, caution must be exercised when replacing controllers.

Prior to replacing the controller, note how and where the devices are being used. Typically, a system administrator will either use the devices as raw devices or create file systems on them. When a file system is created, the mount point information is typically placed in the /etc/vfstab file.


procedure icon  Updating Single Path Information After Replacing Controllers

1. After replacing the controller, follow the steps to identify the new Target ID in Identifying the Target ID and Updating the /kernel/drv/sd.conf File.

2. Make changes to /etc/vfstab and any other places to reflect the change in the Target ID.

 

 

Feedback