Befehl "snap"
Zweck
Erfasst Systemkonfigurationsinformationen.
Syntax
snap [-@] [ -a ][-z "product_name=prd_name,..." | "class=myclass,.." | ALL][-M Timeout][ -A ] [ -b ] [ -B ] [ -c ] [ -C ] [ -D ] [ -f ] [ -F] [ -g ] [ -G ] [ -i ] [ -k ] [ -l ] [ -L ][ -n ] [ -N ] [ -p ] [ -r ] [ -R ] [ -s ] [ -S ] [ -t ] [ -T Dateiname ][-u user1,....] [ -w ] [ -X ] [ -Y ][ -o OutputDevice ] [ -d Dir ] [ -v Component ] [ ' -O FileSplitSize ] [ -P Files ] [ script1 script2... | All | file:filepath ][-U]
snap -e [ -m Knotenliste ] [ -d Verzeichnis
snap -z ADD ["product_name=prod_name" "class=myclass" "/tmp/myprod_myscript -a"]
snap -z DELETE ["product_name = prod_name" ]
Beschreibung
Verwenden Sie den Befehl snap -o /dev/rfd0, um das komprimierte Image auf eine Diskette zu kopieren. Verwenden Sie den Befehl snap -o /dev/rmt0, um das Image auf ein Band zu kopieren.
- 8 mm, 2,3 GB Kapazität
- 8 mm, 5,0 GB Kapazität
- 4 mm, 4,0 GB Kapazität
Die Verwendung anderer Formate verhindert oder verzögert, dass die IBM Softwareunterstützung den Inhalt untersuchen kann.
Der Befehl snap -g erfasst allgemeine Systeminformationen, einschließlich der folgenden:
- Fehlerbericht
- Kopie der angepassten ODM-Datenbank (Object Data Manager)
- Tracedatei
- Benutzerumgebung
- Physischer Hauptspeicher und Paging-Bereich
- Einheiten- und Attributinformationen
- Sicherheitsbenutzerinformationen
- Konfigurations- und Optimierungsparameter des Systems
Die Ausgabe des Befehls snap -g wird in die Datei /tmp/ibmsupt/general/general.snap geschrieben.
Der Befehl snap überprüft den verfügbaren Speicherplatz im Verzeichnis /tmp/ibmsupt, dem Standardverzeichnis für die Ausgabe des Befehls snap. Sie können die Ausgabe in ein anderes Verzeichnis schreiben, indem Sie das Flag -d verwenden. Wenn nicht genügend Speicherplatz vorhanden ist, um die Ausgabe des Befehls snap zu speichern, müssen Sie das Dateisystem erweitern.
Bei jeder Ausführung des Befehls snap werden Informationen in den zuvor erstellten Dateien angefügt. Verwenden Sie das Flag -r, um zuvor erfasste und gespeicherte Informationen zu entfernen.
Flags
| Element | Beschreibung |
|---|---|
| -@ | Erfasst die Informationen zu Workloadpartitionen. |
| -A | Erfasst alle Systemkonfigurationsinformationen außer HACMP -spezifischen Daten. Um HACMP Daten zu sammeln, führen Sie die Option snap -e aus. Die Erfassung registrierter Debugdatenscripts für externe Produkte wird ausgeführt und ihre Daten werden ebenfalls in die Systemkonfiguration eingeschlossen. Sie kann für ausgewählte Produkte eingeschränkt werden, indem sie mit dem Flag -z angegeben werden. Die Option -a setzt mindestens 8 MB temporären Speicherplatz voraus. |
| -A | Erfasst asynchrone (TTY-)Informationen. |
| -b | Erfasst SSA-Informationen. |
| -B | Umgeht die Erfassung von SSA-Adapterspeicherauszügen. Das Flag -B funktioniert nur, wenn auch das Flag -b angegeben ist. Andernfalls wird das Flag -B ignoriert. |
| -c | Erstellt ein komprimiertes pax-Image (Datei snap.pax.Z) von bekannten snap-Komponentenunterverzeichnissen in der Verzeichnisstruktur /tmp/ibmsupt oder einem anderen benutzerdefinierten Verzeichnis, das mit dem Flag -d angegeben wird. Hinweis: Informationen, die nicht mit dieser Option zusammengestellt werden können, müssen vor Verwendung des Flags -c in die Verzeichnisstruktur snap kopiert werden. Wenn ein Testfall erforderlich ist, um das Systemproblem zu veranschaulichen, kopieren Sie den Testfall in das Verzeichnis /tmp/ibmsupt/testcase , bevor Sie die Datei pax komprimieren. Alle vom Benutzer definierten Verzeichnisse müssen im Verzeichnis /tmp/ibmsupt/other gespeichert werden, damit der Befehl snap sie komprimieren kann.
|
| -C | Ruft alle Dateien im Verzeichnis "fwdump_dir" ab. Die Dateien werden im Unterverzeichnis "general" gespeichert. Die snap-Option -C verhält sich genauso wie -P*. |
| -D | Erfasst Informationen zu Speicherauszügen und zum Dateisystem /unix. Es wird die primäre Speicherauszugseinheit verwendet. Hinweis:
|
| -d AbsolutePath | Gibt das optionale Ausgabeverzeichnis des Befehls snap an (das standardmäßig /tmp/ibmsupt ist). Sie müssen den absoluten Pfad angeben. |
| -E | Stellt HACMP -Informationen zusammen. Anmerkung: HACMP -spezifische Daten werden von allen Knoten erfasst, die zum Cluster gehören. Dieses Flag kann nur zusammen mit den Flags -m und -d verwendet werden.
|
| -F | Erfasst Dateisysteminformationen. |
| -F | Erfasst Informationen zum Flash-Adapter. |
| -G | Erfasst die Ausgabe des Befehls lslpp -hac, die zum erneuten Erstellen der exakten Betriebssystemumgebungen erforderlich ist. Schreibt die Ausgabe in die Datei /tmp/ibmsupt/general/lslpp.hac. Erfasst auch allgemeine Systeminformationen und schreibt die Ausgabe in die Datei /tmp/ibmsupt/general/general.snap. |
| -G | Schließt vordefinierte ODM-Dateien (Object Data Manager) in die mit dem Flag -g erfassten allgemeinen Informationen ein. |
| -i | Erfasst elementare Produktdaten (VPD) für das Debugging der Installation. |
| -k | Erfasst Kernelinformationen. |
| -l | Erfasst Informationen zur Programmiersprache. |
| -L | Erfasst LVM-Informationen. |
| -m Knotenliste | Liste der Knotennamen (durch Kommas getrennt) zum Erfassen von HACMP -Informationen. Hinweis: Dieses Flag ist derzeit nur mit dem Flag -e gültig.
|
| -M Zeitlimit | Gibt an, wie lange (in Sekunden) das snap-Framework maximal wartet, bevor es einen registrierten Debugdatenbefehl für ein externes Produkt beendet. Das Standardzeitlimit sind 300 Sekunden. |
| -N | Erfasst NFS-Informationen (Network File System). |
| -N | Unterdrückt die Überprüfung des freien Speicherplatzes. |
| -o OutputDevice | Kopiert das komprimierte Image auf die angegebene Einheit. |
| -O FileSplitSize | Wird verwendet, um die Aufteilung der Ausgabedateien von snap in kleinere Dateien zu aktivieren. Die Größe dieser Dateien wird als Parameter für die Option -O angegeben und muss in Megabyte angegeben werden. Dieses Flag kann nur verwendet werden, wenn das Flag -c angegeben ist. |
| -p | Erfasst Druckerinformationen. |
| -P Dateien | Ruft die benannten Dateien aus dem Verzeichnis fwdump_dir ab. Wenn -P * angegeben ist, werden alle Dateien im Verzeichnis erfasst. Die Dateien werden im Unterverzeichnis general abgelegt. Die Option -C snap verhält sich wie -P*. |
| -r | Entfernt die Ausgabe des Befehls snap aus dem Verzeichnis /tmp/ibmsupt. |
| -R | Erfasst SCSI-RAID-Informationen. |
| -s | Erfasst SNA-Informationen (System Network Architektur). |
| -S | Schließt Sicherheitsdateien in die mit dem Flag -g erfassten allgemeinen Informationen ein. |
| -T | Erfasst TCP-Informationen Transmission Control Protocol. |
| -T Dateiname | Erfasst alle Protokolldateien für einen Multi-CPU-Trace. Mit dem Flag -g wird nur die Basisdatei, trcfile, erfasst. |
| -u Benutzer1,Benutzer2... | Gibt durch Kommas getrennte Benutzernamen an, deren Shell und SMIT-Protokoll (System Management Interface Tool) erfasst werden sollen. |
| -v Komponente | Zeigt die Ausgabe der vom Befehl snap ausgeführten Befehle an. Verwenden Sie dieses Flag, um den angegebenen Namen oder die angegebene Gruppe von Dateien anzuzeigen. Anmerkung: Drücken Sie die Tastenkombination Strg-C, um den Befehl snap zu unterbrechen. Es wird eine Eingabeaufforderung mit den folgenden Optionen zurückgegeben: Eingabetaste drücken, um zur aktuellen Operation zurückzukehren, Taste S drücken, um die aktuelle Operation zu stoppen, Taste Q drücken, um den Befehl snap vollständig zu beenden.
|
| -w | Erfasst WLM-Informationen. |
| -X | Erfasst X.25-Informationen (paketbasiertes Kommunikationsprotokoll). |
| -Y | Erfasst InfiniBand-Informationen und speichert sie im Verzeichnis /tmp/ibmsupt/IB. |
| -z | Vereinfacht die Erfassung von Debugdaten für externe Produkte.
Wenn ein Produktname als Parameter für das Attribut product_name angegeben ist, wird ein registrierter Befehl für die Erfassung von Debugdaten ausgeführt. Wenn Sie Daten für mehrere Produkte erfassen möchten, geben Sie die erforderlichen Produktnamen im Attribut product_name an. Wenn ein Klassenname als Parameter für das Attribut class angegeben ist, werden registrierte Debugbefehle aller Produkte in dieser Klasse ausgeführt. Wenn Sie Daten für mehrere Klassen erfassen möchten, geben Sie die erforderlichen Klassennamen im Attribut class an. Wenn ALL als Parameter angegeben ist, wird der registrierte Befehl für die Erfassung von Debugdaten aller Produkte in allen Klassen ausgeführt. Bei der Ausführung eines Scripts fügt das System den Produktnamen an die mit der Umgebungsvariablen SNAPDEBUGDATA angegebene Liste an. |
| -U | Erfasst Informationen zum Live-Kernel-Update und speichert sie im Verzeichnis /tmp/ibmsupt/liveupdate. |
Parameter
Argumente
Die Namen der auszuführenden Scripts anderer Anbieter werden als Parameter für snapangegeben. Ein Parameter kann ein einzelnes Wort oder eine in Anführungszeichen eingeschlossene Liste von Wörtern sein. Wenn Parameter in Anführungszeichen eingeschlossen sind, steht der erste Parameter in der Liste für den Namen des Scripts und die nachfolgenden Wörter sind die Argumente, die an das Script übergeben werden.
Wenn All als Parameter angegeben ist, werden alle Scripts im Script-Repository ausgeführt. In diesem Fall können keine Scriptparameter übergeben werden.
Wenn das Schlüsselwort file: verwendet wird und unmittelbar gefolgt von einem Pfad zu einer Datei, wird diese Datei gelesen, um die auszuführenden Scripts abzurufen. Jede Zeile in der Datei enthält ein Script und die optionalen Parameter für das Script.
snap-Scripts
Ein Script eines anderen Anbieters muss in /usr/lib/ras/snapscriptsausführbar sein und die unten beschriebenen Richtlinien befolgen. Wenn ein Script während Arbeitsgang 1 aufgerufen wird, muss es seine Größenschätzung an snapzurückgeben. In Arbeitsgang 2 werden die Daten erfasst und wie in snapangegeben gespeichert.
Das Script muss die Umgebungsvariablen SNAPDIR, PASSNO, SCRIPTSIZE und SCRIPTLOG lesen und verwenden.
Die Scripts oder Befehle können auch die Variable SNAPDEBUGDATA verwenden, um mehr über die vom snap-Script erfassten Debugdaten zu erfahren. Diese Variable enthält eine durch Kommas getrennte Liste mit Namen von Produkten, für die der Befehl snap die Daten während der Ausführung erfasst.
Alle Ausgabedateien müssen in $SNAPDIR geschrieben werden. Dies ist das Verzeichnis, in dem das Script seine Ausgabe speichern soll. Die PASSNO-Variable enthält die snap -Phase, in der das Script aufgerufen wird. Während des ersten Durchlaufs muss das Script eine Größenschätzung für die Daten erstellen, die während des zweiten Durchlaufs geschrieben werden. Anschließend schreibt das Script diese numerische Schätzung dann in die Datei, auf die $SCRIPTSIZE verweist. Der in der Datei gespeicherte Wert muss ein Dezimalwert sein. snap übergibt den Pfad an eine Protokolldatei, in der alle Debugdaten für das Script gespeichert werden sollen. Standard Out und Standard Error sollten nicht vom Skript umgeleitet werden, da ' snap Standard Out und Standard Error in $SNAPDIR/ 'SkriptName '.aus bzw. $SNAPDIR/ 'SkriptName '.err speichert.
#!/usr/bin/ksh
if [ "$PASSNO" = 1 ]
then
(( size=99999 ))
....
# this is where code to do the size estimation should go.
....
echo $size > $SCRIPTSIZE
else if [ "$PASSNO" = 2 ]
then
# debug information should go to $SCRIPTLOG
echo "Debug Data" >> $SCRIPTLOG
# .....where the work to collect the data takes place
# ...
# The data collected should be written to $SNAPDIR .
touch $SNAPDIR/foo_output1
touch $SNAPDIR/foo_output2
fi
fi- Für die Ausführung mit dem Flag -a: svCollect, client_collect, lsvirt
- Für die Ausführung mit dem Flag -g: svCollect, client_collect
Aufteilung der snap-Ausgabe
Wenn sie aufgeteilt ist, könnte die Ausgabe von snap wie folgt aussehen:
% ls -l
total 112048
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaa
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xab
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xac
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xad
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xae
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaf
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xag
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xah
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xai
-rw-r--r-- 1 lmic adm 744518 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xajScripts anderer Anbieter ausführen
Ein Befehl oder ein Script für die Erfassung der Debugdaten externer Produkte ist eine eigenständige ausführbare Datei. Das Script wird beim snap-Framework registriert, bevor es zum Erfassen benutzerdefinierter Debugdaten verwendet werden kann. Die Registrierung dieser Scripts kann nach Ermessen des Benutzers aufgehoben werden.
Im Folgenden sehen Sie eine im System definierte ODM-Klasse.
#define DEFAULTSIZE 256
#define DATA_VALUESIZE 1024
class snap_config {
char product_name[DEFAULTSIZE]; key
char class[DEFAULTSIZE];key
char command_path[DATA_VALUESIZE];
vchar sc_reserved1[DATA_VALUESIZE];
vchar sc_reserved2[DATA_VALUESIZE];
}- product_name
- Gibt den Namen des Produkts an. Derselbe Name wird für das Aufheben der Registrierung des Scripts für die Erfassung von Produktdebugdaten verwendet.
- Klasse
- Die Klasse kann ein Speicher, ein Netz oder eine Datenbank sein. Sie können die entsprechende Klasse basierend auf dem Produkt auswählen oder Ihre eigene Klasse definieren. Die Klasse hilft bei der Klassifikation der Produkte. Benutzer können sich an das IBM wenden, um andere Klassen in der Snap-Dokumentation hinzuzufügen.
- command_path
- Der Pfad des Befehls oder der ausführbaren Datei mit ihren Optionen. sc_reserved1 und sc_reserved2 sind reserviert.
Registrierung von Debug-Scripts anderer Anbieter beim snap-Framework
- Sie können den Befehl odmadd explizit ausführen, um den Eintrag hinzuzufügen. In einem solchen Fall gehen Sie wie folgt vor:
- Sie müssen das Script oder die ausführbare Datei in das Verzeichnis /usr/lib/ras/snapscript/bin/<productname> kopieren.
Wichtig:- Sie müssen den Befehl eingeben, bevor Sie odmadd ausführen:
export ODMDIR=/usr/lib/objrepos - Nach der Ausführung des Befehls odmadd können Sie den alten Wert des Befehls ODMDIR wiederherstellen.
- Sie können den Befehl snap weiter ausführen. Angenommen, myfile hat den folgenden Inhalt:
product_name=myprod class=myclass command_path=/usr/lib/ras/snapscripts/bin/prod_name/myscript1.sh -t 10 export ODMDIR=/usr/lib/objrepos odmadd myfile
Anmerkung: Benutzer, die einen direkten Eintrag in ODM vornehmen, müssen doppelte Einträge beachten, da der Befehl snap nur einen Eintrag für einen bestimmten Produktnamen verarbeitet. Daher muss der Befehl odmdelete ausgeführt werden, bevor der Befehl odmadd aufgerufen wird. - Verwenden Sie das Schlüsselwort ADD mit dem Flag -z .
- 1. Wenn die Debugbinärdatei geändert oder aktualisiert wird, muss der Benutzer die Komponente neu registrieren, um das snap-Repository mit der neuesten Binärdatei zu aktualisieren.
- 2. Die Kombination mehrerer Befehle im Rahmen der Variablen command_path wird nicht unterstützt. Zum Beispiel wird das folgende Format nicht unterstützt:
command_path=<path>/ls|<path>/grep myfile - 3. Sonderzeichen wie ', <, | werden als Werte für die Variable Befehlspfad nicht unterstützt.
Registrierung von Debug-Scripts anderer Anbieter beim snap-Framework aufheben
- Verwenden Sie den Befehl odmdelete, um die Registrierung des Produkts zurückzunehmen. Beispiel:
export ODMDIR=/usr/lib/objrepos odmdelete -o snap_config -q product_name=productname - Verwenden Sie das Schlüsselwort DELETE mit dem Flag -z . Beispiel:
Snap -z DELETE product_name=productname
Beispiele
- Geben Sie den folgenden Befehl ein, um alle Systemkonfigurationsinformationen zu erfassen:
Die Ausgabe dieses Befehls wird in das Verzeichnis /tmp /ibmsupt geschrieben.snap -a - Geben Sie den folgenden Befehl ein, um ein pax-Image aller Dateien im Verzeichnis /tmp/ibmsupt zu erstellen:
snap -c - Geben Sie den folgenden Befehl ein, um allgemeine Systemkonfigurationsinformationen zu erfassen, einschließlich der Ausgabe des Befehls lslpp -hac:
Die Ausgabe wird in die Dateien /tmp/ibmsupt/general/lslpp.hac und /tmp/ibmsupt/general/general.snap geschrieben. Dieser Befehl schreibt die Systeminformationen auch auf eine austauschbare Diskette.snap -g -o /dev/rfd0 - Geben Sie den folgenden Befehl ein, um HACMP -spezifische Informationen von Knoten
node1undnode2zu erfassen, die zu einem einzelnen Cluster gehören:
Die Ausgabe wird in das Verzeichnis /tmp/ibmsupt/hacmp geschrieben.snap -e -m node1,node2 - Geben Sie Folgendes ein, um die Scripts "foo1", "foo2" und "foo3" auszuführen, wobei foo1 keine Argumente akzeptiert, foo2 drei Argumente und foo3 ein Argument akzeptiert:
Die Ausgabe wird in /tmp/ibmsupt/snapscripts/foo1, /tmp/ibmsupt/snapscripts/foo2 und /tmp/ibmsupt/snapscripts/foo3 geschrieben, vorausgesetzt, das Zielverzeichnis ist das Standardverzeichnis /tmp/ibmsupt.snap foo1 "foo2 -x -y 3" "foo3 6" - Geben Sie Folgendes ein, um den Parameter All für die Ausführung aller Scripts festzulegen:
snap AllHinweis: In diesem Fall werden keine Parameter übergeben. - Geben Sie Folgendes ein, um den Pfad zu einer Datei anzugeben, die den Namen und die optionale Parameterliste der auszuführenden Scripts enthält:
Im Folgenden sehen Sie eine Beispieleingabedatei zum Ausführen der Scripts aus Beispiel 5:snap file:/tmp/scriptnamesfoo1 foo2 -x -y 3 foo6 - Wenn die Ausgabe von snap in 4MB Dateien aufgeteilt werden soll, geben Sie Folgendes ein:
snap -a -c -O 4 - Geben Sie den folgenden Befehl ein, um nur die HACMP snap -e -Daten von Knoten
node1undnode2zu übergeben:snap -e -m node1,node2 snap -cSenden Sie die Datei <paxpax.zgemäß den Anweisungen des Kundendienstmitarbeiters an IBM.
- Geben Sie die folgenden Befehle ein, um alle snap -Daten von Knoten
node1undnode2zu übergeben:snap -e -m node1,node2 snap -a snap -cSenden Sie die Datei <paxpax.zgemäß den Anweisungen des Kundendienstmitarbeiters an IBM.
- Geben Sie den folgenden Befehl ein, um ein Debug-Script im Verzeichnis /usr/lpp/abc/debug_abc des Produkts abc in der Klasse storage zu registrieren:
snap -z ADD "product_name=abc" "class=storage" "command_path=/usr/lpp/abc/debug_abc -a" - Geben Sie den folgenden Befehl ein, um ein Debug-Script des Produkts abc zu registrieren:
snap -z DELETE "product_name=abc" - Geben Sie den folgenden Befehl ein, um Debugdaten mehrerer Produkte zu erfassen:
snap -z "product_name=abc, product_name=def"
Dateien
| Element | Beschreibung |
|---|---|
| /usr/sbin/snap | Enthält den Befehl snap. |
| /tmp/ibmsupt | Enthält die Ausgabe des Befehls snap. |
| /tmp/ibmsupt/general/lslpp.hac | Enthält die Ausgabe des Befehls lslpp -hac, der zum Wiederherstellen exakter Betriebssystemumgebungen erforderlich ist. |
| /tmp/ibmsupt/general/general.snap | Enthält allgemeine Systeminformationen, die mit dem Befehl snap -g erfasst werden. |
| /tmp/ibmsupt/testcase | Enthält den Testfall, der Ihr Systemproblem veranschaulicht. |
| /tmp/ibmsupt/other | Enthält ein benutzerdefiniertes Verzeichnis. |