Neuigkeiten

AIX-FAQ AIX4 to AIX6 logos

Die von IBM zur Verfügung gestellte AIX Dokumentation befindet sich an vielen Stellen frei zugänglich im Netz und bedarf keiner weiteren Vervielfältigung. Entsprechende Links finden sich auf der AIX-Links Seite. In dieser FAQ hier werden nur einzelne ausgewählte Sachverhalte, Details und Verfahre angesprochen, die sich in der Praxis als hilfreich erwiesen haben aber gleichzeitig in der originalen Dokumentation schwer zu finden sind (bzw. nur wenn man schon genau weiß, was man eigentlich sucht). Die beschriebenen Tips und Tricks sind nicht repräsentativ, keinesfalls vollständig und selbstverständlich ohne Gewähr für die Richtigkeit und schon gar nicht für alle verschiedenen AIX Versionen. Alle Aktionen in der Kommando-Zeile finden in der AIX default-Shell, der Kornshell statt. Kommentare und Vorschläge bitte an die unten genannte E-Mail Adresse.


OS-level, maintenance-level, fixlevel

An erster Stelle einer Problemlösung muß immer die Identifikation der verwendeten AIX Version bzw. RS6000 hardware stehen und zwar zum Teil bis herunter auf Fix-Level Ebene. Bei Problemen mit mehreren verbundenen RS6000 ist es ggf. relevant, daß alle beteiligten Maschinen die identische OS-Version aufweisen. Bei HACMP Clustern und häufig bei SP-Knoten ist es sogar ein absolutes Muß. Dasselbe gilt für die Firmware von Adaptern und Festplatten, auch sie sollten identisch sein, wenn sie zusammenspielen sollen. Deshalb wird jede Arbeit an AIX Systemen mit dem Abgleich dieser Versionsdaten beginnen. Gibt es Probleme sollten zunächst die jüngsten Updates eingespielt werden.

Das Betriebssystem wird mit dem Befehl oslevel abgefragt. Dabei gibt es mehrere Schalter. Als Ausgabe von oslevel wird der aktuelle Stand des Betriebssystem ausgegeben. Allerdings kann es passieren, daß auf der RS6000 einige filesets nicht aktualisiert wurden. Dies führt in der Folge dazu, daß der Befehl oslevel eine zu niedrige Version ausgibt. Man startet oslevel beim ersten Aufruf deshalb zweckmäßigerweise mit der -q Option:

# oslevel -q

Bekannte Wartungsstufen

-----------------------

4.3.3.0

4.3.2.0

4.3.1.0

4.3.0.0

#

Wenn dann der anschließend abgesetzte oslevel als Betriebssystem z.B. 4.3.2.0 ausgibt, befinden sich downlevel filesets auf dem System, die oslevel veranlassen, die Betriebssystemversion zu niedrig anzugeben.
version number release number modifcation level fix level

vv

rr

mmmm

ffff

Die Systematik ist einfach: bost.rte 4.3.3.0 ist ein fileset, bos.rte 4.3.3.75 ist also z.B. ein update für dieses fileset, das alle Fixes der fix-level 0-75 enthält.

Zu den AIX Versionen gehören die maintenance levels, leider auch mit unterschiedlicher Qualität. Maintenance level 4.3.3.0-04 galt als sehr stabil während -06 und -07 einen sehr schlechten Ruf hatten. 4.3.3.0-08 wiederum galt als sehr stabil. ML-09 war wieder etwas zwiespältig und ML-10 gilt als heimliches AIX 4.5.0. Bei den Patches gilt also auch: never touch a running system. Der maintenance level kann mit dem instfix Befehl gefunden werden.

# instfix -i | grep ML

Ergibt als Ausgabe entweder ?Nicht alle Dateigruppen für 4330-0x_AIX_ML wurden gefunden?, oder ?Alle Dateigruppen ... wurden gefunden.? Welche filesets (hier im Bsp für ML 07) dann genau nicht gefunden wurden, erhält man mit

# instfix -ik 4330-07_AIX_ML | grep ":"

Um alle downlevel filesets anzeigen zu lassen ist der Befehl:

# instfix -qic | grep ":-:"

Umgekehrt kann man, wenn man vom niedrigeren fileset ausgeht, AIX auffordern zu berichten, was der höchste bekannte fixlevel ist.

# oslevel -g (= greater) oder

# oslevel -g 4.3.2.0 für alles was höher als 4.3.2.0 ist.

Weitere Möglichkeit zur Abfrage ML

# oslevel -r (zeigt ab 4.3.3.0-08 ebenfalls den aktuellen ML an.)

# oslevel -rl 4330-09 zeigt Filesets, die unterhalb von ML09 sind. Voraussetzung: installp kennt die neueren Versionen.

Änderungen mit AIX 5

5.3 ML 5 war der letzte sog. Maintenance Level. Der Name wurde geändert auf Technology Level, so daß es danach mit 5.3 TL 6 weiterging.

Die neu eingeführten Service Packs werden angezeigt mit

# oslevel -s

Dabei wird eine vierstellige Zahl am Ende angezeigt, die auf den Stellen 1 und 2 das Jahr und auf den Stellen 3 und 4 die Kalenderwoche benennt. Mit Einführung der Service Packs wird auch erwartet, daß Server nicht mehr individuell mit Fixes aktualisiert werden, sondern die kompletten SPs eingespielt.

# oslevel -s

5300-06-03-0736

Die steht für: AIX V5 Release 3 Technology Level 6 Servic Pack 3 aus der 36. KW 2007.

Beginnend mit 5.3 TL7 wird in der VRMF Information das M Feld hochgezählt: 5370 war das TL 7 upgrade. Zusammen mit Service Pack 2 wurde dann ein fileset z.B. mit 5.3.7.2 angezeigt WENN es mit SP 2 aktualisiert wurde.

Top

Wie soll man updates handhaben?

Seit 2006 empfiehlt IBM zwei Wartungsfenster pro Jahr. Beim ersten AIX update release (Technology Level TL) der i.d.R. in QI (etwa Februar) stattfinden soll erwartet IBM, daß der Server neu gestartet wird. Das zweite update release soll i.d.R. in QIII (etwa August) stattfinden. Die Serverfirmware soll immer dann aktualisiert werden, wenn ein geplanter Server Neustart ansteht. Es gibt ein pre-req / co-req tool, das die Abhängigkeiten bei so einer Aktion aufzeigt. Details zum nachlesen in der AIX Service Strategy oder hier.

Was die Begrifflichkeit angeht, so bedeutet für Fix- bzw. Servicepacks ein

Top

Das System schlank halten

AIX bringt von Haus aus ein Skript namens Skulker mit, das dafür sorgt, daß alte Log- und Backup-Dateien nicht bis ans Ende aller Tage temporäre Verzeichnisse zumüllen. Es wird über cron gestartet, ein entsprechender default-Eintrag befindet sich (zunächst auskommentiert) in jeder root-crontab. Da Skulker selbst ein Skript ist, kann man es nach eigenen Vorstellungen anpassen. Nachteil: Skulker löscht nur Dateien, keine Verzeichnisse. Möchte man auch alte Verzeichnisse loswerden, muß man das Skript entsprechend ergänzen.

Problematisch ist jedoch das Löschen von Log-Dateien, auf die gerade zugegriffen wird. Sie können zunächst nicht komplett gelöscht werden, d.h. sie sind nach dem Löschbefehl nicht mehr sichtbar, belegen aber unverändert Platz. D.h. so kann es vorkommen, daß in der Folge ein Dateisystem behauptet voll zu sein, ohne daß eine entsprechende Menge an Dateien im Verzeichnis mit ls -la zu sehen ist. Dann hält ein laufender Prozess eine entsprechende Anzahl von Datei-handles einer Datei offen, die gelöscht wurde. Für AIX ist der Platz dieser Datei aber belegt. An dieser Stelle hilft nur fuser -ukxf auf das Verzeichnis. Falls das nicht reicht kann man noch einen kill - 9 Befehl auf den Prozess absetzen, der meint Zugriff haben zu müssen. Wenn das alles nicht hilft, darf man nicht vergessen mit ipcs und ipcrm eventuelle shared memory Segmente und/oder Semaphoren zu entfernen. Wird von fuser kein Prozess zurückgeliefert, ist lsof das Mittel der Wahl.

Top

Performance Messungen

AIX kommt mit einigen Hilfsprogrammen, mit denen Systemeinstellungen überwacht und vorgenommen werden können. Die meisten dieser Programme werden jedoch nicht automatisch installiert. Deshalb eine kurze Übersicht, in welchen filesets welche Programme stecken:

AIX 4.3

AIX 5L

Unter 5L hat sich das lpp perfagent.tools geändert:

Links zum Thema

IBM Certification Study Guide AIX Performance and System Tuning

AIX 5L Practical Performance and Tuning Guide

Performance Management Guide

Database Performance on AIX in DB2 UDB and Oracle Environment

WebSphere V3 Performance Guide

The Power4 Processor Introduction and Tuning Guide

RS/6000 SP System Performance Tuning Guide

Top

wtmp Datei im Betrieb verkleinern

Um z.B. die 'gewachsene' (in binärem Format gespeicherte) wtmp Datei im /var Verzeichnis zu beschneiden kann man sich mit fwtemp behelfen:

# /usr/lib/acct/fwtmp < /var/adm/wtmp > /tmp/wtmp.asc

# tail -1000 /tmp/wtmp.asc > /tmp/wtmp.1000

# /usr/lib/acct/fwtmp -ci < /tmp/wtmp.1000 >/var/adm/wtmp

Wie weit die wtemp-history dann zurückreicht ist abhängig von der Menge an Informationen, die in ihr gespeichert werden. Auf einem Server mit vielen Benutzeranmeldungen wird der Zeitraum kürzer sein als auf Servern, auf denen sich selten oder nie jemand anmeldet. .

Im /tmp Verzeichnis muß immer soviel Platz sein, daß beim booten das blv durch bosboot als flat file hineingeschrieben werden kann. Wenn das /tmp Verzeichnis voll ist, kann das System nicht (richtig) starten. Dies ist eine mögliche Fehlerursache für den LED Code 553.

wtmp Datei lesen

# /usr/sbin/acct/fwtmp </var/adm/wtmp

Top

ODM

Vor arbeiten an der ODM sollte man alle Aktionen testen. Dazu wird das Verzeichnis /etc/objrepos am besten nach /tmp/objrepos kopiert und anschließend das $ODMDIR darauf umgebogen. Nun kann man in Ruhe testen ohne Gefahr zu laufen, die richtige ODM versehentlich zu zerschießen. Wenn das Ergebnis reproduzierbar wiederholt werden kann, kann man an die richtige ODM gehen.

Dateien mit escape / control Sequenzen löschen

Zuerst die inode Nummer herausfinden mit ncheck oder mit

# ls -ilb |more

das ergibt z.B. folgende Ausgabe:

total 2289

1057 -rw-r--r-- 1 root system 0 Mar 03 12:18 -?.pag

Im gegebenen Beispiel ist 1057 die i-node Nummer. Dann ein

# find . -inum <i-node#> -xdev -exec rm {} \;

um die Dateien zu finden und zu löschen. Wichtig ist die '-xdev' Option, da find ansonsten auch in den Unterverzeichnissen Dateien (mit derselbe inode Nummer) findet und löscht.

Denselben Trick kann man anwenden, wenn man z.B. eine solche verschriebene Datei / Dateisystem bearbeiten möchte. Im folgenden Beispiel hat sich beim verschieben eines Dateissystems ein unbekanntes Sonderzeichen eingeschlichen. Der inode des Dateisystems wurde mit dem o.g. ls-Befehl identifiziert, mit diesem inode wird dann weitergearbeitet:

# find . -inum 36864

/?vr4.3_dsk3

mv $(find . -inum 36864) LUM_DIR

# ls -altr

total 112

drwxr-xr-x 2 6690 sys 4096 Jun 01 2004 wvr4.2_dsk1/

drwxr-xr-x 2 6690 sys 4096 Jun 01 2004 wvr4.2_dsk2/

drwxr-xr-x 2 6690 sys 4096 Jun 04 2004 LUM_DIR/

Top

Distributed Shell dsh

Um die AIX dsh nutzen zu können muß auf den Zielservern ein zum Benutzer passender ssh public key existieren und drei Variablen besetzt sein:

DSH_NODE_LIST=/home/user/LISTE2

DSH_NODE_RSH=/usr/bin/ssh

DSH_NODE_OPTS=-q

Top

config_lock blockiert ODM

Wenn der Object Data Manager ODM mit der odm_initialize Subroutine intialisiert wird, dann wird die ODM Datenbank mit der odm_lock Subroutine für weitere Zugriffe gesperrt. Dazu wird eine Datei /etc/objrepos/config_lock angelegt. Stürzt der Prozeß nun während dem Laufen ab, kann es sein, daß diese config_lock Datei auf dem System bleibt und in der Folge keine weiteren Änderungen an der ODM mehr vorgenommen werden können (weil der ODM vor jedem Eingriff natürlich prüft, ob die ODM Datenbank gerade gesperrt ist). In so einem Fall muß/darf die config_lock Datei manuell gelöscht werden.

Beispiel aus der AIX 4.3 Doku, wie der ODM die Überprüfung vornimmt:

#include <cf.h>

if (odm_initialize() < 0)

exit(E_ODMINIT); /* initialization failed */

if (odm_lock("/etc/objrepos/config_lock",0) == -1) {

odm_terminate();

exit(E_ODMLOCK); /* database lock failed */

}

Top

Wo sind die AIX 4.3 man pages?

Zu einem vollständigen AIX 4.3.3 CD-Satz gehören 4 CD, auf denen das eigentliche Betriebssystem ist, 1 CD mit der Base Documentation (landesspezifisch), 1 CD Extended Documentation und 2 CD Bonus Pack. Wir verraten hier eines der am besten gehüteten IBM Geheimnisse ;-) für die man pages benötigt man die OS CD1 und die Base Documentation CD.

Zunächst wird die Hilfe als HTML Doku installiert.

CD 1/4 der Betriebssystem CD

bos.html.en_US.topnav.navigate - Top Level Navigation

Base Documentation CD (landesspezifisch)

bos.html.en_US.nav - Online Navigation

bos.html.en_US.cmds.cmds1 - AIX Commands Reference 1

bos.html.en_US.cmds.cmds2 - AIX Commands Reference 2

bos.html.en_US.cmds.cmds3 - AIX Commands Reference 3

bos.html.en_US.cmds.cmds4 - AIX Commands Reference 4

bos.html.en_US.cmds.cmds5 - AIX Commands Reference 5

bos.html.en_US.cmds.cmds6 - AIX Commands Reference 6

Für Programmierer ist die C-Referenz in der Extended Documentation

bos.html.en_US.techref.base - AIX Base Tech Ref

bos.html.en_US.techref.commo - AIX Commo Tech Ref

<Top>

CD-ROM Training

Um CD-ROM Schulungen von IBM nutzen zu können, muß man heute z.T. auf veraltete Webbrowser zurückgreifen. Die Schulungen sind i.d.R. mit HTML und Java realisiert. In der Beschreibung heißt es zwar oft, daß alle IE ab 4.01 bzw. Netscape ab 4.06 dafür geeignet sind, spiegelt jedoch den damaligen Stand der Browserentwicklung wieder und gilt nicht für damals noch unbekannte Versionen.Mit dem InternetExplorer 6 z.B. lassen sich die alten Trainings nicht mehr richtig verwenden. Mit den richtigen (java und real-audio) plugins sind deshalb ältere Netscape Versionen zum abspielen der CD Schulungen die erste Wahl.

<Top>

ISO Datei direkt mounten

Seit AIX 6.1 TL 4 kann man ISO Dateien direkt mounten, wenn devices.loopback.rte 6.1.4.0 installiert sind. Der Mountbefehl ist:

# loopmount -i VIOS1.ISO -o "-o ro -v cdrfs" -m /mnt

Top

Severity Code

Jedem PMR wird von IBM ein sog. severity code zugeordnet, die von 1 bis 4 reichen. Dabei bedeutet 1 die höchste Priorität und 4 die niedrigste. Ein Call mit Prio 4 wird sich im Schneckentempo vorwärts bewegen, während Prio 1 bedeutet, daß man täglich über den Status informiert wird. Die Einordnung erfolgt anhand der folgenden Kriterien:

1. System is down or primary application is unusable and no workaround is available

2. System and primary application are usable but severely affected.

3. System and primary application are usable with little effect, or an acceptable workaround is available.

4. Problem has little or no effect on use of the system or primary application.

Top

Telefonnummern IBM Maintenance & Technical Support

Hardware- und Software Calls: 01805-25 35 53

Top

Trusted Computing Base TCB

Fehlermeldung: 3001-092 The creation of file /etc/security/tcbck.LCK was not successful. Dateirechte:

-rw------- 1 root system 8 Jan 21 12:01 /etc/security/tcbck.LCK

Behebung: In /etc/security liegt ggf. bereits eine tcbck.LCK. Diese Datei wird nur temporär angelegt.D.h. liegt von einer vergangenen Aktion diese Datei im Verzeichnis schlägt die folgende Aktion der TCB fehl. Manuell löschen der Datei löst das Problem.

Top

User löschen

Um einen user aus dem System zu löschen, ist es mit einem simplen rmuser nicht getan. Vielmehr müssen zunächst seine Dateien und (/home) Verzeichnisse, insbesondere aber seine cron- und at- Jobs entfernt werden. Wird zuerst der user gelöscht, lassen sich seine Dateien nicht mehr (so leicht) identifizieren, sie werden zu besitzerlosen Daten.

# find -user <user>

Danach alle cronjobs und atjobs finden/beenden.

# cronadm at -l <user>

# cronadm cron -l <user>

Entfernen mit

# cronadm at -r <job>

Außerdem at-Queue checken

# atq

entfernen mit

# atrm <job>

Gegebenenfalls muß cron neu gestartet werden. Das tut man, indem man den Prozess mit kill beendet. Init startet ihn neu (respawn).

Top

User Passwort ohne Änderungszwang setzen

Wenn man mit passwd <user> ein Paßwort setzt, wird der <user> beim ersten einloggen gezwungen, es zu ändern. Das ist nicht immer erwünscht. Mit:

# pwdadm -c

werden alle in /etc/security/passwd gesetzten Flags gelöscht. Alternativ kann man aus der vorgenannten Datei das ADMCHG Flag für diesen <user> entfernen.

Top

User auf anderes Unix System migrieren

mrgpwd erzeugt aus /etc/passwd und /etc/security/passwd eine 'standard' /etc/passwd. Es gehört zum NIS Paket.

Top

B80 Fehler LED zurücksetzen

# /usr/lpp/diagnostics/bin/usysfault -s normal

Top

Systemauslastung

Seit AIX 4 sind vmstat und iostat nicht mehr bei der Standardinstallation dabei, sondern bei den Performance Tools. Sie sind deshalb separat zu installieren.

Speicherauslastung

# vmstat <interval> <count>

Datenträgerauslastung

# iostat <interval> <count>

Netzwerkauslastung

# netstat -I en0 1

# netstat -m

Bei diesem Kdo. wurde mit AIX 4.3 die Anzeige geändert. Die MBUFs werden nur noch angezeigt, wenn in den no die extendednetstats=1 gesetzt sind.

3 in 1

Seit AIX 4.3.3 wird von IBM ein Tool namens topas mitgeliefert, es vereint die wichtigsten Anzeigen der zuvor diskutierten Programme in einer Ansicht. Vergleichbar mit dem bekannten monitor. War berüchtigt für Dutzende Anzeigefehler in so ziemlich jeder Version. Besser nmon benutzen. Letzterer ist seit AIX 5.3 TL 9 im Betriebssystem offiziell integriert und heisst topas_nmon.

Top

Wie finde ich heraus, welcher Prozess einen bestimmten Port benutzt?

Am einfachsten läßt sich diese Beziehung mit lsof herausfinden. Da lsof leider nicht zum AIX Betriebssystem gehört, steht diese Methode aber nicht überall zur Verfügung. Mit AIX Bordmitteln kann man sich aber auch behelfen. Zunächst wird der Ports mit Hilfe von netstat angezeigt.

(0)cserver:/tmp 14# netstat -aAn | grep \.111

f100020006707b98 tcp4 0 52 192.168.100.45.22 192.168.100.98.111 ESTABLISHED

Die Zeile mit dem betreffenden Port enthält vorne die ID des Socket und dahinter eine Information über das Protokoll. Mit diesen beiden Informationen machen wir uns jetzt ein anderes Programm zunutze: rmsock ist eigentlich dafür gedacht einen Socket zu löschen. Wenn es jedoch erkennt, daß der Socket noch durch einen lfd. Prozess genutzt wird löscht es diesen nicht, sondern kommt es mit einer Fehlermeldung zurück die den entsprechenden Prozess nennt.

(0)cserver:/tmp 15# rmsock f100020006707b98 tcpcb

The socket 0x6707808 is being held by proccess 356562 (sshd).

(1)cserver:/tmp 16#

Top

System dump

Voraussetzung für Arbeit mit einem System dump ist ein dump device, das groß genug ist, den dump aufzunehmen. Auch /var/adm/ras muß genügend Platz bieten, falls der dump beim reboot dorthin umkopiert werden soll. Die geschätzte Größe des dump ergibt sich mit

# sysdumpdev -e

und die Einstellungen in Bezug auf den System dump lassen sich anzeigen durch:

# sysdumpdev -l

Abgesehen vom echten System dump kann man das Kdo. sysdumpstart benutzen, um einen dump auszulösen.

# sysdumpstart -p löst einen dump in das primäre dump device aus,

# sysdumpstart -s in das zweite.

Alternativ kann ein dump in der Konsole durch drücken von

STR-ALT-1 (numerisches Tastenfeld) bzw. STR-ALT-2 ausgelöst werden.

Wenn der Rechner auf Tastatureingaben nicht mehr reagiert, kann man den Schlüssel auf Service stellen und anschließend den Reset-Knopf drücken.

Sollen die Einstellungen permanent gemacht werden, verwendet man besser smitty dump. Ab 4.3.3 sucht sich AIX automatisch den letzten Dump und verwendet ihn.

++++++++++++++++++++++++++++++++++++++++++++++++++

Copyright © Schulze-EDV-Service 2011

Das direkte Linken meiner Seiten ist nur auf Seiten ohne Werbung gestattet.My pages must not be linked directly to pages and/or frame-sets containing ads. Copyright © 1998-2010 Andreas Schulze. German and European copyright law applicable. Alle Rechte vorbehalten. All rights reserved.

Content of my pages and its presentation is entirely mine. It is illegal to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, perform and display Content (in whole or in part) and /or to incorporate it in other works in any form, media, or technology now known or later developed without written consensus of the author. If you do not agree with these terms, you have to delete my pages / its content in whole from you (IT-) systems. In this case you are not allowed to keep any kind of backup of it (neither in whole nor in part).

Alle hier genannten Produkte sind eingetragene Marken oder Marken der jeweiligen Eigentümer. Inhalte verlinkter Seiten machen wir uns nicht zu eigen und befürworten sie auch nicht.