GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
12. Januar 2016

NIM ohne SMIT

Inhalt

  1. Einführung: Objekte und Klassen
  2. Befehlsübersicht
    1. Alle definierten NIM-Objekte listen
    2. Alle definierten Objekte einer NIM-Klasse listen
    3. Alle definierten Objekte eines NIM-Typs listen
    4. Objektdefinition anzeigen
    5. LPP-Source definieren
    6. Netzwerk definieren
    7. NIM Client definieren
    8. MKSYSB Ressource definieren
    9. MKSYSB Ressource auf einen neuen AIX Level heben
    10. SAVEVG Ressource definieren
    11. Image_data Ressource definieren
    12. Spot aus einer LPP-Source erstellen
    13. Spot aus einem MKSYSB erzeugen
    14. Spot und LPP-Source für eine Alternate Disk Migration vorbereiten
    15. Client-Definition modifizieren
    16. Client neu initialisieren
    17. Client installieren
    18. MKSYSB Installation
    19. NIM Client zurüksetzen
    20. Installierte APARs listen
    21. Installierte Filesets listen
    22. Maintenance Boot einleiten
    23. Alternate Disk Migration starten
  3. Weiterführende Literatur

 

A. Einführung: Objekte und Klassen

NIM speichert alle Informationen, die zur Installation von Servern benötigt werden, in Objekten. Dabei gibt es Objekte verschiedenen Typs, die Objekttypen werden wiederum verschiedenen Objektklassen zugeordnet. Die wichtigsten Objekttypen und -klassen im Überblick:

KlasseTypBeschreibung
machines standalone die Client-LPAR, die über NIM installiert wird/wurde
networks ent Definition eines Netzwerkes (Netwerkadresse, Gateway)
resources lpp_source ein Set von AIX-Filesets
resources mksysb ein mksysb-Image
resources spot ein /usr-Dateisystem für die Ramdisk
resources fb_scriptSkript, das beim ersten Boot des Clients ausgeführt wird
resources script ein Postinstall-Skript

 

B. Befehlsübersicht

 

1. Alle definierten NIM-Objekte listen

# lsnim

 

2. Alle definierten Objekte einer NIM-Klasse listen

# lsnim -c <class>

 

3. Alle definierten Objekte eines NIM-Typs listen

# lsnim -t <type>

 

4. Objektdefinition anzeigen

# lsnim -l <object>

 

5. LPP-Source definieren

# nim -o define -t lpp_source \
            -a server=master \
            -a location=</path/to/bffs> \
            -a comments=<free text> \
        <lpp source>

 

6. Netzwerk definieren

# nim -o define -t ent \
          -a net_addr=<netaddress>  \
          -a snm=<netmask>  \
          -a routing1="default <gateway>" \
       <network>

 

7. NIM Client definieren

# nim -o define -t standalone \
           -a platform=chrp \
           -a netboot_kernel=64 \
           -a if1="<network> <ip label> 0 ent" \
           -a cable_type1=tp \
        <client>

Statt eines IP Labels kann auch eine IP Adresse gesetzt werden.

 

8. MKSYSB Ressource definieren

# nim -o define -t mksysb \
        -a server=master \
        -a comments="<free text>" \
        -a location=</path/to/image> \
    <mksysb>

 

9. MKSYSB Ressource auf einen neuen AIX Level heben

Es ist möglich, ein vorhandenes mksysb der Version AIX 6.1 nach AIX 7.1 zu migrieren:

# nimadm -T <source mksysb> \
            -O <target location> \
            -s <spot> \
            -l <lpp_source> \
            -j <Volume Group> -Y -N \
    <target mksysb>

Dadurch wird eine neue MKSYSB-Ressource angelegt, die das migrierte mksysb enthält. Dieses mksysb kann nun auf einer LPAR installiert werden. Spot und LPP-Source müssen dem gewünschten Ziel-Level entsprechen. In der angegebenen Volume Group muss genügend Platz sein um das mksysb zu restaurieren.

 

10. SAVEVG Ressource definieren

# nim -o define -t savevg \
        -a server=master \
        -a comments="<free text>" \
        -a location=</path/to/image> \
        -a source=<client> \
        -a mk_image=yes \
        -a volume_group=<Volume Group> \
    <savevg>

Dieses Kommando erzeugt ein neues Image der angegebenen VG vom NIM-Client.

 

11. Image_data Ressource definieren

# nim -o define -t image_data \
        -a server=master \
        -a comments="<free text>" \
        -a location=</path/to/image_data> \
    <image_data>

 

12. Spot aus einer LPP-Source erstellen

# nim -o define -t spot \
            -a server=master \
            -a source=<lpp source> \
            -a location=<directory> \
            -a comments="<free text>" \
        <spot>

 

13. Spot aus einem MKSYSB erzeugen

# nim -o define -t spot \
        -a server=master \
        -a source=<mksysb> \
        -a location=<directory> \
        -a comments="<free text>" \
    <spot>

Für location wird hier - anders als dies z.B. bei der LPP-Source der Fall ist - kein weiterer Pfadanteil für den Spot angegeben, da automatisch der Objektname <spot> angehängt wird.

 

14. Spot und LPP-Source für eine Alternate Disk Migration vorbereiten

# nimadm -M -s <spot> -l <lpp source> -d <source directory>

Unter <source directory> müssen die zur Version des NIM-Servers passenden Filesets «bos.alt_disk_install.rte» und «bos.alt_disk_install.boot_images» auffindbar sein. nimadm aktualisiert dann Spot und LPP-Source, so dass ein Client auch auf einen niedrigeren Stand migriert werden kann als es dem Stand des NIM-Servers entspricht. Dieses Möglichkeit wurde mit AIX 7.1 eingeführt.

 

15. Client-Definition modifizieren

# nim -o change -a <attribute>=<value> <client>

Die exakten Namen der Attribute finden Sie in der Ausgabe von lsnim -l <client>. Mit der Option change können Sie den Attributen einen neuen Wert zuweisen. So lässt sich beispielsweise der Kernel, mit dem der Client booten soll, von 64 auf mp umstellen:

# nim -o change -a netboot_kernel=mp <client>

 

16. Client neu initialisiern

Stimmen die Angaben in der Datei /etc/niminfo auf dem Client nicht mehr, kann die Datei neu erzeugt werden. Dies geschieht auf dem Client:

client# rm /etc/niminfo
client# niminit -a name=<client> -a master=<nimserver> -a connect=nimsh¹
client# nimclient -C

Dies wird z.B. nötig, wenn der Client von einem NIM-Server zu einem anderen umzieht. In diesem Fall muss zuerst aber der Client auf dem neuen NIM-Server angelegt werden.


¹ Das Argumnet "-a connect=nimsh" ist optional und wird nur benötigt, möchte man die Kommunikation zwischen Server und Client über nimsh und nicht über rsh laufen lassen.

 

17. Client installieren

# nim -o bos_inst \
           -a spot=<spot> \
           -a lpp_source=<lpp source> \
           -a fb_script=<script> \
           -a script=<postinstall script> \
           -a no_client_boot=yes \
           -a accept_licenses=yes \
        <client>

Die Option no_client_boot=yes bewirkt, dass der NIM-Server nicht versucht, die LPAR über rsh zu booten. Der Boot erfolgt dann manuell über das SMS-Menü.

 

18. MKSYSB Installation

# nim -o bos_inst \
           -a source=mksysb \
           -a spot=<spot> \
           -a mksysb=<mksysb> \
           -a lpp_source=<lpp source> \
           -a fb_script=<script> \
           -a script=<postinstall script> \
           -a no_client_boot=yes \
           -a accept_licenses=yes \
        <client>

 

19. NIM Client zurücksetzen

# nim -F -o reset <client>

setzt einen NIM-Client zurück, so dass neue Operationen ausgeführt werden können. Oftmals kleben dann aber trotzdem immer noch Ressourcen am Client, die noch weggeräumt werden müssen (welche Ressourcen das sind lässt sich mit lsnim -l <client> überprüfen). Weggeräumt werden die Ressourcen dann mit

# nim -o deallocate -a spot=<spot> -a ...=... <client>

Möchte man alle Ressourcen auf einmal wegräumen, kann man dies einfacher auch so machen:

# nim -o deallocate -a subclass=all <client>

 

20. Installierte APARs listen

# nim -o fix_query <client>

Dieses Kommando kann hilfreich sein, um zu überprüfen, ob der Client vom NIM-Server bedient werden kann.

 

21. Installierte Filesets listen

# nim -o lslpp <client>

Auch dieses Kommando kann hilfreich sein, um zu überprüfen, ob der Client vom NIM-Server bedient werden kann.

 

22. Maintenance Boot einleiten

# nim -o maint_boot -a spot=<spot> <client>

Der NIM-Client kann nun über das Netzwerk in eine Maintenance-Shell gebootet werden.

 

23. Alternate Disk Migration starten

# nimadm -c <client> -l <lpp source> -s <spot> -d <hdisk> -Y

 

C. Weiterführende Literatur