Nach gut einem Monat des Suchens, bin ich endlich fündig geworden. Auf ebay Kleinanzeigen habe ich dann ein Angebot von 160€ für zwei sehr gut erhaltene 3TB WD Red Festplatten gefunden. Ich konnte dann auf 150€ runterhandeln und mir die HDD’s sichern. Somit habe ich nun alle Festplatten zusammen und kann endlich das System hardwaretechnisch vervollständigen. Insgesamt komme ich dann für die Festplatten auf 200€ ohne Versandkosten. Ich persönlich bin zufrieden mit dem Preis und kann mich nun voll und ganz auf die Konfiguration des Systems konzentrieren. Wurde auch Zeit.

Allerdings musste ich mir nochmal Gedanken machen bezüglich der Virtualisierung und hab deshalb etwas rumexperimentieren. Leider kann ich den Microserver nicht für die Masse an Virtualisierung benutzen, wie ich es mir so schön ausgemalt hatte. Dafür reicht einfach die vorhandene CPU Power nicht aus… hätte man auch vorab bemerken können, wenn man richtig darüber nachgedacht hätte. Das ist aber erstmal nicht unglaublich schlimm, da ich auf die Virtualisierung nicht angewiesen bin. Daraus resultierend KVM wieder vom Server schmeißen und gut ist.

Genug gelabert und um den heißen Brei geredet. Immerhin geht es hier um die Einrichtung des RAID1-Verbundes für die beiden WD Red 3TB HDD’s und um die angepasste Konfiguration für die Unterstützung von Wake on Lan (WoL) auf der Kiste. Fangen wir doch gleich mal an mit dem RAID1.

 

RAID1-Verbund einrichten

Man kann sich zuerst mal alle Block Devices, in meinem Fall die HDD’s, mit lsblk anzeigen lassen. Kurz prüfen ob unsere vier Festplatten angezeigt werden und auch von der Speicherkapazität übereinstimmen.

lsblk
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 930,5G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7,8G 0 lvm [SWAP]
└─centos-home 253:2 0 872,8G 0 lvm /home
sdb 8:16 0 931,5G 0 disk
sdc 8:32 0 2,7T 0 disk
sdd 8:48 0 2,7T 0 disk

 

Als nächstes benötigt man das Tool mdadm um ein RAID1-Verbund konfigurieren zu können. Dies befindet sich standardmäßig auf allen Linux Systemen bereits vorinstalliert.

Um ein RAID1 mit meinen beiden 3 TB Festplatten bauen zu können, benötige ich folgenden Befehl.

mdadm –create –verbose /dev/md0 –level=1 –raid-devices=2 /dev/sdc /dev/sdd

 

Um es kurz zu halten definiere ich mit /dev/md0 mein RAID Array, danach gebe ich das RAID Level an –level=1, welche Summe an Festplatten verwendet werden möchten –raid-devices=2 und zu guter Schluss mit /dev/sdc /dev/sdd welche Festplatten benutzt werden sollen.

 

Das Einrichten des Verbundes ist schnell abgeschlossen. Das eigentliche Prozedere findet im Hintergrund statt. Das Tool richtet nun die Spiegelung der beiden HDD’s ein und das kann wirklich sehr lange dauern. Abfragen kann man den Synchronisationsstand mit folgendem Befehl.

cat /proc/mdstat

 

Das liegt jetzt nicht daran, dass meine Hardware schlecht ist, sondern das ist meistens ganz normales Verhalten und ein relativ bekanntes „Problem“, wenn man nur fünf mInuten googelt. Also locker bleiben und Workarrounds schaffen. In meinem Fall hätte es ganze 34h gedauert, wenn ich nicht nachgeholfen hätte… Und zwar passt man die minimale Geschwindigkeit des RAID Speeds auf beispielsweise 50000 statt 5000 an. Das sollte dann ein paar Stunden einsparen.

echo 50000 > /proc/sys/dev/raid/speed_limit_min

 

Man sollte es nicht übertreiben mit der Angabe. Außerdem sollte man die CPU-Auslastung mit top kontrollieren und gegebenenfalls wieder runterstufen. Nicht das man sich die CPU noch schrottet, wenn diese dauerhaft auf Anschlag rennt.

Nichtsdestotrotz (ja wird tatsächlich zusammengeschrieben, mich hat es auch gewundert…) kann auch während der Spiegelung an dem RAID1-Verbund weiter konfiguriert und als nächstes das benötigte EXT4 Filesystem für das Array erstellt werden.

mkfs.ext4 -F /dev/md0

 

Danach wird ein neuer Mountpoint erstellt und das…

mkdir -p /raid1

… Filesystem an diesen gebunden.

mount /dev/md0 /raid1

 

Natürlich kann hier nach belieben ein anderer Mountpoint definiert werden, beispielweise wird oft /mnt/md0 anstatt mein /raid1 genommen.

Somit ist das Filesystem gemounted und erreichbar. Allerdings sollte man im /etc/mdadm.conf noch die RAID1 Konfiguration vermerken. Wieso? Damit unser System identifizieren kann welche Festplatte einem RAID-Verbund und dem dazugehörigem Array gebunden ist. Dies ist nötig, damit sich das RAID beim Bootvorgang automatisch aufbaut. Dafür muss die Ausgabe des mdadm –detail -scan in das /etc/mdadm.conf hinzugefügt werden.

mdadm –verbose –detail -scan > /etc/mdadm.conf

 

Fast geschafft. Damit nach einem Neustart das Filesystem auch automatisch mit dem RAID1-Verbund gemounted wird, sollte man dies auch noch in der dazugehörigen Konfigurationsdatei definiert werden.

echo ‚/dev/md0 /raid1 ext4 defaults,nofail,discard 0 0‘ | sudo tee -a /etc/fstab

 

Fertisch. Somit ist die Konfiguration des RAID1 abgeschlossen. Sobald die Synchronisation der beiden Festplatten erfolgt ist, kann man das RAID auch vollständig nutzen. Das kann dann wie auf folgendem Bild aussehen. Zwischen Ausgabe #1 und Ausgabe #2 lagen ungefähr acht Stunden und bis es zu Ende war nochmal ungefähr 5 Stunden.

 

Viel Spaß beim Warten. Währenddessen kann man sich ja dem Wake on Lan widmen.

 

Wake on Lan konfigurieren

Die erste Frage die man sich stellen sollte: „Moment mal… unterstützt meine Netzwerkkarte überhaupt WoL!?“ Ganz genau – Nicht jede NIC unterstützt Wake on Lan, selbst wenn gibt es verschiedene Arten des Aufweckens. Mit den vorinstallierten Tool namens ethtool und dem dazugehörigem Uplink-Interface im Schlepptau lässt sich dies allerdings schnell ermitteln.

ethtool enp3s0 | grep Wake-on

 

Sobald da irgendwas hinter Supports Wake-on steht, unterstützt eure Netzwerkkarte WoL. Allerdings ist der Wert ausschlaggebend, welche Variante verwendet werden muss, damit man den Server auch aufwecken kann. Dafür schmeißt uns man ethtool folgende Information aus.

p Wake on PHY activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket™
s Enable SecureOn™ password for MagicPacket™
d Disable (wake on nothing). This option clears all previous options.

 

In meinem Fall lässt sich der Microserver von MagicPackets (g) aufwecken. Dies muss ich nun noch auf dem Uplink-Interface setzen und das war es auch schon.

ethtool -s enp3s0 wol g

 

Danach vermerke ich mir die MAC-Adresse von dem Interface und kann dann mit einem speziellem Programm unter Windows oder mit wakeonlan unter Linux meine Liste aufwecken. Natürlich funktioniert dies nur aus dem lokalen Netz, da Magic Packete nicht geroutet werden.

wakeonlan aa:bb:cc:dd:ee:ff

 

Somit wären wir mit dem dritten Teil der Artikelserie durch. Schon wieder fast tausend Wörter. So langsam füllt sich das System mit Leben und ich bin gespannt was der vierte Teil so alles bringt.

 

over & out,

jonsch