Fehler beim Löschen eines SEA

Der folgende SEA auf einem Virtual-I/O-Server wird nicht mehr benötigt:

$ lsdev -dev ent48
name             status      description
ent48            Available   Shared Ethernet Adapter
$

Der Versuch den SEA mittels rmvdev zu löschen schlägt fehl mit der folgenden Fehlermeldung:

$ rmvdev -sea ent48

Some error messages may contain invalid information
for the Virtual I/O Server environment.

Method error (/usr/lib/methods/ucfgcommo):
        0514-062 Cannot perform the requested function because the
                 specified device is busy.

$

Der SEA ist noch in Benutzung. Eine Möglichkeit der Benutzung stellt die Verwendung von LLDP dar. Dies kann mit dem Kommando lsdev überprüft werden:

$ lsdev -dev ent48 -attr lldpsvc
value

yes
$

In diesem Fall ist LLDP auf dem SEA aktiv und muss zuerst beendet werden, bevor der SEA gelöscht werden kann. Das Stoppen von LLDP auf dem SEA kann ganz einfach durch Ändern des Attributs lldpsvc auf den Wert „no“ erfolgen:

$ chdev -dev ent48 -attr lldpsvc=no
ent48 changed
$

Ein erneuter Versuch den SEA ent48 zu löschen ist jetzt erfolgreich:

$ rmvdev -sea ent48
ent48 deleted
$

Weitere Informationen zu SEAs sind hier zu finden: Shared Ethernet Adapter

 

 

CVE-2021-25220: AIX ist aufgrund von ISC BIND vulnerabel für Cache-Poisoning

Der CVE-2021-25220 beschreibt eine Schwachstelle in ISC BIND. Unter Verwendung unseres Tools „apar“ werden nachfolgend einige Fragestellungen untersucht und beantwortet, wie z.B. ist mein System von dieser Schwachstelle betroffen, wo finde ich eine genauere Beschreibung der Schwachstelle, wo finde ich einen Fix zur Schließung der Schwachstelle, gibt es andere Schwachstellen von denen mein System betroffen ist?

Hinweis: Das Tool „apar“ ist in unserem Download-Bereich in Versionen für AIX (VIOS), Linux und MacOS verfügbar. Es enthält eine zeitlich begrenzte Test-Lizenz. In dem Beitrag Verwalten und Zugriff auf APARs finden sich weitere Informationen zur Verwendung des Tools.

Ist mein System von dieser Schwachstelle betroffen?

Mit Hilfe des Kommandos „apar show“ und dem Argument „CVE-2021-25220“ können Informationen zu der Schwachstelle angezeigt werden:

$ apar show CVE-2021-25220
type:         sec
product:      aix
versions:     7300-00-01,7300-00-02
abstract:     AIX is vulnerable to cache poisoning due to ISC BIND
apars:        CVE-2021-25220,IJ40614
fixedIn:      7300-00-03
ifixes:       IJ40614m2b.220718.epkg.Z
bulletinUrl:  https://aix.software.ibm.com/aix/efixes/security/bind_advisory21.asc
filesets:     bos.net.tcp.bind:7.3.0.0-7.3.0.1,bos.net.tcp.bind_utils:7.3.0.0-7.3.0.1
issued:       20220728
updated:      
siblings:    
download:     https://aix.software.ibm.com/aix/efixes/security/bind_fix21.tar
cvss:         CVE-2021-25220:6.8
reboot:       no
…
$

Es werden mehrere Datensätze angezeigt. Für verschiedene AIX– bzw. VIOS Versionen gibt es jeweils eigene Datensätze.  Jeder Datensatz enthält eine Zeile mit den zugehörigen AIX bzw. VIOS Versionen (Zeile „versions: …“). Außerdem sind die jeweils betroffenen Filesets inklusive Version aufgelistet (Zeile „filesets: …“). Ist auf meinem System z.B. AIX 7300-00-01 oder 7300-00-02 installiert (Kommando „oslevel –s“) und habe ich eine der aufgelisteteten Fileset Versionen (Kommando „lslpp –l bos.net.tcp.bind bos.net.tcp.bind_utils“), dann ist mein System von der Schwachstelle betroffen.

Wo finde ich eine genauere Beschreibung der Schwachstelle?

Genauere Informationen zu einer Schwachstelle bietet IBM typischerweise über ein sogenanntes Bulletin an. Der URL für das Bulletin wird in der Ausgabe von „apar show“ (oben) in der Zeile beginnend mit „bulletinUrl: …“ ausgegeben. Im Falle oben ist das https://aix.software.ibm.com/aix/efixes/security/bind_advisory21.asc . Dieser URL kann in einem Browser angegeben werden. Bei Verwendung des „apar“ Kommandos kann man das Bulletin aber auch direkt auf der Kommandozeile anzeigen, das geht mit dem Kommando „apar bulletin“ und der Nummer des CVE (hier CVE-2021-25220) oder der Fix- oder APAR-Nummer (z.B. IJ40614):

$ apar bulletin CVE-2021-25220
IBM SECURITY ADVISORY

First Issued: Thu Jul 28 13:24:22 CDT 2022

The most recent version of this document is available here:
http://aix.software.ibm.com/aix/efixes/security/bind_advisory21.asc
https://aix.software.ibm.com/aix/efixes/security/bind_advisory21.asc
ftp://aix.software.ibm.com/aix/efixes/security/bind_advisory21.asc

Security Bulletin: AIX is vulnerable to cache poisoning due to ISC BIND
    (CVE-2021-25220)

===============================================================================

SUMMARY:

    A vulnerability in ISC BIND could allow a remote attacker to poison the
    cache (CVE-2021-25220). AIX uses ISC BIND as part of its DNS functions.


===============================================================================

VULNERABILITY DETAILS:

    CVEID: CVE-2021-25220
        http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-25220
        https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-25220
    DESCRIPTION: ISC BIND could allow a remote attacker to bypass security
        restrictions, caused by an error when using DNS forwarders. An
        attacker could exploit this vulnerability to poison the cache with
        incorrect records leading to queries being made to the wrong servers,
        which might also result in false information being returned to
        clients.
    CVSS Base Score: 6.8
    CVSS Temporal Score: See
        https://exchange.xforce.ibmcloud.com/vulnerabilities/221991
        for the current score
    CVSS Environmental Score*: Undefined
    CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:N)
…
$

Im Bulletin sind in der Regel alle zugehörigen APARs aufgelistet. Außerdem findet man eine Zuordnung welcher Fix für welche Version zu verwenden ist.

Wo finde ich einen Fix zur Schließung der Schwachstelle?

In den oben ausgegebenen Datensätzen findet man auch eine Auflistung der zugehörigen Fixes in der Zeile beginnend mit „ifixes: …“. Im genannten Fall ist das der Fix IJ40614m2b.220718.epkg.Z. In vielen Fällen werden mehrere Fixes aufgelistet und man muss den richtigen Fix aus der Liste heraussuchen. Hilfreich ist dabei die Beschreibung im Bulletin, mit einer Aufstellung welcher Fix für welche Version zu verwenden ist.

Der URL für den Download des oder der Fixe(s) ist in der Zeile beginnend mit „download: …“ angegeben, in aktuellen Fall ist das der folgende URL:

https://aix.software.ibm.com/aix/efixes/security/bind_fix21.tar

Der Fix kann z.B. mit einem Browser heruntergeladen werden. Bei Verwendung des Kommandos „apar“ geht das aber einfacher über die Kommandozeile. Das Kommando kann mit dem Argument „download“ und der CVE-Nummer oder Fix-Nummer aufgerufen werden und lädt dann den Fix herunter und speichert diesen im aktuellen Arbeitsverzeichnis ab:

$ apar download CVE-2021-25220
downloading bind_fix21.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 19.1M  100 19.1M    0     0  1480k      0  0:00:13  0:00:13 --:--:-- 1672k
$

Der Fix wird unter dem im URL verwendeten Namen, hier bind_fix21.tar, abgespeichert.

Gibt es weitere Schwachstellen von denen mein System betroffen ist?

Um ein System auf bekannte Schwachstellen zu untersuchen, kann „apar check“ verwendet werden. Damit das Kommando auf die Informationen zu den installierten Fixes zugreifen kann, muss das Kommando mit root-Rechten gestartet werden.

Hier ein Beispiel eines Systems auf dem alle relevanten Fixes installiert sind:

aix01 # apar check
SUMMARY: 2/2 fixes installed
aix01 #

Und nachfolgend ein Beispiel eines Systems auf dem nur einige relevante Fixes installiert sind:

aix02 # apar check
SUMMARY: 4/8 fixes installed (2 APARs have no fix specified)
aix02 #

Von den 8 bekannten (von IBM bekannt gegebenen) Schwachstellen sind nur für 4 der Schwachstellen die zugehörigen Fixes installiert. Möchte man wissen welche Schwachstellen offen sind, kann eine der Optionen „-b“ (brief report) oder „-l“ (long report) verwendet werden:

aix02 # apar check -b
20220817  sec  aix  CVE-2022-1292,CVE-2022-2068,CVE-2022-2097  AIX is vulnerable to arbitrary command execution due to OpenSSL
INSTALLED: no fix installed

20220912  sec  aix  CVE-2022-36768  AIX is vulnerable to a privilege escalation vulnerability due to invscout
INSTALLED: no fix installed

20220923  sec  aix  CVE-2021-20266,CVE-2021-20271,CVE-2021-3421  AIX is vulnerable to arbitrary code execution and RPM database corruption and denial of service due to RPM.
INSTALLED: no fix installed

20220928  sec  aix  CVE-2018-25032  AIX is vulnerable to denial of service due to zlib and zlibNX
INSTALLED: no fix installed

SUMMARY: 4/8 fixes installed (2 APARs have no fix specified)
aix02 #

Das Kommando „apar“ unterstützt noch eine ganze Reihe weiterer Möglichkeiten, die im Beitrag Verwalten und Zugriff auf APARs beschrieben sind.

Verwalten und Zugriff auf APARs

AIX und Virtual-I/O-Server bezüglich HIPER und SECURITY Fixes auf dem aktuellen Stand zu halten, hat in den letzten Jahren enorm an Bedeutung gewonnen. Hierzu müssen die Systeme regelmäßig auf eventuell fehlende Fixes überprüft werden. Die entsprechenden Fixes müssen heruntergeladen und dann installiert werden. Um zu entscheiden welcher Fix auf einem bestimmten System genau installiert werden muss, erfordert häufig das Aufrufen von Bulletin mit einem Web-Browser. PowerCampus 01 stellt zum vereinfachten Verwalten von Fixes das Kommando ‚apar‘ zur Verfügung. Dieses erleichtert die Arbeit mit Fixes und APARs sowie CVEs enorm.

Einige Beispiel-Anwendungen des Kommandos ‚apar

Das Kommando ‚apar‘ erlaubt den Download von HIPER und SECURITY Fixes, die Überprüfung von Systemen (AIX und VIOS) auf installierte und fehlende Fixes, sowie die Anzeige und gezielte Suche nach Fixes. Um alle Funktionalitäten nutzen zu können, wird eine direkte Internet-Anbindung oder die Anbindung über einen http-Proxy Server benötigt. Das Kommando ist in Versionen für AIX, Linux und MacOS erhältlich. Nachfolgend sind eine Reihe von Beispiel-Aufrufen gezeigt.

Beispiel 1: Welche Fixes sind während der letzten 30 Tage erschienen?

$ apar last
20220817  sec  aix  CVE-2022-1292,CVE-2022-2068,CVE-2022-2097  AIX is vulnerable to arbitrary command execution due to OpenSSL
20220912  sec  vios  CVE-2022-29824,IJ42339,IJ42378,IJ42379  AIX is vulnerable to a denial of service due to libxml2 for VIOS
20220912  sec  vios  CVE-2022-29824,IJ42339,IJ42378,IJ42379  AIX is vulnerable to a denial of service due to libxml2 for VIOS
20220912  sec  aix  CVE-2022-29824,IJ42339,IJ42378,IJ42379  AIX is vulnerable to a denial of service due to libxml2
20220912  sec  aix  CVE-2022-29824,IJ42341  AIX is vulnerable to a denial of service due to libxml2
20220912  sec  aix  CVE-2022-29824,IJ42381  AIX is vulnerable to a denial of service due to libxml2
20220912  sec  vios  CVE-2022-29824,IJ42381  AIX is vulnerable to a denial of service due to libxml2 for VIOS
20220912  sec  vios  CVE-2022-34356,IJ41396,IJ41685,IJ41795  AIX kernel is vulnerable to a privilege escalation vulnerability for VIOS
20220912  sec  aix  CVE-2022-34356,IJ41396,IJ41685,IJ41795  AIX kernel is vulnerable to a privilege escalation vulnerability
20220912  sec  vios  CVE-2022-34356,IJ41396,IJ41685,IJ41795  AIX kernel is vulnerable to a privilege escalation vulnerability for VIOS
20220912  sec  aix  CVE-2022-34356,IJ41687  AIX kernel is vulnerable to a privilege escalation vulnerability
20220912  sec  aix  CVE-2022-34356,IJ41688  AIX kernel is vulnerable to a privilege escalation vulnerability
20220912  sec  vios  CVE-2022-34356,IJ41706  AIX kernel is vulnerable to a privilege escalation vulnerability for VIOS
20220912  sec  aix  CVE-2022-34356,IJ41706  AIX kernel is vulnerable to a privilege escalation vulnerability
20220912  sec  aix  CVE-2022-36768  AIX is vulnerable to a privilege escalation vulnerability due to invscout
$

Beispiel 2: Anzeigen von Informationen zur APAR ID IJ42341.

$ apar show IJ42341
type:         sec
product:      aix
versions:     7300-00-01,7300-00-02
abstract:     AIX is vulnerable to a denial of service due to libxml2
apars:        CVE-2022-29824,IJ42341
fixedIn:      7300-00-04
ifixes:       IJ42341s2a.220907.epkg.Z
bulletinUrl:  https://aix.software.ibm.com/aix/efixes/security/libxml2_advisory3.asc
filesets:     bos.rte.control:7.3.0.0-7.3.0.1
issued:       20220912
updated:      
siblings:    
download:     https://aix.software.ibm.com/aix/efixes/security/libxml2_fix3.tar
cvss:         CVE-2022-29824:5.5
reboot:       no
$

Beispiel 3: Anzeigen des Bulletin für die APAR ID IJ42341.

$ apar bulletin IJ42341
IBM SECURITY ADVISORY

First Issued: Mon Sep 12 15:07:01 CDT 2022

The most recent version of this document is available here:
http://aix.software.ibm.com/aix/efixes/security/libxml2_advisory3.asc
https://aix.software.ibm.com/aix/efixes/security/libxml2_advisory3.asc
ftp://aix.software.ibm.com/aix/efixes/security/libxml2_advisory3.asc

Security Bulletin: AIX is vulnerable to a denial of service due to libxml2
    (CVE-2022-29824)
…

    REMEDIATION:

        A. APARS
           
            IBM has assigned the following APARs to this problem:

            AIX Level APAR     Availability  SP        KEY
            -----------------------------------------------------
            7.2.4     IJ42381  **            N/A       key_w_apar
            7.2.5     IJ42339  **            SP06      key_w_apar
            7.3.0     IJ42341  **            SP04      key_w_apar
…
$

Beispiel 4: Download des Fixes für APAR IJ42341.

$ apar download IJ42341
downloading libxml2_fix3.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30.8M  100 30.8M    0     0  1522k      0  0:00:20  0:00:20 --:--:-- 1638k
$

Der Fix wird in das aktuelle Arbeitsverzeichnis heruntergeladen.

Beispiel 5: Suchen nach Fixes für die Schlagworte ‚memory‘ und ‚leak‘.

$ apar search memory leak
20141029  CVE-2014-3513,CVE-2014-3566,CVE-2014-3567  AIX OpenSSL Denial of Service due to memory leak in  DTLS / AIX OpenSSL Patch to mitigate CVE-2014-3566 / AIX OpenSSL Denial of Service due to memory consumption
20150319  IV71217  NODE DOWN IN CAA CLUSTER DUE TO CONFIGRM MEMORY LEAK
20150319  IV71217  NODE DOWN IN CAA CLUSTER DUE TO CONFIGRM MEMORY LEAK
20150319  IV71219  NODE DOWN IN CAA CLUSTER DUE TO CONFIGRM MEMORY LEAK
$

Beispiel 6: Überprüfen des aktuellen Systems (AIX oder VIOS).

# time apar check
SUMMARY: 6/21 fixes installed (3 APARs have no fix specified)

Real   2.00
User   0.40
System 0.23
#

Zur Überprüfung eines Systems auf Fixes werden root-Rechte benötigt um die Liste der installierten Fixes zu ermitteln.

Der Check hat 2 Sekunden gedauert und hat ermittelt das lediglich 6 von 21 der existierenden Fixes installiert sind.

Über die Option ‚-b‘ (brief listing) oder ‚-l‘ (long listing) lassen sich die fehlenden Fixes anzeigen:

# time apar check -b
20210315  sec  aix  CVE-2020-14779,CVE-2020-14781,CVE-2020-14782,CVE-2020-14796,CVE-2020-14797,CVE-2020-14798,CVE-2020-14803,CVE-2020-27221,CVE-2020-2773  Multiple vulnerabilities in IBM Java SDK affect AIX
INSTALLED: no fix installed

20210730  sec  aix  CVE-2021-29741,IJ30557  There is a vulnerability in Korn Shell (ksh) that affects AIX
INSTALLED: no fix installed

20210819  hiper  aix  IJ34376  Applications can terminate on systems with active IPv6 traffic
INSTALLED: no fix installed

20210825  sec  aix  CVE-2021-29727,CVE-2021-29801,CVE-2021-29862,IJ32631  There are multiple vulnerabilities in the AIX kernel
INSTALLED: no fix installed

20210915  sec  aix  CVE-2021-2161,CVE-2021-2369,CVE-2021-2432  Multiple vulnerabilities in IBM Java SDK affect AIX
INSTALLED: no fix installed

20211116  sec  aix  CVE-2021-29860,IJ32714,IJ32736  There is a vulnerability in the libc.a library that affects AIX
INSTALLED: no fix installed

20211116  sec  aix  CVE-2021-29861,IJ35078,IJ35211  There is a vulnerability in EFS that affects AIX
INSTALLED: no fix installed

20220106  sec  aix  CVE-2021-3712  There is a vulnerability in OpenSSL used by AIX.
INSTALLED: no fix installed

20220106  sec  aix  CVE-2021-41617  Vulnerabilities in OpenSSH affect AIX.
INSTALLED: no fix installed

20220223  sec  aix  CVE-2021-2341,CVE-2021-35556,CVE-2021-35559,CVE-2021-35560,CVE-2021-35564,CVE-2021-35565,CVE-2021-35578,CVE-2021-35586,CVE-2021-41035  Multiple vulnerabilities in IBM Java SDK affect AIX
INSTALLED: no fix installed

20220223  sec  aix  CVE-2021-38994,CVE-2021-38995,IJ37012  There are multiple vulnerabilities in the AIX kernel.
INSTALLED: no fix installed

20220228  sec  aix  CVE-2021-38955,IJ38117,IJ38119  There is a vulnerability in the AIX audit user commands.
INSTALLED: no fix installed

20220301  sec  aix  CVE-2021-38996,CVE-2022-22350,IJ36682,IJ37512  There are multiple vulnerabilities in AIX CAA.
INSTALLED: no fix installed

20220304  sec  aix  CVE-2021-38989,IJ37488,IJ37778  There is a vulnerability in the AIX pmsvcs kernel extension.
INSTALLED: no fix installed

20220304  sec  aix  CVE-2022-22351,IJ36681,IJ37706  There is a vulnerability in the AIX nimsh daemon.
INSTALLED: no fix installed

SUMMARY: 6/21 fixes installed (3 APARs have no fix specified)

Real   1.90
User   0.32
System 0.18
#

Beispiel 7: Herunterladen aller Fixes für die IOS Version 3.1.3.21.

$ apar download 3.1.3.21
downloading lpd_fix2.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  270k  100  270k    0     0   197k      0  0:00:01  0:00:01 --:--:--  197k
downloading bind_fix21.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 19.1M  100 19.1M    0     0  1498k      0  0:00:13  0:00:13 --:--:-- 1665k
downloading vios_fix.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 32.7M  100 32.7M    0     0  1571k      0  0:00:21  0:00:21 --:--:-- 1750k
downloading kernel_fix4.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  138M  100  138M    0     0  1618k      0  0:01:27  0:01:27 --:--:-- 1671k
downloading libxml2_fix3.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30.8M  100 30.8M    0     0  1537k      0  0:00:20  0:00:20 --:--:-- 1643k
$
$ ls -l
total 453952
-rw-r--r--    1 user01  staff   20080640 Sep 17 10:48 bind_fix21.tar
-rw-r--r--    1 user01  staff  145326080 Sep 17 10:50 kernel_fix4.tar
-rw-r--r--    1 user01  staff   32378880 Sep 17 10:51 libxml2_fix3.tar
-rw-r--r--    1 user01  staff     276480 Sep 17 10:48 lpd_fix2.tar
-rw-r--r--    1 user01  staff   34355200 Sep 17 10:49 vios_fix.tar
$

Analog können durch Angabe der AIX Version auch alle Fixes zu einer bestimmten AIX Version heruntergeladen werden!

Beispiel 8: Überprüfen von NIM-Clients auf Fixes

# apar check aix01 aix02 vios1
aix01: 13/16 fixes installed
aix02: 4/12 fixes installed (1 APAR has no fix specified)
vios1: 17/20 fixes installed (3 APARs have no fix specified)
#

Es können beliebig viele NIM-Clients angegeben werden. Auch NIM-Gruppen (mac_group) können angegeben werden.

Beispiel 9: Überprüfen eines NIM-Clients und Herunterladen von fehlenden Fixes

# apar check -d aix07
aix07: 13/16 fixes installed
downloading efs_fix.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5010k  100 5010k    0     0  1079k      0  0:00:04  0:00:04 --:--:-- 1241k
downloading kernel_fix3.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  142M  100  142M    0     0  1637k      0  0:01:29  0:01:29 --:--:-- 1684k
downloading bind_fix20.tar ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 19.1M  100 19.1M    0     0  1494k      0  0:00:13  0:00:13 --:--:-- 1596k
#

Die Fixes werden im aktuellen Verzeichnis abgelegt.

Beispiel 10: Anzeigen von Fixes für ein bestimmtes Fileset

$ apar show bos.cluster.rte
type:         hiper
product:      vios
versions:     2.2.3.80,2.2.3.90
abstract:     CAA:SLOW GOSSIP RECEIPT ON BOOT MAY CAUSE PARTITIONED CLUSTER
apars:        IV97148
fixedIn:      See Advisory
ifixes:       IV97148s8a.170613.61TL09SP08.epkg.Z,IV97148s8a.170613.epkg.Z,IV97148s9b.171030.61TL09SP09.epkg.Z,IV97148s9b.171030.epkg.Z
bulletinUrl:  http://www-01.ibm.com/support/docview.wss?uid=isg1IV97148
filesets:     bos.cluster.rte:6.1.9.200-6.1.9.201
issued:       20171108
updated:      
siblings:     6100-09:IV97148 7100-04:IV97265 7200-01:IV97266
download:     https://aix.software.ibm.com/aix/ifixes/iv97148/
cvss:         
reboot:       yes
…
$

Es kann zusätzlich auch eine Version angegeben werden:

$ apar show bos.cluster.rte:7.2.5.1
type:         sec
product:      aix
versions:     7200-05-01,7200-05-01-2038,7200-05-01-2039,7200-05-02,7200-05-02-2114,7200-05-03-2135,7200-05-03-2136,7200-05-03-2148
abstract:     There are multiple vulnerabilities in AIX CAA.
apars:        CVE-2021-38996,CVE-2022-22350,IJ36682,IJ37512
fixedIn:      7200-05-04
ifixes:       IJ36682s3a.220228.epkg.Z,IJ36682s3b.220228.epkg.Z,IJ37512s1a.220228.epkg.Z,IJ37512s2a.220228.epkg.Z
bulletinUrl:  https://aix.software.ibm.com/aix/efixes/security/caa_advisory2.asc
filesets:     bos.cluster.rte:7.2.5.0-7.2.5.1,bos.cluster.rte:7.2.5.100-7.2.5.101
issued:       20220301
updated:      
siblings:    
download:     https://aix.software.ibm.com/aix/efixes/security/caa_fix2.tar
cvss:         CVE-2022-22350:6.2 / CVE-2021-38996:6.2
reboot:       yes
…
$

Informationen zum Kommando ‚apar

Zum Download von Dateien wird das Kommando curl verwendet. Dieses steht z.B. über die AIX-Toolbox zur Verfügung. Ist kein curl installiert oder besteht keine Anbindung an das Internet (mit oder ohne Proxy), dann kann die Download-Funktionalität des Kommandos ‚apar‘ nicht genutzt werden. Allerdings können alle anderen Funktionen, wie Anzeigen von APARs, Überprüfung auf Fixes oder Suchen nach bestimmten APARs auch ohne eine solche Anbindung verwendet werden.

Wird ein Proxy benötigt, kann dieser über eine der beiden Dateien /opt/pwrcmps/etc/tools.cfg oder ~/.tools.cfg konfiguriert werden, z.B.:

# The HTTP proxy to use
# Default: (none)
HttpProxy: http://172.168.10.12:3333

Wir empfehlen für die Proxy-Konfiguration die Datei /opt/pwrcmps/etc/tools.cfg zu verwenden, da diese für alle Benutzer gültig ist.

Das Kommando ‚apar‘ benötigt die CSV-Datei apar.csv welche Datensätze aller HIPER und SECURITY Fixes enthält. Diese Datei wird von IBM über den folgenden URL zur Verfügung gestellt:

https://esupport.ibm.com/customercare/flrt/doc?page=aparCSV

Per Default sucht das Kommando ‚apar‘ diese Datei zunächst im Home-Verzeichnis des Benutzers und dann unter /opt/pwrcmps/etc. Sollte die Datei an beiden Stellen nicht verfügbar sein, wird die Datei über den obigen URL von IBM heruntergeladen. Das Verhalten kann über eine der beiden Dateien /opt/pwrcmps/etc/tools.cfg oder ~/.tools.cfg konfiguriert werden:

# The order of locations to look for the apar.csv file
# Default: ~,/opt/pwrcmps/etc,ibmwebsite
#AparCsvResolve:

Wir empfehlen die Datei mit Hilfe eines crontab-Eintrags regelmäßig herunterzuladen und unter /opt/pwrcmps/etc/apar.csv abzulegen. Die Datei kann dann von allen Benutzern verwendet werden, ohne das sie für jeden Kommando-Aufruf neu heruntergeladen werden muss.

Der Download kann z.B. über den folgenden Aufruf erfolgen:

$ apar getcsv
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 2834k    0 2834k    0     0  1240k      0 --:--:--  0:00:02 --:--:-- 1240k
$

Die Datei wird im aktuellen Verzeichnis abgelegt. Ein crontab-Aufruf von root zum regelmäßigen Download könnte so aussehen:

( cd /opt/pwrcmps/etc; apar getcsv )

In unserem Download-Bereich kann das Kommando ‚apar‘ heruntergeladen werden, es ist eine zeitlich begrenzte Test-Lizenz für Evaluierungszwecke enthalten.

LPAR-Tool 1.7.0.1 ist ab sofort verfügbar

Ab sofort ist die Version 1.7.0.1 des LPAR-Tools in unserem Download-Bereich verfügbar.

Die neue Version unterstützt unter anderem die folgenden neuen Features:

    • Installation von IFixes und Updates auf der HMC (hmc help updhmc)
    • System-Firmware Updates (und mehr) von Managed Systems (ms help updatelic)
    • Anzeigen von FLRT Daten mit Online Abfrage bei IBM (hmc help flrt, ms help flrt, lpar help flrt)
    • Konfiguration von NTP auf HMCs (hmc help ntp)

Es stehen Versionen für Linux, AIX und Macos zur Verfügung.

Alle Versionen beinhalten eine Test-Lizenz mit einer Gültigkeit bis 30.09.2022.

Also Downloaden, Installieren und dann Ausprobieren!

IOS-Version als normaler Benutzer anzeigen

Auf einem Virtual-I/O-Server kann man die IOS-Version als Benutzer padmin mit Hilfe des Kommandos ioslevel anzeigen:

padmin> ioslevel
3.1.2.10
padmin>

Als Benutzer root (nach Verwendung von oem_setup_env), lässt sich die IOS-Version wie folgt anzeigen:

# /usr/ios/cli/ioscli ioslevel
3.1.2.10
#

Beide Kommandos funktionieren aber nicht als normaler, nicht privilegierter, Benutzer:

$ ioslevel
ksh: ioslevel: not found.
$ /usr/ios/cli/ioscli ioslevel
Access to run command is not valid.

$

Die IOS-Version ist aber einfach in einer Text-Datei gespeichert und lässt sich als normaler Benutzer ganz einfach mit dem Kommando cat anzeigen:

$ cat /usr/ios/cli/ios.level
3.1.2.10
$

Überwachung von virtuellem FC Client Verkehr

Mit dem LPAR-Tool lassen sich jederzeit Statistiken für alle virtuellen FC Clients mit dem Kommando „vios fcstat“ anzeigen. Damit lässt sich jederzeit feststellen welche Client LPARs gerade welchen I/O-Durchsatz haben (bei Verwendung von NPIV).

Welche NPIV fähigen FC-Adapter es auf einem Virtual-I/O-Server gibt, lässt sich leicht mit „vios lsnports“ herausfinden:

$ vios lsnports ms15-vio1
NAME  PHYSLOC                     FABRIC  TPORTS  APORTS  SWWPNS  AWWPNS
fcs0  U78CB.001.XXXXXXX-P1-C5-T1  1       64      62      2032    2012
fcs1  U78CB.001.XXXXXXX-P1-C5-T2  1       64      62      2032    2012
fcs2  U78CB.001.XXXXXXX-P1-C5-T3  1       64      61      2032    1979
fcs3  U78CB.001.XXXXXXX-P1-C5-T4  1       64      61      2032    1979
fcs4  U78CB.001.XXXXXXX-P1-C3-T1  1       64      50      3088    3000
fcs5  U78CB.001.XXXXXXX-P1-C3-T2  1       64      63      3088    3077
$

Wir lassen uns die FC Client Statistiken mit dem Kommando „vios fcstat“ anzeigen, dabei werden per Default alle 10 Sekunden die Daten für alle virtuellen FC Clients des angegebenen Virtual-I/O-Servers, ausgegeben:

$ vios fcstat ms15-vio1
HOSTNAME   PHYSDEV  WWPN                DEV    INREQS    INBYTES      OUTREQS    OUTBYTES     CTRLREQS
ms15-vio1  fcs1     0x210000XXXXX56EC5  fcs1   774.75/s  129.51 MB/s  1332.71/s   92.96 MB/s  20
aixtsmp1   fcs2     0xC050760XXXXX0058  fcs6   318.10/s   83.39 MB/s  481.34/s   126.18 MB/s  0
ms15-vio1  fcs2     0x210000XXXXX56EC6  fcs2   318.10/s   83.39 MB/s  480.78/s   126.03 MB/s  0
aixtsmp1   fcs5     0xC050760XXXXX003E  fcs0   583.98/s   60.35 MB/s  1835.17/s  124.86 MB/s  0
ms15-vio1  fcs5     0x10000090XXXXX12D  fcs5   583.70/s   60.27 MB/s  1836.21/s  124.92 MB/s  0
ms15-vio1  fcs0     0x21000024XXXXXEC4  fcs0   923.19/s  165.08 MB/s  1032.81/s   17.25 MB/s  46
aixtsmp3   fcs1     0xC050760XXXXX00E4  fcs0   775.12/s  129.48 MB/s  1047.32/s   17.15 MB/s  20
aixtsmp3   fcs0     0xC050760XXXXX00DE  fcs1   775.78/s  128.99 MB/s  1037.99/s   17.39 MB/s  20
aixtsmp1   fcs1     0xC050760XXXXX0056  fcs5     0.00/s    0.00 B/s   290.39/s    76.12 MB/s  0
aixtsmp1   fcs0     0xC050760XXXXX0052  fcs4   142.89/s   36.12 MB/s    0.00/s     0.00 B/s   26
ms15-vio1  fcs4     0x10000090XXXXX12C  fcs4   234.97/s    4.58 MB/s  621.78/s    11.12 MB/s  40
cus1dbp01  fcs4     0xC050760XXXXX0047  fcs0   243.55/s    5.05 MB/s  432.33/s     9.95 MB/s  0
cus1dbi01  fcs4     0xC050760XXXXX0044  fcs1     0.94/s   10.42 KB/s   87.28/s   459.26 KB/s  0
...
HOSTNAME   PHYSDEV  WWPN                DEV    INREQS     INBYTES      OUTREQS    OUTBYTES     CTRLREQS
aixtsmp1   fcs5     0xC050760XXXXX003E  fcs0   1772.84/s  162.24 MB/s  1309.30/s   70.60 MB/s  68
ms15-vio1  fcs5     0x10000090XXXXX12D  fcs5   1769.13/s  161.95 MB/s  1305.60/s   70.54 MB/s  68
ms15-vio1  fcs1     0x21000024XXXXXEC5  fcs1   883.55/s   118.97 MB/s  1551.97/s  108.78 MB/s  43
ms15-vio1  fcs2     0x21000024XXXXXEC6  fcs2   201.09/s    52.72 MB/s  497.26/s   130.35 MB/s  0
aixtsmp1   fcs2     0xC050760XXXXX0058  fcs6   201.09/s    52.72 MB/s  495.40/s   129.87 MB/s  0
ms15-vio1  fcs0     0x21000024XXXXXEC4  fcs0   923.54/s   128.89 MB/s  1234.98/s   23.31 MB/s  65
aixtsmp3   fcs0     0xC050760XXXXX00DE  fcs1   876.93/s   118.93 MB/s  1234.98/s   23.32 MB/s  44
aixtsmp3   fcs1     0xC050760XXXXX00E4  fcs0   884.17/s   119.07 MB/s  1223.50/s   23.00 MB/s  43
aixtsmp1   fcs1     0xC050760XXXXX0056  fcs5     0.00/s     0.00 B/s   325.83/s    85.41 MB/s  0
...
^C
$

Ausgegeben werden der LPAR-Name, der physikalische FC-Port (PHYSDEV) auf dem Virtual-I/O-Server, die WWPN des Client Adapters, der virtuelle FC-Port (DEV), sowie die Anzahl Requests (INREQS und OUTREQS) und dabei transferierte Bytes (INBYTES und OUTBYTES). Die Transfer-Raten werden dabei jeweils in KB/s, MB/s oder GB/s ausgegeben. Auf größeren Systemen kann die Ausgabe sehr lang werden! Die Ausgabe wird ist nach Durchsatz sortiert, d.h. die aktivsten virtuellen Clients Adapter werden als erstes ausgegeben. Über die Option ‚-t‚ (Top) kann die Ausgabe auf eine gewünschte Zahl von Datensätzen eingeschränkt werden: z.B. werden mit ‚-t 10‚ nur die 10 Adapter mit dem höchsten Durchsatz ausgegeben. Zusätzlich kann über ein weiteres Argument auch die Intervall Länge (in Sekunden) angegeben werden, hier ein kurzes Beispiel:

$ vios fcstat -t 10 ms15-vio1 2
HOSTNAME   PHYSDEV  WWPN                DEV   INREQS     INBYTES      OUTREQS    OUTBYTES     CTRLREQS
ms15-vio1  fcs1     0x21000024XXXXXEC5  fcs1  1034.58/s   86.56 MB/s  2052.23/s  160.11 MB/s  20
ms15-vio1  fcs5     0x10000090XXXXX12D  fcs5  1532.63/s  115.60 MB/s  1235.72/s  118.32 MB/s  40
aixtsmp1   fcs5     0xC050760XXXXX003E  fcs0  1510.33/s  114.88 MB/s  1236.49/s  118.27 MB/s  40
aixtsmp3   fcs1     0xC050760XXXXX00E4  fcs0  1036.11/s   86.67 MB/s  1612.25/s   44.86 MB/s  20
aixtsmp3   fcs0     0xC050760XXXXX00DE  fcs1  1031.50/s   86.29 MB/s  1588.02/s   44.27 MB/s  20
ms15-vio1  fcs0     0x21000024XXXXXEC4  fcs0  1029.58/s   86.31 MB/s  1567.63/s   43.65 MB/s  20
aixtsmp1   fcs1     0xC050760XXXXX0056  fcs5    0.00/s     0.00 B/s   436.52/s   114.43 MB/s  0
ms15-vio1  fcs2     0x21000024XXXXXEC6  fcs2    0.00/s     0.00 B/s   435.75/s   114.23 MB/s  0
aixtsmp1   fcs2     0xC050760XXXXX0058  fcs6    0.00/s     0.00 B/s   432.68/s   113.42 MB/s  0
ms15-vio1  fcs4     0x10000090XXXXX12C  fcs4  144.99/s     0.78 MB/s  478.83/s     2.22 MB/s  46
HOSTNAME   PHYSDEV  WWPN                DEV   INREQS    INBYTES      OUTREQS    OUTBYTES     CTRLREQS
aixtsmp1   fcs5     0xC050760XXXXX003E  fcs0  758.14/s   35.55 MB/s  1822.99/s  112.60 MB/s  0
ms15-vio1  fcs5     0x10000090XXXXX12D  fcs5  757.38/s   35.52 MB/s  1821.46/s  112.59 MB/s  0
ms15-vio1  fcs0     0x21000024XXXXXEC4  fcs0  944.23/s   85.09 MB/s  1657.58/s   41.40 MB/s  2
aixtsmp3   fcs0     0xC050760XXXXX00DE  fcs1  943.47/s   85.15 MB/s  1636.90/s   40.68 MB/s  2
ms15-vio1  fcs1     0x21000024XXXXXEC5  fcs1  949.21/s   84.88 MB/s  1586.74/s   39.41 MB/s  2
aixtsmp3   fcs1     0xC050760XXXXX00E4  fcs0  946.53/s   84.64 MB/s  1584.83/s   39.40 MB/s  2
ms15-vio1  fcs4     0x10000090XXXXX12C  fcs4   39.44/s  449.92 KB/s  676.97/s     3.63 MB/s  10
cus1dbp01  fcs4     0xC050760XXXXX0047  fcs0   29.10/s  471.69 KB/s  310.92/s     1.28 MB/s  4
cus1mqp01  fcs4     0xC050760XXXXX002C  fcs0    1.91/s    4.71 KB/s  230.12/s     1.66 MB/s  0
cus2orap01 fcs4     0xC050760XXXXX000F  fcs0    0.77/s    4.31 KB/s   48.25/s   263.49 KB/s  0
^C
$

Über die Option ‚-s‚ (Select) können auch nur Datensätze eines bestimmten Clients (‚-s hostname=aixtsmp1‚) oder nur Datensätze eines bestimmten physikalischen Ports (‚-s physdev=fcs1‚) ausgewählt und ausgegeben werden:

$ vios fcstat -s hostname=aixtsmp1 ms15-vio1 2
HOSTNAME  PHYSDEV  WWPN                DEV   INREQS     INBYTES      OUTREQS    OUTBYTES     CTRLREQS
aixtsmp1  fcs5     0xC050760XXXXX003E  fcs0  1858.72/s   51.14 MB/s  1231.82/s  104.20 MB/s  0
aixtsmp1  fcs2     0xC050760XXXXX0058  fcs6    6.94/s     1.82 MB/s    6.94/s     1.82 MB/s  0
aixtsmp1  fcs4     0xC050760XXXXX0042  fcs2    0.39/s     1.19 KB/s    0.39/s   395.05 B/s   0
aixtsmp1  fcs1     0xC050760XXXXX0056  fcs5    0.39/s     7.72 B/s     0.00/s     0.00 B/s   1
aixtsmp1  fcs0     0xC050760XXXXX0052  fcs4    0.00/s     0.00 B/s     0.00/s     0.00 B/s   0
aixtsmp1  fcs3     0xC050760XXXXX005A  fcs7    0.00/s     0.00 B/s     0.00/s     0.00 B/s   0
HOSTNAME  PHYSDEV  WWPN                DEV   INREQS     INBYTES      OUTREQS    OUTBYTES     CTRLREQS
aixtsmp1  fcs5     0xC050760XXXXX003E  fcs0  1760.48/s  111.48 MB/s  1125.70/s   95.20 MB/s  0
aixtsmp1  fcs2     0xC050760XXXXX0058  fcs6    8.53/s     2.24 MB/s  484.61/s   127.04 MB/s  0
aixtsmp1  fcs1     0xC050760XXXXX0056  fcs5    0.00/s     0.00 B/s   469.04/s   122.96 MB/s  0
aixtsmp1  fcs4     0xC050760XXXXX0042  fcs2    0.37/s     1.14 KB/s    0.00/s     0.00 B/s   0
aixtsmp1  fcs0     0xC050760XXXXX0052  fcs4    0.00/s     0.00 B/s     0.00/s     0.00 B/s   0
aixtsmp1  fcs3     0xC050760XXXXX005A  fcs7    0.00/s     0.00 B/s     0.00/s     0.00 B/s   0
^C
$

Mit dem „vios fcstat“ Kommando lassen sich auf extrem einfache Weise jederzeit FC-Durchsatz von beliebigen LPARs, sozusagen auf Knopfdruck, ausgeben.

Bei kleineren Intervallen leidet die Genauigkeit der angezeigten Werte. Bei 2 Sekunden Intervallen beträgt die Ungenauigkeit ca 10%. Die Relationen zwischen den angezeigten Werten ist allerdings korrekt.

Das Attribut „label“ für FC-Adapter

Ab AIX 7.2 TL4 bzw. VIOS 3.1.1.10 gibt es für physikalische FC-Adapter das neue Attribut „label“. Dieses Attribut kann vom Administrator auf eine beliebige Zeichenkette (maximal 255 Zeichen) gesetzt werden. Auch wenn das Attribut nur informativen Character hat, kann es in PowerVM Virtualisierungsumgebungen äußerst nützlich sein. Hat man eine größere Anzahl von Managed Systems, ist nicht immer klar erkennbar an welche FC-Fabric ein bestimmter FC-Port angebunden ist. Das lässt sich natürlich in der Dokumentation der eigenen Systeme nachschauen, ist aber doch mit einem gewissen Aufwand verbunden. Einfacher ist es, wenn man diese Information direkt mit den FC-Adaptern verknüpft, was das neue Attribut „label“ auf einfache Weise erlaubt. Unter AIX:

# chdev -l fcs0 -U -a label="Fabric_1"
fcs0 changed
# lsattr -El fcs0 -a label -F value
Fabric_1
#

Auf Virtual-I/O-Servern kann das Attribut auch über den padmin-Account gesetzt werden:

/home/padmin> chdev -dev fcs1 -attr label="Fabric_2" -perm
fcs1 changed
/home/padmin> lsdev -dev fcs1 -attr label                
value

Fabric_2
/home/padmin>

Das Attribut ist auch für ältere FC-Adapter definiert.

Bei konsequenter Verwendung des Attributes „label“ kann man jederzeit für jeden FC-Adapter online feststellen, an welche Fabric der Adapter angebunden ist. Dazu muß lediglich einmal für jeden FC-Adapter diese Information hinterlegt werden.

(Hinweis: Für AIX 7.1 wurde das Attribut „label“ nicht implementiert, zumindest nicht bis 7.1 TL5 SP6.)

LPAR-Tool 1.6.0.0 ist verfügbar

Ab sofort ist unser LPAR-Tool in der Version 1.6.0.0 in unserem Download-Bereich verfügbar!

Neue Feature sind:

  • Online Überwachung von SEA Client Statistiken (vios help seastat)
  • Online Überwachung von virtuellen FC Client Adaptern (vios help fcstat)
  • Anzeige historischer Prozessor und Memory Daten (lpar help lsmem, lpar help lsproc)

Im Artikel Überwachung des SEA Netzwerk-Verkehrs werden die Möglichkeiten SEA Client Statistiken abzurufen gezeigt.

Die Auswirkungen von FC-Ports ohne Link

FC-Ports die nicht verwendet werden und keinen Link haben, sollten deaktiviert werden, da diese die Laufzeit einer Reihe von Kommandos und Operationen (z.B. LPM) deutlich verlängern.

(Hinweis: in einigen Beispielen wird unser LPAR-Tool verwendet, es werden aber auch immer die Kommandos auf der HMC, oder dem Virtual-I/O-Server gezeigt!)

Auf einem unserer Virtual-I/O-Server (ms26-vio1) sind 2 4-Port FC Adapter in Verwendung:

$ lpar lsslot ms26-vio1
DRC_NAME                  DRC_INDEX  IOPOOL  DESCRIPTION
U78D3.001.XXXXXXX-P1-C49  21040015   none    PCIe3 x8 SAS RAID Internal Adapter 6Gb
U78D3.001.XXXXXXX-P1-C7   2103001C   none    PCIe3 4-Port 16Gb FC Adapter
U78D3.001.XXXXXXX-P1-C2   21010021   none    PCIe3 4-Port 16Gb FC Adapter
$
(HMC: lshwres -r io --rsubtype slot -m ms26 --filter lpar_names=ms26-vio1)

Es sind allerdings nur 2 Ports verkabelt:

$ vios lsnports ms26-vio1
NAME  PHYSLOC                     FABRIC  TPORTS  APORTS  SWWPNS  AWWPNS
fcs0  U78D3.001.XXXXXXX-P1-C2-T1  1       64      64      3072    3072
fcs4  U78D3.001.XXXXXXX-P1-C7-T1  1       64      64      3072    3072
$
(VIOS: lsnports)

Beim Arbeiten mit dem Virtual-I/O-Server fällt auf, das einige der Kommandos eine unerwartet lange Laufzeit haben und teilweise für längere Zeit hängen. Im Folgenden sind einige Kommandos angegeben, zusammen mit der benötigten Laufzeit:

(0)padmin@ms26-vio1:/home/padmin> time netstat –cdlistats
…
Error opening device: /dev/fscsi1
errno: 00000045

Error opening device: /dev/fscsi2
errno: 00000045

Error opening device: /dev/fscsi3
errno: 00000045

Error opening device: /dev/fscsi5
errno: 00000045

Error opening device: /dev/fscsi6
errno: 00000045

Error opening device: /dev/fscsi7
errno: 00000045

real    1m13.56s
user    0m0.03s
sys     0m0.10s
(0)padmin@ms26-vio1:/home/padmin>
(0)padmin@ms26-vio1:/home/padmin> time lsnports
name             physloc                        fabric tports aports swwpns  awwpns
fcs0             U78D3.001.XXXXXXX-P1-C2-T1          1     64     64   3072    3072
fcs4             U78D3.001.XXXXXXX-P1-C7-T1          1     64     64   3072    3072

real    0m11.61s
user    0m0.01s
sys     0m0.00s
(0)padmin@ms26-vio1:/home/padmin>
(0)padmin@ms26-vio1:/home/padmin> time fcstat fcs1

Error opening device: /dev/fscsi1
errno: 00000045

real    0m11.31s
user    0m0.01s
sys     0m0.01s
(4)padmin@ms26-vio1:/home/padmin>

Auch LPM-Operationen dauern deutlich länger, da bei der Suche nach passenden FC-Ports für die nötigen NPIV-Mappings alle FC-Ports untersucht werden. Dies kann zu Verzögerungen im Minuten-Bereich führen, bevor die Migration dann letztlich gestartet wird.

Um diese unnötig langen Laufzeiten zu vermeiden, sollten nicht verkabelte FC-Ports nicht aktiviert werden. Das fscsi-Device besitzt das Attribut autoconfig mit den möglichen Werten defined und available. Per Default wird der Wert available verwendet, was dazu führt das der Kernel das Device konfiguriert und aktiviert, auch wenn es keinen Link besitzt, was zu den oben gezeigten Wartezeiten führt. Setzt man das Attribut autoconfig auf defined, dann wird das fscsi-Device nicht aktiviert, es bleibt dann im Zustand defined.

Im folgenden Beispiel wird gezeigt, wie man das Device fscsi1 umkonfiguriert:

$ vios chdev ms26-vio1 fscsi1 autoconfig=defined
$
(VIOS: chdev -dev fscsi1 -attr autoconfig=defined)
$
$ vios rmdev ms26-vio1 fscsi1
$
(VIOS: rmdev -dev fscsi1 –ucfg)
$
$ vios lsdev ms26-vio1 fscsi1
NAME    STATUS   PHYSLOC                     PARENT  DESCRIPTION
fscsi1  Defined  U78D3.001.XXXXXXX-P1-C2-T2  fcs1    FC SCSI I/O Controller Protocol Device
$
(VIOS: lsdev -dev fscsi1)
$
$  vios lsattr ms26-vio1 fscsi1
ATTRIBUTE     VALUE      DESCRIPTION                            USER_SETTABLE
attach        none       How this adapter is CONNECTED          False
autoconfig    defined    Configuration State                    True
dyntrk        yes        Dynamic Tracking of FC Devices         True+
fc_err_recov  fast_fail  FC Fabric Event Error RECOVERY Policy  True+
scsi_id       Adapter    SCSI ID                                False
sw_fc_class   3          FC Class for Fabric                    True
$
(VIOS: lsdev -dev fscsi1 –attr)
$

Durch das Attribut autoconfig=defined bleibt das fscsi-Device auch bei einem Lauf des cfgmgr auf defined!

Wiederholt man die Laufzeit-Messung der Kommandos oben, sieht man das die Laufzeit der Kommandos sich schon meßbar verbessert hat:

(0)padmin@ms26-vio1:/home/padmin> time netstat –cdlistats
…
Error opening device: /dev/fscsi1
errno: 00000005

Error opening device: /dev/fscsi2
errno: 00000045

Error opening device: /dev/fscsi3
errno: 00000045

Error opening device: /dev/fscsi5
errno: 00000045

Error opening device: /dev/fscsi6
errno: 00000045

Error opening device: /dev/fscsi7
errno: 00000045

real    1m1.02s
user    0m0.04s
sys     0m0.10s
(0)padmin@ms26-vio1:/home/padmin>
(0)padmin@ms26-vio1:/home/padmin> time lsnports
name             physloc                        fabric tports aports swwpns  awwpns
fcs0             U78D3.001.XXXXXXX-P1-C2-T1          1     64     64   3072    3072
fcs4             U78D3.001.XXXXXXX-P1-C7-T1          1     64     64   3072    3072

real    0m9.70s
user    0m0.00s
sys     0m0.01s
(0)padmin@ms26-vio1:/home/padmin>
(0)padmin@ms26-vio1:/home/padmin> time fcstat fcs1

Error opening device: /dev/fscsi1
errno: 00000005

real    0m0.00s
user    0m0.02s
sys     0m0.00s
(4)padmin@ms26-vio1:/home/padmin>

Die Laufzeit des netstat-Kommandos hat sich um 12 Sekunden verkürzt, das Komnando lsnports war ca 2 Sekunden schneller.

Wir setzen das autoconfig Attribut jetzt auch bei allen anderen unbenutzten FC-Ports auf defined:

$ for fscsi in fscsi2 fscsi3 fscsi5 fscsi6 fscsi7
> do
> vios chdev ms26-vio1 $fscsi autoconfig=defined
> vios rmdev ms26-vio1 $fscsi
> done
$

Jetzt wiederholen wir die Laufzeit-Messung der Kommandos erneut:

(0)padmin@ms26-vio1:/home/padmin> time netstat –cdlistats
…
Error opening device: /dev/fscsi1
errno: 00000005

Error opening device: /dev/fscsi2
errno: 00000005

Error opening device: /dev/fscsi3
errno: 00000005

Error opening device: /dev/fscsi5
errno: 00000005

Error opening device: /dev/fscsi6
errno: 00000005

Error opening device: /dev/fscsi7
errno: 00000005

real    0m0.81s
user    0m0.03s
sys     0m0.10s
(0)padmin@ms26-vio1:/home/padmin>
(0)padmin@ms26-vio1:/home/padmin> time lsnports         
name             physloc                        fabric tports aports swwpns  awwpns
fcs0             U78D3.001.XXXXXXX-P1-C2-T1          1     64     64   3072    3072
fcs4             U78D3.001.XXXXXXX-P1-C7-T1          1     64     64   3072    3072

real    0m0.00s
user    0m0.01s
sys     0m0.01s
(0)padmin@ms26-vio1:/home/padmin> time fcstat fcs1       

Error opening device: /dev/fscsi1
errno: 00000005

real    0m0.04s
user    0m0.00s
sys     0m0.00s
(4)padmin@ms26-vio1:/home/padmin>

Das Kommando netstat benötigt nun weniger als 1 Sekunde, das Kommando lsnports nur noch 0.1 Sekunden.

Es lohnt sich also das autoconfig Attribut für nicht-benutzte FC-Ports auf defined zu setzen!