TrueNAS - ist meine Storage Struktur sinnvoll?

looperna

Cadet 4th Year
Registriert
Mai 2022
Beiträge
105
Hallo zusammen,

ich habe nun TrueNAS Scale laufen und bin noch etwas unsicher bzgl. meiner Speichergestaltung. Da diese erstmal final ist wollte ich mich hier absichern, ob das alles so Sinn ergibt. Mein Plan ist auf dem NAS VMs laufen zu lassen. Primär eine VM mit Nextcloud, welche mir 1 TB Cloudspeicher zur Verfügung stellen soll.

Meine Struktur:

1653180198103.png


Erstmal habe ich ein Volume aus den beiden Platten im PC erstellt, welches via Key verschlüsselt ist. Dieses Volume enthält nun iwas vom System, weshalb ich es nicht zur Passphrase Verschlüsselung umstellen konnte. Daher musste ich ein weiteres Volume erstellen. Und da ich VMs laufen lassen will habe ich es VirtualMaschines genannt. Ohne Leerzeichen, da Scale keine Leerzeichen mag. Und dann habe ich den Sinn fortgeführt und ein Volume für die erste VM, also der Nextcloud erstellt. Und da meine Nextcloud eine Disk für das System haben soll und eine für meine persönlichen Daten habe ich dann noch data und system angelegt. Auf system wird dann logischerweise Nextcloud installiert. Und alles unter VirtualMaschines ist ja dann auch mit dem Passphrase verschlüsselt.

Ich habe system 50 GiB und data 1050 GiB zugewiesen. Geplant ist am Ende eine Cloud mit 1000 GiB zu haben. Zur Sicherheit habe ich dann noch etwas draufgeschlagen und die 50 GiB für das system sind auch großzügig.

Habe ich alles bedacht oder kann ich etwas verbessern?

Vielen Dank euch und einen angenehmen Sonntag!
 
Wenn Du Cloud möchtest, schau mal bei Openstack.

Ansonsten würde ich mir das ganze Trallala sparen und würde für jede VM - genauer, für jeden Datenträger der VM - ein zvol anlegen. Dateisystem brauchst du dafür nicht, was soll da auch rein? Die zvols siehst Du im Dateisystem ohnehin nicht, das sind einfach logische blockdevices, nicht mehr, nicht weniger.

Kompression halte ich für den Anwendungsfall "VM" auch für eher unnötig, aber YMMV.

Datenspeicher ist so eine Sache. Mein Vorschlag wäre, die Dinger in eine dedizierte "Ecke" zu packen, wo es nix gibt außer den Daten selber.
Das kann nativ im Dateisystem sein. Es kann aber prinzipiell auch ein zvol für den Datenspeicher genutzt werden.

Dann diese Daten freigeben, sodaß die VM(s) und ggfs auch andere Geräte/Clients drauf zugreifen können. Dann kannst Du zB die NextCloud VM einfach wegwerfen und eine neue hinstellen, ohne daß die Nutzdaten betroffen sind, und du sparst auch dedizierte Datenvolumes für die jeweilige(n) VM(s).

Note, ohne Gewähr, da du kein Wort über die Hardware verlierst und diese die erforderliche Performance ggfs. nicht liefern kann.
 
  • Gefällt mir
Reaktionen: looperna
RalphS schrieb:
schau mal bei Openstack.
Was genau soll er da sehen? Also außer einer viel zu großen, viel zu komplexe Lösung, die für zuhause nicht wirklich praktikabel ist?^^

looperna schrieb:
Mein Plan ist auf dem NAS VMs laufen zu lassen.
Naja in dem Fall ist dein Stück Hardware ja eher ein Hypervisor als ein NAS aber verlieren wir uns nicht in Details.
Ich lese aus deinem Text heraus, du hast in dem System 2x HDDs für die Datenablage und hast daraus vermutlich eine mirrored vDev gemacht und darauf einen Pool angelegt. Dort dann der Übersicht halber für dich ein Dataset für alle kommenden VMs, da dann pro VM ein weiteres Sub-Dataset und da drin dann zwei ZVols für die Nextcloud-VM.
Kann man problemlos so machen wobei ich die ZVol für das OS an sich deutlich kleiner gemacht hätte. Für ein $Linux-deiner-Wahl-und-für-Serverbetrieb-geeignet reichen auch locker 20 GB und vermutlich würde es sogar problemlos mit 10 GB funktionieren. Anyway:
looperna schrieb:
Ohne Leerzeichen, da Scale keine Leerzeichen mag.
Erzeugt einfach nur Overhead und Mehraufwand bei Devs (und auch bei Admins) und vermeidet man daher zu Recht und zwar bei diversen Betriebssystemen, nicht nur bei Truenas Scale ;)

looperna schrieb:
Und alles unter VirtualMaschines ist ja dann auch mit dem Passphrase verschlüsselt.
Denk ans Backups der Encryption Keys ;)

looperna schrieb:
Habe ich alles bedacht oder kann ich etwas verbessern?
Kann man so machen, genauso gut hättest aber auch einfach nur ein ZVol mit 1050 GB erstellen und der VM geben können. In der VM siehst bei der Installation dann nur eine "HDD" und könntest diese flexibel beispielsweise mit LVM partitionieren können, also ein LV für system und 1 LV für data oder ggf. noch andere/weitere LVs wenn sinnvoll oder gewünscht.
In deinem Setup würdest du bei der Installation zwei "HDDs" sehen und müsstest beide nach eigenem Wunsch partitionieren und mounten.

Alternativ den Vorschlag von @RalphS überdenken: Ein ZVol für die VM mit dem OS und ein Dataset für die eigentlichen in Nextcloud abgelegten Daten. Dieses Dataset gibst du per SMB frei und in Nextcloud nutzt du dies als external storage backend.

RalphS schrieb:
Kompression halte ich für den Anwendungsfall "VM" auch für eher unnötig, aber YMMV.
Dem widerspreche ich mal ;)
Ich nutze beispielsweise ein kleine Template-VM in einem ZVol, außer $Linux mit SSH Server läuft da nix. Möchte ich eine weitere VM dann klone ich das ZVol und mache eine Art selbst zusammen gepfuschtes cloud-init. Hier hat das mal netterweise jemand in schön zusammen geschrieben: https://www.jan-sl.de/selfhost/truenas-cloud-init/
Das elegante dabei ist: Das ZVol der neuen VM belegt nur dann realen Speicherplatz in Bereichen wo sich die VM vom Template unterscheidet. Die compression rate der so erstellten VMs beträgt bei mir zwischen 1,56 und 1,77.
 
  • Gefällt mir
Reaktionen: looperna
Cloud ist halt alles und nix, ein wunderbar misshandelter Marketingbegriff unter dem sich jeder etwas anderes vorstellt. Ja, man kann IaaS "Clouds" mit Openstack umsetzen, ist eins von mehreren Möglichkeiten.
Eine selbst gehostete Nextcloud auf nem PC im Keller würde ich auch nicht Cloud nennen wollen^^
 
  • Gefällt mir
Reaktionen: RalphS
Notabene: TrueNAS (Core und Scale) können beide keien gracefull shutdown der VMs, sofern Du Deinen Server nachts zum Stromsparen herunterfährst, könnte das nen Problem werden...
 
@DFFVB Hmm meine VMs meckern zumindest nicht wenn ich TrueNAS Core herunter gefahren hab bisher.. Also naja zeigen keine Auffälligkeiten im Betrieb, hab noch nicht ins Log geguckt ob die sauber herunter gefahren werden bisher oder abrupt sterben.

Zumindest über die GUI kann man ja die VMs geordnet herunter fahren, ich hätte jetzt erwartet, dass TrueNAS Core genau das auch im Rahmen eines kompletten Shutdowns des Systems macht^^

Im Zweifel muss man sich ein eigenes Shutdown Script basteln was zuerst über die API die VMs herunter fährt und anschließend das TrueNAS Core System selbst herunter fährt.
 
@snaxilian Ja beschwert haben sich die VMs bei mri auch noch nicht, kommt aber wahrscheinlich auch auf die Anwendung an, Datenbanken könnten ggf Schaden nehmen?

Für CORE lautet das Script wohl so:

ode:
#! /bin/sh

PAUSE="10"

test -t 1 && echo "Sending SIGTERM to bhyve processes."
/usr/bin/killall -TERM bhyve

test -t 1 && echo -n "Waiting for processes to exit ... "
while /usr/bin/killall -0 bhyve >/dev/null 2>&1
do
sleep "${PAUSE}"
done
test -t 1 && echo "done."

exit 0


Hier ist ein Thread im TN Forum

https://www.truenas.com/community/t...o-gracefully-shutdown-vms.100977/#post-697311
 
  • Gefällt mir
Reaktionen: snaxilian
DFFVB schrieb:
Datenbanken könnten ggf Schaden nehmen?
Bisher nix aufgefallen. Die DB hier hat aber in 90% der Zeit auch nur Lesezugriffe und ich hab Backups, von daher 🤷‍♂️
 
Zurück
Oben