Selfmade vQTS - Ein virtuelles QTS in der Virtualization Station?

tiermutter

Well-known member
Aufgrund dieser Thematik möchte ich das, was ich Ende letzten Jahres begonnen und anschließend auf Eis gelegt habe, vorzeitig mit euch teilen, bevor die Arbeit an dem Projekt eventuell weitergeht. Wenn es weitergeht könnte ich bestimmt etwas Unterstützung gebrauchen, mal sehen :)

[PROLOG]
Gelegentlich ließt man davon, dass manch einem User Testsysteme zur Verfügung stehen, mit denen vornehmlich Firmwareupdates geprüft werden, bevor sie auf produktiven Systemen installiert werden. Ich verfüge ebenfalls über entsprechende Systeme und verwende sie auch gerne mal um im Forum beschriebene Situationen und Probleme nachzustellen. Bei mittlerweile fünf Systemen zum Testen und Spielen geht mir aber langsam der Platz aus; muss das denn wirklich sein, NAS in der Art wie Netzwerkkabel zu horten? Ein virtuelles QTS, oder mehrere, zum Testen wäre doch auch eine feine Sache!
Ich kam auf diese Idee, als ich eine Problemsituation nachstellen, aber die Testsysteme auf die ich in dem Moment Zugriff hatte nicht anrühren wollte.
Tatsächlich gab es diese Möglichkeit namens "vQTS" in der Vergangenheit, hiermit konnte man mehrere virtuelle QTS Instanzen in der Virtualization Station emulieren. Leider wurde dieses Feature in 08/2020 eingestellt, sodass nun die einzige Möglichkeit die kostenpflichtige "QuTS Cloud" [1] ist.
Ob es wohl möglich ist, ein virtuelles QTS wieder aufleben zu lassen? Daran habe ich mich mal versucht.

[1] Noch während meines Versuchs wurde die QuTScloud kostenlos für die VS angeboten, das "vQTS-Projekt" würde aber einige Vorteile bieten, weshalb ich die Arbeiten daran eventuell wieder aufnehmen möchte.

[ERSTELLUNG EINER QTS VM - VERSUCH 1]
Eine QTS VM selbst erstellen? Nichts einfacher als das dachte ich mir und habe mir prompt ein Recovery Image eines TS x51+ geschnappt und das Image als ersten Datenträger der VM eingebunden.
Meine Hoffnung war, dass ich die VM von dem Image, welches den DOM darstellen sollte, booten kann um anschließend QTS auf weiteren virtuellen Datenträgern zu installieren.
Natürlich war dieses Vorhaben nicht von Erfolg gekrönt, die VM ließ sich gar nicht erst nicht starten.

[ERSTELLUNG EINER QTS VM - VERSUCH 2]
Im nächsten Step habe ich einen virtuellen Datenträger angelegt, welcher den DOM simulieren sollte und anschließend eine Ubuntu Live Version gebootet. Das Recovery Image wollte ich dabei als CD einbinden um den Vorgang einer Firmware Recovery durchzuführen. Dabei scheiterte ich direkt wieder, denn eine .img Datei wie die eines Recovery Image kann nicht als CD eingebunden werden, dazu bedarf es einer .iso.
Entsprechend habe ich das Image in eine Iso konvertiert, welches ich dann problemlos einbinden konnte. Die Firmware Recovery verlief dann so wie gedacht und das Image wurde (mittels dd) auf meinen virtuellen DOM-Datenträger geschrieben.
Eigentlich müsste ich jetzt den Zustand wie im ersten Versuch haben, daher habe ich mir nicht viel Hoffnung gemacht, als ich die VM herunterfuhr, das Ubuntu Live Image entfernte und die VM vom virtuellen DOM bootete.
Die Freude war groß, als ich "Uncompressing Linux..." las und damit den Zustand hatte, den ich von einem funktionierenden QNAP NAS ohne Datenträger erwarte.
Doch auch hier kam schnell die Ernüchterung, als ich mich mit dem Standardlogin im CLI anmeldete. An die genauen Fehlermeldungen erinnere ich mich nicht mehr, sie sagten aus, dass einige Scripts nicht ausgeführt werden konnten, alles deutete darauf hin, dass das "Gerät" nicht als QNAP identifiziert werden konnte. Da ich mir allerdings nicht sicher war, ob dies soweit normal ist, wenn nur das Recovery Image installiert ist, wollte ich mich nicht beirren lassen und erstmal weiter machen.
Eigentlich hätte nun eine vollwertige Firmware auf dem DOM installiert werden müssen, was ich mittels Qfinder erledigt hätte, doch leider bekam die VM keine IP und ich konnte auch keine vergeben, da schlichtweg kein Interface (außer Loopback) verfügbar war. Mit der passenden Firmware auf einem Stick, den ich problemlos einbinden konnte, wollte ich nun das Update über die CLI durchführen, in der Hoffnung, dass anschließend alles normal funktioniert. Doch auch hier kam ich nicht weit:
Das Update wurde stets mit Fehlern abgebrochen, neben "Error Code FW 002" konnten einige Dateien nicht geöffnet werden.
Mir kam in den Sinn, dass ich vielleicht eine MAC Adresse von QNAP vortäuschen muss, damit das Gerät entsprechend als QNAP erkannt wird, eine IP bekommt und dann entsprechend funktioniert, doch auch damit hatte ich keinen Erfolg, ebensowenig mit Spielereien an der virtuellen CPU sowie dem Ethernet Adapter.
Eigentlich ist das auch kein Wunder, schließlich wird die Firmware jeweils für die entsprechende Hardware konzipiert und wahrscheinlich ist das Hardwaremapping dort fest vorgegeben, sprich was als Ethernet Interface oder als SATA Interface verwendet werden kann... wozu sollte es hier eine flexible Erkennung wie in "normalen" Betriebssystemen geben? So komme ich hier nicht weiter.

[ERSTELLUNG EINER QTS VM - VERSUCH 3 (TO BE CONTINUED)]
Ich hatte gehofft, dass ich auf dieses Mittel nicht zugreifen muss, aber scheinbar lässt sich die Hardwareprüfung / die Anpassung des Hardwaremappings nicht anders umgehen, zumindest nicht für jemanden wie mich, der keinerlei Programmier-, Script-, oder großartige Linuxkenntnisse hat.
Es gibt ein chinesisches 3rd-party Tool, welches die vorhandene Hardware erkennt und daraus automatisch die für das gewünschte QNAP Modell entsprechenden Konfigurationen erstellt, sodass die Hardware vom eigentlichen System abweichen kann, aber trotzdem verwendet wird. Im Grunde werden die Hardwaremappings der Firmware dabei entsprechend angepasst. Leider funktioniert das nicht immer automatisch...
Das will ich mir nach (eventueller) Wiederaufnahme des Projekts einmal genauer anschauen, in der Hoffnung daraus ableiten zu können, an welchen Stellen ich in meiner bisherigen Test-VM schrauben muss, um sie zum Laufen zu bringen.

Eine Sache wird jedoch klar:
Damit kann ich nicht mal eben eine TS-473 VM und eine TVS-472XT erstellen wie es mir beliebt, sondern die Firmware für jede Modellreihe muss aufwändig bearbeitet und eingerichtet werden, zumindest einmalig.

Derzeit fehlt mir noch ein wenig die Muße um das Projekt fortzuführen, der Sommer beginnt ja gerade erst und außerdem habe ich nach etwa einem Jahr endlich wieder meinen Pool-Billardtisch freigeräumt; mein Mountainbike wartet auch mal wieder auf einen Einsatz... Ich habe also viel Freizeitbeschäftigungen offen.

Sollte jemand Interesse daran haben, stelle ich die bisherigen Ergebnisse des Projekts gerne bereit und mache daraus ein open-source Projekt ;)
So, jetzt muss ich aber erstmal was schaffen... nachher steht mal wieder ein Firmenessen an, ist doch klar worauf das hinausläuft... daher schonmal vorab: Cheers! 🍻
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
937
Beiträge
13.660
Mitglieder
466
Neuestes Mitglied
wischi83
Oben