Dieses Kapitel beschreibt offene Punkte zur Verwendung der Solaris Betriebsumgebung auf Sun Fire 6800/4810/4800/3800 Systemen.
Dieser Abschnitt enthält Informationen zur Verwendung der Solaris Betriebsumgebung.
Der Befehl prtdiag der Solaris Betriebsumgebung zeigt Systemkonfigurationsparameter an. Die im Handbuch zur Hardware-Plattform von Sun beschriebenen Informationen zu diesem Befehl und für diese BS-Version sind inkorrekt. Es folgen die korrekten Informationen.
Der Befehl prtdiag (1M) der Solaris Betriebsumgebung zeigt für die Domain Ihres Sun Fire 6800/4810/4800/3800 Systems folgende Informationen an:
Konfiguration
Diagnose
Gesamtspeicher RAM (ähnlich dem Befehl prtconf)
Diese Version von Solaris bietet Unterstützung für die dynamische Rekonfiguration (DR). In diesem Abschnitt sind offene Punkte bezüglich der DR auf Sun Fire 6800/4810/4800/3800 Systemen zum Zeitpunkt dieser Version aufgeführt.
Informationen zur Systemcontroller-Firmware, die die DR-Funktionalität enthält, finden Sie in den Sun Fire 6800/4810/4800/3800 Systems Software Release Notes im Rahmen der 5.12.6 Firmware-Version. Diese Firmware und verwandte Dokumente sind im SunSolve Patch 112127-02 enthalten, der auf der SunSolve Website (http://sunsolve.Sun.com) verfügbar ist.
Diese Versionshinweise für die dynamische Rekonfiguration (DR) auf Sun Fire 6800, 4810, 4800 und 3800 Systeme befassen sich mit folgenden Themen:
Den systemspezifischen DR-Support für 6800/4810/4800/3800 Systeme können Sie mit dem Befehl cfgadm anzeigen. Systemkarten werden als Klasse "sbd", CompactPCI (cPCI) Karten als Klasse "pci" ausgewiesen. Wenn Sie die DR über die cfgadm Schnittstelle verwenden, sehen Sie auch andere DR-Klassen.
Weitere Informationen zu systemspezifischen Problemen mit DR finden Sie unter "Bekannte Fehler der Dynamic Reconfiguration".
Um Klassen anzuzeigen, die mit Anschlusspunkten assoziiert sind, führen Sie als superuser folgende Befehlsfolge aus:
# cfgadm -s "cols=ap_id:class" |
Dynamische Anschlusspunkte können Sie auch mit dem Befehl cfgadm und der Option -a auflisten. Um die Klasse eines bestimmten Anschlusspunkts zu bestimmen, fügen Sie den Punkt als Argument zum oben stehenden Befehl hinzu.
Die folgende Software unterstützt DR auf einem Sun Fire System: Version 8 2/02 der Solaris Betriebsumgebung und Version 5.12.6 der System-Firmware.
Außerdem können Sie wahlweise Sun Management Center (SunMC) installieren. Ausführliche Anweisungen dazu finden Sie im Sun Management Center 3.0-Ergänzungssoftware für die Systeme Sun Fire 6800, 4810, 4800 und 3800.
Das Upgrade der Sun Fire System-Firmware erfolgt via FTP- oder HTTP-Verbindung über einen FTP- bzw. HTTP-Server, auf dem das Firmware-Abbild gespeichert ist. Weitere Informationen finden Sie im Sun Fire 6800/4810/4800/3800 Systems Platform Administration Manual.
Zusätzliche Informationen zum Installieren des Firmware-Patches finden Sie in den mitgelieferten Dateien README und Install.info.
Aktualisieren Sie neben der Firmware für den System-Controller unbedingt auch die für alle CPU/Speicherplatinen und E/A-Einheiten. Wenn sich die Firmware Ihrer CPU/Speicherplatinen und E/A-Einheiten von der des System-Controllers unterscheidet, können Sie Ihre Domains vielleicht nicht booten.
Richten Sie den FTP- oder HTTP-Server ein.
Informationen dazu finden Sie in Anhang B im Sun Fire 6800/4810/4800/3800 Systems Platform Administration Manual (Teilenummer 805-7373-13).
Laden Sie die 5.12.6 Firmware herunter.
Diese Firmware und damit zusammenhängende Informationen sind im SunSolve Patch 112127-02 enthalten, den Sie über folgende Website herunterladen können
http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access
Kopieren Sie den Patch auf den FTP- oder HTTP-Server mit einem Befehl wie dem folgenden:
# cp /patch_location/* /export/ftp/pub/5.12.6 |
Stellen Sie eine Verbindung zur Konsole des System-Controllers (serieller Anschluss) her, um das System während des Firmware-Upgrades zu überwachen (Schritt 6).
Der Prompt für den System-Controller lautet:
scHostname:SC> |
Fahren Sie alle Domains herunter, indem Sie die Solaris Betriebsumgebung anhalten.
Der Schlüsselschalter bleibt für diese Domains in der Position on.
Setzen Sie in jeder Domain, die Sie über Schritt 5 deaktivieren, die Schlüsselschalter-Position auf standby:
scHostname:A> setkeyswitch standby |
Prüfen Sie, ob alle CPU/Speicherplatinen und E/A-Einheiten eingeschaltet sind, indem Sie den Befehl showboards auf dem System-Controller in der Plattform-Shell ausführen:
scHostname:SC> showboards |
Schalten Sie alle deaktivierten CPU/Speicherplatinen und E/A-Einheiten mithilfe des Befehls poweron auf dem System-Controller in der Plattform-Shell ein:
scHostname:SC> poweron Komponenten_namen |
Führen Sie das Upgrade der Firmware mit dem Befehl flashupdate auf dem System-Controller in der Plattform-Shell durch.
Schalten Sie das System während der Ausführung dieses Schrittes nicht aus bzw. führen Sie keinen Neustart durch.
Verwenden Sie die für das URL-Protokoll in Frage kommende Befehlssyntax:
scHostname:SC> flashupdate -f URL all |
Der Befehl flashupdate startet den System-Controller neu und führt das Upgrade der CPU/Speicherplatinen und E/A-Einheiten, scapp und RTOS, durch.
Wenn Sie scapp 5.12.5 oder höher und RTOS 18 oder höher ausführen, wird nur dann ein Upgrade von scapp und RTOS durchgeführt, wenn sich das zu installierende vom installierten Abbild unterscheidet.
Wenn der System-Controller dann wieder erfolgreich gestartet wurde, stellen Sie eine Verbindung zu jeder Domain-Konsole her und deaktivieren Sie alle CPU/Speicherplatinen und E/A-Einheiten, indem Sie die Schlüsselschalter-Position auf off einstellen:
scHostname:A> setkeyswitch off |
Prüfen Sie, ob alle CPU/Speicherplatinen und E/A-Einheiten eingeschaltet sind, indem Sie den Befehl showboards auf dem System-Controller in der Plattform-Shell ausführen:
scHostname:SC> showboards |
Schalten Sie alle noch aktiven CPU/Speicherplatinen und E/A-Einheiten mithilfe des Befehls poweroff auf dem System-Controller in der Plattform-Shell aus:
scHostname:SC> poweroff Komponenten_namen |
Rufen Sie alle Domains auf, indem Sie die Schlüsselschalter-Position auf on einstellen:
scHostname:A> setkeyswitch on |
Wenn alle Domains aufgerufen wurden, aktualisieren Sie die Konfigurationssicherung des System-Controllers mithilfe des Befehls dumpconfig:
scHostname:SC> dumpconfig -f URL |
wobei URL für das FTP-Protokoll steht.
Dieser Abschnitt beschreibt bekannte DR-Softwareeinschränkungen auf Sun Fire 6800, 4810, 4800 und 3800 Systemen.
Wenn Sie eine Systemplatine zur Domain hinzufügen, ohne DC-Verfahren zu verwenden, wie z. B. Ausführen des CLI-Befehls addboard auf dem System-Controller (SC), müssen Sie nacheinander die Befehle setkeyswitch off bzw. setkeyswitch on ausführen, um die Karte beim System anzumelden.
Diese Version der DR-Software unterstützt Sun StorEdge Traffic Manager nicht.
Bevor Sie eine DR-Operation auf einer E/A-Platine (IBx) ausführen, stoppen Sie den Daemon vold mit folgendem Befehl:
# sh /etc/init.d/volmgt stop |
Wenn die DR-Operation erfolgreich abgeschlossen wurde, starten Sie den Daemon vold mit folgendem Befehl neu:
# sh /etc/init.d/volmgt start |
Auf Sun Fire 6800, 4810, 4800 und 3800 Systemen unterstützt DR weder HIPPI/P, noch SAI/P (Bug 4466378) oder SunHSI/P Treiber (Bug 4496362).
Sie müssen den Befehl devfsadm(1M) ausführen, um vorgenommene Änderungen anzuzeigen, besonders solche hinsichtlich PCI auf cPCI.
Führen Sie während DR-Operationen keinen Neustart durch oder setzen Sie den System-Controller (SC) zurück. Führen Sie außerdem kein Flashupdate durch, für das zum Abschluss ein Neustart erforderlich wäre.
Sie können die Konfiguration für eine CompactPCI (cPCI) E/A-Einheit nur dann rückgängig machen, wenn sich alle Karten auf der Platine in einem nicht konfigurierten Zustand befinden. Wenn auch nur eine cPCI-Karte aktiv ist (wie bei einer aktivierten (plumbed) Schnittstelle oder einer eingehängten Disk), schlägt die Aufhebung der Konfiguration der Platine mit dem Status "busy" fehl. Alle cPCI-Karten sollten sich vor dem Rückgängigmachen der Konfiguration der (cPCI) E/A-Einheit in einem nicht konfigurierten Zustand befinden.
Wenn eine Multipath-Disk mit zwei cPCI-Karten verbunden ist, treten zwischen den Karten vielleicht unerwartete Diskaktivitäten auf. Aus diesem Grund stellen Sie sicher, dass auf der lokalen Seite der Ressource keine Aktivität vorliegt. Dies geschieht wahrscheinlich eher, wenn Sie versuchen, DR-Operationen auf einer cPCI-Karte mit dem Status "busy" durchzuführen, auch wenn auf der lokalen Seite der Ressource keine Aktivität vorliegt. Sie müssen vielleicht einen weiteren DR-Versuch vornehmen.
Wenn ein Benutzer Anschlusspunkte mithilfe des Befehls cfgadm(1M) und der Option -a anzeigt, werden alle cPCI-Steckplätze und PCI-Busse als Anschlusspunkte angezeigt. Der Befehl cfgadm -a zeigt einen Anschlusspunkt für einen PCI-Bus als N0.IB8::pci0 an. Es gibt vier solcher Anschlusspunkte für jede cPCI-Karte. Sie sollten als Benutzer keine DR-Operationen für diese oder am Anschlusspunkt sghsc (den der Befehl cfgadm -a als N0.IB8::sghsc4 anzeigt) durchführen, da die DR nicht automatisch erfolgt und einige interne Ressourcen entfernt werden. Allerdings entsteht dadurch auch kein Schaden
Damit die DR bei cPCI-Karten korrekt funktioniert, müssen alle Hebelschalter der zum Zeitpunkt des Bootens der Solaris Betriebsumgebung eingesetzten Karten vollständig aktiviert sein.
Rufen Sie Gruppennamen, Testadresse und Schnittstellenindex ab, indem Sie folgenden Befehl eingeben.
# ifconfig Schnittstelle |
Zum Beispiel ifconfig hme0
Verwenden Sie den Befehl if_mpadm(1M) wie folgt:
# if_mpadm -d Schnittstelle |
Dadurch wird die Schnittstelle offline genommen und die Failover-Adresse an eine andere aktive Schnittstelle der Gruppe übergeben. Wenn sich die Schnittstelle bereits im Failed-Status befindet, stellen Sie mit diesem Schritt lediglich sicher, dass die Schnittstelle offline ist.
(Optional) Deaktivieren (Unplumb) Sie die Schnittstelle.
Dieser Schritt ist nur erforderlich, wenn Sie die Schnittstelle mithilfe von DR später automatisch neu konfigurieren möchten.
Entfernen Sie die physikalische Schnittstelle.
Genaue Informationen finden Sie in der Man-Page cfgadm(1M) und im Sun Fire 6800, 4810, 4800 and 3800 Systems Dynamic Reconfiguration User Guide.
Installieren Sie die physikalische Schnittstelle.
Genaue Informationen finden Sie in der Man-Page cfgadm(1M) und im Sun Fire 6800, 4810, 4800 and 3800 Systems Dynamic Reconfiguration User Guide.
Nachdem die physikalische Schnittstelle installiert ist, wird sie mit den Einstellungen der Hostname-Konfigurationsdatei (/etc/hostname.Schnittstelle, wobei Schnittstelle einen Wert wie hme1 oder qfe2 darstellt) automatisch konfiguriert.
Dadurch wird der Daemon in.mpathd zur Fortsetzung seiner Diagnose und der Erkennung von Reparaturen veranlasst. Schließlich bewirkt in.mpathd, dass die ursprünglichen IP-Adressen wieder dieser Schnittstelle zugeordnet werden. Die Schnittstelle sollte jetzt online und für die Verwendung unter IPMP bereit sein.
Wenn die Schnittstelle nicht deaktiviert (unplumb) und vor einem Aushängvorgang in den Status OFFLINE versetzt wurde, würde sie durch den hier beschriebenen Installationsvorgang automatisch konfiguriert. Um die Schnittstelle auf den Status ONLINE zurückzusetzen und ihre IP-Adresse nach der physikalischen Installation wieder zuzuweisen, geben Sie folgenden Befehl ein: if_mpadm -r Schnittstelle.
Dieser Abschnitt befasst sich mit permanentem Speicher und die Voraussetzungen für einen Ruhezustand des Betriebssystems beim Zurücksetzen der Konfiguration eines Systems, das über permanenten Speicher verfügt.
Um schnell herauszufinden, ob eine Platine über permanenten Speicher verfügt, führen Sie als superuser folgenden Befehl aus:
# cfgadm -av | grep permanent |
Das System antwortet dann mit einer Ausgabe ähnlich der folgenden, die die Systemplatine 0 (Null) beschreibt:
N0.SB0::memory connected configured ok base address 0x0, 4194304 KBytes total, 668072 KBytes permanent |
Permanenter Speicher ist der Ort, an dem der Solaris Kernel und seine Daten abgelegt sind. Der Kernel kann nicht auf die gleiche Art und Weise aus dem Speicher freigegeben werden wie Benutzerprozesse Speicher auf anderen Platinen freigeben, wenn Sie ein Paging zum Swap-Gerät durchführen. Stattdessen verwendet cfgadm für die Freigabe von Speicher die Technik des Kopierens und Umbenennens.
Der erste Schritt in einer Kopieren/Umbenennen-Aktion ist das Stoppen aller Speicheraktivitäten auf dem System. Dazu werden alle E/A-Operationen und die Thread-Aktivität angehalten. Diesen Vorgang bezeichnet man auch als quiescence (Ruhezustand). Dabei wird das System praktisch eingefroren und reagiert nicht auf externe Events wie Netzwerkpakete. Die Dauer des Ruhezustands hängt von zwei Faktoren ab: wie viele E/A-Geräte und Threads gestoppt werden müssen und wie viel Speicher kopiert werden muss. Üblicherweise bestimmt die Anzahl der E/A-Geräte die erforderliche Ruhezustands-Zeit, da sie angehalten und wieder gestartet werden müssen. Ein normaler Ruhezustands-Status dauert im Allgemeinen länger als 2 Minuten.
Da ein Ruhezustand größere Auswirkungen zur Folge hat, fordert cfgadm vor dem Start eine Bestätigung an. Wenn Sie Folgendes eingeben:
# cfgadm -c unconfigure N0.SB0 |
Antwortet das System mit einem Bestätigungsprompt:
System may be temporarily suspended, proceed (yes/no)? |
Wenn Sie SunMC für die DR-Operation verwenden, wird der Prompt in einem Popup-Fenster angezeigt.
Geben Sie yes ein, um zu bestätigen, dass die Auswirkungen des Ruhezustands akzeptabel sind und fahren Sie fort.
Dieser Abschnitt enthält eine Übersicht und Sun Bug-ID-Nummern der wichtigsten Fehler, die beim Testen der DR aufgetreten sind. Diese Liste ist nicht abschließend.
Beschreibung: Wenn ein System den Prozess cryptorand ausführt, der im SUNWski Package enthalten ist, verursacht ein Zurücksetzen der Konfiguration, wie sie beim Entfernen einer CPU/Speicherplatine (SB) abläuft, dass cryptorand mit in /var/adm/messages aufgezeichneten Meldungen beendet wird. Diese Aktion verweigert sicheren Sub-Systemen Dienste zur Zuweisung zufälliger Nummern. Jeglicher, beim Start von cryptorand vorhandene Speicher sollte konfiguriert bleiben.
Der cryptorand Prozess weist /dev/random eine zufällige Nummer zu. Nachdem er gestartet wurde, hängt die Zeit, bis /dev/random verfügbar wird, davon ab, wieviel Speicher sich im System befindet. Es werden etwa 2 Minuten pro GB Speicher veranschlagt. Anwendungen, die /dev/random für die Zuweisung von zufälligen Nummern verwenden, werden vielleicht zeitweilig blockiert. cryptorand muss beim Hinzufügen einer CPU/Speicherplatine zu einer Domain nicht neu gestartet werden.
Lösung: Wenn eine CPU/Speicherplatine aus der Domain entfernt wird, starten Sie cryptorand erneut, indem Sie als superuser folgenden Befehl eingeben:
# sh /etc/init.d/cryptorand start |
Beschreibung: Es kann ein Systemabsturz auftreten, wenn ein Systemplatine mit CPUs entfernt wird, während der Solaris Bandwidth Manager (SBM) läuft.
Lösung: Installieren Sie den SBM nicht auf Systemen, die für DR-Tests verwendet werden und führen Sie keine DR-Operationen für CPU-Systemplatinen auf Systemen aus, auf denen SBM installiert ist.
Beschreibung: Eine DR-Konfigurationsoperation hängt sich bei einer IBx (E/A) Platine nach einigen erfolgreichen Wiederholungen auf. Diese Situation tritt auf, wenn die DR-Operation gleichzeitig mit dem DMP-Daemon ausgeführt wird, der die Richtlinie check_all mit einem Zeitintervall ausführt.
Lösung: Um eine gegenseitige Blockierung von DMP-Daemon und Systemplatine zu verhindern, geben Sie für die Ausführung von DR-Operationen folgenden Befehl ein. Durch ihn wird der DMP-Daemon gestoppt und neu gestartet.
# /usr/sbin/vxdmpadm stop restore |
Beschreibung: Wenn ein SCSI-Controller konfiguriert aber nicht aktiv ist, kann er mithilfe des DR-Befehls cfgadm(1M) nicht getrennt werden.
Lösung: Keine.
Beschreibung: Wenn ein Multi-Threaded Client der Bibliothek cfgadm gleichzeitig mehrere sbd Anforderungen startet, hängt sich das System vielleicht auf.
Lösung: Keine. Zur Zeit gibt es keine Anwendungen, die eine Multithreaded-Verwendung der Bibliothek cfgadm implementieren.
Beschreibung: Wenn gleichzeitig mehrere DR-Operationen ausgeführt werden oder wenn psradm gleichzeitig mit einer DR-Operation ausgeführt wird, kann sich das System wegen einer Mutex-Blockade aufhängen.
Lösung: Führen Sie DR-Operationen nacheinander aus (nur eine DR-Operation auf einmal) und warten Sie, bis sie beendet wurden, bevor Sie psradm oder eine neue DR-Operation starten.
Beschreibung: Manchmal wird bei SNMP get Operationen auf dem cpuModDescr Objekt eine Konsolenbus-Fehlermeldung ausgegeben. Dies geschieht selten und nur wenn SunMC ein System überwacht. Wenn die Meldung angezeigt wird, wird an SunMC unknown als Wert des cpuModDescr Objekts zurückgegeben.
Lösung: Die einzige Lösung ist, SunMC nicht zu verwenden. Allerdings tritt das Problem nur selten auf und deshalb kann diese Meldung ignoriert werden. Das einzige Risiko dabei ist, dass die SunMC GUI manchmal vielleicht den falschen Wert für cpuModDescr anzeigt.
Ein Sun Fire System hängt sich vielleicht auf, wenn eine oder mehrere CPU-Platinen während einer DR-Operation in die Gleichlaufpausierung geschaltet werden. Dieses Verfahren wird benötigt, um Platinen hinzuzufügen bzw. zu entfernen. Wenn ausstehende mondo Interrupts vorliegen und SC die Gleichlaufpausierung aus irgendeinem Grund nicht innerhalb des einsekündigen send_mondo timeout Zeitlimits ausführen kann, hängt sich das System auf.