| Home | Wissen |
  
X-Letter
  
NIM - Network Installation Management in einer HACWS-Umgebung
 Autor 
Uwe Auer, Xtelligent
Original 
 http://www.xtelligent.de/wissen/xlet_nimhacws.htm
 (erstellt im Dezember 2000)
 
Abstract 
Das Network Installation Management unter AIX in einer SP-Umgebung ist ein zentrales Element der
des Systems Managements. Die während der Grundinstallation eines SP-Systems erzeugte
NIM Konfiguration kann in einer HACWS Umgebung auch für das Recovery einer Backup Control
Workstation Verwendung finden. Einige wenige zusätzliche Konfigurationen erlauben für
den Fall der Fälle ein schnelles Recovery der Backup Control Workstation.
 
  
Vorbemerkung 
Der folgende Text ist eine Zusammenfassung technischer Daten und Informationen. Wir haben 
ihn nach bestem Wissen und Gewissen erstellt. Bitte haben Sie Verständnis dafür,
dass wir dennoch keine Haftung für Irrtümer und Fehler übernehmen können. 
Der Text ist insbesondere kein Ratschlag und keine Handlungsanweisung. Für  
Übernahme und Ausführung darin enthaltener Ideen und Konzepte 
können wir daher keinerlei Gewähr übernehmen. 
Bitte beachten Sie außerdem, dass im Text gegebenenfalls Warenzeichen und Produktnamen 
Dritter verwendet werden - wir erkennen die entsprechenden Rechte an, bitte tun Sie dies auch.
Die Urheberrechte am Text in dieser Form liegen bei Xtelligent IT Consulting GmbH. Wenn Sie 
diesen Text oder Teile davon verwenden oder vervielfältigen möchten, benötigen
Sie dafür unsere Erlaubnis. Bitte kontaktieren Sie uns in diesem Falle.
Für weitere Beratung zu den im Text angesprochenen Themen stehen wir gern zur Verfügung.
Wir wünschen eine interessante Lektüre! 
 Das Team von Xtelligent
 
  
In die Sicherung unternehmenskritischer Daten wird zum Teil ein nicht unerheblicher finanzieller und
personeller Aufwand gesteckt. Weit weniger Aufwand entfällt jedoch auf die Entwicklung
und Implementierung von Konzepten zur Wiederherstellung von ganzen Systemen. Hier bietet
AIX mit der Möglichkeit ein Systemabbild zu erstellen, und dieses in
Zusammenarbeit mit dem Network Installation Management (NIM) wieder zu
installieren, ein herausragendes Feature, das leider zu wenig genutzt wird.
  
In einer High Availability Control Workstation (HACWS)-Umgebung wird diese Funktion
besonders wertvoll, da hier eine Recovery-Strategie "from the scratch" wegen der
notwendigen Synchronizität der beiden Control Workstations auf vielen Ebenen einen
nicht unerheblichen Aufwand bedeuten würde. Einfacher und insbesondere schneller
ist daher im Falle eines echten Crashs das Recovery mittels eines Abbildes des
"gecrashten" Servers.
  
In diesem Dokument wird beschrieben, welche Schritte im Einzelnen erforderlich sind,
um die für das Recovery einer Backup Control Workstation nötigen NIM
Konfigurationen (Objekte) zu erstellen. Dieses Dokument soll jedoch nicht eine
Dokumentation über das  Network Installation Management (NIM) darstellen,
sondern lediglich die für den erwähnten Spezialfall benötigten
Informationen bereitstellen.
Die Philosophie des Network Installation Managements unter AIX basiert im
Wesentlichen auf dem Begriff des Objektes. Die grundlegenden Komponenten eines
Netzwerkprozesses werden als Objekte betrachtet. Diese Objekte werden definiert,
administriert und Operation werden auf ihnen durchgeführt. Man unterscheidet
drei Kategorien von Objekten, die in den nächsten Abschnitten kurz
dargestellt werden.
Dieser Typ von NIM-Objekten beschreibt die Netzwerke (IP-Netze) auf denen die
Netzwerkoperation durchgeführt werden. Die Netzwerk-Objekte werden in
folgende Typenklassen eingeteilt.
   | tok		 | (Token-Ring Netzwerk ) |  
   | ent		 | (Ethernet Netzwerk ) |  
   | fddi		 | (FDDI Netzwerk ) |  
   | generic	 | (gen.Netzwerk ohne Netzwerkboot Support) |  
   | atm		 | (ATM Netzwerk) |  
 
Die Maschinen-Objekte beschreiben die einzelnen Server bzw. im SP-Umfeld die
Knoten, auf denen über die Netzwerk-Objekte die Netzwerkoperationen
durchgeführt werden sollen. Hier ist insbesondere der Plattform-Typ von
Bedeutung (Uni-Prozessor, SMP Server, PowerPC).
 Die Resourcen - Objekte beinhalten im wesentlichen die Beschreibung der im
Netzwerk verwendeten Software.  Die folgende Aufzählung zeigt die bekannten
bzw. definierbaren Resource Objekte.
    spot            	= Shared Product Object Tree - equivalent to /usr file
    root            	= parent directory for client / (root) directories
    paging          	= parent directory for client paging files
    dump            	= parent directory for client dump files
    home            	= parent directory for client /home directories
    shared_home    	= /home directory shared by clients
    tmp             	= parent directory for client /tmp directories
    exclude_files   	= files to be excluded when creating a mksysb image
    lpp_source      	= source device for optional product images
    installp_bundle 	= an installp bundle file
    fix_bundle      	= fix (keyword) input file for the cust or fix_query
    bosinst_data    	= config file used during base system installation
    image_data      	= config file used during base system installation
    mksysb          	= an AIX mksysb image
    script          	= an executable file which is executed on a client
    resolv_conf     	= configuration file for name-server information
Die Grundkonfiguration des NIM-Masters (auf der Control Workstation) wird
bereits bei der Erstinstallation des SP-Systems automatisch durch das
setup_server 
Skript durchgeführt und somit sind
die wesentlichen Netzwerk-Objekte auf dem internen Ethernet sowie dem externen
Netzwerk eingerichtet. Ebenso werden dabei die wesentlichen
Resource-Objekte definiert.
Einen Überblick über die nach der SP-Installation
bestehenden bzw. definierten Netzwerkobjekte erhält man
über
smit nim
	Manage Network Objects
		List All Network Objects		
 
Der Netzwerktyp kann mit Taste F4 ausgewählt werden. Das
folgende Bild zeigt den SMIT-Screen, der nach dem Drücken
der Taste erscheint.
  
                              List All Networks
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
  Network Type                                       []                       +
   --------------------------------------------------------------------------
  |                               Network Type                               |
  |                                                                          |
  | Move cursor to desired item and press Enter.                             |
  |                                                                          |
  |   tok                                                                    |
  |   ent                                                                    |
  |   fddi                                                                   |
  |   generic                                                                |
  |   atm                                                                    |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
F1| F8=Image                F10=Exit                Enter=Do                 |
Es| /=Find                  n=Find Next                                      |
F9 --------------------------------------------------------------------------
 |  
 
  
Das folgende Kommando liefert das gleiche Ergebnis (sofern lediglich ein
Netzwerktyp auf der Control Workstation vorhanden ist) auf der Kommandozeile.
lsnim -c networks
 
Beispiel-Output in der konkreten Situation:
sp_en0     networks       ent
sp_en1     networks       ent
 
An der Ausgabe ersieht man, dass die Installationsroutine insgesamt zwei
NIM Netzwerkobjekte angelegt hat, die beide vom Typ "Ethernet" sind.
Durch folgende SMIT-Pfade erhält man eine Übersicht über die definierten Maschinen-Objekte
des NIM-Servers auf der Control Workstation.
smit nim
	Perform NIM Administration Tasks
		Manage Machine Objects
                     List All Machine Objects
Wie oben werden die verfügbaren Maschinen-Typen mit der F4-Taste
ausgewählt.
  
                              List All Machines
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
  Machine Type                                       []                       +
   --------------------------------------------------------------------------
  |                               Machine Type                               |
  |                                                                          |
  | Move cursor to desired item and press Enter.                             |
  |                                                                          |
  |   diskless                                                               |
  |   dataless                                                               |
  |   standalone                                                             |
  |   master                                                                 |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
F1| F8=Image                F10=Exit                Enter=Do                 |
Es| /=Find                  n=Find Next                                      |
F9 --------------------------------------------------------------------------
 |  
 
 
Einen Überblick über die bestehenden bzw. definierten Resource-Objekte eines bestimmten
Typs erhält man über die folgenden SMIT-Pfade.
smit nim
	Perform NIM Administration Tasks
             Manage Resource Objects
                   List All Network Install Resource Objects
Der Resource-Objekt Typ kann mit F4 ausgewählt werden.
  
                        List All Network Install Resources
Ty --------------------------------------------------------------------------
Pr|                              Resource Type                               |
  |                                                                          |
  | Move cursor to desired item and press Enter.                             |
  |                                                                          |+
  | [TOP]                                                                    |
  |   boot                                                                   |
  |   nim_script                                                             |
  |   spot                                                                   |
  |   root                                                                   |
  |   paging                                                                 |
  |   dump                                                                   |
  |   home                                                                   |
  |   shared_home                                                            |
  |   tmp                                                                    |
  |   exclude_files                                                          |
  | [MORE...8]                                                               |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
F1| F8=Image                F10=Exit                Enter=Do                 |
Es| /=Find                  n=Find Next                                      |
F9 --------------------------------------------------------------------------
 |  
 
  
Das Kommando
lsnim -c resources
 
gibt dagegen eine vollständige Liste aller Resource-Objekte des NIM-Servers
aus.
Die folgende Liste gibt ein Beispiel dafür, wie die Ausgabe des obigen
Kommandos aussehen könnte.
boot                 resources       boot
nim_script           resources       nim_script
psspscript           resources       script
prompt               resources       bosinst_data
noprompt             resources       bosinst_data
mksysb_1             resources       mksysb
mksysb_2             resources       mksysb
systembackup         resources       mksysb
node01_noprompt      resources       bosinst_data
node01_migrate       resources       bosinst_data
node02_noprompt      resources       bosinst_data
node02_migrate       resources       bosinst_data
lppsource_aix421     resources       lpp_source
lppsource_aix432     resources       lpp_source
spot_aix432          resources       spot
 
Da die Installation eines AIX  Systems - auch wenn diese über ein Image (mksysb)
installiert wird -  grundsätzlich auf doch sehr unterschiedlicher Hardware erfolgen kann,
werden die AIX LPPs als Resource benötigt. Im Falle einer mksysb  Reinstallation
des ursprünglichen System wird auf die LPP Resource nur dann zugegriffen,
wenn das AIX Zielsystem nach der NIM Installation NIM Client bleiben soll und das
entsprechende NIM Client Fileset auf dem Ursprungssystem nicht installiert war.
 
Um die LPP  Source AIX 4.2.1 anzulegen wird  wie folgt vorgegangen:
smit nim
	Perform NIM Administration Tasks
		Manage Resources
			Define a Resource
 
Es erscheint im SMIT folgende Auswahlliste:
   
  |   spot            = Shared Product Object Tree - equivalent to /usr file |
  |   root            = parent directory for client / (root) directories     |
  |   paging          = parent directory for client paging files             |
  |   dump            = parent directory for client dump files               |
  |   home            = parent directory for client /home directories        |
  |   shared_home     = /home directory shared by clients                    |
  |   tmp             = parent directory for client /tmp directories         |
  |   exclude_files   = files to be excluded when creating a mksysb image    |
  |   lpp_source      = source device for optional product images            |
  |   installp_bundle = an installp bundle file                              |
  |   fix_bundle      = fix (keyword) input file for the cust or fix_query   |
  |   bosinst_data    = config file used during base system installation     |
  |   image_data      = config file used during base system installation     |
  |   mksysb          = an AIX mksysb image                                  |
  |   script          = an executable file which is executed on a client     |
  |   resolv_conf     = configuration file for name-server information       |
 
 |  
 
 
Hier ist der Resource-Typ lpp_source zu selektieren.
Im Menü, das nach obiger Selektion erscheint,
   
                          Define a Resource
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                [Entry Fields]
* Resource Name                 [aix421]
* Resource Type                 lpp_source
* Server of Resource            [master]                                 +
* Location of Resource          [/spdata/sys1/install/aix421/lppsource]  /
  Source of Install Images      [/dev/cd0]                               +/
  Names of Option Packages      []
  Comments                      []
F1=Help             F2=Refresh          F3=Cancel           F4=List
Esc+5=Reset         F6=Command          F7=Edit             F8=Image
F9=Shell            F10=Exit            Enter=Do
 |  
 
 
die fett unterlegten Werte eintragen, die AIX CD Volume 1 in das CDROM
Laufwerk einlegen und ENTER drücken.
Die Resource vom Typ spot wird benötigt, damit die Backup CWS die zur Installation
des Systembackups notwendigen Kommandos zur Verfügung hat. Der SPOT (Shared Product Object Tree)
entspricht dem /usr  Filesystem einer normalen AIX Installation. Dieser SPOT wird vom
Kernel entsprechend den Angaben  in der Datei /tftpboot/hostname.info via NFS
nach der Bootphase in das Dateisystem eingehängt (mount).
Aus der Auswahlliste
   
  |   spot            = Shared Product Object Tree - equivalent to /usr file |
  |   root            = parent directory for client / (root) directories     |
  |   paging          = parent directory for client paging files             |
  |   dump            = parent directory for client dump files               |
  |   home            = parent directory for client /home directories        |
  |   shared_home     = /home directory shared by clients                    |
  |   tmp             = parent directory for client /tmp directories         |
  |   exclude_files   = files to be excluded when creating a mksysb image    |
  |   lpp_source      = source device for optional product images            |
  |   installp_bundle = an installp bundle file                              |
  |   fix_bundle      = fix (keyword) input file for the cust or fix_query   |
  |   bosinst_data    = config file used during base system installation     |
  |   image_data      = config file used during base system installation     |
  |   mksysb          = an AIX mksysb image                                  |
  |   script          = an executable file which is executed on a client     |
  |   resolv_conf     = configuration file for name-server information       |
 
 |  
 
 
den Resource-Typ spot selektieren.
   
                           Define a Resource
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
* Resource Name                               [aix421_spot]
* Resource Type                                spot
* Server of Resource                          [master]                 +
* Source of Install Images                    [aix421]                 +
* Location of Resource                        [/spdata/sys1/install/aix421]
  Expand file systems if space needed?        yes                     +
  Comments                                    []
  installp Flags
  COMMIT software updates?                    no                      +
  SAVE replaced files?                        yes                     +
  AUTOMATICALLY install requisite software?   yes                     +
  OVERWRITE same or newer versions?           no                      +
  VERIFY install and check file sizes?        no                      +
F1=Help             F2=Refresh          F3=Cancel           F4=List
Esc+5=Reset         F6=Command          F7=Edit             F8=Image
F9=Shell            F10=Exit            Enter=Do
 |  
 
 
Nachdem hier mit ENTER die Eingaben bestätigt wurden, beginnt ein AIX Installationsprozess,
der AIX von der lppsource aix421 in den SPOT installiert. Der größte Anteil der Software,
der in diesem Schritt installiert wird, wird durch den Device-Support den der SPOT
sicherstellen soll, bestimmt.
smit nim
	Perform NIM Administration Tasks
		Manage Resources
			Define a Resource
 
In folgender Auswahlliste
   
  |   spot            = Shared Product Object Tree - equivalent to /usr file |
  |   root            = parent directory for client / (root) directories     |
  |   paging          = parent directory for client paging files             |
  |   dump            = parent directory for client dump files               |
  |   home            = parent directory for client /home directories        |
  |   shared_home     = /home directory shared by clients                    |
  |   tmp             = parent directory for client /tmp directories         |
  |   exclude_files   = files to be excluded when creating a mksysb image    |
  |   lpp_source      = source device for optional product images            |
  |   installp_bundle = an installp bundle file                              |
  |   fix_bundle      = fix (keyword) input file for the cust or fix_query   |
  |   bosinst_data    = config file used during base system installation     |
  |   image_data      = config file used during base system installation     |
  |   mksysb          = an AIX mksysb image                                  |
  |   script          = an executable file which is executed on a client     |
  |   resolv_conf     = configuration file for name-server information       |
 
 |  
 
 
den Resource-Typ mksysb selektieren und
anschließend im Menü
   
                                  Define a Resource
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                [Entry Fields]
* Resource Name                 [systembackup]
* Resource Type                 mksysb
* Server of Resource            [master]                                 +
* Location of Resource          [spdata/sys1/install/images/systembackup]/
  Source of Install Images      []                               +/
  Names of Option Packages      []
  Comments                      []
F1=Help             F2=Refresh          F3=Cancel           F4=List
Esc+5=Reset         F6=Command          F7=Edit             F8=Image
F9=Shell            F10=Exit            Enter=Do
 |  
 
 
die fett unterlegten Werte eintragen und ENTER drücken.
Bevor ein Maschinen Objekt definiert werden kann, muß die zu installierende Maschine
(RS/6000 System) im Namensservice eingetragen sein. Wie die Namensauflösung im
Detail erfolgt, ist ohne Belang. Ob über die Datei /etc/hosts, DNS, NIS
ist gleichgültig; es muß lediglich
sichergestellt sein, dass der im folgenden einzugebende Name in eine IP  Adresse
aufgelöst werden kann. Zusätzlich wird die MAC  Adresse des Zielsystems benötigt.
Diese kann man über verschiedene Wege erhalten.
   
a) laufendes System
  
Das Systemkommando lscfg -v -l ent0 liefert folgende Ausgabe:
   
  DEVICE            LOCATION          DESCRIPTION
  ent0              00-01             Ethernet High-Performance LAN
                                      Adapter (8ef5)
        Network Address.............2608CF54C42
        ROS Level and ID............0015
        Displayable Message.........802.3/ETHERNET
        Part Number.................000G3369
        EC Level....................C73859
        Device Driver Level.........01
        Diagnostic Level............01
        FRU Number..................000G3368
        Serial Number...............00288415
        Manufacturer................204491
 |  
 
  
b) abgeschaltetes System mit SMS (z.B. F40/F50, PCI - Modelle)
 
Server starten und nach der Initialisierung des Keyboards die Taste 1/F1
(ASCII Display oder Grafik  Display) drücken. Anschließend kann
die MAC-Adresse unter Configuration ausgelesen werden.
  
c) abgeschaltetes System ohne SMS (ältere MCA Modelle)
 
Netzwerkboot des Servers aktivieren und aus dem Netzwerkbootmenü die
MAC Adresse auslesen. Hierfür wird je nach Modell unter Umständen eine
IPLROM-Emulation Diskette benötigt.
   
Um nun ein neues Maschinen-Objekt für die Backup Control Workstation
zu erstellen, werden im SMIT die folgenden Menüs der Reihe nach
durchlaufen.
smit nim
	Perform NIM Administration Tasks
		Manage Machines
			Define Machine Objects
 								
Es erscheint folgendes Menü (hier sind bereits einige Angaben gemacht,
daher kann dies unter Umständen etwas anders aussehen):
   
                            Define a Machine Object
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                     [Entry Fields]
* Machine Object Name                                [backup]
  Hardware Platform Type                              rs6k
  Machine Object Type                                 standalone
  Primary Network Install Interface
    Network Object Name                               sp_ent0
*   Host Name                                        [hostname]
    Network Adapter Hardware Address                 [2608CF54C42]
    Network Adaptor Logical Device Name              [ent0]
*   Cable Type                                        bnc                 +
  IPL ROM Emulation Device                           []                   /
  CPU Id                                             []
  Comments                                           []
 |  
 
  
Die fett gezeichneten Parameter werden eingetragen. Durch Drücken der
Taste ENTER wird das Maschinen-Objekt in der NIM Datenbank definiert.
Nachdem nun alle benötigten Resourcen definiert und generiert wurden,
werden auf den entsprechenden Objekten Aktionen durchgeführt
.
Bevor ein RS/6000 System mit den oben beschriebenen Resourcen
installiert werden kann, müssen die Resourcen mit dem zugehörigen
Maschinenobjekt logisch verknüpft werden. Dieser Vorgang wird in der
NIM Systematik als »Resource Allocation« bezeichnet. Diese Verknüpfung wird
wie folgt durchgeführt:
smit nim
	Perform NIM Administration Tasks
		Manage Machines
			Manage Network Install Resource Allocation
				Allocate Network Install Resources
 
Aus der folgenden Auswahlliste wird das Maschinen Objekt selektiert,
das installiert werden soll und dem daher die notwendigen Resource zugewiesen
werden sollen.
   
                     Manage Network Install Resource Allocation
Move cursor to desired item and press Enter.
   --------------------------------------------------------------------------
  |                               Target Name                                |
  |                                                                          |
  | Move cursor to desired item and press Enter.                             |
  |                                                                          |
  |   master     machines       master                                       |
  |   node01     machines       standalone                                   |
  |   node02     machines       standalone                                   |
  |   node03     machines       standalone                                   |
  |   node04     machines       standalone                                   |
  |   node05     machines       standalone                                   |
  |   node06     machines       standalone                                   |
  |   node07     machines       standalone                                   |
  |   node08     machines       standalone                                   |
  |   node09     machines       standalone                                   |
  |   backup     machines       standalone                                   |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
  | F8=Image                F10=Exit                Enter=Do                 |
F1| /=Find                  n=Find Next                                      |
F9 --------------------------------------------------------------------------
 |  
 
  
Nach der Festlegung der Backup Control Workstation als zu
installierende Maschine erscheint die folgende Resourcen-Auswahlliste,
aus der die  fett unterlegten Resourcen mit
F7 selektiert und damit zugewiesen werden müssen.
   
                    Manage Network Install Resource Allocation
Mo --------------------------------------------------------------------------
  |                   Available Network Install Resources                    |
  |                                                                          |
  | Move cursor to desired item and press F7.                                |
  |     ONE OR MORE items can be selected.                                   |
  | Press Enter AFTER making all selections.                                 |
  |                                                                          |
  | [MORE...17]                                                              |
  |   mksysb_a             mksysb                                            |
  |   mksysb_b             mksysb                                            |
  |   mksysb_c             mksysb                                            |
  |   lppsource_aix421     lpp_source         AIX Version 4.2.1              |
  |   spot_aix421          spot                                              |
  |   systembackup         mksysb             Systembackup von backup        |
  |   lppsource_aix432     lpp_source                                        |
  |   spot_aix432          spot               AIX Version 4.3.2              |
  | [BOTTOM]                                                                 |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
  | F7=Select               F8=Image                F10=Exit                 |
F1| Enter=Do                /=Find                  n=Find Next              |
F9 --------------------------------------------------------------------------
 |  
 
  
Nach der Eingabe von ENTER werden die Resourcen zugewiesen.
  
Bemerkung:
Eine häufig auftretende Meldung innerhalb der NIM Umgebung besagt,
daß die Aktion nicht durchgeführt werden könne, weil dies der Status
des NIM Objekts gegenwärtig nicht erlaube. In der Regel kann/muss
dann das entsprechende NIM Objekt (Maschinen-Objekt) über die Aktion
reset mit der forced
Option zurückgesetzt werden.
Der letzte Schritt in der Vorbereitung des NIM  Servers auf die Installation
eines RS/6000 Systems ist die Festlegung der Aktion, die mit dem
Maschinen-Objekt und den zuvor zugewiesenen Resourcen durchgeführt werden soll.
Da für das Recovery der Backup Control Workstation ein bestehendes mksysb Image
installiert werden muss, lautet die entsprechende NIM Operation
bos_inst mit der Option
mksysb.
smit nim
	Perform NIM Administration Tasks
		Manage Machines
			Perform Operations on Machines
 
In dem unten gezeigten Menü wird das Maschinen-Objekt, auf dem die Aktion
durchgeführt werden soll, selektiert
.
   
                                Manage Machines
Move cursor to desired item and press Enter.
   --------------------------------------------------------------------------
  |                               Target Name                                |
  |                                                                          |
  | Move cursor to desired item and press Enter.                             |
  |                                                                          |
  |   master     machines       master                                       |
  |   node01     machines       standalone                                   |
  |   node02     machines       standalone                                   |
  |   node03     machines       standalone                                   |
  |   node04     machines       standalone                                   |
  |   node05     machines       standalone                                   |
  |   node06     machines       standalone                                   |
  |   node07     machines       standalone                                   |
  |   node08     machines       standalone                                   |
  |   node09     machines       standalone                                   |
  |   backup     machines       standalone                                   |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
  | F8=Image                F10=Exit                Enter=Do                 |
F1| /=Find                  n=Find Next                                      |
F9 --------------------------------------------------------------------------
 |  
 
  
Nachdem das Maschinen-Objekt selektiert ist, wird im darauffolgenden Menü die
durchzuführende Aktion (hier: bos_inst ) festgelegt.
Im Anschluss an die Selektion erscheint das weiter unten abgebildete Menü.
Hier ist unbedingt darauf zu achten,
dass im Feld Source for BOS Runtime Files
über die Taste F4 mksysb selektiert wird.
   
                              Manage Machines
Mo --------------------------------------------------------------------------
  |                           Operation to Perform                           |
  |                                                                          |
  | Move cursor to desired item and press Enter.                             |
  |                                                                          |
  | [TOP]                                                                    |
  |      diag             = enable a machine to boot a diagnostic image      |
  |      cust             = perform software customization                   |
  |      bos_inst         = perform a BOS installation                       |
  |      maint            = perform software maintenance                     |
  |      reset            = reset an object's NIM state                      |
  |      fix_query        = perform queries on installed fixes               |
  |      check            = check the status of a NIM object                 |
  |      reboot           = reboot specified machines                        |
  |      maint_boot       = enable a machine to boot in maintenance mode     |
  |      showlog          = display a log in the NIM environment             |
  | [MORE...3]                                                               |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
  | F8=Image                F10=Exit                Enter=Do                 |
F1| /=Find                  n=Find Next                                      |
F9 --------------------------------------------------------------------------
 |  
 
  
   
                                 Perform a Network Install
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
  Target Name                                         backup
  Source for BOS Runtime Files                        rte                     +
  installp Flags                                     [-agX]
  Fileset Names                                      []
  Remain NIM client after install?                    yes                     +
   -------------------------------------------------------------------------- +
  |                       Source for BOS Runtime Files                       |+
  |                                                                          |+
  | Move cursor to desired item and press Enter.                             |
  |                                                                          |
  |   rte                                                                    |
  |   spot                                                                   |
  |   mksysb                                                                 |
  |                                                                          |
  | F1=Help                 F2=Refresh              F3=Cancel                |
F1| F8=Image                F10=Exit                Enter=Do                 |
Es| /=Find                  n=Find Next                                      |
F9 --------------------------------------------------------------------------
 |  
 
  
   
                            Perform a Network Install
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
                                                        [Entry Fields]
  Target Name                                         backup
  Source for BOS Runtime Files                        mksysb		+
  installp Flags                                     [-agX]
  Fileset Names                                      []
  Remain NIM client after install?                    no		+
  Initiate Boot Operation on Client?                  no		+
  Set Boot List if Boot not Initiated on Client?      no		+
  Force Unattended Installation Enablement?           no		+
F1=Help             F2=Refresh          F3=Cancel           F4=List
Esc+5=Reset         F6=Command          F7=Edit             F8=Image
F9=Shell            F10=Exit            Enter=Do
 |  
 
  
Die beiden fett unterlegten Felder müssen auf »no« gesetzt werden,
da die Backup Control Workstation selbst NIM Master ist und daher zum
einen die Datei /etc/niminfo, die sowohl Client
und Master bestimmt,
durch die NIM  Customization nach der Reinstallation des Systembackups
überschrieben würde und zum anderen die Backup Control
Workstation kein Client ist und daher auch keine Boot Operation initiiert werden kann.
Nachdem die Aktion definiert ist, werden alle nötigen Informationen
in der Datei /etc/bootptab bzw. im Verzeichnis
/tftpboot abgelegt.
Bevor mit dem Recovery der Backup Control Workstation begonnen wird, sollten einige
Einstellungen überprüft werden. In der Regel empfehlen sich mindestens
folgenden 3 Tests.
  
a) Eintrag in /etc/bootptab
  
Da der NIM-Client zum Booten über das Netzwerk Wissen über
seine künftige Netzwerk-Konfiguration sowie seine grundlegenden
Resourcen (Wo finde ich meinen Kernel ?) via BOOTP erlangt, muss in der
Datei /etc/bootptab ein Eintrag existieren,
der diese Information zur Verfügung stellt. Der Eintrag sieht in etwa
folgendermaßen aus:
cat /etc/bootptab
backup.xtelligent.de:bf=/tftpboot/backup.xtelligent.de:ip=192.168.0.2:
ht=ethernet:ha=02608c2cdebb:sa=192.168.0.1:sm=255.255.255.0:
 
 
b) Kernel-Link
  
Da das zu installierende System über keinen Kernel verfügt, muss
dieser über das Netzwerk geladen werden. Hierzu wird nachdem die
weiter oben beschriebenen Konfigurationen erstellt wurden, im Verzeichnis
/etc/tftpboot ein Link auf einen
geeigneten Kernel erstellt. Existiert dieser Link nicht, so kann der
Server nicht booten. Der Link muss folgendes Aussehen haben:
ls -l
lrwxrwxrwx   1 root     system        29 Dec 07 21:29 backup.xtelligent.de ->
/tftpboot/spot432.rs6k.up.ent
 
Auf welchen Kernel der Link verweist hängt vom Plattform-Typ der
zu installierenden Maschine ab. Im hier gezeigten Fall handelt es sich
um ein RS/6000 System vom Typ rs6k und
einem Uni-Prozessor System (up). Weitere
Typen sind rspc und
chrp, die beide als up-
und mp- (Multi-Prozessor) Systeme
erscheinen können.
 
 
c) Existenz von hostname.info
   Datei in /etc/tftpboot
  
Diese Datei wird während der Installation vom NIM-Client benötigt, da in dieser
Datei alle relevanten Netzwerkinformation hinterlegt sind, die dem Client einen
Zugriff auf die ihm zugewiesenen Resourcen erlauben. Eine typische
hostname.info hat etwa folgendes Aussehen
(Die Details hängen selbstverständlich von der jeweiligen Konfiguration ab).
#------------------ Network Install Manager ---------------
# warning - this file contains NIM configuration information
#       and should only be updated by NIM
export NIM_NAME=backup
export NIM_HOSTNAME=backup.xtelligent.de
export NIM_CONFIGURATION=standalone
export NIM_MASTER_HOSTNAME=nim.xtelligent.de
export NIM_MASTER_PORT=1058
export NIM_REGISTRATION_PORT=1059
export RC_CONFIG=rc.bos_inst
export NIM_BOSINST_ENV="/../SPOT/usr/lpp/bos.sysmgt/nim/methods/c_bosinst_env"
export NIM_BOSINST_RECOVER="/../SPOT/usr/lpp/bos.sysmgt/nim/methods/c_bosinst_env
-a hostname=backup.xtelligent.de"
export NIM_BOSINST_DATA=/NIM_BOSINST_DATA
export SPOT=nim.xtelligent.de:/export/spot/spot432/spot432/usr
export NIM_CUSTOM="/../SPOT/usr/lpp/bos.sysmgt/nim/methods/c_script
-a location=nim.xtelligent.de:/export/nim/scripts/backup.script"
export NIM_BOS_IMAGE=/SPOT
export NIM_BOS_FORMAT=spot
export NIM_HOSTS=" 192.168.0.2:backup.xtelligent.de
192.168.0.1:nim.xtelligent.de "
export NIM_MOUNTS=" nim.xtelligent.de:/export/lpp_source/aix432:/SPOT/usr/sys/inst.images:dir
nim.xtelligent.de:/export/lpp_source/bosinst/noprompt:/NIM_BOSINST_DATA:file "
 
Der NIM-Client lädt diese Datei via tftp vom NIM-Master.
 
 
Bemerkung: 
Die Einstellungen, die hier überprüft werden, sind nicht ! von Hand zu
erstellen. Sie sollten von der NIM-Aktion  bos_inst
erstellt worden sein. Daher hilft es in der Regel nichts, falls einer der genannten
Tests negativ verläuft, die Einstellungen per Hand nachzutragen.
In diesem Abschnitt wird beschrieben, welche Schritte im Einzelnen erforderlich sind,
um eine Backup Control Workstation aus einer vorhandenen Systemsicherung auf der
Control Workstation bzw. dem Filesystem /spdata der Volume Group spvg zu
restaurieren.
Ein mögliches Szenario könnte etwa folgendermaßen aussehen: 
Das System der Backup Control Workstation (rootvg) wird z.B. durch einen Defekt
auf dem SCSI-Adapter während eines System-Upgrades zerstört, da der Upgrade
nicht vollständig durchgeführt werden kann. Der Zustand der
rootvg kann entweder
undefiniert sein, oder aber die Backup Control Workstation kann schlimmstenfalls nicht
mehr gebootet werden. Daher ist die Wiederherstellung des Systems im Zustand vor dem
Beginn des Upgrades notwendig.
 
Die Daten der CWS liegen auf einem externen SSA Plattensubsystem, auf das beide
Control Workstations über redundante Loops zugreifen können
Um die hier beschriebenen Schritte durchzuführen, müssen folgende Voraussetzungen erfüllt sein:
     
 Es existiert ein Systemimage der Backup Control Workstation am NIM Master (CWS)
Die Primary CWS ist die aktive CWS und damit aktiver NIM Master
Es ist eine NIM Ressource vom Typ lpp_source am NIM Master definiert,
die die AIX Installationsimages derjenigen AIX Version enthält, die
der AIX Version des Systemimages der Backup CWS entspricht.
Es ist eine NIM Ressource vom Typ spot am NIM Master definiert,
die der AIX Version des Systemimages der Backup CWS entspricht (üblicherweise ist
diese Ressource aus der entsprechenden Ressource vom Typ
lpp_source generiert).
Es existiert eine Netzwerkressource, die einem der beiden auf der Backup CWS
konfigurierten Netzwerke entspricht (Dies ist immer der Fall, da es sich um
Control Workstations eines SP - Systems handelt, und das SP Skript
setup_server dieser Ressourcen automatisch anlegt). 
Folgendes Diagramm zeigt schematisch die einzelnen Schritte, die beim
Recovery der Backup Control Workstation durchzuführen sind.   
 
Hierzu sind die oben beschriebenen Schritte durchzuführen.
Dort finden sich alle Details um die NIM-Konfiguration zu erstellen. An dieser Stelle
sei aber darauf hingewiesen, daß die NIM Konfiguration insbesondere bzgl. des definierten
Maschinen-Objekts für die Backup Control Workstation in fast allen Fällen
neu generiert werden muß, da das Skript setup_server,
das auch für die gesamte NIM Konfiguration in einer SP-Umgebung verantwortlich ist, Objekte die nicht
in der SDR definiert sind, was bei einer Backup Control Workstation stets der Fall ist,
aus der NIM Konfiguration entfernt. Das Skript setup_server
wird unter anderem bei jedem Cluster Event,das eine Übernahme der CWS-Funktion bewirkt,
vom HACWS-Applicationserver ausgeführt. Konkret bedeutet dies, dass der
Systemadministrator sich für den Notfall ein entsprechendes Skript
bereitlegt, um die Definitionen schnell anlegen zu können.
Die einfachste und auch skriptbare Möglichkeit die Backup Control Workstation
via Netzwerk zu booten, ist das folgende Kommando
    
bootlist -m normal ent0 cd0 hdisk0 
 
Anschließend wird ein reboot-Kommando ausgeführt. Die Backup Control Workstation bootet
daraufhin via Netzwerk (BOOTP-Request). Der während der NIM Konfiguration
in der Datei /etc/bootptab auf dem NIM Master
generierte Eintrag, sorgt für den Transfer des Boot-Kernels auf die Backup Control
Workstation und die korrekte Netzwerkkonfiguration der Backup Control Workstation.
  Sollte der Netzwerkboot über das oben genannte Kommando aus irgendwelchen Gründen
nicht funktionieren, so kann das RS/6000 System über die sogenannten
System Management Services (SMS) gebootet werden (nicht alle Modelle). Diese werden
erreicht in dem während  einer normalen Bootphase unmittelbar nach der Initialisierung des Keyboard
(Schriftzug "Keyboard" am ASCII-Display oder Keyboard-Symbol am Grafikterminal) die
Taste 1 (ASCII-DISPLAY) bzw. die Taste "F1" (Grafik Display) drückt.
Innerhalb der SMS läßt sich ebenfalls ein Netzwerkboot initiieren.
  Die dritte Möglichkeit, eine Installation über das Netzwerk anzustoßen
besteht darin, das RS/6000 System via CD zu booten (bootlist -m normal cd0 hdisk0)
und anschließend eine Netzwerkinstallation zu beginnen. Hierbei muß aber das Netzwerk
per Hand an der Backup Control Workstation konfiguriert werden, da der
BOOTP-Request entfällt (keine Übermittlung der Netzwerkkonfiguration über den
bootpd-Daemon des NIM Master).
  Insbesondere ist aber in diesem Falle darauf zu achten,
daß die AIX Version von der gebootet wird, mit derjenigen übereinstimmt, die
im zu installierenden mksysb enthalten ist. Im Falle einer AIX 4.3.2 Backup
Control Workstation muß auch von einer AIX 4.3.2 CD gebootet werden,
wenn anschließend ein AIX 4.3.2 Systembackup der Backup Control Workstation
reinstalliert werden soll.
Die dem Netzwerkboot der Backup Control Workstation folgende Installation geht
im Prinzip wie jede Installation von CD-ROM vor sich.
Da in der Regel kein Resource-Objekt vom Typ bosinst_data,
mit dem eine non-prompted Installation realisiert werden könnte,
allokiert wird, erscheint nach dem Netzwerkboot das übliche AIX Installationsmenü.
Hier empfiehlt sich insbesondere zu überprüfen, auf welche
hdisk das System installiert werden soll
(Ein mksysb-Image kann prinzipiell auch auf eine andere bootfähige Platte,
als diejenige von der es ursprünglich stammte, installiert werden).
  
Nach Bestätigung der Einstellungen und Beginn der Installation mit
Option 0, läuft der Prozess ohne weiteren Eingriff des Benutzers ab.
Nach Beendigung der Installation initiiert der Installationsprozess automatisch
ein Reboot des Systems. Nach dem erneuten Hochfahren des Systems und der Anmeldung
als root erscheint der Installationsassistent
(spezielles SMIT-Interface), der eine Änderung der Einstellungen am System erlaubt.
Dieser kann ohne weitere Eingabe über den entsprechenden Menüpunkt beendet werden
(Nicht mit F3 oder F10 beenden, da dieses Menü sonst nach jedem Reboot und erneuter
Anmeldung wieder erscheint).
Nach der Reinstallation sollten folgende Prüfungen auf der Backup
Control Workstation durchgeführt werden.
3.4.4.1 Plattenkonfiguration
Mit dem Skript ls_ssa
wird die Konfiguration der SSA-Festplatten überprüft.
Die Ausführung des Skriptes sollte folgenden Output ergeben:
 
SSA-Adapter: ssa0
SSA-Adapter Lokation: 03-02
----------------------------------------------------
Disk    Adapter    A1       A2       B1       B2
----------------------------------------------------
pdisk0  ssa0        4        0        -        -
pdisk1  ssa0        3        1        -        -
pdisk2  ssa0        1        3        -        -
pdisk3  ssa0        2        2        -        -
.....
---------------------------------------------------------
Nr.  Disk          Log. Disk    Serialnumber       Adapter
---------------------------------------------------------
1__  pdisk0____    hdisk1____   000xxxxxxxxxxxx      ssa0
2__  pdisk1____    hdisk2____   000xxxxxxxxxxxx      ssa0
3__  pdisk2____    hdisk3____   000xxxxxxxxxxxx      ssa0
4__  pdisk3____    hdisk4____   000xxxxxxxxxxxx      ssa0
.....
 
Da der cfgmgr die SSA-Platten nach deren Seriennummer
in das AIX-System integriert, kann hier eine Vertauschung der Platten
erfolgt sein. Dann ist mit den Skripten rm_ssa und
mk_ssa die Reihenfolge der Platten wieder in die korrekte Reihenfolge
zu bringen. Hierzu ist in der Datei /tmp/ssa.config in der letzten Spalte
die Numerierung der Platten anzupassen und anschließend das Skript
mk_ssa auszuführen. Hier beginnt der beschriebene
Überprüfungsprozess von Neuem.
3.4.4.2 spvg - Volume Group
Die Existenz der Informationen über die Volume Group spvg wird mit dem Kommando
  
lspv
  überprüft. Das Kommando ergibt an einer Backup Control Workstation folgende Ausgabe:
 
hdisk1         0000xxxxxxxxxxxx    spvg
hdisk2         0020xxxxxxxxxxxx    spvg
hdisk3         0020xxxxxxxxxxxx    spvg
hdisk4         0020xxxxxxxxxxxx    spvg
.....
 
Ist die Ausgabe von der Form
 
hdisk1         0000xxxxxxxxxxxx    None
hdisk2         0020xxxxxxxxxxxx    None
hdisk3         0020xxxxxxxxxxxx    None
hdisk4         0020xxxxxxxxxxxx    None
.....
 
oder gar
 
hdisk1         none    None
hdisk2         none    None
hdisk3         none    None
hdisk4         none    None
.....
 
so sind Teile der oder sämtliche ODM Informationen über die Volume Group
spvg verlorengegangen.
Ist dies der Fall, so muss der Cluster auf der Primary Control Workstation gestoppt werden
und die Information via dem Skript cfg_spvg wieder an der
Control Workstation importiert werden.
Nach dem Import wird die Volume Group mit dem erwähnten Skript inaktiviert und der Cluster
auf der Primary Control Workstation  wieder gestartet.
3.4.4.3 Start des Clusters
Der Cluster wird auf der Backup Control Workstation mit dem Skript
   
cl_adm start
  
gestartet. Anschließend wird seine Funktion mit
  
clinfo
  
überprüft. Läuft der Cluster Manager auf der Backup so erfolgt die
3.4.4.4 Übernahme des Clusters auf Backup CWS
Mit dem Kommando
  
/tmp/install/cl_adm takeover,
  
auf der Primary Control Workstation ausgeführt, wird die Cluster Funktion an die
Backup Control Workstation übergeben. Nach der erfolgreichen Übernahme kann die
Clusterfunktion wieder an die Primary Control Workstation übergeben werden.
3.4.4.5 Übernahme des Clusters auf Primary CWS
Hierzu wird das Kommando
  
cl_adm start,
  
auf der Primary Control Workstation sowie die Kommandos
  
cl_adm takeover 
cl_adm start
  
auf der Backup Control Workstation ausgeführt.
Für die Skripte übernehmen wir keinerlei Gewähr. Wir empfehlen
dringend die Skripte gründlich zu studieren, da sie mit Sicherheit an die
Umgebung in der sie eingesetzt werden sollen, angepasst werden müssen.
#!/bin/ksh
#(@)# ls_ssa  2.00                               22/01/01 uwau Xtelligent '01
#------------------------------------------------------------------------------
#< Dieses Skript listet für alle in einem RS/6000 System eingebauten Adapter
#  Länge der SSA-Pfade ("Hops"), bis eine physikalische Platte ("pdisk")
#  erreicht wird.
#  Als zusätzliche Information wird fuer jede physikalische Disk die
#  Connection-Adresse (Serialnumber) sowie die zugehoerige logische Disk
#  ausgegeben. Diese Information wird zusaetzlich in eine Datei geschrieben,
#  die als Input fuer eine automatische Neukonfiguration des SSA-Systems dienen
#  kann.
#
#  Die wesentlichen Kommandos in diesem Skript sind:
#
#  1) Liste der Verbindungspfade zu einer bestimmten SSA-Platte (pdisk)
#     ssaconn -l <pdiskname> -a <adapter>
#     Beispiel:  ssaconn -l pdisk0 -a ssa0
#
#  2) Ermitteln der Seriennummer (SSA - Connection Address )
#     lsattr -E -l <pdiskname> -a connwhere_shad
#     Beispiel: lsattr -E -l pdisk0 -a connwhere_shad
#     Bemerkung: Die in diesem Skript verwendete Option -Fvalue bewirkt die
#                Ausgabe nur des Wertes der "connection address"
#
#  3) Ermitteln der logischein Disk zu einer gegebenen physikalischen Disk
#     ssaxlate -l <pdiskname>
#     Beispiel: ssaxlate -l pdisk0
#
#  Assoz. Skripte: rm_ssa
#                  mk_ssa
#>
#------------------------------------------------------------------------------
#  Aenderungen:   27/09/98 von  Version 1.00  nach  Version 1.01
#     uwau        Grund: Konfigurationsfile (CONFIGFILE) wird vor Ausfuehrung
#                        des Skriptes - falls es bereits vorhanden ist - ge-
#                        sichert und dann neu erzeugt.
#  Aenderungen:   22/10/98 von  Version 1.01 nach  Version 1.02
#     uwau         Grund: Einfügen einer Option (-n), so dass das Skript nur
#                        die Connetion-Pfade, nicht aber die Connection-
#                        Adressen liefert.
#  Aenderungen:   22/01/01 von Version 1.02 nach Version 2.00
#      uwau         Grund: Rewrite
#------------------------------------------------------------------------------
main()
{
VERSION=2.00
VDATE="22/01/01"
COMPANY=Xtelligent
AUTHOR=uwau
CONFIGDIR=/tmp
CONFIGFILE=ssa.config
[[ -f $CONFIGDIR/$CONFIGFILE ]] && mv $CONFIGDIR/$CONFIGFILE \
                                      $CONFIGDIR/${CONFIGFILE}.$$
in_fo -c
[[ $1 = "-h" ]] && in_fo -h  | more && exit
CONYES="yes"
[[ $1 = "-n" ]] && CONYES="no"
AD_LST=`lsdev -Cc adapter -t ssa160 | awk '{print $1}' | xargs`
PDISK_LST=`lsdev -Cc pdisk | awk '{print $1}' | xargs`
# Generiere fuer jeden Adapter eine Liste, ueber welche
# Connection eine bestimmte Platte erreicht wird.
#
for AD in $AD_LST; do
echo
echo SSA-Adapter:           $AD
echo SSA-Adapter Lokation:  `lscfg -l $AD | awk '/SSA/{print $2}`
echo
echo "--------------------------------------------------------------"
echo "Disk              Adapter       A1       A2        B1       B2"
echo "--------------------------------------------------------------"
 for PDISK in $PDISK_LST; do
     ssaconn -l $PDISK -a $AD
 done
done
[[ $CONYES = "no" ]] && exit
# Generiere Liste der "Connection-Addresses" (= Seriennummer )
# der SSA-Platten
echo "-----------------------------------------------------------"
echo "Nr.  Disk           Log. Disk    Serialnumber       Adapter"
echo "-----------------------------------------------------------"
 NR=1
 for PDISK in $PDISK_LST; do
   AD=`ssaadap -l $PDISK`
   SERIAL=`lsattr -Fvalue -l $PDISK -a connwhere_shad`
   ASSHDISK=`ssaxlate -l $PDISK| xargs`
   FPDISK=`echo $PDISK"___________"      | cut -c1-10`
   FASSHDISK=`echo $ASSHDISK"___________"| cut -c1-10`
   FNR=`echo $NR"___"                    | cut -c1-3`
   echo "$FNR  $FPDISK    $FASSHDISK   $SERIAL      $AD"
   echo "${PDISK}:${ASSHDISK}:${SERIAL}:${AD}:${NR}" >>$CONFIGDIR/$CONFIGFILE
   #
   ((NR = NR + 1))
 done
}
#------------------------------------------------------------------------------
in_fo()
{
case $1 in
  -c) cat <<EOF
     ----------------------------------------------------------------
     `basename $0` $VERSION                  $VDATE $AUTHOR $COMPANY
     ----------------------------------------------------------------
EOF
      ;;
   -h) cat <<EOF
     usage: `basename $0`
                          -n (nur Connections)
                          -h (Hilfe)
EOF
      awk -F"^#" '!/awk/&&/^#</,/^#>/{print $2}' `basename $0`
      ;;
esac
}
#------------------------------------------------------------------------------
main $*
#------------------------------------------------------------------- Ende -----
#!/bin/ksh
#(@)# mk_ssa  2.00                               22/01/01 uwau Xtelligent
#------------------------------------------------------------------------------
#< Dieses Skript legt anhand einer vorgegebenen Liste (z.B erzeugt aus ls_ssa)
#  die physikalischen Disks und ihre jeweils zugehoerige logische Disk an.
#  Die Platten werden in der Reihenfolge angelegt, wie sie in der Konfigura-
#  tionsdatei enthalten sind. Wird die Nummerierung in der letzten Spalte
#  der Konfigurationsdatei (CONFIGFILE) geaendert, so sortiert das Skript
#  die Liste entsprechend der Nummerierung.
#
#  Bemerkung: Vor dem Lauf dieses Skriptes duerfen keine(!) physikalischen
#             Disks ("pdisk<x>" existieren. Ebenso duerfen keine SSA-logische
#             Disks mehr existieren, da sonst ein zusaetzlicher Shift in die
#             Nummerierung der Platten geraet.
#
#  Assoz. Skripte: rm_ssa
#                  ls_ssa
#>
#------------------------------------------------------------------------------
#  Aenderungen:  DD/MM/YY  von  Version  2.00  nach  Version  2.01
#                Grund:
#------------------------------------------------------------------------------
main ()
{
VERSION=2.00
VDATE="22/01/01"
COMPANY=Xtelligent
AUTHOR=uwau
CONFIGDIR=/tmp
CONFIGFILE=ssa.config
in_fo -c
[[ ! -f $CONFIGDIR/$CONFIGFILE ]] && err_ex 1
NO_PDISKS=`lsdev -Cc pdisk`
[[ -n $NO_PDISKS ]] && err_ex 2
NO_LDISKS=`lsdev -Cc disk | awk '/SSA/{print $1}'`
[[ -n $NO_LDISKS ]] && err_ex 3
mk_sort_configfile
get_pdisk_type
AD_LST=`lsdev -Cc adapter -t ssa | awk '{print $1}' | xargs`
PDISK_LST=`cat $CONFIGDIR/$CONFIGFILE | awk -F":" '{print $1}'`
 for PDISK in $PDISK_LST; do
     SERIAL=`awk -F":" '$1 ~ /'$PDISK'$/{print $3}'  $CONFIGDIR/$CONFIGFILE`
     mkdev -c 'pdisk' -s 'ssar' -t $PTYP     -p 'ssar' -w $SERIAL
     wait
     mkdev -c 'disk'  -s 'ssar' -t 'hdisk'   -p 'ssar' -w $SERIAL
     wait
 done
}
#-------------------------------------------------------------------------------
mk_sort_configfile()
{
   sort -t: +4 -n $CONFIGDIR/$CONFIGFILE >$CONFIGDIR/${CONFIGFILE}.sort
   cp    $CONFIGDIR/${CONFIGFILE}.sort $CONFIGDIR/$CONFIGFILE
   [[ $? -eq 0 ]] && rm $CONFIGDIR/${CONFIGFILE}.sort
}
#-------------------------------------------------------------------------------
get_pdisk_type()
{
  ANT="n"
  while [[ $ANT != "j" ]]; do
    P_TYPE_LST=`lsdev -P -c pdisk -s ssar  -F "type subclass description" | awk '{print $1}'`
    NR=1
    for P_TYPE in $P_TYPE_LST; do
      echo "$NR) $P_TYPE      \c"
      ((MOD = NR % 2 ))
      [[ $MOD -eq 0 ]] && echo
      (( NR = NR + 1 ))
    done
    set -- $P_TYPE_LST
    echo
    echo "Bitte Nummer des SSA - Plattentyps eingeben : \c" ; read TYP_NR
    (( SHIFT = TYP_NR - 1))
    shift $SHIFT
    PTYP=$1
    echo "Sie haben folgenden Typ selektiert : $PTYP"
    echo "Ist das richtig (j/n)? : \c" ; read ANT
  done
}
#-------------------------------------------------------------------------------
err_ex ()
{
 case $1 in
 1) cat <<EOF
    Die angegebene SSA - Konfigurationsdatei $CONFIGFILE existiert nicht im
    Verzeichnis $CONFIGFILE.
    Das Skript wird abgebrochen.
EOF
    exit 1 ;;
 2) cat <<EOF
    Es existieren noch physikalische Disks ("pdisk<x>") in diesem System. Bitte
    sicherstellen, dass keine derartigen SSA - Platten existieren und erneut
    starten.
    Das Skript rm_ssa sollte alle Platten loeschen !
    Das Skript wird abgebrochen.
EOF
    exit 2 ;;
 3) cat <<EOF
    Es existieren noch logische SSA Disks ("hdisk<x>") in diesem System. Bitte
    sicherstellen, dass keine derartigen SSA - Platten existieren und erneut
    starten.
    Das Skript rm_ssa sollte alle Platten loeschen !
    Das Skript wird abgebrochen.
EOF
    exit 3 ;;
esac
}
#------------------------------------------------------------------------------
in_fo()
{
case $1 in
  -c) cat <<EOF
     ----------------------------------------------------------------
     `basename $0` $VERSION                  $VDATE $AUTHOR $COMPANY '98
     ----------------------------------------------------------------
EOF
      ;;
   -h) cat <<EOF
     usage: `basename $0`
EOF
      ;;
esac
}
#-------------------------------------------------------------------------------
main $*
#------------------------------------------------------------------- Ende -----
#!/bin/ksh
#(@)# rm_ssa 2.00                          22/01/01 uwau (C) Xtelligent
#------------------------------------------------------------------------------
#  Dieses Skript loescht alle physikalischen Disks ("pdisk") und ihre jeweils
#  zugehoerigen logische Disk ("hdisk").
#  Aenderungen:    25/09/98    von Version  1.00      nach Version  1.01
#     uwau          Grund: Version 1.00 loeschte nur Platten, die alle Available
#                         waren. Mit dieser Version werden alle SSA - Platten
#                         unabhaengig vom Zustand (Defined - Available)
#                         geloescht.
#  Aenderungen:    22/01/01    von Version  1.00      nach Version  2.00
#     uwau          Grund: Rewrite
#------------------------------------------------------------------------------
main()
{
VERSION=2.00
VDATE="22/01/01"
COMPANY=Xtelligent
AUTHOR=uwau
in_fo -c
[[ $# -eq 0 ]] && in_fo -h && exit 1
OPTION=$1; shift 1
P_AVAIL_LST=`lsdev -Cc pdisk | awk '/SSA/&&/Available/{print $1}' | xargs`
H_AVAIL_LST=`lsdev -Cc disk  | awk '/SSA/&&/Available/{print $1}' | xargs `
P_DEFIN_LST=`lsdev -Cc pdisk | awk '/SSA/&&/Defined/{print $1}'   | xargs`
H_DEFIN_LST=`lsdev -Cc disk  | awk '/SSA/&&/Defined/{print $1}'   | xargs`
case $OPTION in
  -h) in_fo -h
      ;;
   *) ssa_delete_disks $OPTION
      ;;
esac
}
#------------------------------------------------------------------------------
ssa_delete_disks ()
{
  CASE=$1
  ODM_DEL=""
  case $CASE in
    -s) DISK_LST="$H_AVAIL_LST"
        MSG="Loesche die Disk         : "
        ODM_DEL="-d"
        ;;
    -p) DISK_LST="$P_AVAIL_LST"
        MSG="Setze in Status 'defined': "
        ;;
    -l) DISK_LST="$H_AVAIL_LST"
        MSG="Setze in Status 'defined': "
        ;;
    -c) DISK_LST="$P_AVAIL_LST $H_AVAIL_LST"
        MSG="Setze in Status 'defined': "
        ;;
    -d) DISK_LST="$P_AVAIL_LST $H_AVAIL_LST $P_DEFIN_LST $H_DEFIN_LST"
        MSG="Loesche die Disk         : "
        ODM_DEL="-d"
        ;;
  esac
  # Schreibe eine Liste zur Information
  mk_list 4 $DISK_LST
  echo "\nSind Sie sicher die Platten zu loeschen (j/n) ? : \\c"; read ANT
  case $ANT in
  j|J)
      for DISK in $DISK_LST; do
        echo "\c$MSG \c"
        rmdev -l $DISK $ODM_DEL
      done
      ;;
  *) echo "Sie wollen die Platten doch nicht loeschen !"; exit 1
     ;;
  esac
}
#------------------------------------------------------------------------------
mk_list()
{
  set -- $*
  COLUMNS=$1;shift 1
  COUNTER=1
  while [[ $1 != "" ]]; do
    T_COUNTER=$COUNTER
    [[ $COUNTER -le 9 ]] && T_COUNTER=0$COUNTER
    echo " [ $T_COUNTER ]   $1 \\c" && shift 1
    ((MOD=COUNTER%COLUMNS))
    [[ $MOD -eq 0 ]] && echo
    (( COUNTER = COUNTER + 1 ))
  done
}
#------------------------------------------------------------------------------
in_fo()
{
case $1 in
  -c) cat <<EOF
     ----------------------------------------------------------------
     `basename $0` $VERSION                  $VDATE $AUTHOR $COMPANY
     ----------------------------------------------------------------
EOF
      ;;
   -h) cat <<EOF
     usage: `basename $0`
             -s)     Loesche alle SSA-Logical Disks (hdiskx) auch aus
                     der ODM. Diese Option ist für die Preparation eines
                     SSA-Raids hilfreich
             -d)     Loesche alle Disks aus der ODM - Datenbank
             -p)     Loesche SSA-Physical Disks (wenn "Available")
             -l)     Loesche SSA-Logical Disks  (wenn "Available")
             -c)     Setze alle SSA-Disks in "Defined" - Status
     Alle Optionen schliessen sich gegenseitig aus. Es kann also nur
     jeweils eine Option uebergeben werden.
EOF
      ;;
esac
}
#------------------------------------------------------------------------------
main $*
#------------------------------------------------------------------Ende--------
#!/bin/ksh
#(@)#cfg_spvg  2.00                               22/01/01 kawe Xtelligent
#------------------------------------------------------------------------------
#< Dieses Skript hilft beim Hantieren mit einer Volume-Group. Ist insbesondere
#     hilfreich bei einer HACMP-Installation, wenn die Volume Group immer wieder
#     auf den Knoten bekannt gemacht werden muss
#
#
#>
#------------------------------------------------------------------------------
#  Aenderungen:  DD/MM/YY  von  Version  2.00  nach  Version  2.01
#                Grund:
#------------------------------------------------------------------------------
if [[ $# -lt 1 ]]; then
  echo "usage: \\n-i = import; \\n-e = export ; \\n-d = dormant;
               \\n-c = change mount-option; \\n-m = mount fs;
               \\n-u = umount fs;" && exit 1
fi
if [ "$1" = "-i" ]; then
 echo "importing spvg"
 importvg -V 100 -y spvg hdisk1
 wait
 varyonvg spvg
 wait
 chvg -a'n' -Q'n' -x'n' spvg
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 # mount filesystems
 for LV in $LVLST; do
   mount $LV
   done
 # list for check:
 df
fi
if [ "$1" = "-e" ]; then
 echo "exporting spvg"
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 # umount filesystems
 for LV in $LVLST; do
   umount $LV
   done
 wait
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 if [[ -z $LVLST ]]; then
  echo "Not all filesystems unmounted."
  exit 2
 fi
 varyoffvg spvg
 wait
 exportvg spvg
 df
fi
if [ "$1" = "-d" ]; then
 echo "make spvg dormant"
 chvg -a'n' -Q'n' -x'n' spvg
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 # umount filesystems
 for LV in $LVLST; do
   umount $LV
   done
 wait
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 if [[ -z $LVLST ]]; then
  echo "Not all filesystems unmounted."
  exit 2
 fi
 varyoffvg spvg
 wait
 df
fi
if [ "$1" = "-c" ]; then
 echo "set filesystems to mount=no"
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 for LV in $LVLST; do
   chfs -A no $LV
   done
fi
if [ "$1" = "-u" ]; then
 echo "umounting spvg filesystems"
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 # umount filesystems
 for LV in $LVLST; do
   umount $LV
   done
 wait
 df
fi
if [ "$1" = "-m" ]; then
 echo "mounting spvg filesystems"
 LVLST=`lsvg -l spvg | awk '/jfs/&&!/jfslog/{print $7}'`
 # mount filesystems
 for LV in $LVLST; do
   mount $LV
   done
 wait
 df
fi
#!/bin/ksh
#(@)#cl_adm  2.00                               22/01/01 uwau Xtelligent
#------------------------------------------------------------------------------
#< Dieses Skript hilft beim Hantieren mit einem HACMP-Cluster. Ist insbesondere
#     hilfreich bei einer HACMP-Installation, wenn der Cluster immer wieder
#     übernommen werden muss und man sich die Optionen nicht merken kann oder
#     will.
#>
#------------------------------------------------------------------------------
#  Aenderungen:  DD/MM/YY  von  Version  2.00  nach  Version  2.01
#                Grund:
#------------------------------------------------------------------------------
VERSION=2.00
VDATE="22/01/01"
COMPANY=Xtelligent
AUTHOR=uwau
cat <<EOF
     -----------------------------------------------------------------
     `basename $0` $VERSION                   $VDATE $AUTHOR $COMPANY
     -----------------------------------------------------------------
EOF
case $1 in
  start) /usr/sbin/cluster/etc/rc.cluster -boot '-N'   '-i'
         ;;
  stop)  /usr/sbin/cluster/utilities/clstop -y '-N'  '-g'
         ;;
  takeover)  /usr/sbin/cluster/utilities/clstop -y '-N'  '-gr'
         ;;
  *)     cat <<-EOF
usage: cl_adm  {start | stop | takeover}
EOF
         ;;
esac
Hier gibt es weitere Informationen zu den Themen dieses X-Letters.
  
NIM: From A to Z in AIX 4.3, SG24-5524-00
  
Additional AIX Security Tools on IBM e(logo)server pSeries, IBM RS/6000, and SP/Cluster
, SG24-5971-00 2001-01-19
  
RS/6000 SP System Performance Tuning Update
, SG24-5340-01 2001-01-19
  
IBM Certification Study Guide AIX Communications
, SG24-6186-00 2000-12-22
  
IBM Certification Study Guide AIX Problem Determination Tools and Techniques
, SG24-6185-00 2000-12-22
  
IBM Certification Study Guide AIX Performance and System Tuning
, SG24-6184-00 2000-12-22
  
IBM Certification Study Guide AIX Installation and System Recovery
, SG24-6183-00 2000-12-22
  
Exploiting RS/6000 SP Security: Keeping It Safe
, SG24-5521-00 2000-11-30
  
PSSP 3.2: RS/6000 SP Software Enhancements
, SG24-5673-00 2000-10-17
  
IBM RS/6000 Clustered Enterprise Servers Systems Handbook
, SG24-5978-00 2000-08-21
  
PSSP Version 3 Survival Guide
, SG24-5344-00 2000-01-07
  
Oracle8i Parallel Server on IBM SP Systems: Implementation Guide
, SG24-5591-00 1999-12-23
  
RS/6000 SP System Management: Power Recipes for PSSP 3.1
, SG24-5628-00 1999-09-14
  
RS/6000 SP Software Maintenance
, SG24-5160-00 1999-07-29
  
The RS/6000 SP Inside Out
, SG24-5374-00 1999-05-26
  
HACMP Enhanced Scalability Handbook
, SG24-5328-00 1999-01-27
  
SP Perspectives: A New View of Your SP System
, SG24-5180-00 1999-01-11
  
HACMP Enhanced Scalability: User-Defined Events
, SG24-5327-00 1998-11-24
  
PSSP 3.1 Announcement
, SG24-5332-00 1998-11-18
  
PSSP 2.4 Technical Presentation
, SG24-5173-00 1998-06-29
  
Technical Presentation for PSSP 2.3
, SG24-2080-00 1997-12-16
  
HACMP Enhanced Scalability
, SG24-2081-00 1997-11-06
  
Integrating TME 10 on the RS/6000 SP
, SG24-2071-00 1997-09-11
  
RS/6000 SP: PSSP 2.2 Survival Guide
, SG24-4928-00 1997-08-15
  
RS/6000 SP Monitoring: Keeping it Alive
, SG24-4873-00 1997-05-01
  
 | 
   |