Archiv der Kategorie: Software

Jeder mag fancy Dashboards…

Wer wie ich schon lange auf der Suche nach einer Möglichkeit ist, um Zeitreihen möglichst einfach, schnell und vorallem schön darstellen zu können, der sollte sich unbedingt mal Grafana, bzw. die Kombination aus InfluxDB und Grafana näher anschauen. Mithilfe der offiziellen Docker-Images erstellt man sich innert Minuten seine eigene, lauffähige Umgebung. Wurde die InfluxDB mit ersten Daten gefüttert, steht dem ersten Dashboard schon nichts mehr im Wege.

Hier nun meine ersten beiden Dashboards:

Smappee Dashboard (V3)

Wetter Dashboard


Schick, oder? 😉

IPSec-Throughput: ZBOX CI323 nano

Aufgrund des unbefriedigenden IPSec-Throughputs der APU2-Boards, suchte ich nach einer preisgünstigen Alternative welche mind. 100Mbps packt. Diese wurde mit der ZBOX CI323 nano gefunden. Unter Laborbedingungen konnten 110Mbps gemessen werden. Wie schaut es aber unter Praxisbedingungen, bzw. installiert an meinem Backupstandort aus?

ZBOX CI323 nano

  • Internetanbindung: Kabelinternet 150/10Mbps
  • Betriebssystem: pfSense 2.3.1_1
  • IPSec: IKEv2, AES256, SHA256
  • CPU-Type:
Intel(R) Celeron(R) CPU N3150 @ 1.60GHz
4 CPUs: 1 package(s) x 4 core(s)
  • Crypto-Support OpenVPN:
[2.3.1-RELEASE][admin@talweg18-router]/root: /usr/bin/openssl engine
(cryptodev) BSD cryptodev engine
(rsax) RSAX engine support
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
  • Hardware crypto:
AES-CBC,AES-XTS,AES-GCM,AES-ICM
  • IPerf-Messungen:

Wie man an der folgenden Messung sieht, hat die Latenz einen entscheidenden Einfluss auf den maximal möglichen Durchsatz einer Verbindung:

struband@struband-monitoring:~$ iperf3 -c talweg18-router -i 1 -V
iperf 3.0.7
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 28.0 MBytes 23.5 Mbits/sec 30 sender
[ 4] 0.00-10.00 sec 27.3 MBytes 22.9 Mbits/sec receiver
CPU Utilization: local/sender 0.5% (0.1%u/0.4%s), remote/receiver 0.5% (0.0%u/0.4%s)

Eine Messung der gleichen Verbindung mit 8 Streams:

struband@struband-monitoring:~$ iperf3 -c talweg18-router -i 1 -V -P 8
iperf 3.0.7
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth Retr
[SUM] 0.00-10.00 sec 110 MBytes 92.4 Mbits/sec 234 sender
[SUM] 0.00-10.00 sec 108 MBytes 90.5 Mbits/sec receiver
CPU Utilization: local/sender 1.6% (0.3%u/1.3%s), remote/receiver 18.0% (0.5%u/17.5%s)

In der Praxis sind mit der ZBOX CI323 nano somit ~90Mbps (>10MBps) erzielbar -ein für mich akzeptabler Wert.

IPSec-Throughput: APU1D vs APU2C

Nach dem Upgrade meiner Internetanbindung stach mir als Erstes sofort der eher bescheidene, maximale IPSec-Durchsatz der APU1-Boards ins Auge. Dies war aufgrund der fehlenden AES-Einheit eigentlich auch nicht anders zu erwarten. Um nun diesen Flaschenhals beseitigen zu können, beschloss ich kurzerhand die Anschaffung eines APU2-Boards. Mit einer, gegenüber einem APU1-Board, nun hardwarebeschleunigten AES-Verschlüsselung und erst noch doppelt so vielen (4 Stk.) CPU-Kernen sollte der IPSec-Durchsatz doch deutlich zu steigern sein, oder etwa nicht?

Erste Messungen waren leider ziemlich ernüchternd, der Durchsatz steigerte sich lediglich um ca. 10Mbps. Über die Gründe tappe ich aktuell noch im Dunkeln. Unter Umständen liegt hier aber auch nur ein klassisches Layer-8 Problem vor. Ich bleib jedenfalls am Ball.

APU1D2

  • Betriebssystem: pfSense 2.2.6
  • IPSec: IKEv2, AES256, SHA256
  • Crypto-Support:
(cryptodev) BSD cryptodev engine
 [RSA, DSA, DH]
     [ available ]
(rsax) RSAX engine support
 [RSA]
     [ available ]
(dynamic) Dynamic engine loading support
     [ unavailable ]
  • IPerf-Messungen:
root@STRUBAND-E7450:~# iperf3 -c monitoring -i 1 -R                 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  42.7 MBytes  35.8 Mbits/sec   51          sender
[  4]   0.00-10.00  sec  42.7 MBytes  35.8 Mbits/sec               receiver

APU2C4

  • Betriebssystem: pfSense 2.2.6
  • IPSec: IKEv2, AES256, SHA256
  • Crypto-Support:
(cryptodev) BSD cryptodev engine
 [RSA, DSA, DH, AES-128-CBC, AES-192-CBC, AES-256-CBC]
     [ available ]
(rsax) RSAX engine support
 [RSA]
     [ available ]
(dynamic) Dynamic engine loading support
     [ unavailable ]

IPerf-Messungen:

root@STRUBAND-E7450:~# iperf3 -c monitoring -i 1 -R              
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  54.2 MBytes  45.4 Mbits/sec   25          sender
[  4]   0.00-10.00  sec  51.3 MBytes  43.0 Mbits/sec               receiver

ESXi 6.0 GPU Passthrough

Angespornt durch diesen Artikel und wie bereits hier angetönt, wollte ich auf meinem neuen Server eine AMD R9 285 Grafikkarte per PCI-Passthrough in eine Workstation VM durchreichen. Anders als im Artikel, sollte bei mir jedoch ESXi 6.0 auf dem neusten Patchlevel 2715440 zum Einsatz kommen. Soweit schien alles klar und ich war auch optimistisch, dass dieses Vorhaben so machbar ist. Wie ihr vielleicht schon anhand der von mir gewählten Zeitform erahnt, klappte es nicht ganz so wie gewünscht, zuerst aber mal der Reihe nach.

Vorbereitungen

Als Erstes sei jedem sicher mal der oben bereits erwähnte Artikel ans Herz gelegt. Zusätzlich waren bei meinem Supermicro Board noch BIOS Einstellungen zu tätigen. Und zwar musste die AMD Grafikkarte priorisiert werden, da sonst das PCI-Passthrough nicht funktionieren wollte. Zudem sei noch der Download einer Windows 10 Insider Preview ISO angeraten.

VM einrichten

Grundsätzlich kann gleich vorgegangen werden wie im Artikel beschrieben:

  • VM erstellen, PCI Geräte noch nicht hinzufügen
  • BIOS der VM auf EFI umstellen
  • VM starten
  • Betriebssystem installieren
  • VMWare-Tools installieren
  • VM herunterfahren
  • PCI-Geräte hinzufügen
  • ESXi-Host neu starten
  • VM starten
  • Grafikkarten Treiber installieren

Der Punkt 5 des Artikels ist bei ESXi 6 nicht mehr vonnöten, ESXi scheint das „PCI hole“ nun selbstständig zu setzen:

2015-06-21T18:54:22.550Z| vmx| I120: Automatically adjusting PCI hole to 1976 MB for passthrough RMRR

Beim Betriebssystem sei auch noch angemerkt, dass es mit meiner HW-Konfiguration leider nur mit Windows 10 klappen wollte.

Hat man die Schritte soweit abgearbeitet, sollte man anschliessend auf dem Bildschirm vom Anmeldebildschirm begrüsst werden:

Der Gerätemanager zeigt, dass alles ordnungsgemäss installiert wurde:

Vom Handling her fühlt sich das System wie eine Baremetal-Installation an. Auch Tests mit diversen Games zeigten keine Performanceprobleme. Das alles klingt jetzt natürlich zu schön um wahr zu sein. So ist es leider auch, denn dieses Setup weist ein paar gravierende Nachteile auf:

  • Der Start funktioniert nur ordnungsgemäss nach einem ESXi-Host Neustart. Das heisst, dass die VM selber nicht heruntergefahren, anschliessend wieder gestartet, oder einfach nur neu gestartet werden kann.
  • Auch funktioniert ein Standbybetrieb oder auch einfach nur ein Bildschirm ausschalten durch Windows nicht.
  • Auch kann man mit dem Monitor nicht zu einer anderen Bildquelle springen und anschliessend wieder zurück.

All diese Punkte ausser einem sauberen ESXi-Neustart führen ins Nirwana und die VM muss anschliessend hart ausgeschaltet werden. Somit ist diese Lösung nicht praxistauglich. Ich werde nun in den nächsten Tagen auf eine Windows 2012 R2 Baremetal-Installation mit Hyper-V Rolle umstellen. Diese Baremetal Windows-Installation wird Desktop-tauglich konfiguriert und mir anschliessend auch als Workstation dienen.