Configuration issues with a Hitachi 5800 fiber attached array and a Sun server running Solaris 2.6 with Veritas Volume Manager 3.02 (supposedly the same for 3.0x less than 3.04).

 

The issue here is Volume Manager and Hitachi dealing with dual paths.  With this model of the array (58xx) and Volume Manager 3.0x using DMP there is a problem that requires load balancing be turned off (the paths need to be configured as active/passive).  This allows DMP to fail to the secondary path in the event that the primary fails but does not allow load balancing between the paths.

 

The Hitachi configuration for active/passive use on Solaris/Volume Manager is set with the following values in the array configuration (this was performed by Hitachi so I don’t have details on why or what most of the settings are).  The information below was retrieved from Sommet and the page numbers are the same as shown in the Sommet GUI.  Items that have BOX to the right are dialog boxes in the GUI.  The indentations show boxes within a box and CHK to the left of an item indicates that this item was checked (selected) in the GUI (options not “checked” are left out below). 

 

 

 

page 1

 

SYSTEM STARTUP ATTRIBUTE BOX

CHK Dual Active Mode

     Data Share Mode BOX

     CHK Not Used

 

Host Connection Mode BOX

CHK TRESPASS Mode

 

page 3

 

Option 1 BOX

     SCSI/FIBRE-channel Common Option BOX

     CHK VxVM mode enable

     CHK SUN Solaris2.5.1 mode enable

 

page 8

INQUIRY Information BOX

Vendor Type "HITACHI"

Product Type "DF400"

     Command Queuing BOX

     CHK ON

 

     Cache Mode BOX

     CHK ALL OFF

 

page 9 

Controller 0

Port Type BOX

CHK Normal

 

page 10

Controller 1

Port Type BOX

CHK Normal

 

 

 

To confuse the issue a little more, Veritas automatically sets up active/active communication if the array is fiber attached.  So if the array is fiber attached you must lie and say that is a SCSI array in the model number information (drop the trailing f, for example DF400F becomes DF400.

 

Indications of a setup problem:

 

# vxdisk list c3t0d0

Device:    c3t0d0s2

devicetag: c3t0d0

type:      sliced

....

....

.... lots of other info

.... then at the end of the output are the interesting items for this issue

....

Multipathing information:

numpaths:   2

c3t0d0s2        state=enabled  

c4t0d0s2        state=enabled  

 

In the above output there is no indication of which path is primary and which is secondary.  Below is what it should look like if properly configured:

 

# vxdisk list c3t0d0

Device:    c3t0d0s2

devicetag: c3t0d0

type:      sliced

....

....

.... lots of other info

.... then at the end of the output are the interesting items for this issue

....

Multipathing information:

numpaths:   2

c3t0d0s2        state=enabled   type=primary

c4t0d0s2        state=enabled   type=secondary

 

Another indication of a problem is the performance.  I cp'd a 6GB directory from one volume configured on the array to another volume on the array while running iostat -xn (below).

 

  r/s  w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device

  0.0  0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c0t6d0

  .

  .

  .

  0.0 21.5    0.0 1341.9  0.0  2.6    0.2  120.3   0  96 c3t0d0

  0.0  0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c3t0d1

  0.0  0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c3t0d2

  0.0 20.4    0.0 1293.4  0.0  2.6    0.0  127.1   0  96 c4t0d0

  .

  .

  .

 

In addition to the bad performance note that both paths are being used.  Below is an example of a proper setup.

 

 

 r/s  w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device

  0.0  0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c0t6d0

  .

  .

  .

  0.0 317.0    0.0 20253.2  0.0  0.6    0.0    2.0   0  54 c3t0d0

  0.0  0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c3t0d1

  0.0  0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c3t0d2

  0.0  0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c4t0d0

  .

  .

  .

 

In addition to the performance boost note that a single path is in use.

 

For fiber attached arrays, the following command can be used to verify that Solaris/Volume Manager see’s the array as SCSI instead of fiber.

 

# format -e

Searching for disks...done

 

 

AVAILABLE DISK SELECTIONS:

       0. c1t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>

          /pci@3,2000/scsi@2/sd@0,0

         .

         .  more stuff

         .

      12. c3t0d0 <HITACHI-DF400F-0000 cyl 3637 alt 2 hd 50 sec 768>

          /pci@2,2000/fibre-channel@2/sd@0,0

      13. c3t0d1 <HITACHI-DF400F-0000 cyl 3637 alt 2 hd 50 sec 768>

          /pci@2,2000/fibre-channel@2/sd@0,1

      14. c3t0d2 <HITACHI-DF400F-0000 cyl 3637 alt 2 hd 50 sec 768>

          /pci@2,2000/fibre-channel@2/sd@0,2

      15. c3t0d3 <HITACHI-DF400F-0000 cyl 3637 alt 2 hd 50 sec 768>

          /pci@2,2000/fibre-channel@2/sd@0,3

      16. c3t0d4 <HITACHI-DF400F-0000 cyl 3637 alt 2 hd 50 sec 768>

          /pci@2,2000/fibre-channel@2/sd@0,4

      17. c3t0d5 <HITACHI-DF400F-0000 cyl 3637 alt 2 hd 50 sec 768>

          /pci@2,2000/fibre-channel@2/sd@0,5

      18. c4t0d0 <HITACHI-DF400F-0000 cyl 3637 alt 2 hd 50 sec 768>

          /pci@6,2000/fibre-channel@2/sd@0,0

         .

         .more stuff

         .

 

Specify disk (enter its number): 12

selecting c3t0d0

[disk formatted]

 

 

FORMAT MENU:

        disk       - select a disk

        type       - select (define) a disk type

        partition  - select (define) a partition table

        current    - describe the current disk

        format     - format and analyze the disk

        repair     - repair a defective sector

        label      - write label to the disk

        analyze    - surface analysis

        defect     - defect list management

        backup     - search for backup labels

        verify     - read and display labels

        save       - save new disk/partition definitions

        inquiry    - show vendor, product and revision

        scsi       - independent SCSI mode selects

        volname    - set 8-character volume name

        !<cmd>     - execute <cmd>, then return

        quit

format> scsi

 

 

Warning:  these functions are intended for expert use only, for

debugging disk devices and for unusual configuration settings.

It is recommended that you do not use this menu for normal disk

configuration and formatting, unless you have explicit instructions,

or know exactly what you are doing.

 

 

SCSI MENU:

        p<n>                   - display a mode sense page

        p<n> b<n> <op> [~]<n>  - change a byte and issue mode select

        b<n> <op> [~]<n>       - add an operation to the mode select list

                                     for the current page

       

                where:  p<n> specifies the page with page code <n>

                        b<n> specifies byte <n> of the page

                        <op> can be one of the following operators:

                             =    (set specified value)

                             |=   (bitwise OR with current value)

                             &=   (bitwise AND with current value)

                        <n> can be a decimal value in the range 0-255,

                        or two hexadecimal digits, in the form 0x<xx>.

                        [~] complements the specified value

       

        apply                  - apply mode select list

        cancel                 - cancel mode select list

        display                - display mode select list

        all                    - display all supported mode sense pages

        default p<n>           - mode select page <n> to default values

        default all            - mode select all pages to default values

        format                 - format without standard mode selects

        inquiry                - display device's inquiry response

        list                   - list common SCSI-2 mode pages

        !<cmd>                 - execute <cmd> , then return

        quit

scsi> inquiry    44 46 34 30 30 20 20 20 20 20 20 20 20 20 20 20     DF400          

    30 30 30 30 31 30 38 31 33 2d 30 30 30 30 30        000010813-00000

 

Vendor:                     HITACHI

Product:                    DF400          

Revision:                   0000

Removable media:            no

Device type:                0

ISO version:                0

ECMA version:               0

ANSI version:               2

Async event notification:   no

Terminate i/o process msg:  no

Response data format:       2

Additional length:          43

Relative addressing:        no

32 bit transfers:           no

16 bit transfers:           yes

Synchronous transfers:      yes

Linked commands:            yes

Command queueing:           yes

Soft reset option:          no

 

 

The key information is the Product line (note it is DF400 instead of DF400F).