HowTo OpenBoot-PROM

April 6th, 2011 von sdohn

Sun-Server besitzen einen so genannten OpenBoot-PROM-Speicherchip, der sich auf dem gleichen Mainboard wie die CPU und der Speicher befindet. Im Chip befinden sich weitere Programme mit ihren zugehörigen Gerätetreibern.  Die OPB-Software wird in EEPROMs (Electrically Erasable Programmable Read Only Memory) oder in NVRAMs (Non Volatile Random Access Memory) gespeichert.

Aufgaben des OBP:
-testen der Server-Hardware (CPU, RAM, Mainboard usw.)
-Hardwarespezifischen Einstellungen (=OBP-Variablen),
-booten des installierten Betriebssystems (z.B. Solaris)

Boot Vorgang eines SUN-Servers:

 

Im OPB werden verschiedene Variablen zur Konfiguration der Hardware eingestellt. Dabei handelt es sich um eigene Befehle, die nicht mit  Solaris-Befehlen zu verwechseln sind. Der NVRAM-Chip speichert nicht nur die Konfigurationsparameter (=OBP-Variablen), sondern auch noch die MAC-Adresse, die Host-ID und die Datum- bzw. Uhrangaben.

OPB-Ablauf:
Wird ein System angeschaltet, läuft zuerst ein POST-Programm (Power on self test) ab, es wird also die Funktionalität der Hardware getestet. Danach übernimmt die Firmware die weitere Steuerung des Rechners. Die Firmware initialisiert das System, testet den Haupt-RAM, die CPU und die Busse. Dann bleibt der Rechner mit dem Promt "ok" stehen und wartet auf weitere Eingaben des Benutzers.

 

Die wichtigsten OBP-Befehle:

Befehl:                                  Bedeutung:

banner                                   Zeigt das Boot-Banner an (Informationen wie System-Takt, OBP Revision, Systemspeicher, Ethernetadresse und Host-ID;

.enet-addr                              Zeigt die Ethernetadresse an

devalias [alias path]              Physikalischer Pfad des Gerätes

LED-off/LED-on                      Schaltet die System-LED an oder aus;

nvunalias [name path]           Löschen einen Alias, der durch einen User mit nvalias erstellt wurde

nvalias [name path]               Einen neuer Alias für ein Gerät wird erstellt                                    

nvstore                                  Kopiert die Inhalte des Speichers in den NVRAM

power-off/power-on               An- bzw. Ab-Schalten des Systems

printenv                                 Zeigt alle Parameter an mit ihren Werten

probe-fcal-all                         Identifiziert die  Fiber Channel Arbitrated Loop (FCAL) Geräte am System

probe-sbus                             Identifiziert Geräte die zum SBUS-Slot hinzugefügte wurden

probe-scsi                              Identifiziert Geräte die am onboard-SCSI-Bus angeschlossen sind

probe-scsi-all                         Identifiziert Geräte die an allen SCSI-Busen angeschlossen sind

set-default [parameter]          Setzt den Wert eines Parameters auf den Default-Wert zurück

set-defaults                            Setzt die Werte aller Parameter auf default zurück                    

setenv [parameter value]      Setzt einen neuen Wert für einen Parameter

show-devs                             Zeigt alle vom System erkannten Geräte an

show-disks                             Zeigt die physikalischen Pfade der Disk-Controller an

show-displays                        Zeigt die physikalischen Pfade des Frame-Buffer an

show-nets                              Zeigt die physikalischen Pfade der Netzwerkkarten an

show-post-results                   Zeigt eine Auswertung an, aber erst nach einem Power On Self Test             

show-sbus                              Zeigt die angeschlossenen Geräte von allen SBUS-Slots an

show-tapes                            Zeigt die physikalischen Pfade der Tape-Controller an

sifting [string]                        Zeigt alle OBP-Befehle mit Zeichenfolge [string] an

.speed                                   Zeigt die CPU- und Bus-Geschwindigkeit an

test [device-specifier]            Führt den Selbsttest für ein Gerät durch

test-all                                  Führt den Selbsttest für alle Geräte durch

.version   Zeigt OBP- und POST-Version an

watch-clock                           Test des Real-Time-Clock-Chips (RTC)

watch-net                              Überwacht die Netzwerkverbindung der primären Netzwerkkarte

watch-net-all                         Überwacht alle Netzwerkverbindungen

words                                    Zeigt alle OBP-Befehle und Methoden an

NVRAM Konfigurations Variablen (Ausgabe von "printenv"):

 

Variablen Name
 
  Standart Wert
 
auto-run?   false
ip-addr-obdiag
 
  ff.ff.ff.ff
 
dhcp-clientid
 
   
multiplexer-output-devices
 
  ttya ttye
 
multiplexer-input-devices
 
  ttya ttye
shutdown-temperature
 
  70
critical-temperature
 
  65
warning-temperature
 
  60
env-monitor
 
  disabled
ntp-server-addr
 
  255.255.255.255
ntp-enable?
 
  false
auto-config-save?
 
  false
diag-passes
 
  1
diag-continue?
 
  0
diag-targets
 
  0
diag-verbosity
 
  0
post-on-sir?
 
  false
scsi-initiator-id
 
  7
#power-cycles
 
  No default
system-board-serial#
 
  No default
system-board-date
 
  No default
ttyb-rts-dtr-off
 
  false
ttyb-ignore-cd
 
  true
ttya-rts-dtr-off
 
  false
ttya-ignore-cd
 
  true
ttyb-mode
 
  9600,8,n,1,-
ttya-mode
 
  9600,8,n,1,-
cpci-probe-list
 
  0,1,2,3,4,5,6,7,8,9,a,b,…
pcia-probe-list
 
  1
pcib-probe-list
 
  1,2,3,4
probe-delay
 
  30
keyboard-click?
 
  false
keymap
 
   
mfg-mode
 
  off
diag-level
 
  max
watchdog-timeout
 
  65535
watchdog-enable?
 
  false
fcode-debug?
 
  false
output-device
 
  screen
input-device
 
  keyboard
load-base
 
  16384
auto-boot-retry?
 
  false
boot-command
 
  boot
auto-boot?
 
  true
watchdog-reboot?
 
  false
diag-file
 
   
diag-device
 
  net
boot-file
 
   
boot-device
 
  disk net
net-timeout
 
  0
ansi-terminal?
 
  true
screen-#columns
 
  80
screen-#rows
 
  34
local-mac-address?
 
  false
silent-mode?
 
  false
use-nvramrc?
 
  false
nvramrc
 
   
security-mode
 
  No default
security-password
 
   
security-#badlogins
 
  No default
oem-logo
 
   
oem-logo?
 
  false
oem-banner
 
   
oem-banner?
 
  false
hardware-revision
 
   
last-hardware-update
 
   
diag-switch?
 
  false
ok    

HowTo sent break to Sun Host with a PC Keyboard

April 6th, 2011 von sdohn

The answer (that works for me) is very similar to the
„telnet-reachable“ lantronix:

telnet: ->  "Control_]"  and "send break"
ssh:    ->  "Control_\"  and "send brk"

Solaris SDS Command Guide

April 6th, 2011 von sdohn

Inhaltsverzeichnis


metadb

Mit metadb werden MetaDB Slices konfiguriert. 
Man kann welche hinzufügen oder auch löschen.
Bsp: metadb -a -f -c 3 c0t0d0s7 c0t1d0s7

metastat

Anzeige der Statusinformation aller oder nur spezieller Metadevices
Bsp: metastat -s nsrmon-ms -p
Bsp: metastat d10

metaclear

Mit metaclear werden Metadevices aufgelöst und vernichtet.
Das geht jedoch nur wenn diese nicht mehr in Benutzung sind.
Sprich Subvolumes oder gemountet, etc...
Bsp: metaclear -r d10

metainit

Mit metainit werden die einzelnen RAID Systeme konfiguriert. 
Siehe dazu die Unterpunkte der RAID Typen
Bsp: metainit -f d10 1 1 c0t0d0s0
Bsp: metainit -s catega-ora9-ms d1 1 1 /dev/did/rdsk/d23s0

metattach

Mit metattach wird die zweite Hälfte eines Spiegels 
dem eigentlichen Basisspiegel hinzugefügt
Bsp: metattach d10 d11 # Submirror wurde zum Mirror d10 hinzugefügt

metadetach

Mit metadetach kann man eine hälfte des Spiegels 
aus dem gesamten Spiegel rausnehmen
Bsp: metadetach d10 d11

metareplace

Mit metareplace werden defekte Platten oder Slices 
mit neuen Platten/Slices ersetzt ohne an der eigentlichen 
Konfiguration rumschrauben zu müssen
Bsp: metareplace -s catega-ms -e d0 /dev/did/dsk/d7s0

metaonline

Stellt einen Submirror wieder online nach einen metaoffline Kommando.
Regionen welche sich verändert haben werden automatisch wieder resynced.
Bsp: metaonline -s nsramon-ms d10 d9

metaoffline

Stellt einen Submirror auf offline. 
Alle ausstehenden Schreiboperationen werden aufgeschoben.
Bsp: metaoffline d10 d9  # stellt den Submirror d9 Offline von Mirror d10
Bsp: metaoffline -s nsramon-ms d10 d9

metaset

Konfiguriert Disksets welche von mehr ale einem Host benutzt werden sollen.
Bsp: metaset -s catega-ora9-ms -a -h cnode1 # neues Host metaset anlegen
Bsp: metaset -s categat-ora9-ms -a /dev/did/rdsk/d24 # metaset mit den DID Devices Assozieren.
Bsp: metaset -s catega-ora9-ms -a -m cnode1 cnode2 # metaset zur Mediator DB hinzufügen.

metaclear

Das metaclear Kommando entfernt das spezifizierte Metadevice, 
oder auch einen Hot-Spare Pool.
Es entfernt ausserdem alle Soft Partitionen von der angegebenen Komponente.
Bsp: metaclear -r d10

IP Multipathing

April 6th, 2011 von sdohn

IP Multipathing

IP Multipathing oder IPMP ist aehnlich zum Networkcard bonding unter Linux. Man fasst Netzwerkkarten in Gruppen zusammen und jedes Interface kann zwischen den Karten dieser Gruppe wechseln. Das erhoeht natuerlich die Ausfallsicherheit.

Hinweis: Solaris bennent seine Netzwerkkarten nach dem benutzten Treiber. Ich werde in diesem HowTo nur ce0 und ce1 verwenden, die Anleitungen funktionieren aber fuer alle anderen Karten gleich.

Ich gehe bei diesem HowTo davon aus, dass bisher nur ein Interface (eine IP- Adresse) auf ce0 und ce1 gar nicht konfiguriert wurde.

Fuer die Testadressen zum Ueberpruefen des Links kann man private, nicht routbare IP Adressen verwenden. In diesem Beispiel verwende ich dazu 192.168.50.2 und 192.168.50.3 mit Netmask 255.255.255.0
ACHTUNG!: Viele professionelle Switches bieten die Moeglichkeit, private Adressen auszusperren. Durch eine solche Konfiguration hatte ich einmal den Fall, dass die beiden Testadressen nicht miteinander kommunizieren konnten und das Failover so nicht funktionierte.

ACHTUNG: Unbedingt dieses HowTo bis zum Ende durchlesen, bevor man mit den Arbeiten beginnt. Wichtige Informationen stehen erst am Ende.

#### IPMP aktivieren ####

Hinweis: Der Name der IPMP- Gruppe ist frei waehlbar. Er muss nur fuer alle Mitglieder der Gruppe gleich sein.

  • 1. Alle logischen Interfaces (IP Adressen) in /etc/hosts und

/etc/inet/ipnodes eintragen

  • 2. Das Netzwerk in /etc/netmasks eintragen

Hinweis: Auch das Netzwerk der Testadressen(in diesem Fall 192.168.50.0 eintragen)

  • 3. /etc/hostname.ce0 anpassen

Im Moment sollte diese Datei den hostnamen der Maschine beinhalten. Aendern auf:
[IP- address] + netmask + broadcast group [IPMP-group] up

  • 4. Das zweite Interface plumben (aktivieren)

ifconfig ce1 plumb

  • 5. Zur ersten Netzwerkkarte eine Testadresse hinzufuegen

/etc/hostname.ce0 um folgendes erweitern
„addif 192.168.50.2 + netmask + broadcast + deprecated -failover up“

Wichtig: Den ganzen Inhalt (auch die vorigen Aenderungen) in eine einzige Zeile schreiben

  • 6. Der zweiten Karte eine Testadresse hinzufuegen

In /etc/hostname.ce1 folgendes eintragen:
„192.168.50.3 netmask + broadcast + deprecated group [IPMP-group]
\ -failover standby up“

Hinweis: Wenn die Maschine mehr als eine IP Adresse bekommen soll, ist es sinnvoll, diese auf die Netzwerkkarten der Failovergruppe aufzuteilen. Dazu muss man dann die „standby“ Option weglassen.

  • 7. Die Maschine rebooten

ACHTUNG!: Ich habe diese Konfiguration bei einer Maschine im laufenden Betrieb durchgefuehrt und den Kontakt zu beiden Netzwerkkarten verloren. Es ist also unbedingt erforderlich, auch ueber einen anderen Weg Zugriff auf das System zu haben (Bildschirm + Tastatur oder Konsole)

Hinweis: Man kann die Konfiguration auch anders aktivieren, aber ein reboot ist am Einfachsten.

Solaris CD ISO Image Mounten

April 6th, 2011 von sdohn

Solaris CD ISO Image Mounten

mkdir /mnt/cdimage
lofiadm -a /export/beispiel.iso /dev/lofi/1
mount -F hsfs -o ro /dev/lofi/1 /mnt/cdimage
 

Nach dem Benutzen des gemounteten Devices:

umount /mnt/cdimage
lofiadm -d /dev/lofi/1