AES-XTS-PLAIN – Retest

Nach einer langen Zeit (über einem Jahr) war es mal wieder Zeit zu testen, wie es um die Performance meines NAS bzw dessen Verschlüsselung steht. Leider hat sich zu damals die Plattenconfiguration geändert, so dass man eigendlich die Performance nicht vergleichen kann. Jedoch war damals wie heute nicht der RAID-IO der limitierende Faktor sondern die Cipher-Performance. Wie damals kommt ein RAID5 als Storage-Basis zum Einsatzt. Diesmal nur 1GB statt 250GB Platten. Weiterhin werkelt ein 2.5GHz Intel Core2Duo samt 4GB Ram in dem Server.

Da auf dem Storage schon ein Haufen Daten liegen entfallen leider die Vergleichstest der anderen Cipher, da ein on-the-fly umschlüsseln nicht möglich ist und ich keine Lust hab 8 stunden zu warten um ein Full-Backup einzuspielen.

Nun zu den Testergebnissen von Bonnie++:

  • Write Char: 1,31 MB/s (aktuell) statt 65,85MB/s (alt)
  • Read Char: 2,46 MB/s (aktuell) statt 29,46MB/s (alt)
  • Write Block: 128,57 MB/s (aktuell) statt 133,81MB/s (alt)
  • Rewrite: 38,68 MB/s (aktuell) statt 33,14MB/s (alt)
  • Read Block: 72,18 MB/s (aktuell) statt 57,13 MB/s (alt)

Zusammenfassung: Wie gehabt können Daten scheinbar schnell entschlüsselt als verschlüsselt werden. Was auch auffällt, dass die ersten drei Testwerte sehr viel schlechter sind als beim ersten Test. Das schiebe ich mal auf das initialisierte XFS Filesystem. Das FileSystem ist zu 55% gefüllt. Daher kommt es beim Write zu einer Lückensuche, die damals bei einem frisch aufgesetzten Filesystem nicht nötig war. Bei BlockRead und Rewrite zeigt sich dann, dass es Verbesserung in der Performance der Algorithmen gab. Leider scheint die Parallelisierung des AES-Algoritmus noch nicht wirklich weit voran geschritten zu sein. Ein CPU-Kern langweilt sich immer noch vollständig…

3Ware/LSI 9560SE Activity Indication LEDs

Bei den 9560SE Reihe kann man (wie auch bei fast allen anderen RAID-Controllern) kann man sowohl LEDs als auch eine „Enclosure-Einheit“ anschließen. Werden zwei LED-Modi angeboten.

  1. HDD – Status – Indication: Fällt eine Platte aus ist es ganz praktisch, wenn der RAID-Controller anzeigt welche Platte man austauschen muss. So vermeidet man es, die falsche Platte zu ziehen. 
  2. HDD – Access – Einfaches blinken ob auf eine Platte zugriffen wird oder nicht. Dabei gibt es aber eine „SUM-LED“ in jedem Block von 4 HDD-LEDs (4+1)

Leider ist das Manual nicht wirklich aussagekräftig, was für diese Funktionalitäten vor rausgesetzt wird, oder welche Feinheiten es gibt.

  1. Status-Indication funktioniert nur mit angeschlossenem I2C-Enclosure. Schließt man LEDs direkt an den Controller an, dienen diese nur zur anzeige von Lese/Schreib-Zugriffe.
  2. Von allem vorhanden SUM-LEDs funktioniert immer nur die Höchstwertige. In Abhängigkeit wo die Platten (beim Boot) gesteckt sind, wird die LED ausgewählt. Anstatt die Aktivität in einem Block aus 4 HDDs anzuzeigen, wird der zugriff auf alle Festplatten angezeigt.

 

RAID-Access in Aktion

VDR und der automatische Sendersuchlauf

Nutzt man den VDR in Zusammenarbeit mit XBMC läuft man auf kleinere Probleme. Zum Beispiel nervt der automatische Spendersuchlauf ein wenig. Er kann sehr hilfreich sein, kann aber unnütz sein, wenn man z.b. die update-zeiten gering halten will.

Standartmäßig merkt sich VDR alle Kanäle die er über ein Update (tune in ein neues Band) mitbekommt. Das kann man abschalten. Dazu braucht es neben der channels.conf eine setup.conf. Dort trägt man den Parameter „UpdateChannels“ ein.

UpdateChannels = 0

Möglichkeiten:

  • 0 – Kein automatischer Sendersuchlauf
  • 1 Update der Kanal-Namen
  • 2 Update der PIDs
  • 3 Update von Kanal-Namen und PIDs
  • 4 Update von Kanal-Namen, PIDs und neu gefundenen Kanälen
  • 5 Update von Kanal-Namen, PIDs sowie neu gefundenen Kanälen und Transpondern (Standard)

Quelle: Benutzerhandbuch-VDR

Die wichtigesten mdadm Befehle im Überblick

cat /proc/mdstat #listet den aktuellen Status aller bekannten Raid-Devises

mdadm --detail --scan /dev/mdX #zeigt detailierte informationen eines Raid-Arrays
mdadm --examine /dev/sdX #scannt bei einem beliebigen device nach Raid-MetaInformationen
mdadm --assemble /dev/mdX /dev/sdX [/dev/sdY] ... [--force] #Startet ein Raid-Array --force auch wenn es degraded ist

mdadm --stop /dev/mdX #stop ein Raid-Array (wird benötigt um die Metadaten zu löschen!)

mdadm --manage /dev/mdX -a /dev/sdX #fügt eine neue Platte einem Array hinzu (Platte wird als spare genutzt)
mdadm --manage /dev/mdX -f /dev/sdX #markiert eine Platte als "fehlerhaft"
mdadm --manage /dev/mdX -r /dev/sdX #entfernt eine disk aus einem Array
mdadm --manage /dev/mdX -r detached #entfernt alle nicht mehr vorhandenen Disks aus einem Array raus.
mdadm --grow /dev/md/mdX --raid-devices n #nutze n-Platten für den raid (gibt Spares frei oder nutz Spares für den Raid)

mdadm --zero-superblock /dev/sdX #entfernt alle Metainformationen von einer Disk

Scriptes, Regex und die lang-Environment-Variable

Wer sich eigene bash-Scriptes schreibt und diese ab und an mit RegExes versieht wird irgendwann (freiwillig oder unfreiwilig) feststellen dass der output von manchen Programmen davon abhängt in welchem Kontext sie aufgerufen werden. Was blöd ist, da zb der cron-Daemon einen anderen Kontext hat, als der Systemadmin. Folge ein Skript funktioniert unter dem einem User aber unter dem anderen nicht… da hilft auch sudo nur bedingt.

mittels folgendem Befehl kann man in einem Skript die Umgebungssprache setzten:

LANG=en_US.utf8