GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
10. Dezember 2010

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 Update
  4. 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. Linkstatus von Netzwerkkarten abfragen
  4. Lokale IP-Adresse setzen
  5. 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 Update

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

 

4. 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.

 

5. Lokale IP-Konfiguration löschen

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

 $ rmtcpip -interface en0