check_smartvalues Release … YEAH!!!

Endlich bin ich dazu gekommen, den schon im Post vom letzten Sommer angekündigten Check für S.M.A.R.T. -Werte zu veröffentlichen.
Ich hatte es ja schon angedroht, nun mache ich es wahr. 😉
Wir haben diesen Check nun schon ein gutes Jahr im Betrieb und er liefert seine Daten von daher kann ich ihn nur wärmstens empfehlen.
Bilder gibt es dieses Mal auch zu sehen, lasst sie am besten einfach mal auf euch wirken.
Wenn der Eine oder Andere von euch noch weitere tolle Ideen/Vorschläge hat, dann lasst es uns wissen. Wir lieben Monitoring, von daher stehen die Chancen recht gut, dass wir noch mehr umsetzen wollen.
Ich schrieb ja auch schon, dass die freundlichen Kollegen der Thomas Krenn AG auch ein Plugin für das Ermitteln der S.M.A.R.T. -Werte gebaut haben, dieses erfüllt im Wesentlichen auch die gleichen Aufgaben. Ich wollte das Ganze aber doch noch ein wenig toppen.
Hier ein paar Beispiele wie es aufzurufen ist:

# cd /path/to/check/smartvalues
# ./check_smartvalues -db check_smartvalues.db.json -c check_smartvalues.db.json -s -d 'megaraid,22 /dev/sda'
OK: [ 22 OK ] - [ 0 WARNING ] - [ 0 CRITICAL ] - [ 0 UNKNOWN ] in 0.163578987121582ms ( for details pls take a look in longoutput )
OK: on LSI MegaRAID - [ DeviceID 22 ] - #5 - Reallocated_Sector_Ct is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #9 - Power_On_Hours is [ 100 ] - [ w: 200, c: 300 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #12 - Power_Cycle_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #170 - Available_Reserved_Space is [ 100 / 010 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #171 - Program_Fail_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #172 - Erase_Fail_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #174 - Unexpected_Power_Loss is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #183 - Runtime_Bad_Block is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #184 - End-to-End_Error is [ 100 / 090 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #187 - Reported_Uncorrect is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #190 - Airflow_Temperature_Cel is [ 31 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #192 - Power-Off_Retract_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #199 - UDMA_CRC_Error_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #225 - Host_Writes is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #226 - Timed_Workload_Media_Wear is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #227 - Timed_Workload_Host_Read/Write _Ratio is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #228 - Power-off_Retract_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #232 - Available_Reservd_Space is [ 100 / 010 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #233 - Media_Wearout_Indicator is [ 043 ] - [ w: 35, c: 25 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #241 - Total_LBAs_Written is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #242 - Total_LBAs_Read is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #249 - Total_NAND_Writes is [ 100 ]

oder mit mehr als nur einer Platte …

# ./check_smartvalues -db check_smartvalues.db.json -c check_smartvalues.db.json -s -d 'megaraid,22 /dev/sda' -d 'megaraid,21 /dev/sda'
OK: [ 44 OK ] - [ 0 WARNING ] - [ 0 CRITICAL ] - [ 0 UNKNOWN ] in 0.18438987121582ms ( for details pls take a look in longoutput )
OK: on LSI MegaRAID - [ DeviceID 22 ] - #5 - Reallocated_Sector_Ct is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #9 - Power_On_Hours is [ 100 ] - [ w: 200, c: 300 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #12 - Power_Cycle_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #170 - Available_Reserved_Space is [ 100 / 010 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #171 - Program_Fail_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #172 - Erase_Fail_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #174 - Unexpected_Power_Loss is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #183 - Runtime_Bad_Block is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #184 - End-to-End_Error is [ 100 / 090 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #187 - Reported_Uncorrect is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #190 - Airflow_Temperature_Cel is [ 31 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #192 - Power-Off_Retract_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #199 - UDMA_CRC_Error_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #225 - Host_Writes is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #226 - Timed_Workload_Media_Wear is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #227 - Timed_Workload_Host_Read/Write _Ratio is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #228 - Power-off_Retract_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #232 - Available_Reservd_Space is [ 100 / 010 ]
OK: on LSI MegaRAID - [ DeviceID 22 ] - #233 - Media_Wearout_Indicator is [ 043 ] - [ w: 35, c: 25 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #241 - Total_LBAs_Written is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #242 - Total_LBAs_Read is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #249 - Total_NAND_Writes is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #5 - Reallocated_Sector_Ct is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #9 - Power_On_Hours is [ 100 ] - [ w: 200, c: 300 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #12 - Power_Cycle_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #170 - Available_Reserved_Space is [ 100 / 010 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #171 - Program_Fail_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #172 - Erase_Fail_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #174 - Unexpected_Power_Loss is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #183 - Runtime_Bad_Block is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #184 - End-to-End_Error is [ 100 / 090 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #187 - Reported_Uncorrect is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #190 - Airflow_Temperature_Cel is [ 32 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #192 - Power-Off_Retract_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #199 - UDMA_CRC_Error_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #225 - Host_Writes is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #226 - Timed_Workload_Media_Wear is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #227 - Timed_Workload_Host_Read/Write _Ratio is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #228 - Power-off_Retract_Count is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #232 - Available_Reservd_Space is [ 100 / 010 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #233 - Media_Wearout_Indicator is [ 041 ] - [ w: 35, c: 25 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #241 - Total_LBAs_Written is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #242 - Total_LBAs_Read is [ 100 ]
OK: on LSI MegaRAID - [ DeviceID 21 ] - #249 - Total_NAND_Writes is [ 100 ]

und hier das Ergebnis im neuen Icinga Web 2 …
sdd22-smart-values
 
Nützliche Links:

OSDC 2014: Der Countdown läuft – nur noch 71 Tage

Philipp Reisner gibt uns heute einen Überblick über die neusten News bei DRBD9.

OSDC? Noch nie gehört…
Das ist aber schade und fast schon ein unentschuldbares Versäumnis!
Aber wir holen das nach:
Die Open Source Data Center Conference (kurz OSDC) ist unsere internationale Konferenz zum Thema Open Source Software in Rechenzentren und großen IT-Umgebungen. 2014 findet sie zum sechsten Mal statt und bietet mit dem Schwerpunktthema Agile Infrastructures ganz besonders erfahrenen Administratoren und Architekten ein Forum zum Austausch und die Gelegenheit zur Aneignung des aktuellsten Know-Hows für die tägliche Praxis. Diesmal treffen wir uns dafür in Berlin!
Workshops am Vortag der Konferenz und das im Anschluss an die Veranstaltung stattfindende Puppet Camp komplettieren dabei das Rundum-sorglos-Paket für Teilnehmer, die gar nicht genug Wissen in sich aufsaugen können.

DRBD 9 – NEW Features

drbd_logo_smallDRBD 9 wird eigentlich ja mit zwei neuen Features assoziiert – mehr als zwei Knoten in einer Ebene (ohne Stacking), und “auto-promote” (“Primary”-Rolle beim Öffnen, wenn sonst kein Knoten darauf arbeitet). Diese Kombination eröffnet nun eine große Menge an neuen Anwendungsgebieten – die so vorneweg einmal gar nicht so offensichtlich sind.
Beispiel 1: Rebalancing
Wenn man einen bestehenden Storage-Cluster mit z.B. 3 Knoten hat, diese alle Daten 3-fach halten, und der Platz eng wird, kann man 3 neue Maschinen anschaffen. Oder: es wird nur ein Knoten hinzugefügt; bei bestehenden DRBD-Resourcen wird die Redundanz kurzfristig erhöht, um die Daten auf dem neuen Knoten ebenfalls zu erhalten, dann kann die Datenhaltung wieder auf 3-fach reduziert werden – mit dem Ergebnis, dass auf den “alten” Knoten Platz freigeworden ist, in dem man neue DRBD-Resourcen anlegen kann.
Also anstatt von N auf 2*N aufrüsten zu müssen, reicht einmal N+1. Und wenn im Zuge mehrerer Upgrades dann doch einmal 2*N Knoten herumstehen, können die Resourcen (falls notwendig) im Betrieb so verschoben werden, dass sich zwei unabhängige Cluster mit jeweils N Knoten ergeben – und das Upgrade-Spiel kann von neuem beginnen.
Beispiel 2: DRBD Client
Bei DRBD 8 war ja der Ausfall des Storage am Primary-Knoten schon ein erlaubter Zustand – alle IO-Operationen wurden dann eben nur noch über den Secondary durchgeführt. Diese Funktion kann mit DRBD 9 nun per Design verwendet werden: ein Rechner, der auf DRBD-Resourcen zugreift, ohne selber lokales Storage dafür zu verwenden, ist ein DRBD Client.
Die Palette an Anwendungen dafür ist enorm:

  • Ein Cluster kann einfach um weitere Knoten erweitert werden, ohne notwendigerweise die Redundanz (und damit den Platzverbrauch) zu erhöhen. Alle Maschinen können auf dieselben Daten zugreifen, unabhängig davon, ob die Daten lokal liegen oder “nur” über andere Knoten zur Verfügung gestellt werden.
  • Ein paar Storage-Knoten im Hintergrund, die Frontend-Maschinen die Daten für VMs liefern. Die Vorteile dabei sind: auf den Storage-Knoten ist nur DRBD notwendig, kein Cluster-Manager, kein iSCSI, etc.; und, durch das seit 8.4.1 verfügbare read-balancing kann die IO-Last auf den Storages einfach aufgeteilt werden.
  • Für Zwecke der Konfigurationsverwaltung kann es sinnvoll sein, das komplette /etc in einem VCS aufzubewahren [siehe z.B. etckeeper, fsvs, git-home-history, etc.]. Wenn das Repository dabei über Automounter über alle Rechner des Clusters “geteilt” werden kann, ist Integration/Nachverfolgen/Fehlersuche wesentlich komfortabler.

Weitere Ideen? Bitte diese bei LINBIT bspw. im Kontaktformular einbringen, damit wir diese in unserer zukünftigen “DRBD 9 Features”-Reihe anfügen können.
Wer mehr zur DRBD erfahren möchte, dem sei der DRBD-Workshop im Rahmen der kommenden OSDC ans Herz gelegt.