Datenhaufen zu IT und Elektronik.

Schlagwort: Server

OpenPower Testsystem von Thomas Krenn mit der POWER8 CPU

Die netten Leute von Thomas Krenn haben uns ihr OpenPower Testsystem zur Verfügung gestellt \o/ Wir wollten dieses System schon etwas länger in die Finger bekommen. Jetzt hat es endlich geklappt!

Der Server verballert mit seinen zwei 1200 Watt Netzteilen in der Spitze etwas um 370Watt (im normalen Betrieb etwas um die 230Watt) und soll laut TK 1.325 BTU/h produzieren.

Verbaut sind 128GB RAM und natürlich eine Power8 CPU:

root@ubuntu:/home/tk# lscpu
Architecture:          ppc64le
Byte Order:            Little Endian
CPU(s):                64
On-line CPU(s) list:   0-63
Thread(s) per core:    8
Core(s) per socket:    8
Socket(s):             1
NUMA node(s):          1
Model:                 2.0 (pvr 004d 0200)
Model name:            POWER8 (raw), altivec supported
CPU max MHz:           3857.0000
CPU min MHz:           2061.0000
Hypervisor vendor:     horizontal
Virtualization type:   full
L1d cache:             64K
L1i cache:             32K
L2 cache:              512K
L3 cache:              8192K
NUMA node0 CPU(s):     0-63

OS ist ein Ubuntu:

root@ubuntu:/home/tk# lsb_release -a          
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.4 LTS
Release:	16.04
Codename:	xenial

Die im Testsystem mitgelieferten Festplatten (3,5″ Nearline SAS mit 7,2k) waren für unseren Datenbanktest etwas zu langsam, daher haben wir ein paar ältere 15k 2,5″ Platten aus unserem Lager verbaut und diese in ein Raid 10 geworfen. Damit ist das lokale Storage-Backend nun laut pg_test_fsync vergleichbar mit unseren anderen Testsystemen. Wir wollen ja sehen welche CPU "schneller" ist und nicht welche Festplatte am meisten "bremst".

So „einfach“ ist es nicht zu sagen welche CPU nun wirklich schneller ist als eine andere. Ich habe als erstes versucht ein paar alltägliche Dinge miteinander zu vergleichen:

 CPU SHA256-hashing 500 MB bzip2-compressing 500 MB AES-encrypting 500 MB 
 2 x Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz 3.859 seconds 5.445 seconds 1.337 seconds
 1 x Power8 2.0 (pvr 004d 0200) 3.803 seconds 7.868 seconds 0.866 seconds
 1 x Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz 2.370 seconds 4.207 seconds 0.831 seconds
 2 x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 2.652 seconds 5.413 seconds 1.585 seconds
 2 x Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 2.484 seconds 5.217 seconds 1.500 seconds

Als nächstes habe ich unixbench.sh laufen lassen:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh
chmod +x unixbench.sh
./unixbench.sh

Hier sollte nun das OpenPower System einmal gegen einen Dell System mit zwei verbauten Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz antreten. Natürlich sind hier nur die Infos zu CPU/RAM spannend!

 2 x Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz    Power8 
 Dhrystone 2 using register variables  34551077.1 lps  (10.0 s, 7 samples)   27167563.6 lps  (10.0 s, 7 samples)
 Double-Precision Whetstone  4082.2 MWIPS  (9.9 s, 7 samples)   4092.2 MWIPS  (9.7 s, 7 samples)
 Execl Throughput  2124.0 lps  (30.0 s, 2 samples)   2776.0 lps  (29.9 s, 2 samples)
 File Copy 1024 bufsize 2000 maxblocks  1087796.7 KBps  (30.0 s, 2 samples)   299978.8 KBps  (30.0 s, 2 samples)
 File Copy 256 bufsize 500 maxblocks  299275.0 KBps  (30.0 s, 2 samples)   75847.4 KBps  (30.0 s, 2 samples)
 File Copy 4096 bufsize 8000 maxblocks  3350511.2 KBps  (30.0 s, 2 samples)   1079708.7 KBps  (30.0 s, 2 samples)
 Pipe Throughput  2067851.3 lps  (10.0 s, 7 samples)   465883.7 lps  (10.0 s, 7 samples)
 Pipe-based Context Switching  215476.9 lps  (10.0 s, 7 samples)   132003.3 lps  (10.0 s, 7 samples)
 Process Creation  4278.0 lps  (30.0 s, 2 samples)   7390.5 lps  (30.0 s, 2 samples)
 Shell Scripts (1 concurrent)  5542.8 lpm  (60.0 s, 2 samples)   7085.1 lpm  (60.0 s, 2 samples)
 Shell Scripts (8 concurrent)  6090.1 lpm  (60.0 s, 2 samples)   4356.5 lpm  (60.0 s, 2 samples)
 System Call Overhead  4186839.6 lps  (10.0 s, 7 samples)   344156.5 lps  (10.0 s, 7 samples)
      
 System Benchmarks Index Values  BASELINE  RESULT  INDEX  RESULT  INDEX
 Dhrystone 2 using register variables  116700.0  34551077.1  2960.7  27167563.6  2328.0
 Double-Precision Whetstone  55.0  4082.2  742.2  4092.2  744.0
 Execl Throughput  43.0  2124.0  494.0  2776.0  645.6
 File Copy 1024 bufsize 2000 maxblocks  3960.0  1087796.7  2747.0  299978.8  757.5
 File Copy 256 bufsize 500 maxblocks  1655.0  299275.0  1808.3  75847.4  458.3
 File Copy 4096 bufsize 8000 maxblocks  5800.0  3350511.2  5776.7  1079708.7  1861.6
 Pipe Throughput  12440.0  2067851.3  1662.3  465883.7  374.5
 Pipe-based Context Switching  4000.0  215476.9  538.7  132003.3  330.0
 Process Creation  126.0  4278.0  339.5  7390.5  586.5
 Shell Scripts (1 concurrent)  42.4  5542.8  1307.3  7085.1  1671.0
 Shell Scripts (8 concurrent)  6.0  6090.1  10150.2  4356.5  7260.8
 System Call Overhead 15000.0 4186839.6  2791.2  344156.5  229.4
      
 System Benchmarks Index Score   1629.6   851.8

Die hohe Anzahl Threads und die fette Speicheranbindung der CPU sind ein paar Besonderheiten, welche dieses System theoretisch sehr gut brauchbar als Datenbankserver machen sollten. Wir arbeiten viel mit PostgresSQL, daher war einer unserer Tests ein Restore unserer Testdatenbank.

 CPU Restore Zeit
 2 x Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 129min 34s
 1 x Power8 2.0 (pvr 004d 0200) 120min 43s

Bisher zeigt sich folgendes Bild: Die Power8 CPU ist ohne Zweifel sehr leistungsstark. Die „bessere“ Speicheranbindung und die vielen Threads bemerkt man. Das OpenPower System von Thomas Krenn gibt es nur mit einem CPU Socket, also ist es immer eine singel CPU. Im direkten Vergleich mit einer Intel single CPU macht das Power8 System bei Datenbanken sicher den Stich. Da es preislich viel eher an einem dual Intel CPU System angesiedelt ist, muss es sich damit vergleichen lassen, selbst wenn es nicht ganz fair ist. Hier hat im direkten Vergleich ein solches Intel System die Nase vorne.

IBM hat im Jahr 2013 ihre Power8 CPU vorgestellt. Jetzt haben wir 2018…. Daher sind die Vergleichssysteme ebenfalls etwas älter. Unterm Strick: Echt tolle CPU, leider im Preis/Leistungsvergleich (für einen Datenbankserver) gegenüber eines Intel-Systems, der Verlierer! Was sicher im HPC oder bei Anbindungen von Nvidia Rechenbeschleunigern anders aussieht. Dual CPU Systeme wären spannend, besser noch direkt Power9 Systeme (mit AES und GZIP im Chip). Da IBM von diesen CPUs im Vergleich mit Intel nur sehr geringe Stückzahlen verkauft ist der Preis hoch. Vielleicht passiert hier ja noch mal irgendwann etwas?!?!

Wir haben hier noch ein paar Tests mehr gemacht und wir werden in den nächsten Tagen noch ein paar Experimente mit dem System vornehmen. Wenn sich also am ersten Eindruck noch etwas ändert schreibe ich es.

Hier habe ich noch ein paar Bilder..

Fragen? Na dann wie immer einfach fragen 🙂

Windows Server Backup mit Nagios überwachen

Möchte man die Windows Server Sicherung seines Microsoft Windows Server 2008 oder jünger per Nagios überwachen gibt es viele Wege….
Ich habe einen sehr einfachen gesucht und leider konnte Google mir auf Anhieb keinen nennen.
Auf den zu überwachenden Systemen ist jeweils eine voll (Bare Metal) Sicherung eingerichtet. Diese startet 1 bis x mal am Tag. Ist man auf dem Server angemeldet kann man einfach in der Management Console in die Windows Server-Sicherung schauen und den Zustand der letzten Sicherungen sehen. Natürlich auch ob gerade eine Sicherung läuft, wohin gesichert wird, wie viele Kopien vorhanden sind usw. usw…

Alles Dinge die mich erst einmal nicht interessieren. Der für mich spannende Punkt ist, wann war die letzte erfolgreiche Sicherung und ist diese älter als drei Tage? Warum, weshalb, wo, wie, was… Ist mir im ersten Schritt egal. Ich möchte nur informiert sein, wenn es keine aktuelle Datensicherung gibt.
Nun bin ich eher in der Unixwelt zuhause aber die Windows PowerShell sollte da doch was können, richtig?
Wie ich gesehen habe gibt es ein Snapin für das Windows ServerBackup. Wenn ich dieses hinzufüge kann ich über Get-WBSummary mir eine Art Zusammenfassung anschauen.
In dieser finde ich unter dem Punkt LastSuccessfulBackupTime das Datum der letzten erfolgreichen Sicherung. In meinem Fall also jeweils das Datum meiner letzten Vollsicherung. Daraus kann man doch sicher was basteln, oder?
Ich habe mir also ein kleines Script zusammengeworfen welches folgendes tut:
Es greift sich die Information über die letzte erfolgreiche Sicherung ab und vergleicht sie mit dem aktuellen Datum. Ist es gleich, war die letzte Sicherung heute und alles ist gut. Ist es von gestern, ist auch noch alles gut und Nagios bekommt ein OK zurück. Wenn es aber älter ist (2 – 3 Tage) gibt es eine Warnung an Nagios zurück und wenn es älter ist als 3 Tage gibt es die Meldung critical an Nagios weiter. Nagios kümmert sich dann wie gewohnt darum mich passend zu informieren.
Aktuell greift das Script keinerlei Exeptions ab und es ist nicht… sagen wir mal schön 😀 Ich werde es, je nach Zeit, immer mal etwas erweitern. Seine eigentliche Aufgabe erfüllt es denn noch jetzt schon!

Download:
>>Das Script kann hier in der letzten Version heruntergeladen werden<<

Damit einem nicht schon beim ersten Start des Scriptes die folgende Fehlermeldung anspringt:

Das Windows PowerShell-Snap-In „Windows.ServerBackup“ ist auf diesem Computer nicht installiert.

Muss über den Server-Manager ein weiteres Feature hinzugefügt werden. Hier sind unter Windows Server-Sicherungsfeatures noch die Befehlszeilentools zu installieren. Zusätzlich muss die Policy so geändert werden, dass dieses Script auch ausgeführt werden darf. Dazu einfach in die PowerShell folgendes eingeben:

# Set-ExecutionPolicy RemoteSigned

Ich lege das Script nun im Root des primären Filsystems in den Ordner c:\scripte\
Nun kann ich im NSClient++ die Sektion NRPE Handlers erstellen und dort ein Kommando für den Aufruf des Scriptes erstellen. Möchte man über den NSClient++ Windows PowerShell Scripte ausführen, schaut der Aufruf beim ersten hinschauen etwas seltsam aus:

[NRPE Handlers]
command[check_windowsbackup]=cmd /c echo C:\scripte\backuptest.ps1 | powershell.exe -command -

Natürlich muss der NSClient++ so konfiguriert sein, dass er auch als NRPE arbeitet:

[modules]
NRPEListener.dll
NRPEClient.dll
.....

[NRPE]
port=5666
command_timeout=120
allowed_hosts=1.2.3.4
socket_timeout=120
....

Nach einem Neustart des Clientdienstes sollte man nun auch schon vom Nagiossystem aus einen Test starten können:

$ check_nrpe -H 4.3.2.1 -p 5666 -t 120 -c check_windowsbackup
OK: Backup von gestern

Die restliche Einrichtung in Nagios sollte bekannt sein, sonst fragen 🙂


* UPDATE *

Die Version 0.2 fängt nun zusätzlich den Fehler ab, wenn die Befehlzeilentools nicht installiert sind. Ich dachte erst wäre nicht so wichtig… Aber nachdem ich es auf 10 Systeme gepackt hatte und immer nachgeschat habe 😛 Nun greift es dieses also ebenfals ab und gibt eine CRITICAL Meldung an Nagios weiter!


* UPDATE *

Die Version 0.3 fängt nun auch ab ob eine Sicherung über einen Tageswechsel hin noch läuft.

© 2024 -=Kernel-Error=-

Theme von Anders NorénHoch ↑