FAQ AIX
Inhalt
Backup und Restore
- Wie kann ich ein Verzeichnis mit »backup« archivieren?
- Wie lässt sich ein Verzeichnis bei einer mksysb-Sicherung ausschließen?
- Wie lässt sich ein komprimiertes tar-Archiv unter AIX entpacken?
- Wie kann ich einen älteren Versionsstand einer Datei aus einer TSM-Sicherung restaurieren?
- Wie erstellt man ein bootfähiges DVD Image aus einem mksysb?
Hardware und Support
- Mit welchem Befehl analysiert man unter AIX 5L einen Dump?
- Wie lassen sich geladene Kernel-Extensions unter AIX anzeigen?
- Ist meine AIX-Maschine 64bit-fähig?
- Wie aktiviere ich den 64bit-Kernel? Oder ist er schon aktiv??
- Kann ich auf meiner RS/6000 noch AIX 5.2 oder höher installieren?
- Wie lässt sich der Versionsstand einer HMC feststellen?
- Wie lässt sich die Firmware einer p5 anzeigen?
- Wie erzeugt man einen Snap für den IBM-Support?
- Wie kann ich feststellen, welche HMC meine LPAR kontrolliert?
- Wie kann ich die LPAR-Konfiguration sehen, ohne mich auf der HMC anzumelden?
- Wie kann ich Statistiken aller LPARs eines Managed Systems sehen?
- Wie lassen sich die SMT-Einstellungen und Prozessor-Informationen überprüfen?
Netzwerk
- Wie lässt sich ein Backup-Ethernetadapter einrichten?
- Wie wird eine statische Route gesetzt?
- Wie kann ich einen AIX-Client über reservierte Ports mit einem NFS-Server verbinden?
- Wie setze ich ein IP-Alias unter AIX?
- Wie sehe ich den Linkstatus einer Netzwerkkarte?
- Wie lässt sich der Status eines Etherchannels überprüfen?
- Wie starte bzw. stoppe ich einen Subserver des Internet Superservers inetd?
Software-Paketverwaltung
- Wie lässt sich eine Vorschau (PREVIEW only) auf einen ML/TL Upgrade durchführen?
- Wie spiele ich einen efix/ifix ein?
- Wie lassen sich Filesets und ihre Version auf einem Medium anzeigen?
- Wie kann ich mir Informationen über installierte Filesets und ihre Versionen in einer Zeile ausgeben lassen?
Storage Management
- Lässt sich die maximale Anzahl von PPs auf über 1016 erhöhen?
- Wie lässt sich unter AIX ein Link zu einem Fibrechannel-Switch feststellen?
- Wie kann ich unter AIX eine Dummy-Disk als Platzhalter erzeugen?
- Wie lässt sich der VGDA eines PV (hdisk) direkt auslesen?
- Wie lässt sich ein Storage Lock auf einer SAN-Disk brechen?
- Wie lässt sich eine SCSI-Disk unter AIX indentifizieren?
- Wie lässt sich ein Tape-Device umbenennen?
- Wie lässt sich feststellen, auf welchen hdisks sich eine boot-Signatur befindet?
- Wie lassen sich HBA-Statistiken auslesen?
- Wo finde ich WWPNs von FibreChannel-Adaptern im SMS-Menu?
- Wie lässt sich die tatsächliche qdepth für ein LUN herausfinden?
Sonstiges
- Wie kann ich unter AIX 5.3 Benutzer mit langen Login-Namen (mehr als 8 Zeichen) anlegen?
- Die richtigen Einstellungen für Sommer- und Winterzeit?
- Lassen sich schon gelöschte Dateien anzeigen, die aber noch von einem Prozess geöffnet sind?
- Wie bekomme ich erlaubte Werte für Device-Attribute heraus?
- Wie lässt sich ein ISO-Image unter AIX mounten?
Backup und Restore
1. Wie kann ich ein Verzeichnis mit »backup« archivieren?
Das von AIX bereitgestellte tar weist einige Beschränkungen auf. Als Ersatz fällt mir spontan das backup-Kommando ein. Aber was müsste ich genau eingeben?
Angenommen, Sie wollen das Verzeichnis /usr/local mit tar sichern - etwa so:
# tar cvpf /tmp/archive.tar ./usr/local/
Mit backup wird das Ganze dann zu:
# find ./usr/local/ | backup -iqvpf /tmp/archive.bff
Natürlich will man sein Backup auch wieder zurückspielen können, dazu wird restore verwendet:
# restore -xqvf /tmp/archive.bff
(das entsprechende tar-Kommando wäre: tar xvpf /tmp/archive.tar)
2. Wie lässt sich ein Verzeichnis bei einer mksysb-Sicherung ausschließen?
Soll ein Verzeichnis /var/tesdir, das sich in der rootvg befindet, bei der mksysb-Sicherung
nicht mitgesichert werden, fügen Sie folgenden Eintrag an die Datei /etc/exclude.rootvg an:
^./var/tesdir/
Starten Sie das mksysb mit der Option '-e':
# mksysb -e -i -X /dir/to/image
3. Wie lässt sich ein komprimiertes tar-Archiv unter AIX entpacken?
Zunächst einmal: Ohne gzip (bzw. bzip2) geht gar nichts. Das AIX-eigene tar kann aber genutzt werden, etwa so:
# gzip -d -c archiv.tgz | tar xvf -
Um nur hineinzuschauen entsprechend:
# gzip -d -c archiv.tgz | tar tvf -
Ähnlich geht's auch mit bzip2-komprimierten Archiven:
# bzip2 -d -c archiv.tar.bz2 | tar xvf -
4. Wie kann ich einen älteren Versionsstand einer Datei aus einer TSM-Sicherung restaurieren?
Eine alte Version der Datei /etc/sudoers ließe sich so restaurieren:
# dsmc restore -pick -inactive /etc/sudoers
TSM Scrollable PICK Window - Restore
# Backup Date/Time File Size A/I File
-----------------------------------------------------------------------
1. | 02/11/09 21:31:28 27.74 KB A /etc/sudoers
2. | 02/02/09 22:12:45 25.42 KB I /etc/sudoers
3. | 01/28/09 22:10:38 25.00 KB I /etc/sudoers
4. | 01/20/09 21:34:20 23.73 KB I /etc/sudoers
0---------10--------20--------30--------40--------50--------60--------7
<U>=Up <D>=Down <T>=Top <B>=Bottom <R#>=Right <L#>=Left
<G#>=Goto Line # <#>=Toggle Entry <+>=Select All <->=Deselect All
<#:#+>=Select A Range <#:#->=Deselect A Range <O>=Ok <C>=Cancel
pick>
Soll die Datei in einen anderen Ordner, z.B. nach /tmp restauriert werden, ginge das so:
# dsmc restore -pick -inactive /etc/sudoers /tmp
Es können auch gleich mehrere Dateien aus einer Liste restauriert werden, z.B. aus dem Verzeichnis
/etc/init.d:
# cd /etc/init.d
# dsmc restore -pick "*"
TSM Scrollable PICK Window - Restore
# Backup Date/Time File Size A/I File
-----------------------------------------------------------------------
1. | 09/19/08 15:30:28 3.77 KB A /etc/init.d/gssd
2. | 09/19/08 15:30:28 3.83 KB A /etc/init.d/haldaemon
3. | 09/19/08 15:30:28 3.60 KB A /etc/init.d/halt
4. | 09/19/08 15:30:28 360 B A /etc/init.d/halt.local
5. | 09/19/08 15:30:28 4.01 KB A /etc/init.d/idmapd
6. | 09/19/08 15:30:28 13.44 KB A /etc/init.d/ipmi
7. | 09/19/08 15:30:28 2.12 KB A /etc/init.d/irq_balancer
8. | 09/19/08 15:30:28 2.79 KB A /etc/init.d/joystick
9. | 09/19/08 15:30:28 11.91 KB A /etc/init.d/kbd
0---------10--------20--------30--------40--------50--------60--------7
<U>=Up <D>=Down <T>=Top <B>=Bottom <R#>=Right <L#>=Left
<G#>=Goto Line # <#>=Toggle Entry <+>=Select All <->=Deselect All
<#:#+>=Select A Range <#:#->=Deselect A Range <O>=Ok <C>=Cancel
pick>
Wie erstellt man ein bootfähiges DVD Image aus einem mksysb?
Liegt ein mksysb bereits unter /var/backups/mksysb.obj vor, kann daraus sehr einfach ein bootfähiges DVD-Image erstellt werden:
mkcd -L -S -I /iso-images -m /var/backups/mksysb.obj
Im obigen Beispiel würde man das fertige DVD-Image im Verzeichnis /iso-images vorfinden. Zu beachten ist ferner, dass dem
Schalter -m der volle Pfad zum mksysb-Image angegeben werden muss - relative Pfade führen zu einer Fehlermeldung!
Hardware und Support
1. Mit welchem Befehl analysiert man unter AIX 5L einen Dump?
Seit AIX 5.1 wird dazu der Befehl kdb benutzt. Bis AIX 4.3.3 hieß das Kommando crash.
Die Bedienung ist weitgehend identisch.
2. Wie lassen sich geladene Kernel-Extensions unter AIX anzeigen?
Der Befehl dazu heißt genkex. Er listet alle Treiber-Module auf. Möchte man nur
die Extensions im eigentlichen Sinne sehen benutzt man:
# genkex | grep 'ext$'
3. Ist meine AIX-Maschine 64bit-fähig?
Die Antwort darauf gibt das Kommando bootinfo:
# bootinfo -y 32
Ist die Ausgabe 32, kann die Maschine nur mit dem 32bit-Kernel betrieben werden; ist
die Ausgabe dagegen 64 kann die Maschine sowohl mit dem 32bit- als auch mit dem 64bit-Kernel
betrieben werden.
4. Wie aktiviere ich den 64bit-Kernel? Oder ist er schon aktiv??
Der klassische Kernel /unix ist seit AIX 5.2 ein Link auf den entsprechenden Kernel im Verzeichnis
/usr/lib/boot. Welcher Kernel aktiv ist, sieht man, wenn man den Link verfolgt. Zeigt der Link, wie im
folgenden Beispiel auf /usr/lib/boot/unix_64 ist der 64bit-Kernel bereits aktiv. Zeigt er auf
/usr/lib/boot/unix_up oder /usr/lib/boot/unix_mp wird das System im 32bit-Modus betrieben.
Beispiel:
# ls -l /unix lrwxrwxrwx 1 root system 21 21 Jul 2004 /unix -> /usr/lib/boot/unix_64
Welcher Kernel wirklich aktiv ist, lässt sich auch mit bootinfo herausfinden:
# bootinfo -K 64
Von einem 32bit- zu einem 64bit-Kernel wechselt man, indem man diesen sowie einen weitern Link unix
im Verzeichnis /usr/lib/boot entsprechend umsetzt:
# cd / # rm -f unix # ln -s /usr/lib/boot/unix_64 unix # cd /usr/lib/boot/ # rm -f unix # ln -s unix_64 unix
Danach muss das BLV neu geschrieben werden:
# bosboot -a bosboot: Boot-Image hat 19008 512-Byte-Blöcke.
Nach dem nächsten Systemstart ist der 64bit-Kernel aktiv.
5. Kann ich auf meiner RS/6000 noch AIX 5.2 oder höher installieren?
Seit der AIX Version 5.2 werden nicht mehr alle RS/6000-Modelle unterstützt. Das Kommando " bootinfo -p
" gibt Auskunft. Nur wer, wie im unteren Beispiel, " chrp " als Antwort erhält, kann seine Maschine mit
der neuesten AIX-Version installieren:
# bootinfo -p chrp
Aber Achtung: Möglicherweise ist ein Firmware-Upgrade notwendig, damit das System überhaupt von der AIX 5.2-CD bootet!
AIX 6.1 wird nicht auf allen chrp-Systemen unterstützt. Insbesondere 32bit Systeme können nicht mit AIX 6.1 betrieben
werden.
6. Wie lässt sich der Versionsstand einer HMC feststellen?
Auf der HMC lässt sich die Version mit lshmc feststellen:
hscroot@hmc:~> lshmc -V "version= Version: 5 Release: 1.0 HMC Build level 20051110.1 MH00464: InfoCenter Update for V5R1.0 (10-27-2005) MH00493: Fixes for leap second handling, DST time and openssl (11-29-2005) MH00507: Maintenance Package for V5R1.0 (12-03-2005) "
Diese Informationen lassen sich auch über WebSM/wsm ermitteln:
- Links "Licensed Internal Code Maintenance" aufklappen
- "HMC Code Update" anklicken
- Im Bereich "Status" finden sich die Informationen, die auch
lshmc -Vausgibt.
Mehr über die HMC Kommandozeile erfahren Sie in unserem kleinen HMC Commandline Howto
7. Wie lässt sich die Firmware einer p5 anzeigen?
Dazu meldet man sich auf einer beliebigen LPAR an und setzt den Befehl lsmcode
ab. Die Ausgabe ist:
DISPLAY MICROCODE LEVEL 802811 IBM,9117-570 The current permanent system firmware image is SF235_185 The current temporary system firmware image is SF235_185 The system is currently booted from the temporary firmware image.
8. Wie erzeugt man einen Snap für den IBM-Support?
Dazu steht unter AIX allgemein das snap-Kommando zur Verfügung. Zunächst sollte
ein eventuell vorhandener alter Snap gelöscht werden. Zum Löschen kann das Kommando
snap -r benutzt werden - um später Probleme beim Schreiben des neuen Snap zu
vermeiden, empfiehlt es sich aber einfach das komplette Verzeichnis /tmp/ibmsupt
zu löschen (s.u.).
# rm -rf /tmp/ibmsupt
# snap -gfiLGc
Checking space requirement for general information........................done.
.
.
.
Creating compressed pax file...
Starting pax/compress process... Please wait... done.
-rw------- 1 0 0 8621905 Mar 2 10:40 snap.pax.Z
Der komprimierte Snap findet sich dann unter /tmp/ibmsupt/snap.pax.Z. Diese Datei
wird dann an IBM geschickt.
9. Wie kann ich feststellen, welche HMC/welcher CSM-Server meine LPAR kontrolliert?
Dazu kann der Domainstatus abgefragt werden - dazu muss das Subsystem ctrmc aktiv sein.
Dies lässt sich mit
# lssrc -s ctrmc Subsystem Group PID Status ctrmc rsct 1151036 active
überprüfen. Ist dies der Fall, erhalten Sie die IP-Adresse der HMC mit:
# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc Management Domain Status: Management Control Points O A 0xccdfc3e608ad7624 0001 192.168.100.10
Falls die LPAR auch von einem CSM-Server kontrolliert wird, gibt es zwei Control Points:
# /usr/sbin/rsct/bin/rmcdomainstatus -s ctrmc Management Domain Status: Management Control Points I A 0x58016857defc1b87 0001 192.168.100.11 I A 0xccdfc3e608ad7624 0002 192.168.100.10
Für neuere rsct-Versionen lassen sich die Management-Server auch mit lsrsrc anzeigen:
# lsrsrc -l "IBM.ManagementServer"
Resource Persistent Attributes for IBM.ManagementServer
resource 1:
Name = "192.168.100.10"
Hostname = "192.168.100.10"
ManagerType = "HMC"
LocalHostname = "192.168.100.23"
ClusterTM = "9078-160"
ClusterSNum = ""
ActivePeerDomain = ""
NodeNameList = {"lpar22-ext"}
resource 2:
Name = "192.168.100.11"
Hostname = "192.168.100.11"
ManagerType = "CSM"
LocalHostname = "lpar22"
ClusterTM = "9078-160"
ClusterSNum = "10BF571"
ActivePeerDomain = ""
NodeNameList = {"lpar22-ext"}
10. Wie kann ich die LPAR-Konfiguration sehen, ohne mich auf der HMC anzumelden?
Führen Sie folgenden Befehl auf Ihrer LPAR aus:
$ lparstat -i Node Name : barney Partition Name : mylpar2 Partition Number : 2 Type : Shared-SMT Mode : Uncapped Entitled Capacity : 0.60 Partition Group-ID : 32796 Shared Pool ID : 0 Online Virtual CPUs : 6 Maximum Virtual CPUs : 10 Minimum Virtual CPUs : 1 Online Memory : 3072 MB Maximum Memory : 16384 MB Minimum Memory : 1024 MB Variable Capacity Weight : 80 Minimum Capacity : 0.10 Maximum Capacity : 10.00 Capacity Increment : 0.01 Maximum Physical CPUs in system : 16 Active Physical CPUs in system : 8 Active CPUs in Pool : 8 Unallocated Capacity : 0.00 Physical CPU Percentage : 10.00% Unallocated Weight : 0
11. Wie kann ich Statistiken aller LPARs eines Managed Systems sehen?
Dazu bietet der topas Monitor einen speziellen Schalter:
# topas -C
Das Resultat sieht dann so aus:
Topas CEC Monitor Interval: 10 Wed Aug 13 17:08:13 2008 Partitions Memory (GB) Processors Shr: 12 Mon:83.0 InUse:20.6 Shr:3.8 PSz: 8 Don: 0.0 Shr_PhysB 0.14 Ded: 0 Avl: - Ded: 0 APP: 7.9 Stl: 0.0 Ded_PhysB 0.00 Host OS M Mem InU Lp Us Sy Wa Id PhysB Vcsw Ent %EntC PhI -------------------------------------shared------------------------------------- vioserver1 A53 U 5.0 1.4 6 3 6 0 90 0.03 177 0.30 10.3 2 vioserver2 A53 U 5.0 1.2 6 3 6 0 90 0.03 257 0.30 10.1 2 mylpar0 A53 U 5.0 3.1 6 2 4 0 92 0.02 195 0.30 7.6 0 mylpar1 A53 U 5.0 2.8 6 0 2 0 96 0.01 363 0.30 4.0 0 mylpar2 A53 U 10 1.5 12 0 0 0 99 0.01 367 0.60 1.2 1 mylpar3 A53 U 18 2.7 8 0 0 0 98 0.01 288 0.40 1.7 0 mylpar4 A53 U 6.0 1.3 2 0 3 0 96 0.01 190 0.10 5.1 0 mylpar5 A53 U 3.0 1.5 12 0 0 0 99 0.01 286 0.60 0.8 0 mylpar6 A53 U 10 1.5 12 0 0 0 99 0.00 231 0.60 0.8 0 mylpar7 A53 U 6.0 1.2 2 0 2 0 97 0.00 176 0.10 4.1 2 mylpar8 A53 U 6.0 1.3 2 0 1 0 97 0.00 135 0.10 3.2 0 mylpar9 A53 U 4.0 1.1 2 0 1 0 97 0.00 132 0.10 3.1 0 Host OS M Mem InU Lp Us Sy Wa Id PhysB Vcsw %istl %bstl Host OS M Mem InU Lp Us Sy Wa Id PhysB Vcsw %istl %bstl------------ ------------------------------------dedicated-----------------------------------
12. Wie lassen sich die SMT-Einstellungen und Prozessor-Informationen überprüfen?
smtctl ist der geeignete Befehl, So könnte es z.B. aussehen:
# smtctl This system is SMT capable. SMT is currently enabled. SMT boot mode is not set. SMT threads are bound to the same virtual processor. proc0 has 2 SMT threads. Bind processor 0 is bound with proc0 Bind processor 1 is bound with proc0 proc2 has 2 SMT threads. Bind processor 2 is bound with proc2 Bind processor 3 is bound with proc2
Netzwerk
1. Wie lässt sich ein Backup-Ethernetadapter einrichten?
Dazu wird ein Etherchannel eingerichtet. Dazu muss zunächst das bestehende Netzwerkinterface
dekonfiguriert (hier: en0) werden. Ein zweiter Adapter (hier: en1)
muss verfügbar sein. Dann wird der Etherchannel wie folgt eingerichtet:
# ifconfig en0 detach
# chdev -P -l en0 -a state=down
# mkdev -c adapter -s pseudo -t ibm_ech -a adapter_names=ent0 \
-a backup_adapter=ent1 -a netaddr=192.168.100.1 \
-a num_retries=3 -a retry_time=3
# mkdev -c if -s EN -t en -a netaddr=192.168.100.33 \
-a netmask=255.255.255.0 -w en2 -a state=up -a arp=on
# mkdev -l inet0
Die IP-Adresse im ersten mkdev-Aufruf ist ein Host, der angepingt werden kann (z.B. der Gateway).
Darüber stellt das System den Ausfall einer Netzverbindung fest. Der zweite mkdev-Aufruf dagegen
definiert die IP-Adresse der Maschine auf dem neuen Etherchannel-Interface, das dann den Namen en2
erhält.
2. Wie wird eine statische Route gesetzt?
Natürlich lässt sich eine statische Route ganz normal mit dem route-Kommando setzen, doch auf diese Weise
überlebt die Route den nächsten Reboot nicht.
Damit die Route beim Systemstart automatisch gesetzt wird, muss sie an inet0 gekoppelt werden. Zunächst lassen wir uns anzeigen, welche Routen schon gesetzt sind:
# lsattr -El inet0 -a route route net,-hopcount,0,,0,192.168.1.1 Route True route net,-hopcount,255.255.255.128,,,,,192.168.3.155,192.168.2.1 Route True
Die obigen Routen würde man wie folgt setzten:
# chdev -l inet0 -a route=net,-hopcount,0,,0,192.168.1.1 # chdev -l inet0 -a route=net,-hopcount,255.255.255.128,,,,,192.168.3.155,192.168.2.1
Und so würden sie wieder entfernt:
# chdev -l inet0 -a delroute=net,-hopcount,0,,0,192.168.1.1 # chdev -l inet0 -a delroute=net,-hopcount,255.255.255.128,,,,,192.168.3.128,192.168.2.1
In dem Route-String ist 255.255.255.128 die Netzmaske, 192.168.3.128 das Zielnetzwerk
und 192.168.2.1 der Gateway.
Bei Hostrouten wird anstelle von net das Schlüsselwort host gesetzt.
3. Wie kann ich einen AIX-Client über reservierte Ports mit einem NFS-Server verbinden?
Einige UNIX-Varianten, etwa OpenBSD oder Solaris erwarten, dass Clients sich über reservierte Ports (<= 1024) verbinden. AIX allerdings nutzt nicht reservierte Ports zur Verbindung mit einem NFS-Server. Dies lässt sich aber mit dem folgenden Kommando ändern:
# nfso -o nfs_use_reserved_ports=1
Die Einstellung geht allerdings nach dem nächsten Reboot verloren. Unter AIX 5L und 6 kann der Schalter '-p' genutzt werden, damit die Einstellungen einen Reboot überleben:
# nfso -p -o nfs_use_reserved_ports=1
Diese Einstellungen werden auch vom autofs-Subsystem übernommen. Beachten Sie aber, dass bestehende Mounts dadurch nicht beeinflusst werden.
Diese Einstellung muss also vor dem Einhängen eines NFS-Volumens gesetzt werden!
4. Wie setze ich ein IP-Alias unter AIX?
Eine zweite IP-Adresse, ein sogenannter IP-Alias, kann wie unter Unix üblich mit dem Befehl ifconfig auf ein Interface gelegt werden:
# ifconfig en0 192.168.100.199 netmask 255.255.255.0 alias
Mit diesem Kommando würde eine IP-Alias 192.168.100.199 auf das Interface en0 gelegt. Soll die zweite IP-Adresse automatisch nach jedem Boot gesetzt werden, muss sie natürlich in der ODM verankert werden. Der SMIT-Fastpath dazu ist mkinet4al. Wer die Kommandozeile bevorzugt, kann folgendes chdev-Kommando benutzen:
# chdev -l en0 -a alias4="192.168.100.199,255.255.255.0"
Heruntergenommen wird der Alias dann einfach mit
# ifconfig en0 delete 192.168.100.199
ohne das Schlüsselwort 'alias', da alle IP-Adressen eines Interfaces gleichberechtigt sind. Wurde der Alias mit SMIT oder über das obige chdev-Kommando in der ODM verankert, kann zum Entfernen der folgende Befehl verwendet werden:
# chdev -l en0 -a delalias4="192.168.100.199,255.255.255.0"
5. Wie sehe ich den Linkstatus einer Netzwerkkarte?
Der Linkstatus lässt sich mit einem entstat -d auf den physikalischen Adapter anzeigen. Suchen Sie in der Ausgabe nach media speed und link status:
# entstat -d ent0 | egrep "(Link Status|Media Speed)" Link Status : Up Media Speed Selected: Auto negotiation Media Speed Running: 1000 Mbps Full Duplex
6. Wie lässt sich der Status eines Etherchannels überprüfen?
Es genügt ein entstat -d auf den Etherchannel und eine Suche nach Link Status, Active channel und Physical Port Link State. Bei konfiguriertem Backup-Adapter eventuell noch eine Suche nach Backup adapter. Um diese Informationen auf einen Blick zu bekommen, kann das folgende Kommando (hier für ent6) abgesetzt werden:
# entstat -d ent6 | egrep "(Link Status|Active channel|Physical Port Link State|Backup adapter|\(ent.\)|\(ent..\))" ETHERNET STATISTICS (ent6) : Active channel: primary channel ETHERNET STATISTICS (ent3) : Link Status : Up Backup adapter - ent5: ETHERNET STATISTICS (ent5) : Link Status : Up
7. Wie starte bzw. stoppe ich einen Subserver des Internet Superservers inetd?
Um z.B. den ftp-Dienst zu starten genügt ein:
# startsrc -t ftp 0513-124 The ftp subserver has been started.
Analog kann der ftp-Dienst mit
# stopsrc -t ftp 0513-127 The ftp subserver was stopped successfully.
wieder gestoppt werden. Manuelle Änderungen in der Datei /etc/inetd.conf müssen nicht vorgenommen werden!
Der aktuelle Status des inetd lässt sich mit
# lssrc -ls inetdabfragen.
Paketverwaltung
1. Wie lässt sich eine Vorschau (PREVIEW only) auf einen ML/TL Upgrade durchführen?
Eine Installationsvorschau auf einen TL-Upgrade zeigt immer nur ein zu aktualisierendes Fileset an, weil zunächst der Installer auf den neuseten Stand gebracht werden muss. Dennoch geht der echte Upgrade dann gut (und aktualisiert alles). Möchte man dennoch eine echte Vorschau bekommen, muss zunächst der Installer aktualisiert werden (APPLY only):
# cd /path/to/TL # installp -agX -d. bos.rte.install
Nun kann man mit
# smitty update_all
einen sinnvollen PREVIEW durchführen. Entscheidet man sich gegen den TL-Upgrade lässt sich der Installer mit
# smitty reject
wieder auf den alten Stand zurückfahren.
2. Wie spiele ich einen efix/ifix ein?
Interim Fixes (ifix) oder Emergency Fixes (efix) werden nicht über installp, sondern mit dem Efix Manager eingespielt. Die Fixes werden von IBM im komprimierten epkg-Format (Endung: .epkg.Z) bereitgestellt. Ein solcher Fix wird dann so eingespielt:
# emgr -e <EFIX>.epkg.Z
Eine Liste aller installierten Fixes erhält man mit
# emgr -l ID STATE LABEL INSTALL TIME UPDATED BY ABSTRACT === ===== ======== ================= ========== ================ 1 S IZ79677 09/16/10 16:09:52 iFix for IZ79677
Das Label aus der obigen Ausgabe benötigt man, wenn man den Fix wieder entfernen möchte:
# emgr -r -L <LABEL>
Interim Fixes werden bei einem TL/SP-Upgrade automatisch entfernt, wenn der entsprechende Fix im Service Pack enthalten ist.
Ist er dies aber nicht, schlägt der Upgrade fehl und der ifix muss zunächst mit dem Efix Manager entfernt werden.
3. Wie lassen sich Filesets und ihre Version auf einem Medium anzeigen?
Möchte man wissen, welche Filesets sich z.B. auf der neuen AIX 7.1 DVD befinden oder auch welche Filesets in einem SP stecken,
hilft der Filename nicht unbedingt weiter - entweder weil die Version nicht gelistet ist oder weil der Name nichts aussagt. Mit
installp kann man sich aber auch Filesets anzeigen lassen:
# cd /path/to/bffs # installp -l -d . Fileset Name Level I/U Q Content ==================================================================== Java5.samples 5.0.0.275 I N usr # Java SDK 32-bit Samples Java5.sdk 5.0.0.325 I N usr,root # Java SDK 32-bit Java5.source 5.0.0.325 I N usr # Java SDK 32-bit Source Java5_64.sdk 5.0.0.325 I N usr,root # Java SDK 64-bit Java6.sdk 6.0.0.215 I N usr,root # Java SDK 32-bit
Der Paketname eines einzelnen Filesets lässt sich ebenfalls auf diese Weise anzeigen:
# installp -l -d U839870.bff Fileset Name Level I/U Q Content ==================================================================== devices.chrp.base.ServiceRM 1.5.0.1 S N usr,root # RSCT Service Resource Manager
Voraussetzung in beiden Fällen ist, dass sich im Verzeichnis ein aktuelles
.toc befindet. Auf einer AIX-DVD ist dies sicherlich so, bei heruntergeladenen Updates kann der auch mal fehlen.
Mit inutoc lässt sich der .toc leicht erzeugen:
# cd /path/to/bffs # inutoc .
4. Wie kann ich mir Informationen über installierte Filesets und ihre Versionen in einer Zeile ausgeben lassen?
Klar, Informationen über auf meiner LPAR installierte Filesets lassen sich mit "lslpp -l" oder "lslpp -L" anzeigen. Doch der erste Befehl teilt die Ausgabe in root- and /usr-Part auf, der zweite nervt durch Zeilenumbrüche bei längeren Beschreibungen. Gibt's da nicht noch was anderes?
Es gibt die Möglichkeit sich diese Informationen als durch Doppelpunkte separierte Liste auszugeben zu lassen. Fileset-Name, Version und Beschreibung sind dabei in den Feldern 2, 3 bzw. 8 untergebracht. Ein Beispiel:
# lslpp -Lqc bos.net.nfs.\* | cut -d: -f2,3,8 bos.net.nfs.client:6.1.4.4:Network File System Client bos.net.nfs.server:6.1.4.0:Network File System Server
Storage Management
1. Lässt sich die maximale Anzahl von PPs auf über 1016 erhöhen?
Eine neue, größere Platte in eine vorhandene VG zu integrieren kann zum Problem werden, da meistens die PP Size zu klein gewählt ist, aber mehr als 1016 PPs auf einer Platte (hdisk) nicht erlaubt sind. Oder doch?
Mit chvg -t kann man die PPs um einen Faktor erhöhen:
# chvg -t 2 rootvg
erlaubt Platten mit bis zu 2032 PPs in der rootvg - dadurch reduziert sich die Anzahl erlaubter Platten allerdings ebenfalls um den Faktor 2
auf nun 16.
2. Wie lässt sich unter AIX ein Link zu einem Fibrechannel-Switch feststellen?
Dazu kann das FC SCSI I/O Controller Protocol Device herangezogen werden.
So sieht's aus, wenn der Port auf dem Switch nicht konfiguriert ist, aber ein Kabel verlegt ist (attach: none, keine SCSI-ID vergeben):
# lsattr -El fscsi0 attach none How this adapter is CONNECTED False dyntrk no Dynamic Tracking of FC Devices True fc_err_recov delayed_fail FC Fabric Event Error RECOVERY Policy True scsi_id Adapter SCSI ID False sw_fc_class 3 FC Class for Fabric True
... und so, wenn ein Link besteht:
# lsattr -El fscsi1 attach switch How this adapter is CONNECTED False dyntrk no Dynamic Tracking of FC Devices True fc_err_recov delayed_fail FC Fabric Event Error RECOVERY Policy True scsi_id 0x610100 Adapter SCSI ID False sw_fc_class 3 FC Class for Fabric True
... und so schließlich, wenn gar kein Kabel liegt:
# lsattr -El fscsi1 attach al How this adapter is CONNECTED False dyntrk no Dynamic Tracking of FC Devices True fc_err_recov delayed_fail FC Fabric Event Error RECOVERY Policy True scsi_id 0x610100 Adapter SCSI ID False sw_fc_class 3 FC Class for Fabric True
al steht für Arbitrary Loop. Dies bedeutet, dass der Adapter nicht mit einem
Switch verbunden ist. Normalerweise fehlt also das Kabel. Die gleiche Ausgabe erhält man aber auch,
falls eine FAStT beispielsweise ohne Switch direkt mit den FC-Adaptern verbunden ist.
3. Wie kann ich unter AIX eine Dummy-Disk als Platzhalter erzeugen?
Folgende Ausgangssitutation führt dazu, dass z.B. die nächste SAN-Disk zu hdisk0 werden würde:
# lsdev -Cc disk hdisk1 Available 06-08-00-4,0 16 Bit LVD SCSI Disk Drive hdisk2 Available 06-08-00-5,0 16 Bit LVD SCSI Disk Drive
Um dies zu verhindern, kann man eine Dummy-Disk definieren, z.B. so:
# mkdev -l hdisk0 -c disk -t osdisk -s scsi -p scsi0 -w 0,10 -d hdisk0 defined
Nun ergibt sich folgendes Bild:
# lsdev -Cc disk hdisk0 Defined 06-08-00-0,10 Other SCSI Disk Drive hdisk1 Available 06-08-00-4,0 16 Bit LVD SCSI Disk Drive hdisk2 Available 06-08-00-5,0 16 Bit LVD SCSI Disk Drive
... und die nächste SAN-Disk wird zu hdisk3.
Voraussetzung für diesen Trick ist allerdings, dass der LPAR ein SAS-Controller zugewiesen ist. Unter AIX 5.3 gibt es noch die Möglichkeit eine fiktive SSA-Disk anzulegen - das funktioniert auch ohne SAS-Controller:
# mkdev -l hdisk0 -p ssar -t hdisk -w dummy
mkdev: 0514-519 The following device was not found in the customized
device configuration database:
name='ssar'
Trotz der Fehlermeldung gibt es nun eine hdisk0:
# lsdev -Cc disk hdisk0 Defined SSA Logical Disk Drive hdisk1 Available 06-08-00-4,0 16 Bit LVD SCSI Disk Drive hdisk2 Available 06-08-00-5,0 16 Bit LVD SCSI Disk Drive
Ab AIX 6.1 TL6 oder AIX 7.1 geht das alles viel einfacher:
# lspv hdisk0 00c8b12ce3c7d496 rootvg active hdisk1 00c8b12cf28e737b None # rendev -l hdisk1 hdisk99 # lspv hdisk0 00c8b12ce3c7d496 rootvg active hdisk99 00c8b12cf28e737b None
4. Wie lässt sich der VGDA eines PV (hdisk) direkt auslesen?
Informationen über VGs, LVs, Dateisysteme etc. werden nicht nur in der ODM gespeichert, jedes PV (hdisk, vpath) hält ebenso alle Informationen im VGDA (den ersten 512Byte). Dieser kann unter Umgehung der ODM direkt ausgelesen werden:
# lqueryvg -Atp hdisk100Mit
# redefinevg -d hdisk100 myvg
können die Informationen der ODM an diese Informationen angepasst werden, umgekehrt kann der VGDA (aller PVs einer VG) entsprechend den ODM-Informationen mit
# synclvodm myvg
5. Wie lässt sich ein Storage Lock auf einer SAN-Disk brechen?
Endlich die ersehnte SAN-Disk bekommen und dann das, es lässt sich keine Volume Group darauf anlegen. mkvg -f vpath100
gibt einen I/O Error. Was tun?
Höchstwahrscheinlich befindet sich noch ein Lock auf der SAN-Disk. Für vpath-Devices lässt sich der Lock mit dem Befehl
# lquerypr -ch /dev/vpath100
aufbrechen und die Volume Group kann angelegt werden. Werden dagegen die neueren sddpcm-Treiber genutzt, gibt's dafür das Kommando
# pcmquerypr -ch /dev/hdisk100
6. Wie lässt sich eine SCSI-Disk unter AIX indentifizieren?
Um eine hot-plug-fähige SCSI-Disk unter AIX zu indentifizieren, kann man Sie blinken lassen. Dazu benutzt man
# diag
Dann werden hintereinander folgende Menü-Punkte angewählt:
> Task Selection (Diagnostics, Advanced Diagnostics, Service Aids, etc.)
> Hot Plug Task
> SCSI and SCSI RAID Hot Plug Manager
> Identify a Device Attached to a SCSI Hot Swap Enclosure Device
Nun erscheinen alle Hot-Plug-Geräte und man muss nur die hdisk anwählen, die
identifiziert werden soll:
IDENTIFY DEVICE ATTACHED TO SCSI HOT SWAP ENCLOSURE DEVICE
The following is a list of devices attached to SCSI Hot Swap Enclosure devices.
Selecting a slot will set the LED indicator to Identify.
Make selection, use Enter to continue.
U0.1-
ses2 P1-I1/Z1-Af
slot 1 P1-I1/Z1-A8 hdisk2
slot 2 P1-I1/Z1-A9 hdisk3
slot 3 P1-I1/Z1-Aa hdisk4
slot 4 P1-I1/Z1-Ab hdisk5
slot 5 P1-I1/Z1-Ac hdisk6
slot 6 P1-I1/Z1-Ad hdisk7
slot 7 P1-I1/Z1-Ae hdisk8
U0.1-
ses3 P1-I5/Z1-Af
slot 1 P1-I5/Z1-A0 hdisk9
slot 2 P1-I5/Z1-A1 hdisk10
slot 3 P1-I5/Z1-A2 hdisk11
slot 4 P1-I5/Z1-A3 hdisk12
slot 5 P1-I5/Z1-A4 hdisk13
slot 6 P1-I5/Z1-A5 hdisk14
slot 7 +------------------------------------------------------+
| |
| The LED should be in the Identify state for the |
| selected device. |
| |
| Use 'Enter' to put the device LED in the |
| Normal state and return to the previous menu. |
| |
| F3=Cancel F10=Exit Enter |
+------------------------------------------------------+
F1=Help F10=Exit
Hat man die hdisk bereits mit dem rmdev-Kommando aus der ODM entfernt,
kann man die Platte trotzdem blinken lassen - im Menü oben wäre der Slot immer noch sichtbar, allerdings
wäre ihm kein Gerätename zugeordnet.
7. Wie lässt sich ein Tape-Device umbenennen?
Tape-Devices (rmtX und smcX) lassen sich ganz einfach mit chdev umbenennen. So benennen Sie z.B. rmt0 in rmt201 um:
# chdev -l rmt0 -a new_name=rmt201 rmt0 changed
Aber Achtung: Das klappt so wirklich nur mit Tapes. Dazu hat IBM in der ODM für alle Tape-Devices und Media Changer eigens das Attribut new_name definiert.
Update: Mit AIX 7.1 und mit dem TL6 von AIX 6.1 hat IBM die Möglichkeit eingeführt alle Devices einfach mit dem rendev-Kommando umzubennen - damit lassen sich nun also auch Ethernet-Adapter oder Platten umbennen, z.B.:
# rendev -l ent0 -n ent99
8. Wie lässt sich feststellen, auf welchen hdisks sich eine boot-Signatur befindet?
# ipl_varyon -i PVNAME BOOT DEVICE PVID VOLUME GROUP ID hdisk0 YES 00f64183e8ff11c50000000000000000 00f6418300004c00 hdisk1 NO 00f6418384f345d00000000000000000 00f6418300004c00 hdisk2 NO 00f6418384f346210000000000000000 00f6418300004c00 hdisk3 NO 00f6418384f3466c0000000000000000 00f6418300004c00 hdisk4 NO 00f6418384f346b00000000000000000 00f6418300004c00 hdisk5 NO 00f6418384f346f20000000000000000 00f6418300004c00 hdisk6 NO 00f6418384f44fca0000000000000000 00f6418300004c00 hdisk7 NO 00f6418384f450150000000000000000 00f6418300004c00 hdisk8 NO 00f6418384f450540000000000000000 00f6418300004c00 hdisk9 NO 00f6418384f4508f0000000000000000 00f6418300004c00 hdisk10 NO 00f6418384f450ca0000000000000000 00f6418300004c00 hdisk11 NO 00f6418384f347390000000000000000 00f6418300004c00 hdisk12 NO 00f6418384f450ff0000000000000000 00f6418300004c00
Aus der Ausgabe ergibt sich, dass nur von hdisk0 gebootet werden kann.
9. Wie lassen sich HBA-Statistiken auslesen?
Dazu kann das Kommando fcstat genutzt werden:
# fcstat fcs0Die Ausgabe ist ziemlich lang, deshalb fehlt sie hier. Interessieren Sie sich beispielsweise nur für die Portgeschwindigkeit, kann die Ausgabe auf Port Speed eingeschränkt werden:
# fcstat fcs0 | grep 'Port Speed' Port Speed (supported): 8 GBIT Port Speed (running): 4 GBIT
10. Wo finde ich WWPNs von FibreChannel-Adaptern im SMS-Menu?
Zwar nicht direkt im SMS-Menü, aber bei neuerer Hardware kann man die WWPNs am OpenFirmware Prompt abfragen.
Dazu wird die LPAR von der HMC aus in den Open Firmware Prompt gebootet und das Kommando ioinfo abgesetzt:
1 = SMS Menu 5 = Default Boot List
8 = Open Firmware Prompt 6 = Stored Boot List
Memory Keyboard Network SCSI Speaker
0 > ioinfo
!!! IOINFO: FOR IBM INTERNAL USE ONLY !!!
This tool gives you information about SCSI,IDE,SATA,SAS,and USB devices attached to the system
Select a tool from the following
1. SCSIINFO
2. IDEINFO
3. SATAINFO
4. SASINFO
5. USBINFO
6. FCINFO
7. VSCSIINFO
q - quit/exit
==> 6
FCINFO Main Menu
Select a FC Node from the following list:
# Location Code Pathname
---------------------------------------------------------------
1. U5877.001.0082113-P1-C10-T1 /pci@80000002000012b/fibre-channel@0
2. U5877.001.0082113-P1-C10-T2 /pci@80000002000012b/fibre-channel@0,1
3. U5877.001.0082924-P1-C10-T1 /pci@80000002000013b/fibre-channel@0
4. U5877.001.0082924-P1-C10-T2 /pci@80000002000013b/fibre-channel@0,1
q - Quit/Exit
==> 1
FC Node Menu
FC Node String: /pci@80000002000012b/fibre-channel@0
FC Node WorldWidePortName: 10000000c9d08fd0
-----------------------------------------------------------------
1. List Attached FC Devices
2. Select a FC Device
3. Enable/Disable FC Adapter Debug flags
q - Quit/Exit
Die WWPN lautet also: 10000000c9d08fd0. Aus einem laufenden AIX-System heraus erhielte man dasselbe Ergebnis durch:
# lscfg -vpl fcs0 | grep 'Network Address'
Network Address.............10000000C9D08FD0
11. Wie lässt sich die tatsächliche qdepth für ein LUN herausfinden?
Die qdepth lässt sich ja mit chdev setzen und mit lsattr leicht auslesen:
# chdev -l hdisk100 -a queue_depth=8 hdisk100 changed # lsattr -El hdisk100 -a queue_depth queue_depth 8 Queue DEPTH True
Ist die hdisk jedoch im Zugriff ist dies nicht möglich. Mit dem zusätzlichen Schalter '-P' kann man den Parameter aber in die ODM schreiben. Bis zum nächsten Reboot arbeitet der Kernel
dann jedoch noch mit dem alten Wert. Und hier kommt das Problem. lsattr zeigt
den neuen Wert obwohl der Kernel noch mit dem alten Wert arbeitet:
# lsattr -El hdisk100 -a queue_depth queue_depth 20 Queue DEPTH True # chdev -l hdisk100 -a queue_depth=8 -P hdisk100 changed # lsattr -El hdisk100 -a queue_depth queue_depth 8 Queue DEPTH True
Wie kann ich aber herausfinden, mit welchem Wert der Kernel wirklich arbeitet? Da bleibt nichts, als den Kernel-Debugger zu bemühen:
# echo scsidisk hdisk100 | kdb | grep queue_depth ushort queue_depth = 0x14;
Der Wert ist hexadezimal und lässt sich z.B. so in den Dezimalwert umrechnen, den lsattr anzeigen würde:
# printf "%d\n" 0x14 20
Sonstiges
1. Wie kann ich unter AIX 5.3 Benutzer mit langen Login-Namen (mehr als 8 Zeichen) anlegen?
Seit der AIX Version 5.3 gibt es die Möglichkeit, Benutzer mit langem Login-Namen anzulegen. Dazu muss diese Option zunächst systemweit aktiviert werden:
# chdev -l sys0 -a max_logname=13
Das Beispiel erlaubt Login-Namen mit bis zu 12 Zeichen.
2. Die richtigen Einstellungen für Sommer- und Winterzeit?
Die Einstellungen werden über die Variable TZ gesteuert. Sie wird in der Datei /etc/environment
gesetzt. Ein richtiger Eintrag für Deutschland und viele weitere europäische Länder wäre z.B.:
TZ=CET-1CST,M3.5.0/2:00,M10.5/3:00
Wenn Sie die Variable ändern, müssen alle Services, die von der korrekten Zeit in irgendeiner Weise abhängen, neu gestartet werden.
Seit AIX 7 und AIX 6.1 TL5 oder neuer werden auch symbolische Werte akzeptiert, für Deutschland könnte TZ so gesetzt werden:
TZ=Europe/Berlin
3. Lassen sich schon gelöschte Dateien anzeigen, die aber noch von einem Prozess geöffnet sind?
fuser -V -d auf das fragliche Dateisystem liefert die Informationen über Inode und PID:
# fuser -V -d /tmp /tmp: inode=7 size=56 fd=2 512238
Die PID wiederum führt zum gesuchten Prozess:
# ps -fp 512238 USER PID PPID C STIME TTY TIME CMD root 512238 1 0 Mar 20 - 3:29 /usr/sbin/rsct/bin/ctcasd
4. Wie bekomme ich erlaubte Werte für Device-Attribute heraus?
Im folgenden Beispiel geht es um das Attribut init_link des Fibrechannel-Adapters:
# lsattr -El fcs0 bus_intr_lvl 121 Bus interrupt level False bus_io_addr 0xbfc00 Bus I/O address False bus_mem_addr 0xc0040000 Bus memory address False init_link al INIT Link flags True intr_priority 3 Interrupt priority False lg_term_dma 0x800000 Long term DMA True max_xfer_size 0x100000 Maximum Transfer Size True num_cmd_elems 200 Maximum number of COMMANDS to queue to the adapter True pref_alpa 0x1 Preferred AL_PA True sw_fc_class 2 FC Class for Fabric True
True in der letzten Spalte gibt an, dass sich der Wert verändern lässt. Doch welche Werte sind für das Attribut erlaubt? Um das herauszufinden kann ebenfalls der Befehl lsattr benutzt werden:
# lsattr -Rl fcs0 -a init_link al pt2pt
Erlaubte Werte sind also al und pt2pt. So ließe sich das Attribut dann ändern:
# chdev -l fcs0 -a init_link=pt2pt fcs0 changed
5. Wie lässt sich ein ISO-Image unter AIX mounten?
Seit AIX 6.1 TL4 kann dazu das Kommando loopmount verwendet werden:
# ls -l *.iso -rw-r--r-- 1 root system 43974656 Jan 13 17:05 dvd_aix_profilemanager.iso # loopmount -i dvd_aix_profilemanager.iso -o "-V cdrfs -o ro" -m /mnt # df /mnt Filesystem 512-blocks Free %Used Iused %Iused Mounted on /dev/loop0 84812 0 100% 21203 100% /mnt