A P P E N D I X  A

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 Sun StorageTek 2530 Array.



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


This appendix consists of the following sections:


Planning for SAS Single Path Connections

Key requirements to configuring Solaris SAS single path are:

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 following sections.

Follow the procedures in the following order to ensure smooth operations:

SAS OS and Patch Requirements

The Sun StorageTek 2530 arrays supports single path connections with the operating systems and patches listed in 2530 Data Host Requirements.



Note - Solaris 9 and Sun Cluster 3.x are not supported.


Solaris 10 Restrictions


procedure icon  To Collect Host Information

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

# hostname
 csqa221-163
 
 # hostname
 csqa221-168

This example uses two data hosts running Solaris 10 OS.


procedure icon  To Collect Initiator Information

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

# dmesg | grep WWN
 Apr  9 17:02:26 csqa221-163     mpt1: Port 0/PHYs 0-3 (wide-port) WWN: 0x500605b000253410
Apr 9 17:02:26 csqa221-163 mpt1: Port 1/PHYs 4-7 (wide-port) WWN: 0x500605b000253414
# dmesg | grep WWN Apr 9 17:00:38 csqa221-168 mpt3: Port 0/PHYs 0-3 (wide-port) WWN: 0x500605b0000db020
Apr 9 17:00:38 csqa221-168 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  To Collect 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 Sun StorageTek 2540 Array, with a Fibre Channel data path, has built-in drivers with dynamic discovery and multipathing capabilities.

The Sun 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.

 

 

In the examples that follow, the topology is listed in FIGURE A-1

FIGURE A-1 Topology of the 2530 Array and Data Hosts.

Suggested Naming Convention in the Sun StorageTek Common Array Manager Software

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


TABLE A-1 Naming Modification

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 - csqa221-163)

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-csqa221-163-mpt1-3410

i-csqa221-163-mpt1-3414

and

i-csqa221-168-mpt3-b020

i-csqa221-168-mpt3-b024

Hosts

The initiator is associated with a particular:

* Data host (example - csqa221-163)

* 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-csqa221-163-mpt1-3410

vh-csqa221-163-mpt1-3414

and

vh-csqa221-168-mpt3-b020

vh-csqa221-168-mpt3-b024

Host Groups

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

The host is associated with a particular:

* Data host (example - csqa221-163)

* HBA controller (example - mpt1)

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

 

Start with hg- (for host group)

Add data host name

Example -

hg-csqa221-163

hg-csqa221-168

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-csqa221-163 contains 
vh-csqa221-163-mpt1-3410 and
vh-csqa221-163-mpt1-3414 hosts
and
hg-csqa221-168 contains
vh-csqa221-168-mpt3-b020 and
vh-csqa221-168-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-csqa221-163

instead of to

vh-csqa221-163-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

 

csqa221-163

Host group 1 = hg-csqa221-163

Data host2

 

csqa221-168

Host group 2 = hg-csqa221-168

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-csqa221-163-mpt1-3410

Virtual host 1 =

vh-csqa221-163-mpt1-3410

Initiator 0 WWN, last 4 characters

 

0x500605b000253414, 3414, mpt1

Initiator 2 =

i-csqa221-163-mpt1-3414

Virtual host 2 =

vh-csqa221-163-mpt1-3414

# of HBAs in data host2

 

1

-

Initiator 0 WWN, last 4 characters

 

0x500605b0000db020, b020, mpt3

Initiator 3 =

i-csqa221-168-mpt3-b020

Virtual host 3 =

vh-csqa221-168-mpt3-b020

Initiator 0 WWN, last 4 characters

 

0x500605b0000db024, b024, mpt3

Initiator 4 =

i-csqa221-168-mpt3-b024

Virtual host 4 =

vh-csqa221-168-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  To Connect the Host and Array

1. Establish a hand shake between the host and the array

a. Physically connect the cables for your specific topology.

In the steps to follow, it is assumed that connections have been made as per the topology depicted in Figure 1.

b. Issue the following command once from each of the data hosts:

# /usr/sbin/devfsadm

#

If no output displays, the command ran successfully. By executing the above command, a hand shake is established between the data host and the ST2530 array.

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

3. On the New Initiator page, view existing WWNs of initiators in Sun StorageTek Common Array Manager software as shown in FIGURE A-2.



FIGURE A-2 WWN after Using the devised Command.


Configuring Storage in the Sun StorageTek Common Array Manager Software

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

Before you begin, review the following configuration notes:

.


procedure icon  To Configure Storage in the Management Software

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

For more information, review the online help, especially the “Planning for Volume Creation” topic.


FIGURE A-3 Creating New Initiators



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  To Identify 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  To Update 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 that the LUN is currently owned by the controller that the host is not connected to.

If this happens, go to the Volume Details Page for the volume associated with this LUN and change the owner as noted in FIGURE A-4.


FIGURE A-4 Changing Volume Ownership on the Volume Details Page.



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  To Update Single Path Information After Replacing Controllers

1. After replacing the controller, follow the steps to identify the new target id in To Identify the Target ID and To Update the /kernel/drv/sd.conf File.

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