GA EP45 Extreme mit 8 GB

Unter Linux lohnt sich ein großer Hauptspeicher, wenn man viel mit einer oder mehreren virtuellen Maschinen arbeitet. Eine unserer neuen Arbeitsstationen basiert auf einem Gigabyte Board, dem “GA EP45 Extreme”. Wir wollten dieses Board mit 8GB Hauptspeicher bestücken und zwar Modulen von Corsair (Dominator PC2-8500 C5 1066 Mhz, 2GB pro Speicherriegel).

Als CPU kam ein Intel Q9550 Quadcore zum Einsatz (2,83 GHz). Die Speicherbänke waren durch 4x 2GB-Speicherriegel voll besetzt. Installiert werden sollte Opensuse 11.1, 64Bit.

Die Dominator-Speicherbausteine von Corsair sollen theoretisch mit einer 5-5-5-15 T2 Taktung bei 2.1V DRAM Spannung mit 1066 MHz laufen. Eine entsprechende Einstellung im BIOS des Boards (man muss das DRAM Profil 2 wählen und die Spannung auf 2.1 Volt hochsetzen) führte bei uns aber trotz mehrstündigen Anläufen und unterschiedlichen BIOS-Einstellungen nicht zum Erfolg. Hier kommt man über das BIOS nicht hinaus – der Versuch, Opensuse zu installieren scheitert umgehend.

Mit RAM-Profil 1 (einer seltsamen Taktung die 800 MHz entspricht) und der Standardspannung von 1.8V kann man zwar eine Installation beginnen. Es ergeben sich aber immer wieder Schwierigkeiten und Instabilitäten schon während der Installation von Opensuse 11.1. Diese Instabilitäten legen dann die graphische Installationsroutinen von Opensuse lahm oder führen zu Abbruch der Installation mit Fehlermeldung. Sehr frustrierend, wenn man nach Installation von 2GB Software schließlich doch havariert!

Die erste wirklich stabile Einstellung mit 8GB war folgende:

Bus 333 MHz. Faktor CPU 8,5. (8+0.5 im Bios)
DRAM: Profile 2 5-5-5-15 bei einem Bus-Faktor von 2.4 ! Dies entspricht einem reduzierten Betrieb mit 800 MHz.
DRAM-Spannung 2.1 Volt (ging aber auch mit 1.9 V).

Damit haben wir uns aber nicht zufrieden gegeben.

Nach ein paar weiteren Versuchen fanden wir nämlich heraus, dass das Board mit nur 4 GB (also nur zwei besetzten Bänken) auch mit Profil 2 und dem Faktor 3.5 für 1066 MHz halbwegs stabil lief. Es funktionierte nur nicht bei Vollbesetzung der Speicherbänke im Dual Channel Mode !

Die Wurzel des Übels lag letztlich in der BIOS -Version F3 des Boards. Ein Update auf die BIOS-Version F7 und später Version F8 brachte endlich das gewünschte Ergebnis:

* Profil 2 für 1066 MHz (Bus-Faktor 3.5)
* DRAM-Spannung 2.06Volt (das Board neigt zu höherer realer Spannung – gemessen wurden bei dieser Einstellung faktische 2.11 Volt !)
* 8 GB Vollbesetzung

und alles voll stabil! Auch nach tagelangem Betrieb von Opensuse 11.1 keine Stabilitätsprobleme. Übrigens bislang auch keine Temperaturprobleme.

Wir freuen uns nun auf unser neues Arbeitsgerät !

3ware 9650SE und Opensuse 11.1

Bei der Bestückung neuer Workstations steht man immer wieder vor der Frage, welchen Hard-Disk Controller man unter Linux einsetzen soll. Wir haben gute Erfahrungen mit Controllern von 3ware. Wir hatten bislang sowohl die Controller der 7500er-Serie als auch den 9500S-Serie mit gutem Erfolg und unter Opensuse ohne Treiber-Probleme im Einsatz.

Wir können nun berichten, dass auch folgende Kombination aus Hard- und Software hervorragend zusammenarbeitet:

  • Mainboard “GA EP45 Extreme” bzw. “GA EP45T Extreme” (mit 8GB DDR2 bzw. 8GB DDR3 RAM)
  • Intel Quadcore 9550
  • 3ware SATAII 9650SE mit 2 Raid 1 Arrays (Samsung 1TB Platten)
  • 64 Bit Opensuse 11.1 für x86_64 mit Kernel 2.6.27.19-3.2-default

Der Plattendurchsatz kann nur als sehr gut bezeichnet werden. Der mit Opensuse 11.1 und Kernel 2.6.27.19-3.2-default mitgelieferte 64Bit -Treiber ist zwar nicht auf dem allerneuesten Stand, funktioniert bei uns bislang aber ohne Probleme. (Wir müssen dazu aber einschränkend anmerken, dass wir nur Raid 1 Arrays fahren.)

Schön ist auch, dass der 9650Se Controller ehemalige Raid-Arrays des 9500S Controller anstandslos einbindet, wenn die Arrays auf SATA II Platten angelegt wurden. Das erleichtert den Transfer von Daten beim Aufbau neuer Arbeitsstationen erheblich. Zur Vorsicht lege man natürlich dennoch ein Backup aller Daten an, bevor man Platten-Arrays von einem zum aderen Controller umzieht !

Als Tools haben wir das CLI und 3DM2 aus dem 9.5.1.1 Software Kit installiert (ohne das von Opensuse gelieferte Treibermodul auszutauschen).

Ein Hinweis sei bzgl. der 3DM2-Installation angebracht :

Der von 3ware ausgelieferte Installer läuft auf einem 64Bit-System nicht, wenn 32 Bit Java-Pakete oder das “java-1_6_0-openjdk” RPM installiert sind.

Fehlermeldungen ( z.B. nach Absetzen von “./setupLinux_x64.bin -console” auf einem x-term: )

Initializing Wizard….
Launching wizard…

The wizard cannot continue because of the following error:
could not load wizard specified in /wizard.inf (104)
WARNING: could not delete temporary file
/tmp/ismp001/1535915
WARNING: could not delete temporary file
/tmp/ismp001/9361692

Lösung:

Hier hilft eine kurzzeitige Deinstallation der Java-Pakete. Nach der Deinstallation von Java installiert man dann problemfrei 3DM2. Im Anschluss reinstalliert man die Java-Pakete erneut. Es hat eine Weile gedauert, bis ich das herausgefunden habe (es gibt einen ziemlich versteckten Hinweis in der Wissensdatenbank von 3ware).

Der Support von 3ware hat mich zusätzlich auf einen noch in Entwicklung befindlichen Installer unter der Adresse http://3ware.com/support/downloadnew.asp
hingewiesen. Dieser läuft nun komplett graphisch ab und funktionierte bei mir denn auch trotz installierten Java-Paketen !

Viel Spaß weiterhin mit 3ware !

Nvidia Beta Treiber 180.06

Dieser Treiber ist aus meiner Sicht (trotz Beta-Status) für KDE4-Neugierige (und nicht-produktive Linux-Umgebungen) empfehlenswert.
Es verschwinden nämlich wie von Zauberhand eine Reihe von KDE 4 – Problemen, u.a.:

  • Artefakte auf den Taskbars beim Einsatz von GTK-Applikationen
  • Fehler bei der Darstellung von transparenten Objekten auf Webseiten in Konqueror

Geschwindigkeitseinbußen oder Instabilitäten habe ich unter KDE 4.2 Beta mit Compiz auf einem Opensuse 11.0-System (x86_64) bislang nicht feststellen können.

3ware Controller Status und Raid Rebuild

Wegen diverser Nachfragen: Hier ein paar kurze Hinweise zur Statusüberprüfung eines 3ware-Raid-Systems unter Linux und Informationen zum Rebuild eines Platten-Arrays, nachdem eine der Platten ausgefallen ist.

Ich beschränke mich nachfolgend auf die Situation eines Raid 1- Verbundes aus 2 gespiegeltem Platten ohne Hot-Swap-Umgebung.

Zunächst ist interessant, wie man überhaupt erkennt, dass ein Problem vorliegt.

Achte bereits beim Booten des Systems auf Störmeldungen

Bzgl. der Statusüberprüfung eines Raid-Systems möchte ich zunächst auf die 3ware BIOS-Meldungen beim Hochfahren eines Systems hinweisen. Dies betrifft vielleicht weniger Server in Dauerbetrieb; es ist aber dennoch ein interessanter Punkt für Arbeitsstationen. Mir ist selbst schon passiert, dass sich mal ein Kabel gelöst hatte und dass eine Platte im Verbund nicht zur Verfügung stand. Merkt man dies bereits beim Hochfahren und bevor neue Daten auf die noch verfügbare Platte des Arrays geschrieben wurden, so umgeht man ein zeitintensives Rebuild des gesamten Systems.

Ein Array wird beim Booten als “Degraded” gemeldet. Was tun ?

Eine Störungsmeldung wird beim Booten rechts neben der Auflistung der vorhandenen 3ware-Raid-Arrays angezeigt.

Ein ausgefallenes und nicht mehr Fault-tolerantes Raid-Array wird in den BIOS-Status-Meldungen es als “Degraded” beschrieben. Die betroffene defekte oder ggf. abgetrennte Platte erhält im Fehlerfall das Attribut “not in use”.

Je nach Bios-Einstellungen stellt der Controller das defekte Array immer noch als “Exportable” für das darauf enthaltene Betriebssystem zur Verfügung. Solange nicht auch die zweite Platte ausfällt, ist das auch kein Problem.

Ist ein Raid-Array nicht in Ordnung, so sollte man als erstes alle Kabelverbindungen prüfen. Gibt sich das Problem dann, so hat man Glück gehabt.

War die Platte jedoch bereits in der vorhergehenden laufenden Sitzung ausgefallen, so ist ein “Rebuild” des Arrays unvermeidbar – weil bereits Daten im nicht gespiegelten Zustand auf die noch verfügbare Platte geschrieben wurden. Die Platten sind dann also in keinem Fall mehr in einem konsistenten Zustand. Geht man mit ‘Alt-3’ in das Bedienungsmenü des Controllers (3ware-Bios-Manger, 3BM), so erhält man auch eine entsprechende Meldung zur Notwendigkeit des “Rebuilds”.

Bei einem “Rebuild” baut der Controller auf einer neu eingebauten Austausch-Platte ( oder auf der alten Platte, falls nur ein Kabeldefekt zum Ausfall führte ) die Spiegelinformationen von Grund auf neu auf – und zwar auf Basis der noch laufenden Platten des Arrays. Das gilt neben Raid 1 auch für Raid5 oder Raid10 – Systeme.

In einem produktiven Umfeld ist es fast unmöglich, sich nach dem Ausfall zuerst um die Ursachen des Plattendefekts im Detail zu kümmern. Ich persönlich nehme in einem solchen Fall lieber gleich eine Austauschplatte, checke und sichere (!) die Kabelverbindungen und untersuche erst im Nachhinein und in Ruhe, ob und welche Schäden die ausgefallene Platte aufweist. Dann kann man immer noch entscheiden, ob man die wieder einsetzen kann und will.

Also, falls kein “Hot-Swap” vorhanden: Rechner runterfahren, Platte austauschen und beim Booten erneut in das 3BM BIOS-Management-Systems des 3ware-Controllers gehen. An den Fehlermeldungen ändert sich durch den Plattenaustausch übrigens nichts. Dann das Rebuild-Verfahren durch Auswahl des Arrays (Pfeiltasten oder Tab-Taste und Enter im 3BM) und Bedienung der entsprechenden Menüpunkte (Button “Maintain Unit” -> “Rebuild”) einleiten. F8 drücken und dann das vorhandene (oder ein anderes; s.u.) Linux-System booten.

Der Rebuild-Vorgang findet nun im Hintergrund des laufenden
Betriebssystems und evtl. über mehrere Stunden hinweg statt.
Hierzu erhält man übrigens in den Hinweis-Texten des 3BM Menüs keine Information – der Prozess beeinträchtigt die Systemperformance u.U. in so geringem Maße, dass man davon fast nichts merkt. Das verwirrt Anfänger regelmäßig und man braucht tatsächlich Zusatztools, um etwas über den Status der Restaurierung zu erfahren.

Sicherungen nicht vergessen

Je nach Umgebung und verfügbaren Tools sollte man in die Reparaturarbeiten eine außerplanmäßige Sicherung einplanen. Ist auch die zweite Platte nicht mehr die jüngste, zählt evtl. jede Minute.

Ich habe aus diesem Grund immer zwei gespiegelte Raid-Systeme am Laufen. Auf beiden steht mir jeweils ein bootfähiges Linux-System zur Verfügung. Um die Schreibbelastung während der Restaurierung auf dem defekten Array so gering wie möglich zu halten, boote ich meist das System auf dem anderen Raid-Verbund und führe eine Sicherung der Partitionen des defekten Arrays durch, die ich der Reihe nach mounte. Sicherung und Restaurierung behindern sich gegenseitig – aber ohne Sicherung finde ich das Risiko nach einem Plattenausfall zu hoch.

Hat man nicht den Luxus eines Ersatz-Operativsystems, so meine ich, dass man noch während der Restaurierung mit der Sicherung unverzichtbarer Daten im laufenden System auf externe Medien beginnen sollte. Hierüber kann man sich aber vielleicht streiten.

Statusinformationen zu den 3ware Raid-Systemen im laufenden Betrieb

Spätestens im Fall der Restaurierung eines Raid-Arrays möchte man über den Stand des Rebuilds im laufenden Betrieb informiert werden.
Aber auch sonst liegt es ja nahe, unter Linux immer mal wieder Informationen zu den Raid-Arrays oder Platten anzufragen. (Bzgl. des “Smart”-Tools zur Überwachung des Zustands einzelner Platten an einem 3ware-Controller siehe einen früheren Blogbeitrag.)

Im laufenden Betrieb kann man mit folgenden Tools von 3ware einen Blick auf den Zustand des Raid-Systems werfen:

  • tw_cli (Command Line Interface)
  • 3DM2 (Daemon mit Java und Browser – Interface)

Beide Tools kann man sich von der 3ware-Website (www.3ware.com) herunterladen und problemlos nach dem Entpacken der Tar-Dateien installieren.

Im Fall von 3DM2 durchläuft man dabei eine Installationsroutine, die die notwendigen Dinge abfragt. Alle notwendigen Informationen zur Installation findet man auf den 3ware Dokumentations-Seiten. Die Tar-Verzeichnisse enthalten zudem umfängliche Info-Dateien im HTML-Format. 3DM2 installiert übrigens auch “tw_cli” mit. Die 3DM2- Installation landet standardmäßig im Verzeichnis “/opt/AMCC“.

Alle Einstellungen von 3DM2 kann man später auch über entsprechende Menüpunkte vornehmen oder verändern.

Zugriff auf 3DM2, Anfangspasswörter und Konfiguration für Benachrichtigungen

Den Zugriff auf die Oberfläche von 3DM2 erhält man bei Standardeinstellungen über einen Browser und die Adresse

https://localhost:888

– also über Port 888.

Hinweis: Die Anfangspasswörter für 3DM2 sind für User und Administrator “3ware”. Die 3DM2 Accounts haben übrigens nichts mit den normalen Linux-User-Accounts zu tun!

Ich habe mir 3DM2 so konfiguriert, dass ich per Mail über Probleme des 3ware-Controllers informiert werde. Dazu beantwortet man am besten schon die entsprechenden Fragen zum entsprechenden Mailserver und zum Mailaccount während der Installation. Später kann man das Benachrichtigungsverhalten unter dem Menüpunkt “3DM2-Settings” einstellen.

So ausgerüstet bekommt man den Ausfall einer Platte in einem Raid-Verbund im laufenden Betrieb automatisch mit.

Informationen
zu den 3ware-Raidsystemen mit tw_cli

Mit tw_cli kann man sich als root praktisch alle Statusinformationen zum Raidverbund anzeigen lassen und Maintenance-Maßnahmen einleiten.

Nach dem Starten von tw_cli landet man an einem eigenen Prompt. Dort lässt man sich zunächst mit “show” die Kurzbezeichnung “cX” des Controllers anzeigen und erhält anschließend mit

“/cX show”, in meinem Fall mit “/c6 show”

mehr Informationen. “X” steht dabei für die Nummer – in meinem Fall eine 6.

tw_cli

U.a. erhält man hier Informationen zum Status eines “Rebuild-Prozesses”.

Erste Informationen mit 3DM2

Unter 3DM2 sieht die Statusinformation wie folgt aus

3dm2

Hier habe ich die Seite “Management->Maintenance” aufgerufen. Man erkennt auch hier den aktuellen Stand eines “Rebuild-Prozesses”.

Für weitere Informationen und mögliche Kommandos zu beiden Tools sei auf die umfängliche Information verwiesen, die unter “/opt/AMCC/Documentation” mit installiert wird.

Plattenausfall im laufenden Betrieb

Das Vorgehen nach einem Plattenausfall im laufenden Betrieb ist übrigens das gleiche wie oben beschrieben: Hat man kein “Hot-Swap” so muss man das System ordentlich herunterfahren, Platte austauschen und den Rebuild nach dem erneuten Booten über 3BM oder die anderen Tools (3DM2 und tw_cli) starten.

Ksysguard, harddisks und diskstats

Gestern bekam ich von Michael die Frage, wie man denn unter Linux für die “kryptischen” Plattenbezeichnungen in Ksysguard die zugehörigen Partitionen herausfinden könne. Er hatte ein Performance-Problem und wollte sehen, auf welche Platte bzw. Partition das System besonders häufig schreibend zugreift.

Mit “kryptischen” Plattenbezeichnungen waren etwa nachfolgende Einträge im Sensor-Bereich von Ksysguard unter dem Punkt Festplattendurchsatz gemeint :

Ksysguard – Ausschnitt aus dem Sensor-Browser

Festplattendurchsatz

+ 2:0 + 7:0 … … + 7:7 + 8:0 + 8:1 … … + 8:28 + 11:0 + 11:1 (s. Abbdg.)

kys_600

Nun, hinter den Nummern verbergen sich die “major” und “minor” device numbers. Dieses Wissen allein hilft aber auch nicht direkt weiter. Wichtig war Michael ja die Zuordnung dieser Device-Nummern zu den Plattenpartitionen. Letzere sind dem Administrator natürlich besser geläufig.

Auf einem meiner Systeme gibt es z.B. 11 reguläre Linux-Partitionen (Ext3 und ReiserFS) und 3 NTFS-Partitionen in relativ harmonischer Eintracht. Auf die NTFS-Partitionen wird u.a. von VMware-Instanzen aus zugegriffen. Ist man auf einem solchen System an einer partitionsspezifischen Beobachtung des Plattendurchsatzes interessiert, muss man bei Ksysguard schon wissen, wohin genau man schauen sollte.

Zusatz-Informationen aus dem /proc-FS : /proc/diskstats

Woher bekomme ich nun also die Informationen zum Zusammenhang zwischen “device number” und Partition?

Antwort: Aus dem Kernel, oder besser dem /proc – File-System. Moderne Kernel schreiben nämlich statistische Werte für den Plattendurchsatz mit. (Solche Werte werden z.B. von “sar” ausgewertet.) Harddisk-relevante Informationen findet man unter “/proc/diskstats”.

Nachfolgend ein typischer Auszug des Ergebnisses von “cat diskstats” oder “cat /proc/diskstats”:

user@machine:/proc> cat diskstats
8 0 sda 354415 43112 7631712 3704336 269025 782582 8477712 65951972 0 2135876 69736240
8 1 sda1 784 799 0 0
8 2 sda2 4 8 0 0
8 5 sda5 84 520 0 0
8 6 sda6 515 4114 21 168
8 7 sda7 4225 101288 6085 48624
8 8 sda8 826 841 0 0
8 9 sda9 384 778 0 0
8 10 sda10 390174 7518090 1046963 8375680
8 16 sdb 98498 45267 3730694 1115992 194344 559016 6057920 8996952 0 1112700 10123120
8 17 sdb1 2111 2622 0 0
8 18 sdb2 4 8 0 0
8 21 sdb5 36929 293990 72507 580056
8 22 sdb6 384 778 0 0
8 23 sdb7 1078 1093 0 0
8 24 sdb8 436 780 9 16
8 25 sdb9 814 3450 3 16
8 26 sdb10 1877 2374 0 0
8 27 sdb11 95005 3414382 682211 5457664
8 28 sdb12 4309 5184 0 0

Und nun eine Beschreibung der Felder (die ich übrigens großteils dem ersten unten angegebenen Link entnommen habe):

Feld 1 — major device number
Feld 2 — minor device number
Feld 3 — device name (partition)
Feld 4 — # of reads issued
Feld 5 — # of reads merged,
Feld 6 — # of sectors read
Feld 7 — # of milliseconds spent reading
Feld 8 — # of writes completed
Feld 9 — # of writes merged
Feld 10 — # of sectors written
Feld 11 — # of milliseconds spent writing
Feld 12 — # of I/Os currently in progress
Feld 13 — # of milliseconds spent doing I/Os
Feld 14 — weighted # of milliseconds spent doing I/Os

Man sieht:
Hier ist eine Menge Information enthalten – im besonderen eben auch die Zuordnung der Device-Nummern zu den Partitionen.

Datenaufbereitung in Ksysguard

Das Schöne ist, dass Ksysguard einen Teil dieser Informationen in netter Weise aufbereitet. Im besonderen wird einem die Umrechnung in Bytes/s abgenommen. Man kann nun gezielt Ksysguard-Datenblätter für die Parttionen anlegen, die einen besonders interessieren (s. die Abbildung). Zusammenfassende Informationen liefert übrigens auch das Tool “gkrellm”.

Viel Spaß beim Analysieren des Plattenzugriffs !

gkrellm_1

Links

http://ubuntuforums.org/ showthread.php?t=31213
http://www.meinews.net/ festplattenbenutzung-t17640.html
http://utcc.utoronto.ca/ ~cks/space/blog/ linux/ DiskIOStats
http://en.opensuse.org/ Monitor_your_hard_disk_ activity_with_KSysGuard

Generell zum “procfs”:
http://en.wikipedia.org/wiki/Procfs