GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
9. Juli 2015

VIO Server Howto

 

Inhalt

  1. IOS-Befehle unter root ausführen
  2. Welches AIX-Kommando steckt eigentlich hinter den ioscli-Befehlen?

IOS - Information und Wartung

  1. Alle ioscli-Befehle listen
  2. IOS Version
  3. IOS Fixes einspielen
  4. IOS Upgrade-Prozedur
  5. VIO-Server neustarten

Virtualisierter Massespeicher

  1. Freie Platten listen
  2. Disk-Mappings anzeigen
  3. Virtuelle SCSI-Hostadapter erstellen
  4. Virtuelle SCSI-Hostadapter löschen
  5. Platten oder LVs einem virtuellen SCSI-Hostadapter hinzufügen
  6. Platten oder LVs einem virtuellen SCSI-Hostadapter entziehen

Virtualisierter FibreChannel

  1. Virtuelle FibreChannel-Adapter erstellen
  2. Virtuelle FibreChannel listen
  3. NPIV-fähige Ports listen
  4. Physikalischen FC-Adapter einem Hostadapter zuordnen
  5. Zuordnung eines physikalischen FC-Adapter zu einem Hostadapter zurücknehmen

Virtuelle Netzwerkadapter

  1. Shared Ethernet Adapter listen
  2. Shared Ethernet Adapter erstellen
  3. SEA Load Sharing Mode einschalten
  4. Einen SEA Failover manuell einleiten
  5. SEA-Satus abfragen
  6. Linkstatus von Netzwerkkarten abfragen
  7. Lokale IP-Adresse setzen
  8. Lokale IP-Konfiguration löschen

 

1. IOS-Befehle unter root ausführen

IBM möchte eigentlich gar nicht, dass Sie als root auf dem VIO-Server arbeiten, dennoch erhalten Sie volle root-Rechte, wenn Sie

 oem_setup_env

eingeben, noch nicht einmal ein Passwort wird verlangt.

Zunächst einmal stehen die ioscli-Befehle unter root nicht zur Verfügung. In Wahrheit jedoch sind alle ioscli-Befehle eigentlich nur Argumente zu /usr/ios/cli/ioscli. Dies lässt sich sehr schön sehen, wenn Sie sich die alias-Liste des Benutzers padmin ansehen.

Mit diesem Wissen können Sie alle ioscli-Befehle durch ein vorangestelltes /usr/ios/cli/ioscli auch unter root nutzen. Anstelle von »lsmap -all« können Sie nun

 root@vios# /usr/ios/cli/ioscli lsmap -all

eingeben. Mit einem Alias

 alias i=/usr/ios/cli/ioscli

reicht sogar einfach

 root@vios# i lsmap -all

 

2. Welches AIX-Kommando steckt eigentlich hinter den ioscli-Befehlen?

Möchten Sie sich zu jedem Befehl, den Sie als Benutzer padmin ausführen, das entsprechende AIX-Kommando anzeigen lassen, können Sie dazu einen besonderen Debug-Mode nutzen:

 $ export CLI_DEBUG=33

So sieht z.B. die Ausgabe von lsnports  in diesem Modus aus:

 $  lsnports
 AIX: "/usr/lib/methods/viosmgr -t npiv -f query_fc_ports >/dev/null"
 name             physloc                        fabric tports aports swwpns  awwpns
 fcs0             U789C.001.DQDH231-P1-C2-T1          1     64     64   2048    2047
 fcs1             U789C.001.DQDH231-P1-C2-T2          1     64     62   2048    2043

 

IOS - Information und Wartung

1. Alle ioscli-Befehle listen

Geben Sie

 $ help

ein, um alle verfügbaren Befehle aufzulisten. Die Syntax eines speziellen Befehls lässt sich dann mit

 $ help <command>

anzeigen, beispielsweise:

 $ help lsmap
Usage: lsmap {-vadapter ServerVirtualAdapter | -plc PhysicalLocationCode |
             -all} [-type BackingDeviceType ... | -net | -npiv ]
             [-field FieldName ...] [-fmt delimiter]
       lsmap -ams {-vtd PagingDevice | -all}
             [-type BackingDeviceType ... ]
             [-field FieldName ...] [-fmt delimiter]
       lsmap -clustername ClusterName {-all | -hostname}

       Displays the mapping between physical and virtual devices.

       -all          Displays mapping for all the server virtual adapter
                     devices. Defaults to VSCSI adapter devices.

       -clustername  Specifies the cluster name.

       -hostname     Specifies the host name.

       -vadapter     Specifies the server virtual adapter device
                     by device name.

       -plc          Specifies the server virtual adapter device
                     by physical location code.

       -vtd          Specifies the (AMS)Active Memory Sharing
                     Paging Device to be displayed.

       -type         Specifies to display virtual devices whose backing
                     device matches the type given.

       -net          Specifies supplied device is a virtual server
                     Ethernet adapter.

       -npiv         Displays NPIV binding information.

       -ams          Displays (AMS)Active Memory Sharing paging space
                     device information.

       -field        Specifies a list of fields to be displayed.

       -fmt          Divides output by a user-specified delimiter.

 

2. IOS Version

 $ ioslevel
 2.2.0.10-FP-24

 

3. IOS Fixes einspielen

Kopieren Sie den IOS-Fixpack in ein geeignetes Verzeichnes, lokal oder auf einem NFS-Server, (z.B. /mnt/iosfixes) und führen Sie dann folgendes Kommando aus:

 $ updateios -dev /mnt/iosfixes -accept

 

4. IOS Upgrade-Prozedur

Es ist dringend anzuraten zunächst die laufende Installation auf 2 freie Platten (hier hdisk2 und hdisk3) zu klonen, damit man bei Problemen oder Fehlern wieder auf die alte Installation zurück gehen kann:

 $ oem_setup_env
 # alt_disk_copy -B -d "hdisk2 hdisk3"
 # exit

Lesen Sie die Release_Notes. Eventuell muss der Upgrade in mehreren Schritten erfolgen (z.B. erst auf 2.2.2.1 und dann auf 2.2.2.5).

Kopieren Sie dann die IOS-Updates in ein geeignetes Verzeichnes, lokal oder auf einem NFS-Server, (z.B. /updates/2.2.2.5) und führen folgende Kommandos aus:

 $ updateios -commit
 $ updateios -dev /updates/2.2.2.5 -accept -install
 $ shutdown -restart

 

5. VIO-Server neustarten

 $ shutdown -restart

 

Virtualisierter Massespeicher

1. Freie Platten listen

 $ lspv -free
 NAME            PVID                                SIZE(megabytes)
 hdisk24         none                                8631
 hdisk25         none                                8631
 hdisk26         none                                8631
 hdisk27         none                                8631

Aber Achtung: Verwenden Sie spzielle Multipath-Treiber von Drittanbietern (etwa die SDD- oder EMC-Treiber), zeigt der obige Befehl alle hdisks als unbenutzt an! Schränken Sie die Ausgabe auf die logischen Platten ein. z.B.:

 $ lspv -free | grep vpath

 

2. Disk-Mappings anzeigen

 $ lsmap -all 
 
 SVSA            Physloc                                      Client Partition ID
 --------------- -------------------------------------------- ------------------
 vhost1          U9117.570.65E12FB-V1-C102                    0x0000000a

 VTD                   vtscsi1
 LUN                   0x8100000000000000
 Backing device        hdisk6
 Physloc               U7879.001.DQDHXYN-P1-C4-T1-W50050763041302AA-L4021400000000000
 
 VTD                   vtscsi8
 LUN                   0x8200000000000000
 Backing device        hdisk14
 Physloc               U7879.001.DQDHXYN-P1-C4-T1-W50050763041302AA-L4031400100000000 
VIOS Profile: Virtuellen SCSI Serveradapter hinzufügen

 

3. Virtuelle SCSI-Hostadapter erstellen

Dies muss im LPAR-Profile des VIO-Servers auf der HMC gemacht werden: Dazu wird ein neuer Virtual SCSI Host-Adapter erstellt, der nur einer LPAR zur Verfügung steht:

Die gleiche Slot-ID wird dann im Profile der Client-LPAR für einen neuen Client-Adapter vergeben:

Diese Schritte können auch dynamisch durchgeführt werden (über die Dynamic Logical Partitioning Option) durchgeführt werden, so dass der VIO-Server nicht gestoppt und vom Profile neu gestartet werden muss. Aber nicht vergessen, die gleichen Adapter dennoch zusätzlich im Profile zu verankern, andernfalls ist die Client-LPAR beim nächsten Reboot des VIO-Servers ihre Platten los!

Bei dynamischem Hinzufügen des Server-Hostadapters muss auf dem VIO-Server der Konfigurationsmanager ausgeführt werden, damit das neue vhost-Device sichtbar wird:

 $ cfgdev

 

4. Virtuelle SCSI-Hostadapter löschen

 $ rmdev -dev vhostX [ -recursive ]

Mit der Option »-recursive« löschen Sie auch alle Kinder (hdisks, ...)

Danach sind die Adapter dynamisch und aus dem Profile zu entfernen.

 

5. Platten oder LVs einem virtuellen SCSI-Hostadapter hinzufügen

Um etwa hdisk22 mit vhost1 zu verbinden, genügt

 $ mkvdev -vdev hdisk22 -vadapter vhost1
 vtscsi19 available

Der VIO-Server vergibt die nächste freie Nummer (hier: 19) und erstellt das Mappingdevice vtscsi19. Möchte man lieber einen eigenen Namen vergeben, kann die Option »-dev« verwendet werden:

 $ mkvdev -vdev hdisk22 -dev vthdisk22_barney -vadapter vhost1
  vthdisk22_barney available

Analog würde auch ein LV an eine LPAR gekoppelt:

 $ mkvdev -vdev lpar21_lv03 -vadapter vhost1 

 # oder wenn Sie ein Mappingdevice angeben...
 $ mkvdev -vdev lpar21_lv03 -dev vtdisk21_lv03 -vadapter vhost1
  vtdisk21_lv03 available

 

6. Platten oder LVs einem virtuellen SCSI-Hostadapter entziehen

Dazu wird einfach das Mappingdevice gelöscht:

 $ rmvdev -vtd vtscsiXX

 

Virtualisierter FibreChannel

Die NPIV-Technologie wurde mit Version 2.1 des Virtual I/O Severs eingeführt. Die Client LPARs müssen mindestens unter AIX 5.3 TL9, AIX 6.1 TL2 oder AIX 7.1 laufen. Darunter wird NPIV AIX-seitig nicht unterstützt.

1. Virtuelle FibreChannel-Adapter erstellen

Dies muss im LPAR-Profile des VIO-Servers auf der HMC gemacht werden: Dazu wird ein neuer virtueller Server Fibre Channel-Adapter erstellt, der nur einer LPAR zur Verfügung steht.

Die gleiche Slot-ID wird dann im Profile der Client-LPAR für einen neuen Client Fibre Channel--Adapter vergeben.

 

2. Virtuelle FibreChannel listen

$ lsmap -all -npiv
Name          Physloc                            ClntID ClntName       ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost0      U8203.E4A.05A6DD1-V1-C41                3 mylpar6        AIX

Status:LOGGED_IN
FC name:fcs1                    FC loc code:U789C.001.DQDH231-C3-T2
Ports logged in:2
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs0            VFC client DRC:U8203.E4A.05A6DD1-V3-C41-T1

Name          Physloc                            ClntID ClntName       ClntOS
------------- ---------------------------------- ------ -------------- -------
vfchost1      U8203.E4A.05A6DD1-V1-C43                4 mylpar8        AIX

Status:LOGGED_IN
FC name:fcs1                    FC loc code:U789C.001.DQDH231-C3-T2
Ports logged in:2
Flags:a<LOGGED_IN,STRIP_MERGE>
VFC client name:fcs0            VFC client DRC:U8203.E4A.05A6DD1-V4-C43-T1

 

3. NPIV-fähige Ports listen

NPIV = N_port ID Virtualisierung

$ lsnports
name             physloc                        fabric tports aports swwpns  awwpns
fcs0             U789C.001.DQDH231-P1-C2-T1          1     64     64   2048    2047
fcs1             U789C.001.DQDH231-P1-C2-T2          1     64     62   2048    2043

 

4. Physikalischen FC-Adapter einem Hostadapter zuordnen

$ vfcmap -vadapter vfchost0 -fcp fcs1

 

5. Zuordnung eines physikalischen FC-Adapter zu einem Hostadapter zurücknehmen

Dazu gibt es kein eigenes Kommanmdo - hinter -fcp  wird einfach nichts angegeben:

$ vfcmap -vadapter vfchost0 -fcp

 

Virtuelle Netzwerkadapter

1. Shared Ethernet Adapter listen

 $ lsmap -all -net
 SVEA	Physloc
 ------ --------------------------------------------
 ent12	U9117.570.65E12FB-V2-C20-T1

 SEA                   ent13
 Backing device        ent3
 Physloc               U7311.D20.651372C-P1-C01-T2

 

2. Shared Ethernet Adapter erstellen

Zum Erstellen eines Shared Ethernet Adapter (SEA) benötigen Sie:

Möchten Sie die Shared Ethernet Adapter Failover-Option nutzen zusätzlich

Und so erstellen Sie dann den SEA:

 # einfach:
 $ mkvdev -sea <PHYS> -vadapter <VIRT> -default <VIRT> -defaultid <VLAN>

 # Shared Ethernet Adapter Failover:
 $ mkvdev -sea <PHYS> -vadapter <VIRT> -default <VIRT> -defaultid <VLAN> -attr ha_mode=auto ctl_chan=<CONT>

Beispiel: Um einen Shared Ethernet Adapter auf Basis des virtuellen Adapters ent11 mit ent2 als Backend, der VLAN-ID 20 und dem virtuellen Adapter ent13 für den Kontrollkanal zu erstellen, geben Sie den folgenden Befehl ein:

 $ mkvdev -sea ent2 -vadapter ent11 -default ent11 -defaultid 20 -attr ha_mode=auto ctl_chan=ent13

 

3. SEA Load Sharing Mode einschalten

Nacheinander erst auf dem primären, dann auf dem sekundären SEA:

 $ chdev -dev <SEA> -attr ha_mode=sharing

 

4. SEA-Satus abfragen

z.B. für den SEA ent20:

 $ entstat -all ent20 | grep '^[ ]*State'
     State: PRIMARY

Andere mögliche Stati: BACKUP, PRIMARY_SH, BACKUP_SH. Die Stati PRIMARY_SH und BACKUP_SH beziehen sich auf eine Konfiguration im Load Sharing Mode.

 

5. Einen SEA-Failover manuell einleiten

Auf der aktiven Seite ("State: PRIMARY") für den SEA ent20:

 $ chdev -dev ent20 -attr ha_mode=standby 

Dadurch wird der SEA auf dem anderen VIO-Server automatisch aktiv. Mit

 $ chdev -dev ent20 -attr ha_mode=auto 

wird wieder zurückgeschwenkt.

 

6. Linkstatus von Netzwerkkarten abfragen

 $ netstat -cdlistats | grep -Ei "\(ent|media|link status"
 ETHERNET STATISTICS (ent3) : 
 Link Status : Up 
 Media Speed Selected: 100 Mbps Full Duplex
 Media Speed Running: 100 Mbps Full Duplex 

 

7. Lokale IP-Adresse setzen

Eine IP-Adresse 192.168.1.2 für lokalen Zugriff lässt sich mit mktcpip setzen:

 $ mktcpip  -hostname <HOSTNAME> \
            -inetaddr 192.168.1.2 \
            -interface en0 -start \
            -netmask 255.255.255.0 \
            -gateway <GATEWAY>

Der obige Befehl setzt zugleich Hostname und Default-Gateway.

 

8. Lokale IP-Konfiguration löschen

Möchten Sie die IP-Konfiguration von en0 wieder entfernen, genügt ein

 $ rmtcpip -interface en0