FreeNas in VM? Controller kaufen statt Fake Raid? Hardware Absegnung

FabianX2

Lieutenant
Registriert
Apr. 2006
Beiträge
802
Hey,

es ist endlich an der Zeit ein NAS zu bauen. Da ich sowieso einen Server für den Unifi Controller, IoBroker etc. brauche habe ich eingekauft:

GigaByte C246-WU4
Xeon E-2124G (noch nicht versendet)
32GB ECC Ram
6*8TB Toschiba N300
1*500GB NVE 970EVO
Dongel für Homatic IP, Zigbee und alle andern Heimautomatisierungs Nummern.

Falls es da noch Verbesserungsvorschläge gibt gerne. CPU ist noch nicht lieferbar. Rest noch nicht ausgepackt. Abgesehen von den HDDs (sind schon im Einsatz) kann alles problemfrei zurück geschickt werden.

Außerdem als Backup:
3*8TB Externe Platten (1* vorhanden 2*kann noch zurück geschickt werden)

Frage 1: Wie das NAS betreiben:

Von den internen 6*8TB HDDs. Sind 3 beschreiben. Aktuell ca. 17TB. Die anderen 3*8TB Hdds sind Backupplatten. Weitere 3*8TB Externe HDDs sind das Backup vom Backup. Die sollen alle 4-8 Wochen erneuert werden und dann zum Nachbarn kommen.

Ich habe keine Erfahrung mit NAS Software und würde jetzt mal FreeNAS 11.2 testen. ZFS als Dateisystem klingt super. Da muss man mal schauen wie ein Backup auf die internen 3x 8TB HDDs läuft. Mit fake Raids hatte ich in der Vergangenheit nur Probleme. Hatte überlegt auch hier wie bei den Externen jede Nacht inkrementell zu Clonen. Alternative wäre es einen richtigen Hardware Raid Contoller zu kaufen. Sehe da aber eigentlich in meinem Scenario keinen Vorteil.

Jetzt bin ich gerade schon beim einarbeiten auf recht vehemente Gegner der Virtualisierung von FreeNAS gestoßen. Sollte das wirklich ein Problem sein muss ich ausweichen. Denn eine VM ist für mich der einzige Weg. Auf dem Server müssen noch andere VMs laufen bspw. für die Heimautomatisierung (ioBroker). Außerdem will ich rumspielen. Oder gibt es einen Weg FreeNAS Nativ laufen zu lassen und von dort aus weitere VMs laufen zu lassen? Hatte ursprünglich an Proxmox o.ä. als Basis gedacht. Es muss aber auch nicht zwingend FreeNAS sein. Und ZFS ist toll, für mich aber kein Muss. Evtl. gibts ja bessere Alternativen für ein NAS als VM.

Das Backup vom Backup werde ich jetzt erst mal klassisch auf externen Platten machen die ich zum Nachbarn trage. Für jede Datenplatte gibts eine Externe Backupplatte. Also 3*8TB extern. Ideal wäre wenn man die Platten nur anstecken müsste, automatisch erkannt würde um welche Platte es sich handelt und das Backup automatisch und natürlich inkrementell anläuft. Offene Software finde ich gut. Wenn es etwas besseres gegen Geld gibt bin ich aber gerne bereit was auszugeben. Gerade da wären Tipps super. Idealer weise läuft sowas direkt mit in der NAS VM. Evtl. gibts sowas ja schon nativ.

Ich hoffe ihr könnt mir ein wenig Helfen. Bin parallel zu dem Post fleißig dabei zu lesen. Da die CPU auf sich warten lässt ist auch noch etwas Zeit. Freue mich auch über jegliche weitere Anregung/Idee was unbedingt implementiert werden sollte.

Ich bin gerade parallel dabei das ganze gegen Blitzschlag/Überspannung Stromausfall etc. zu schützen soweit das möglich ist. Falls dass jemanden interessiert: https://www.computerbase.de/forum/t...chlag-spannungsschwankung-nas-server.1887263/
 
FreeNAS kannst du auf jeden Fall in einer VM betreiben. In Unternehmen mit unzähligen Clients kann das natürlich problematisch werden. Aber zu Hause sind's ja nur 'ne Hand voll. Das ist unproblematisch.
Ansonsten bist du evtl. auch noch über riesige RAM Angaben bzgl. ZFS gestolpert: Irgendwas in Richtung 1GB RAM pro TB Spricherplatz. Das System läuft auch mit deutlich weniger stabil und performant. Hier geht's auch wieder hauptsächlich um NAS Systeme, wo am Besten sämtliche Daten im Cache landen sollen.

Ich habe selbst hier ein FreeNAS mit 4 TB Speicher in einer VM unter Proxmox mit 1GB RAM zugewiesen. Läuft absolut problemlos. Aber ich habe auch nur 2 Clients, die sogut wie nie gleichzeitig darauf zugreifen.
 
  • Gefällt mir
Reaktionen: FabianX2 und Digitalzombie
Raid macht der Kernel (bei FreeNas also BSD), Hardware Raids haben heutzutage kaum mehr eine Daseinsberechtigung.

Backups würde ich dir empfehlen mittels ZFS Snapshots zu machen. Die Snapshots sollten sich auch inkrementell exportieren lassen. Das Ganze lässt sich auch wunderbar automatisieren (Cronjobs).

Die Hardware ist arg dick für ein bisschen NAS und Zeug. Ohne ausgefallene sonstige Nutzung und ohne 10GBe Netzwerk hätte es auch ein Intel Atom Quadcore getan ;)
 
Zuletzt bearbeitet:
Jaaa ZFS ist schon eine tolle Sache.

Das was @benneq sagt stimmt soweit, allerdings zieht nicht der Cache hauptsächlich am RAM sondern die Dateideduplizierung. Die lässt sich sehr einfach deaktivieren und für den Privatgebraucht absolut in Ordnung.

Eine kleine SSD als Cache wäre ggf. noch eine sinnvolle Ergänzung wenns von der Performance doch nicht reicht (was ich bezweifel). ;)
 
Piktogramm schrieb:
Raid macht der Kernel (bei FreeNas also BSD), Hardware Raids haben heutzutage kaum mehr eine Daseinsberechtigung [1].
Ganz klarer Einspruch: Falsch! Hardware Raids sind nach wie vor performanter als SW-Raids. Hatten wir erst wieder, Plattenausfall mit neuer Synchronisation.
 
@PHuV
Windows Bereich ja.
Bei Linux weht der Wind zur Zeit ganz stark Richtung ZFS, als deutlich angenehmere Alternative zum SW-Raid.
 
Hi,

ich selbst nutze FreeNAS unter Proxmox in einer VM, ich kann keinerlei Probleme feststellen. Ich habe der VM über PCIe-Passthrough direkt eine IBM ServeRAID M1015 SAS (LSI Controller) zugewiesen (so geflasht, dass sie ohne Raidfunktionalität arbeitet, sondern nur die Laufwerke per SATA anspricht) und betreibe damit 4x3TB im zfs "raid6" sowie eine weitere Platte, welche rein für VM Backups da ist.

Bezüglich deines Backups: Du könntest eine LinuxVM erstellen und diese "wartet" sozusagen auf das Anschließen von Festplatten. Falls dabei Platte XY mit der DateisystemUID XYZ kommt, kopiert diese dann von deinem NAS die Daten. Das ist jetzt so ne Spontanüberlegung mit "Lernfaktor" :-) Ich selbst hänge mir an einen anderen Rechner ne externe dran und mach dann ein "manuelles" Rsync.
 
Piktogramm schrieb:
Hardware Raids haben heutzutage kaum mehr eine Daseinsberechtigung [1].

Backups [...] mittels ZTFS Snapshots [...] automatisieren (Cronjobs).

PHuV schrieb:
Hatten wir erst wieder, Plattenausfall mit neuer Synchronisation.


Ok traue der Raid Geschichte sowieso nicht. Hatte schon mehrfach Ausfälle. Nur um sicher zu gehen dass ich dich richtig verstehe: Du meinst ich soll die Backups sowohl auf die internen Platten (1. Backup) als auch auf die Externen Platten (2. Backup) durch ZTFS Snapshots realisieren? Danke auf jeden Fall für den Tipp. Ich werde mich mal bezüglich ZTFS und Cronjobs schlau lesen und dann nochmal schreiben.




Piktogramm schrieb:
Die Hardware ist arg dick

10GBbe war leider nicht mehr drin. Ich hatte mich auch schon in die Unifi/Ubiqiti Hardware verliebt und Geld war auch ein Faktor. Der Server/NAS hängt an 2x1Gbe über Link Aggregation.

Die Hardware ist zum einen etwas großzügiger dimensioniert da ich gerne Rumspiele. Die ein oder andere Test VM wird immer mit laufen. Plex/Emby und einige andere Sachen werden evtl. auch noch dazu kommen. Sorge bereitet mir der Stromverbrauch. Gibts Schätz/Erfahrungswerte was mich das System im Jahr an Strom kostet? Läuft ja selten unter Volllast.

Digitalzombie schrieb:
Dateideduplizierung. [...] deaktivieren und für den Privatgebraucht absolut in Ordnung.

Davon hatte ich gelesen. In der Theorie klang das schon praktisch. Klar man kann drauf verzichten. Würde das jetzt einfach mal testen. Denke das lässt sich ja auch für jede Partition einzeln aktivieren oder? Sehe jetzt bspw. bei der Media Library keine großen Vorteile. Anders sieht es im Produktivbereich aus.


Digitalzombie schrieb:
SSD als Cache wäre ggf. noch eine sinnvolle Ergänzung

Das Mobo hat glücklicherweise recht satt M2 und Sata Ports. Da werde ich dann erweitern wenn es mir zu langsam erscheint.

Xmechanisator schrieb:
Ich habe der VM über PCIe-Passthrough direkt eine IBM ServeRAID M1015 SAS (LSI Controller) zugewiesen (so geflasht, dass sie ohne Raidfunktionalität arbeitet

Wozu dann überhaupt ein Raidcontroller?


Xmechanisator schrieb:
Bezüglich deines Backups: Du könntest eine LinuxVM erstellen und diese "wartet" sozusagen auf das Anschließen von Festplatten.

Genau sowas hatte ich mir vorgestellt. Aber klar an sich wäre es mir egal ob ich die Platte an nen Rechner im Netzwerk oder direkt an den Server hänge. Welche Software nutzt du zum Syncen?


Überhaupt bin ich noch auf der Suche nach guten Tutorials und How tos. Gibts da empfehlungen. Aktuell google ich Schlagwörter und lese alles quer. Habe bis jetzt noch keine Ahung von FreeNAS etc.
 
PHuV schrieb:
Ganz klarer Einspruch: Falsch! Hardware Raids sind nach wie vor performanter als SW-Raids. Hatten wir erst wieder, Plattenausfall mit neuer Synchronisation.
Also mdadm auf ner mobilen Haswell CPU schafft 12,5GB/s und beim restore 6,6GB/s je CPU Kern. Für vernünftig große Raid Cluster "reicht" das. Der limitierende Faktor ist da dann entweder das default Limit von 120MB/s welches sich mit einem Eintrag ins Configfile beheben lässt oder aber der Durchsatz der HDDs.
Raidcluster die derart eskaliert sind, dass das nicht reicht sind ansonsten nur ein Nachweis, dass die IT das Thema Software Defined Storages total verpennt hat.
Ergänzung ()

FabianX2 schrieb:
Ok traue der Raid Geschichte sowieso nicht. Hatte schon mehrfach Ausfälle. Nur um sicher zu gehen dass ich dich richtig verstehe: Du meinst ich soll die Backups sowohl auf die internen Platten (1. Backup) als auch auf die Externen Platten (2. Backup) durch ZTFS Snapshots realisieren? Danke auf jeden Fall für den Tipp. Ich werde mich mal bezüglich ZTFS und Cronjobs schlau lesen und dann nochmal schreiben.

Raids sind kein Problem, sie sind eine Lösung für bestimmte Probleme im Austausch für Andere.
ZFS Snapshots, die auf deinem ZFS Volume liegen sind keine Backups. Es sind einfach zu einem Zeitpunkt "eingefrorene" Zustände des Dateisystems. Diese Snapshots lassen sich als Images exportieren. BTRFS kann das auch inkrementell und es würde mich wundern wenn es ZFS nicht auch kann. Diese Exports kannst du dann irgendwo hinwerfen, wo sie dann ein Backup sind welches dich gegen ein kaputtes Raid / Dateisystem schützen.
Ich rate aber zu einigen Tests in einer VM die du mittels solcher Images sicherst, kaputt machst und dann wieder herstellst. Wenn du deine Erfahrungen sammeln musst wenn es dir dein System zerschießt, stehst du schnell schlecht da ;).


Wozu dann überhaupt ein Raidcontroller?
Gebrauchte Serverhardware auf Ebay ist günstig für viel Leistung. Besser als als alles zum gleichen Preis als Neuware verfügbar ist, ist es allemal.
 
Zuletzt bearbeitet:
FabianX2 schrieb:
Denke das lässt sich ja auch für jede Partition einzeln aktivieren oder?

Für jeden ZFS "Pool" den du anlegst. Du machst zum Beispiel aus 2 Festplatten, die du spiegeln möchtest, einen Pool. Weiter Festplatten lassen sich den Pools nachträglich hinzufügen.

Sehe den Vorteil bei der Deduplizierung hauptsächlich bei vielen Usern die alles Mögliche unabhängig von einander draufwerfen.

FabianX2 schrieb:
Wozu dann überhaupt ein Raidcontroller?

Mehr Festplatten! :D Und normale onboard SATA-Ports habe nicht immer HotPlug oder der Datenbus kann bei Vollbelegung recht schnell gesättigt werden. Natürlich alles Hardwareabhängig und nicht zu pauschalisieren.


Für die 10GBit solltest dich eher auf dem Gebrauchtmarkt umsehen. Ältere Karten für Server bekommt man teilweise echt hinterhergeworfen. Irgendwo gabs tatsächlich auch die 48Gbit für unter 100€ :D Mir fällt leider der Hersteller und das Modell spontan nicht ein.

Switch is da natürlich ne andere Geschichte. :)
 
Zu der ZFS und Backupgeschichte, ich will eh in den Urlaub uns musste es machen. Es ist zwar BTRFS aber ZFS kann das auch (mit anderen Befehlen und bei FreeNAS vielleicht auch per GUI):

Code:
# Erstelle Snapshot der nur gelesen werden kann (-r) von / (allem) im Ordner snapshots mit dem Namen des Rechners mit angehangenem Datum (also: kiste_2019-08-12_14:12)
root@kiste:/#  btrfs subvolume snapshot -r / /snapshots/$(hostname)[I]$(date "+%F[/I]%R")
Es resultiert:
/snapshots/kiste_2019-08-12_14:12/
Wobei unter dem Ordner und damit dem snapshot kiste_2019-08-12_14:12 alle Dateien erreichbar sind die zu diesem Zeitpunkt auf meinem Rechner waren.

Code:
#export des Snapshots in ein komprimiertes Image
root@kiste:/#  btrfs send /snapshots/kiste_2019-08-12_14:12/ | pigz | dd of=/media/extern/kiste_2019-08-12_14:12.snapshot.gz

Der Snapshot kiste_2019-08-12_14:12 wird als Datei exportiert, der Export wird einmal durch pigz zur Kompression gejagt und dann mittels dd geschrieben.
Statt oder zusätzlich zur Kompression wäre es auch noch möglich das ganze zu Verschlüsseln. Ist aber schon ausreichend kompliziert als Beispiel :)
 
  • Gefällt mir
Reaktionen: FabianX2
Freenas kannst du virtualisieren, sofern du den HBA/Disk-Controller 1:1 an die VM durch reichen kannst. Ansonsten kannst du zwar auch so Freenas verwenden, verlierst aber alle Vorteile, die dir ZFS bietet. Wenn dies nicht klappt kannst Freenas auch sein lassen und irgendwas anderes verwenden.

Du kannst aber auch Freenas aufs Blech installieren, dader BSD Hypervisor bhyve dabei ist, sprich du kannst auch auf Freenas VMs laufen lassen.

Deduplikation benötigt viel RAM und ein bisschen CPU und kann als Feature auf Pool- als auch auf Dataset Ebene eingestellt werden. Funktioniert halt nur bei deduplizierbaren Daten. Medien (Fotos, Filme, Musik) ist idR bereits komprimiert und lässt sich daher kaum deduplizieren. Der Gewinn an Speicherplatz wird sich bei privater Nutzung eher im Rahmen halten.

Komplettes Dataset wird wie schon genannt am einfachsten per Snapshot weg gesichert. Sowohl Snapshots als auch die Replikation der Snapshots auf einen anderen Pool kannst du per Webinterface einrichten. Wenn du also zwei Pools in deinem System hast kannst du auf Pool A Snapshots erstellen und dann auf Pool B replizieren lassen oder auf ein zweites NAS. Erstellst du mehrere Snapshots beziehen sich zweite und alle weiteren auf den ersten Snapshot und beinhalten somit nur noch die Änderungen. Erste Replikation dauert somit lange, danach nur noch die Änderungen.
Zusätzlich und/oder anstatt dessen kannst du Daten auch auf diverse andere Speichersysteme syncen. Nennt sich "Cloud Sync" und welche Dienste unterstützt werden etc steht in der Dokumentation.

Generell solltest du die Dokumentation von freenas lesen, dort sind alle möglichen Einstellungen sehr gut beschrieben. Ebenso lege ich dir den "ZFS Primer" am Ende der Doku ans Herz. Die Doku findest du unter: https://www.ixsystems.com/documentation/freenas/11.2-U5/freenas.html bzw. die stets aktuelle Version unter https://doc.freenas.org/

Solange du deine Daten nur per SMB frei gibst, kannst du freenas mit relativ wenig RAM betreiben. Sobald du aber Plugins nutzen willst oder Daten per NFS/iSCSI frei gibst, mehrere Clients parallel zugreifen, etc sollten es schon mindestens 4-8 GB RAM sein.

Backup auf externe HDDs und Freenas ist so eine Sache.. nicht wirklich vorgesehen, da man eher ZFS bei Datenmengen nutzt, die (früher) nicht auf eine einzelne Disk passten und man bei nur einer Disk auch keinerlei Redundanz hat. Eine fertige klickibunti Lösung gibt es daher nicht, du müsstest also mal in den Freenas Foren, GitHub usw. nach etwas suchen, was deine Anforderungen erfüllt oder eben selbst tätig werden.
 
  • Gefällt mir
Reaktionen: FabianX2
FabianX2 schrieb:
Wozu dann überhaupt ein Raidcontroller?
Weil ZFS immer mit direktem Zugriff auf die Platten arbeiten sollte. Da ist es meist einfacher einen HBA (was anderes ist so ein RAID Controller im IT Mode nicht mehr) mit in die Kiste zu stecken und diesen komplett an die VM durchzureichen.
 
Hey Fabian,

mache gerade genau das gleiche durch wie du. Mein System hat einiges weniger ressourcen als deines (Stromspargründen), aber das Design ähnelt deinem. Proxmox VE und FreeNas stehen bei mir auch mit den gleichen Fragen an. Dazu noch gitserver, teamspeak, webserver und proxy usw in Dockercontainer und automatisierten Deployment via Ansible ... Ich mach allerdings noch nen Wallmount PC/Server daraus.

Zurück zu dir:
Hast du dir mal Openmediavault als FreeNas Alternative angesehen? Das macht XFS. Deinem Setup zufolge denkst du nicht klein wenn sogar dein Unifi controller ne 24/7 VM benötigt. Stell dir die Frage ob deinen Ansprüchen später eine FreeNas als VM immernoch ausreicht. Irgendwo hört der Homebereich auf und Enterprise beginnt. Ich möchte auf Proxmox aber auch nicht verzichten und teste desswegen Openmediavault.

Hardwarecontroller brauchst du wenn du hohe I/Os auf den Platten haben wirst. Aber dafür kannst du bei ZFS auch SSDs als Lese und Schreibcaches verwenden um die Platten zu schonen. Linux LVM kann auch SSDs als Cache verwenden.

LG
 
  • Gefällt mir
Reaktionen: FabianX2
Ihr könnt grundsätzlich auch ohne Proxmox arbeiten und direkt innerhalb von FreeNAS Docker Container und VMs verwalten.
 
  • Gefällt mir
Reaktionen: snaxilian
FabianX2 schrieb:
Wozu dann überhaupt ein Raidcontroller?

Genau sowas hatte ich mir vorgestellt. Aber klar an sich wäre es mir egal ob ich die Platte an nen Rechner im Netzwerk oder direkt an den Server hänge. Welche Software nutzt du zum Syncen?

Ich beantworte mal die beiden Fragen: Ich wollte, dass FreeNas direkt mit den Platten arbeiten kann, da mit zugewiesenen Platten Probleme auftreten könnten bzw. Features verloren gehen. (Best Practice ist FreeNAS hat direkten Zugriff auf Hardware, daran habe ich mich gehalten) Der Raid Controller hat mich 50€ für 8 Sata Ports gekostet, das bekommt man in der Form nicht wirklich für den Preis.

Zum Syncen benutze ich aus der Linuxwelt "rsync". Mein vorhin geschriebenes war nur ein Beispiel, wie man deine Anforderung mit etwas Skripting in der Linuxwelt lösen könnte von der ich mir sicher bin, dass sie so funktionieren würde. Selbst habe ich mir aber sowas noch nicht eingerichtet und mach ein typisches "rsync -aP /mnt/freigabe /mnt/backupplatte"

benneq schrieb:
Ihr könnt grundsätzlich auch ohne Proxmox arbeiten und direkt innerhalb von FreeNAS Docker Container und VMs verwalten.
Habe ich damals (wo VM Support frisch eingeführt wurde) eher schlechte als gute Erfahrung mit gemacht, kann jedoch sein, dass es sich bereits gebessert hat. Bei mir blieb i.d.R. eine Proxmox VM (brauchte eine dritte Node, die sollte nur an sein und im Cluster einfach nur das Quorum auf 3 erhöhen) gefühlt alle 2-3 Stunden hängen.
 
Du hast Proxmox innerhalb von FreeNAS betrieben, und dann in Proxmox noch weiter virtualisiert? Da glaube ich gern, dass das nicht mehr vernünftig läuft. Klingt ja auch nach einer ziemlich besch...eidenen Idee :D
 
@benneq Ich lese das so, dass er physikalisch zwei Proxmox-Hosts und ein FreeNAS hat und im FreeNAS eine VM mit Proxmox damit er einen Proxmox-Cluster betreiben kann, auf dem virtuellen Proxmox aber keine VM läuft sondern dieser Knoten nur als Quorum dient.
 
FabianX2 schrieb:
Xeon E-2124G (noch nicht versendet)
Hätte kein i3-8100 gereicht oder warum einen 4/4 Xeon?

RAM passt - bei den aktuellen Preisen lieber mal mehr, als zu wenig.

Bez. NAS - wenn es nur um ein relativ einfaches SMB-Setup geht, könntest Du das auch mit Proxmox (welches ja ZFS mitbringt) per SAMBA mit erschlagen u. dir evtl. die Virtualisierung von FreeNAS & Co ersparen.
Ergänzung ()

FabianX2 schrieb:
Von den internen 6*8TB HDDs. Sind 3 beschreiben. Aktuell ca. 17TB. Die anderen 3*8TB Hdds sind Backupplatten. Weitere 3*8TB Externe HDDs sind das Backup vom Backup. Die sollen alle 4-8 Wochen erneuert werden und dann zum Nachbarn kommen.
Das beisst sich m.M. ein wenig mit ZFS - wie willst du den Ausfall von 1 Platte kompensieren?
Je nach Pool kommst Du entweder nicht auf die Kapazität oder dein Vorhaben mit 2x3xBackup funktioniert so nicht. Z.B. ein RaidZ (5) mit 3 Platten würde den Ausfall 1 Platte verkraften, aber nur knapp 16TB Speicher bieten. Machst Du einen Stripe, kommst Du auf die Kapazität, aber bereits bei einem Plattenausfall ist der Betrieb deines NAS hinüber - eher wenig empfehlenswert.

Vlt. lässt sich der Datenbestand aber auch lichten u. kategorisieren - verringert den Kapazitätsbedarf u. Aufwand.
 
Zuletzt bearbeitet:
Zurück
Oben