Ich habe in meinem Homelab einen Dell PowerEdge R710 mit 8 2.5" Einschüben. Mit den gestiegenen SSD Preisen hat sich eine weitere nicht mehr gelohnt. Problem ist, die bestehenden Platten sind voll.
Brainstorming
Bevor ich den R710 beschafft habe, hatte ich einen alten PC rumstehen. Man könnte ja einfach da ein paar HDDs reinschmeißen und die über iSCSI dem R710 anbieten. Der, gegenüber dem aktuell schon recht hohen, erhöhte Stromverbrauch, hätte mir aber nicht geschmeckt.
Eine weitere Idee wäre, in einen der freien PCIe Slots einen HBA einzubauen. Intern ist in dem 2U Gehäuse kein Platz mehr, aber mit externen Ports wäre das kein Problem. Frage ist nur: wenn nicht im Server, wo baue ich die ein?
Umsetzung
Die Frage habe ich anfangs gekonnt ignoriert. Also: ab nach eBay einen HBA und SFF zu 4x SATA Kabel kaufen.
Hinweis: Von den SFF-Kabeln gibt es viele verschiedene. Vor dem kauf sollte man nachschauen, welche Variante der ausgesuchte HBA braucht.
Ich habe mich für den Dell Perc H200e entschieden. Der ist nicht nur günstig, sondern auch das gleiche Modell wie im Server eh schon verbaut ist - nur mit externen Anschlüssen.
Eingebaut, angeschlossen, Platten ran, alles gut. Oder?
Der anbahnende Sturm
Die zwei 12TB Platten welche ich angeschlossen habe, wurden in Proxmox ohne Probleme erkannt. Für Massenspeicher nutze ich eine TrueNAS Scale VM, also müssen die durchgereicht werden.
In meiner unendlichen Naivität dachte ich: wenn ich die Platten nur in der VM brauche, kann ich doch einfach den ganzen HBA durchreichen. Hmmmm, ich sollte online mal nachschauen ob es da irgendwas zu beachten gibt. Anscheinend werden PCIe Geräte in IOMMU-Gruppen gruppiert und man kann nur Gruppen zusammen durchreichen. Ist aber kein Problem, da der HBA alleine in seiner Gruppe ist. Dementsprechend habe ich diesen Schnipsel Weisheit nicht überprüfen können.
Jetzt sitze ich aber vor der Liste und sehe zwei identische PCIe-Geräte. Kein Wunder, wenn das identische Karten sind. Da der vorher eingebaute in Slot 1 steckt, habe ich einfach nach dem YOLO-Prinzip das in der IOMMU-Gruppe mit der höheren Nummer ausgewählt. Was kann dabei schon schief gehen. Für Fehlkonfigurationen gibt es doch sicherlich Checks, oder? Oder???
Oh nein
Nein gibt es nicht. Proxmox hat nachdem ich die VM neu gestartet habe einfach absolut gar nichts mehr gemacht. Nicht mal mehr über eine physisch eingesteckte Tastatur konnte ich die CLI bedienen. Proxmox ist tot.
Was jetzt?
Nun sitze ich da, mit einem abeschossenen Server und ohne Erfahrung sowie ohne Wissen, was man jetzt noch machen könnte. Neustarten vom Server bringt nichts, gleiches Ergebnis.
Während im Hintergrund ein bootbarer USB-Stick vorbereitet wird, starte ich den Server immer wieder neu, was natürlich jedes mal ewigkeiten Dauert. Nur nicht so ewig wie der alte und sehr langsame USB-Stick.
Mit dem fertigen USB-Stick in der Hand, gehe ich nun zum Server und sehe einen Bildschirm den ich vorher übersehen hatte. Grub. (Der Bildschirm wird auch nur für eine Sekunde oder weniger eingeblendet. Wer kam denn auf die Idee das so kurz zu halten, wenn der Server eh gefühlte 15 Minuten zum neustarten braucht. Mach doch 10 Sekunden draus.)
Recovery Mode
Ich wollte mit dem Live OS eigentlich den Pool worauf Proxmox die QEMU Konfigurationen hinterlegt irgendwie einbinden und den an TrueNAS weitergereichten HBA wieder entfernen. Doch in Grub lag die Erlösung: der Recovery Mode.
Panisch also in den Recovery Mode gebootet und gesehen, dass ich mich über die CLI anmelden konnte. Ich kann endlich was machen. Aber wo sind eigentlich die Konfigurationsdateien? Wie jetzt die sind nicht unter /etc/pve/qemu-server/
. Online steht doch überall, dass die da sein sollen. Wie kannst du mir das nur antun!
Zum Glück war das Problem aber lösbar.
Proxmox Cluster File System
Das zu finden war gar nicht mal so einfach. Proxmox nutzt für seine Konfigurationen eine Datenbank. Aus jener werden die Konfigurationen dann erstellt und Änderungen darin wieder in die Datenbank übertragen.
Der Befehl um die Konfigurationen zu erzeugen lautet pmxcfs
. Ta-dah, da ist die glorreiche 100.conf
welche meiner TrueNAS VM gehört. Kurz rein, die PCIe Zeile rausgenommen und gespeichert.
Die Erleichterung
Nach einem neustart war alles so, als wäre nichts geschehen. Der einzige Verlust war der Nachmittag welcher dafür draufgegangen ist. Eigentlich wollte ich noch auf meinem Minecraft Server vorbei schauen :(
Der richtige Ansatz
Erneut online, habe ich nachgeschaut, wie andere ihre Platten durchreichen. So wie ich das jetzt gemacht habe, werden die HDDs über /dev/disk/by-id/ata-.......
weitergegeben, damit kein Speicher-Overhead wie bei VM-Disks existiert. Das geht aber nicht über das Webinterface. Dafür muss man manuelle Einträge in der QEMU Konfiguration hinzufügen.
Pro Platte also ein Eintrag wie folgt:
|
|
TrueNAS hat so die Platte ohne Probleme erkannt und läuft seit einigen Wochen auch über neustarts ohne Probleme.
Es hätte so einfach sein können. Der Vorgang hätte mich inklusive Einbau des HBA knapp 30 Minuten gekostet. Aber nein: sich das Leben schwer machen und Probleme haben die sonst keiner hat liegt mir im Blut.
Was war jetzt das Problem?
Wenn ich raten müsste, hat Proxmox versucht seine Pools abzustoßen, damit es den HBA wo die SSDs dran hängen an die VM weitergeben kann. Dass das - wenn man ein funktionierenden Server haben möchte - ziemlich ungünstig ist, scheint Proxmox gekonnt zu ignorieren.
Das Problem hat mich zwar in die Verzweiflung getrieben, aber auch eine Lernmöglichkeit geschaffen. Ich hoffe, dass ich nie wieder in den Recovery Mode muss, weiß aber nun wie ich diese Art von Problem in relativ kurzer Zeit beheben kann.
Wo sind die Platten eingebaut?
Eine Frage die noch übrig bleibt, ist die, wie die Platten nun verbaut sind. Einfach neben dem Server auf dem Boden ist ja auf Dauer keine Option.
Für über’n Daumen 30€ bekommt man einen 3.5" HDD-Käfig für alte Gehäuse welche die DVD-Laufwerk-Einschübe ersetzen. Darin sind Platz für 5 Platten, also eine mehr als ich SATA-Kabel hinten raushängen habe. Da kann man auch einen Lüfter ranschrauben, damit die Platten ihre maximale Betriebstemperatur nicht überschreiten.
In der Kommode wo das alles bei mir drin steht, sind die ohne nämlich auch schon mal bei über 50°C gewesen, was bei den Platten nicht Gesund ist. Für die Stromversorgung habe ich für nochmal 30€ ein billiges ATX Netzteil geholt, was einfach deneben liegt.
Das ganze hat mich gekostet: 300€ für zwei 12TB HDDs, 30€ für den Käfig, 30€ für das Netzteil, 35€ für den HBA und 20€ für das SFF-8088 Kabel. Unterm Strich also 450€ für 12TB Gesamtspeicher im RAID. Damit sollte es aktuell erstmal keinen Engpass geben. Hoffentlich.