42

Answer to Life, the Universe, and the IT

VIO per SAN Boot und Hitachi Dynamic Link Manager (HDLM)

| 0 comments

VIO per SAN Boot und Hitachi Dynamic Link Manager (HDLM)

Eine IBM p730 ist schon eine schönes System, jedoch gibt es dafür keine split-Backplane Option und daher muss man, wenn man ein dual VIO Setup haben möchte, die VIOs per SAN Boot konfigurieren. Als Storage nutze ich eine HDS HUS130 weshalb ich für das Multipath I/O den Hitachi Dynamic Link Manager (HDLM) benötige. Grundsätzlich genügen auch die ODM-Patches für das native IBM MPIO jedoch bietet der HDLM ein paar mehr Funktionen und vor allem die ALUA (Asymmetric Logical Unit Access) Unterstützung.

Vorbereitungen

Nun geht es los. Die HUS130 ist eingerichtet und eine 100GB LUN (in bisschen groß ich weiß) bereit gestellt, die SAN-Switche haben das passende Zoning und die p730 ist passend verkabelt. Nun wird auf der p730 die LPAR Konfiguration für beide VIOs gemacht. WICHTIG !!! Da AIX die HUS nicht kennt, darf man nur einen Pfad aktivieren. Ich mach das, indem ich am Switch den Port des zweiten Controllers einfach anschalte !!!

Installation

Jetzt kann man den VIO per CD oder NIM installieren. Wenn alles richtig konfiguriert wurde, sieht man eine Platte mit 100GB am FC-Controller auf welche man jetzt installiert. Nach der Installation noch die letzten Updates einspielen und dann rebooten.

Hitachi Dynamic Link Manager (HDLM)

So, jetzt geht es an das Multipath I/O um dann den zweiten Pfad zuschalten zu könnnen. Dafür besorgt man sich entweder direkt von HDS oder von der erhaltenen CD den HDLM. Dieser besteht aus dem ODM-Update Paket (HTCODM3.tar) und dem eigentlichen HDLM (DLManager.mpio.bff).

ODM-Update

Jetzt kann man das ODM-Update Paket entpacken

$ oem_setup_env
# tar xvf HTCODM3.tar
x HTC_FC_ODM_5001I, 409600 bytes, 800 media blocks.
x HTC_FC_ODM_5005U, 153600 bytes, 300 media blocks.
x HTC_FC_ODM_50521U, 153600 bytes, 300 media blocks.
x HTC_FC_ODM_50522U, 51200 bytes, 100 media blocks.
x HTC_FC_ODM_50523U, 51200 bytes, 100 media blocks.

# inutoc .

und dann per smitty installieren.
Vorher sehen uns wir noch kurz mal die Platte an um einen vorher – nachher Verleich zu haben.

# prtconf|grep hdisk1
* hdisk1           U78AB.001.WZSJ4W7-P1-C2-T2-W50060E80103ECA01-L0  Other FC SCSI Disk Drive

Wenn man den HDLM nicht gekauft hat, genügt dieses Update bereits um Multipath I/O mit dem AIX eigenen MPIO zu benutzen.

HDLM installieren

Bevor man den HDLM installiert, muss man die erhaltene Lizenz nach /var/tmp/hdlm_license kopieren. Dann kann man das HDLM-Paket (DLManager.mpio.bff) per smitty installieren. Danach ein reboot und schon sieht es besser aus.

# lslpp -la DLManager.mpio.rte
  Fileset                      Level  State      Description         
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  DLManager.mpio.rte         7.4.0.0  COMMITTED  Dynamic Link Manager

Path: /etc/objrepos
  DLManager.mpio.rte         7.4.0.0  COMMITTED  Dynamic Link Manager

# prtconf|grep hdisk1
* hdisk1           U78AB.001.WZSJ4W7-P1-C2-T2-W50060E80103ECA01-L0  Hitachi Disk Array (Fibre)

Multipathing vorbereiten

Als nächstes muss man noch ein paar Einstellungen ändern damit alles funktioniert.

fast-fail

Um einen schnellen Path-failover zu bekommen muss man das passende fscsin anpassen. Bei mir ist das aktuell fscsi0 und fscsi1 für den failover-Path.

# chdev -l fscsi1 -a fc_err_recov=fast_fail
Method error (/usr/lib/methods/chggen):
        0514-029 Cannot perform the requested function because a
                 child device of the specified device is not in a correct state.

Da das Device ja in Nutzung ist, funktioniert das so nicht. Also dürfen die Änderungen erstmal nur in die ODM und werden beim nächsten reboot dann aktiv.

# chdev -l fscsi0 -P -a fc_err_recov=fast_fail
fscsi0 changed

# chdev -l fscsi1 -P -a fc_err_recov=fast_fail
fscsi1 changed

queue depth

Wenn man schon dabei ist, kann man auch noch was für die Performance machen und die dueue depth anpassen. Hier ebenfalls erst einmal nur in der ODM da die Platte ja aktiv ist.

# chdev -l hdisk1 -P -a queue_depth=8 -a rw_timeout=60
hdisk1 changed

Multipathing nutzen

Jetzt sind wir soweit fertig so dass man den zweiten Pfad hinzuschalten kann. Also nächstes also

  • VIO runterfahren
  • zweiten Pfad aktivieren
  • im SMS den zweiten Pfad als boot device hinzufügen
  • zum test vom zweiten (neuen) Pfad booten
  • Jetzt sollte der VIO vom zweiten Pfad gebootet haben. Hier noch ein par Ausgaben zur Kontrolle.

    Ist der path fast-fail korrekt gesetzt.

    # lsattr -El fscsi1
    attach       switch    How this adapter is CONNECTED         False
    dyntrk       no        Dynamic Tracking of FC Devices        True
    fc_err_recov fast_fail FC Fabric Event Error RECOVERY Policy True
    scsi_id      0x10e00   Adapter SCSI ID                       False
    sw_fc_class  3         FC Class for Fabric                   True
    

    Ist die queue-depth korrket.

    # lsattr -El hdisk1
    PCM            PCM/friend/hitachifcp            N/A                              True
    PR_key_value   0x1f81d0a4c                      Reserve Key                      True
    algorithm      round_robin                      N/A                              True
    clr_q          no                               Device CLEARS its Queue on error True
    dvc_support                                     N/A                              False
    location                                        Location Label                   True
    lun_id         0x0                              Logical Unit Number ID           False
    max_transfer   0x40000                          Maximum TRANSFER Size            True
    node_name      0x50060e80103eca01               FC Node Name                     False
    pvid           00f81d0a468c2c0c0000000000000000 Physical Volume ID               False
    q_err          yes                              Use QERR bit                     False
    q_type         simple                           Queue TYPE                       True
    queue_depth    8                                Queue DEPTH                      True
    reassign_to    120                              REASSIGN time out                True
    reserve_policy PR_exclusive                     Reserve Policy                   True
    rw_timeout     60                               READ/WRITE time out              True
    scsi_id        0x10a00                          SCSI ID                          False
    start_timeout  60                               START UNIT time out              True
    ww_name        0x50060e80103eca01               FC World Wide Name               False
    

    Wie sieht es mit dem HDLM aus.

    # /usr/DynamicLinkManager/bin/dlnkmgr view -sys
    HDLM Version                 : 7.4.0-00
    Service Pack Version         :
    Load Balance                 : on(extended lio)
    Support Cluster              :
    Elog Level                   : 3
    Elog File Size (KB)          : 9900
    Number Of Elog Files         : 2
    Trace Level                  : 0
    Trace File Size (KB)         : 1000
    Number Of Trace Files        : 4
    Path Health Checking         : on(30)
    Auto Failback                : on(60)
    Intermittent Error Monitor   : off
    Dynamic I/O Path Control     : off(10)
    HDLM Manager Ver        WakeupTime
    Alive        7.4.0-00   2013/04/30 01:47:35
    HDLM Alert Driver Ver        WakeupTime          ElogMem Size
    Alive             7.4.0-00   2013/04/30 01:46:35 4000
    HDLM Driver Ver        WakeupTime
    Alive       7.4.0-00   2013/04/30 01:46:35
    License Type Expiration
    Permanent    -
    KAPL01001-I The HDLM command completed normally. Operation name = view, completion time = 2013/04/30 01:48:16
    

    Und nun das wichtigste, sind meine beiden Pfade da.

    # /usr/DynamicLinkManager/bin/dlnkmgr view -cha
    ChaID Product          SerialNumber     ChaPort IO-Count   IO-Errors  Paths  OnlinePaths
    00000 HUS100           92256112         0B          733877          0      1           1
    00001 HUS100           92256112         1A          709544          0      1           1
    KAPL01001-I The HDLM command completed normally. Operation name = view, completion time = 2013/04/30 22:07:09
    

    Super. Alles hat funktioniert und der VIO ist per SAN Boot installiert und mit HDLM für den Multipath I/O konfiguriert.

    Leave a Reply

    Required fields are marked *.


    This site uses Akismet to reduce spam. Learn how your comment data is processed.