Wer mag mir beim Projekt NAS helfen? Wäre echt dankbar

Status
Not open for further replies.

wussy

Explorer
Joined
Jan 11, 2012
Messages
50
Also ZFS ist hat halt viele Vorteile gegenüber einem normalen Filesystem. Dazu gehört dedup genauso wie snapshooting und auch die Selsbstheilung.

Hier ein auszug aus Wikipedia:
ZFS ist ein 128-Bit Copy-on-Write-Dateisystem mit einer im Vergleich zu herkömmlichen Dateisystemen deutlich erweiterten Funktionalität. Bei herkömmlichen Dateisystemen verwaltet genau ein Dateisystem genau eine Partition. Sollen mehrere physische Partitionen zu logischen Partitionen zusammengefasst werden, muss hierzu eine zusätzliche Logical Volume Manager Software installiert werden. Zur Ausfallsicherung können viele Dateisysteme zusätzlich durch ein optionales softwarebasiertes RAID-Subsystem (Software-RAID) abgesichert werden. ZFS fasst diese drei Funktionen zusammen und ergänzt diese um einen prüfsummenbasierten Schutz vor Datenübertragungsfehlern.
In der Praxis werden zunächst aus physischen Datenträgern (eigentlich Datenspeicher-Geräten) logische Einheiten - so genannte Pools (bzw. zPools) - gebildet, welche optional auch ausfallsicher ausgelegt sein können (RAID). Innerhalb eines Pools können dann beliebig viele logische Partitionen (mit je einem Dateisystem) angelegt werden, wobei diese, soweit es die Größe des Pools zulässt, dynamisch wachsen, aber auch verkleinert werden können. Um administrative Einschränkungen durchzusetzen, kann für jede logische Partition eine minimale und maximale Größe vorgegeben werden. Die logischen Partitionen können dabei in eine hierarchische Struktur eingebettet werden, innerhalb derer diese und andere Parameter auch vererbt werden können. Weiterhin ist es möglich, Datenbereiche aus Pools als dezidierte „Block-Devices“ (siehe auch Datenblock-orientierte Geräte) zur Verfügung zu stellen.
Die zweite Besonderheit von ZFS ist die besonders einfache Administration. Um einen Pool über mehrere Festplatten zu erzeugen und auf diesem eine Partition anzulegen, werden lediglich zwei einfach strukturierte Befehle benötigt. Das Partitionieren, Aufbauen des logischen Volumens und schließlich das Einhängen ins bestehende Dateisystem werden automatisch erledigt, können aber bei Bedarf auch manuell vorgenommen werden.
Wie bei einem klassischen Volume-Manager können die zugrunde liegenden Pools ausfallsicher angelegt sein. Hierzu werden aus mehreren physischen Datenträgern per Software-RAIDsogenannte Redundanz-Gruppen gebildet, eine oder mehrere dieser redundanten Gruppen bilden dann einen ausfallsicheren Pool. Das in das Dateisystem integrierte RAID-Subsystem bietet gegenüber klassischen Hardware- oder Software-Raid-Implementierungen den Vorteil, dass durch das integrierte RAID-System zwischen belegten und freien Datenblöcken unterschieden werden kann und somit bei der Rekonstruktion eines Raid-Volumens nur belegter Plattenplatz gespiegelt werden muss, hieraus resultiert im Schadensfall, besonders bei wenig gefüllten Dateisystemen, eine enorme Zeitersparnis. ZFS stellt mehrere RAID-Level zur Auswahl. Bei der Spiegelung (RAID-1) bilden zwei (oder mehr) Festplatten eine gespiegelte Redundanz-Gruppe, wobei die Daten zweimal oder öfter gespeichert werden können. Weiter gibt es zwei RAID-Z genannte Implementierungen. RAID-Z1 arbeitet ähnlich wie RAID-5, RAID-Z2 entspricht weitestgehend RAID 6. Bei RAID-Z1 bilden drei (oder mehr) Festplatten die Redundanz-Gruppe, dabei sind die Daten wie bei einem RAID 5 System paritätsgesichert, so dass eine der Festplatten ausfallen kann, ohne dass dabei Datenverluste entstehen. Durch das integrierte Design des ZFS wird jedoch im Gegensatz zu RAID-5 kein batteriegepufferter Speicher (NVRAM) benötigt, da keine Schreiblücke (write hole) zwischen Daten-Schreiben und Parity-Schreiben auftritt. Die RAID-Z2 genannte, ebenfalls schreiblückenfreie Implementierung von RAID-6 ist seit Solaris Express 47 verfügbar. Seit Juli 2009 ist auch RAID-Z3, also eine RAID-Z-Implementierung mit 3 Paritätsbits, verfügbar.[3] Die Geschwindigkeitsoptimierung durch parallelen Zugriff (RAID-0 – Striping) wird von ZFS automatisch vorgenommen.
Die Copy-on-Write-Mimik von ZFS erlaubt es, sehr effizient Snapshots zu erstellen, dies geschieht praktisch sofort und das Dateisystem bleibt online. Ein Snapshot friert den aktuellen Dateisystemzustand ein, darauf folgende Schreiboperationen repräsentieren jeweils die Differenzen zum letzten Snapshot. ZFS-Snapshots können zum Lesen gemountet oder auch archiviert (zfs send) werden, des Weiteren gibt es ZFS-Clones, diese entsprechen einem beschreibbaren Snapshot.[4]
Neben den Möglichkeiten, Daten gegen Festplattenausfälle zu sichern, wird außerdem jeder einzelne Block im Dateisystem mit einer Prüfsumme versehen, so dass Datenfehler im Dateisystem (z. B. verursacht durch Datenübertragungsfehler) automatisch erkannt und ggf. ohne manuellen Eingriff behoben werden können. Der Performance-Verlust ist dabei minimal. Auch stellt ZFS sicher, dass der Zustand des Dateisystems zu jeder Zeit konsistent ist und deshalb auch beispielsweise nach einem Stromausfall kein Überprüfen des Dateisystems (per fsck) notwendig ist.
Im Oktober 2009 wurde Deduplizierung für ZFS freigegeben.[5] Dadurch werden Blöcke mit identischem Inhalt nur noch einmal physisch abgelegt, was in vielen praktisch relevanten Anwendungsfällen hilft, Plattenplatz zu sparen. Ein typischer Anwendungsfall ist das Anlegen von virtuellen Festplatten für virtuelle Maschinen, die jeweils alle eine Installation eines virtualisierten Betriebssystems enthalten.
Weiterhin ist ZFS ein relativ schnelles Dateisystem; aufgrund der integrierten RAID-Funktionen und End-To-End-Checksummen kommt es jedoch in der Geschwindigkeit auf älteren bzw. langsameren Systemen nicht an einfachere Dateisysteme heran, wobei die Performance von ZFS auch davon abhängig ist, welche RAID-Funktionalität genutzt wird und ob die einzelnen Platten unabhängig voneinander und gleichzeitig Daten transferieren können.
ZFS ist für sehr große Datenmengen ausgelegt, was durch die durchgängige Verwendung von 128-Bit-Zeigern erreicht wird. In der Praxis sind die Grenzen jedoch mit denen eines 64-Bit-Dateisystems vergleichbar. Bei der Implementation unter Solaris und beispielsweise auch FreeBSD werden 64-Bit-Datentypen verwendet, da es in C derzeit keine 128-Bit-Datentypen gibt. Im Wesentlichen werden die ersten 64 Bits des Zeigers immer zusammen mit 64 Nullen abgespeichert, die bei der Verarbeitung ignoriert werden. Das ermöglicht es, bestehende Dateisysteme später als echte 128-Bit-Dateisysteme weiterhin verwenden zu können. Die Kapazität von ZFS ist so ausgelegt, dass sie für immer ausreicht.
Bei einer vollen Ausnutzung der 128 Bit entspräche die theoretische maximale Kapazität 281 Billionen YiB.


Ein weiterer vorteil liegt wohl darin dass du die Volumes einfach importieren kannst sollte einmal was mit deiner Hardware passieren. Ein RAID von einem Raid Controller der gestorben ist kannst du nicht so einfach rekonstruieren, vor allem wenn es ein komplexeres Raid als Raid1 ist.

@Atomic:
wenn Du ein NAS mit 8 Festplatten betreiben willst solltest Du statt des RAID-10 lieber auf RAID-6 gehen, um nur zwei HDDs "Verlust" zu haben.

Sehe ich ähnlich allerdings Achtung mit Raid6 meines wissen nach ist es so dass RAID 6 die Änderungen auf der Parität im Hintergrund wegschreibt. Dies beschleunigt das schreiben. Im Falle eines Stromausfalles wäre das eine Katastrophe. Deshalb wird auch empfohlen beim Einsatz von Raid6 immer eine USV zu nutzen.

Ausserdem ist die CPU Belastung bei 8 Festplatten recht hoch, weshalb Du darüber nachdenken solltest doch den RAID Controller das berechnen zu lassen.

Dies sehe ich nicht ganz so denn auf einem Atom System mit 8 Platten können hohe read/write Leistungen erzeugt werden ohne dass die CPU dabei zu sehr ins schwitzen kommt.

Auch nochmal hervorgehoben sei der Vorteil von ZFS das jedeer Block eine Prüfsumme hat. Dies bedeutet dass das System merkt wenn wo was nicht stimmt und dies selbsttätig wieder beheben kann.

Die Frage ist doch warum mann sich das ein ZFS System aussucht um dann mit Hardware Raid zu arbeiten?!

Eine günstige alternative für deinen RAID Controller wäre ein SAS Expander (HP).
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Das war ja auch der ursprüngliche Grund für den kauf des Controllers. Schließlich hat die CPU nur 2x1,6 GHz. In den nächsten Tagen werde ich die letzte HDD haben und dann kann es losgehen. Ich freu mich schon. Hab da nämlich sofort ein Attentat auf euch vor :p
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Ich würde zumindest einmal den ZFS-Betrieb testen, dann siehst du ja ob du mit der Geschwindigkeit zufrieden bist.
Falls es dir zu langsam ist, kannst du immer noch auf ein Hardware-RAID umsteigen.
 

wussy

Explorer
Joined
Jan 11, 2012
Messages
50
Sehe ich genauso Thumbs up
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Sooooo Freunde der Nacht...
Habe jetzt meine achte und letzte Platte und direkt mal ins BIOS des Raid Controllers eingestiegen. Wenn ich nun alle Platten markiere, habe ich folgende Raid Modi zur Auswahl:
Stripe (RAID 0)
RAID 5
RAID 6
RAID 10
RAID 50

Habe alle acht Platten mal markiert und bin zu folgenden Ergebnissen gekommen:

RAID5 = 19,09 Tb
RAID6 =16,37 Tb
RAID10 = 10,91 Tb
RAID50 = 16,37 Tb

Was meint ihr?
Mein Favorit wäre ja Raid5 um so viel Kapazität wie nur möglich heraus zu holen.
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Ok dann brauche ich jetzt die erste große Hilfe.
Also alle Platten werden im Postscreen angezeigt. So weit, so gut. Allerdings, wenn ich nicht ins BIOS des controllers gehe und da ein raid erstelle, habe ich auch keine Möglichkeit, einen Datenträger in freenas auszuwählen geschweige denn finden zu können.
Diese Möglichkeit habe ich erst, wenn die Platten im Controller BIOS in irgendein Raid erstellt wurden. Also aus dem stehgreif präsentiert mir der controller unter freenas nichts.
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Ich kenne den Controller nicht, und googlen gibt mir widersprüchliche Infos. Du musst dafür auf jeden Fall den "ATA pass-through mode" aktivieren (wahrscheinlich im BIOS des Controllers?). FreeBSD 9 scheint den Controller zu unterstützen, es kann aber sein, dass der entsprechende Treiber nicht in FreeNAS enthalten ist. Daher musst du das erst ausprobieren:
Also 1. ATA pass-through aktivieren und 2. schauen ob FreeNAS die einzelnen Festplatten erkennt. Falls nicht poste hier mal den Inhalt von "dmesg", kannst du auch aus der GUI bekommen: http://doc.freenas.org/index.php/Settings "Save Debug".
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Also hab mich tot gesucht aber nichts von ATA pass-through oder ähnlichem zu finden... kann man Treiber irgendwie nachinstallieren?
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Kannst du nach dem Starten mal die Ausgabe von dem Command dmesg hier in [code ]-Tages reinstellen? Daran kann man sehen, ob FreeNAS den Controller erkennt. Du kannst die Ausgabe auch in eine Datei umleiten: dmesg > /path/file.
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Ok warri jetzt wird es heikel....
Kannst mir schritt weise erklären wo ich draufklicken muss und welche Eingabe und Aktion ich machen muss? *liebguck*
 

warri

Guru
Joined
Jun 6, 2011
Messages
1,193
Ok, seit FreeNAS 9.x gibt es auch eine einfachere Methode aus der GUI: System → Settings → Advanced → Save Debug
Dort bitte Dump Hardware Configuration und Dump System Information aktivieren und die txt Datei dann hier anhängen.
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Ok, danke für diese super Schritt für Schritt Anleiteung. Ich hoffe du kannst damit etwas anfangen, was uns ein wenig Klarheit verschafft.
 

Attachments

  • debug-freenas-20131023175325.txt
    76.1 KB · Views: 271

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Hab mal selbst ein wenig gestöbert:


3ware device driver for 9000 series storage controllers, version: 3.80.06.003
twa0: <3ware 9000 series Storage Controller> port 0xe000-0xe0ff mem 0xd0000000-0xd1ffffff,0xfea20000-0xfea20fff irq 16 at device 0.0 on pci1
twa0: INFO: (0x15: 0x1300): Controller details:: Model 9650SE-12ML, 12 ports, Firmware FE9X 4.10.00.027, BIOS BE9X 4.08.00.004

Also erkannt wird der kleine ja scheinbar.... bin echt am verzweifeln, denn die Controller von 3ware scheinen eigentlich TOP zu sein.
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Moin nexo1985,

der LSI/3ware Controller zeigt nur Festplatten an die in irgendeiner Form eingebunden sind. Du musst auf den Controller zugreifen und alles Platten in den JBOD modus setzten, wenn Du deinen Controller NICHT als RAID-Controller nutzten willst. Wenn Du das RAID vom Controller steuern lassen willst musst Du alle HDDs in ein gemeinsames RAID (z.B. RAID-6) einbinden.

Die 3ware CLI kannst Du von der FreeNAS Konsole mit .tw aufrufen.
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
Und wie genau mache ich das mit dem .tw? Es ist mir ehrlich gesagt etwas peinlich, das ganze ich mein, ich komme hier her und heule euch die ohren zu, ohne mich vorher genaustens in FreeNAS einzulesen. Ist normalerweise gar nicht meine Art.
Wenn ich jetzt alle Platten in den JBOD Modus setze, heißt das dann nicht, dass ich ein Gesamtvolumen von 24 TB habe?

Wollte ja nur auf gut deutsch, Raid 10 oder ähnlich vorteilhaftes nutzen, damit im Falle eines HDD Ausfalls immer noch ein Image zum Recovern bzw wiederherstellen rebuild habe.
 

PrincePaul

Patron
Joined
Feb 26, 2012
Messages
225
Also wenn würd ich auch ein RAID6 bzw. RAID Z2 empfehlen, da du ja eine gerade Anzahl an Platten verwendest.
Das Problem ist nämlich wenn du RAID5 mit 8 Platten nutzt kommt das mit den Blockgrößen die FreeNAS bzw. der Raidkontroller erzeugt nicht genau hin.

Bin ehrlich gesagt bissl zu doof das jetzt verständlich zu erklären und hab dir mal kurz was von wikipedia angehängt, dazu findest aber auch zuhauf Artikel im Internet, wende googelst nach Raid 5 mit gerade Anzahl von HDD´s:

Einfluss auf die Write-Performance
Im Unterschied zur Read-Performance ist das Ermitteln der Write-Performance bei RAID 5 deutlich komplizierter und hängt sowohl von der zu schreibenden Datenmenge, als auch von der Anzahl der Platten ab.[2]Ausgehend von Festplatten mit weniger als 2TB Plattenplatz, ist die atomare Blockgröße (auch Sektorgröße genannt) der Platten häufig 512 Byte (sieheFestplatte: Speichern und Lesen von Daten). Geht man weiter von einem RAID-5-Verbund mit 5 Platten (4/5 Daten und 1/5 Parität) aus, so ergibt sich folgendes Szenario: Will eine Anwendung 2048 Byte schreiben, wird in diesem günstigen Fall auf alle 5 Platten genau je ein Block zu 512 Byte geschrieben, wobei einer dieser Blöcke keine Nutzdaten enthält. Im Vergleich zu RAID 0 mit 5 Platten ergibt sich daraus eine Effizienz von 80 % (bei RAID 5 mit 3 Platten wären es 66 %). Möchte eine Anwendung nur einen Block von 512 Byte schreiben, so ergibt sich ein ungünstigerer Fall, es müssen zuerst der abzuändernde Block und der Paritätsblock eingelesen werden, danach wird der neue Paritätsblock berechnet und erst dann können beide 512-Byte-Blöcke geschrieben werden. Das bedeutet einen Aufwand von 2 Lesezugriffen und 2 Schreibzugriffen, um einen Block zu speichern. Geht man vereinfacht davon aus, dass Lesen und Schreiben gleich lange dauern, so beträgt die Effizienz in diesem ungünstigsten Fall, dem sogenanntenRAID 5 write Penalty, noch 25 %. In der Praxis wird dieser Worst-Case-Fall bei einem RAID 5 mit 5 Platten aber kaum eintreten, denn Dateisysteme haben häufig Blockgrößen von 2 kB, 4 kB und mehr und zeigen daher praktisch ausschließlich das Well-Case-Schreibverhalten. Gleiches gilt analog für RAID 5 mit 3 Platten. Unterschiedlich verhält sich hingegen etwa ein RAID-5-System mit 4 Platten (3/4 Daten und 1/4 Parität), soll hier ein Block von 2048 Byte geschrieben werden, sind zwei Schreibvorgänge notwendig, es werden dann einmal 1536 Byte mit Well-Case-Performance geschrieben und noch einmal 512 Byte mit Worst-Case-Verhalten. Diesem Worst-Case-Verhalten wirken zwar Cache-Strategien entgegen, aber dennoch ergibt sich hieraus, dass bei RAID 5 möglichst ein Verhältnis von zwei, vier oder auch acht Platten für Nutzdaten plus einer Platte für Paritätsdaten eingehalten werden sollte. Daher haben RAID-5-Systeme mit 3, 5 oder 9 Platten ein besonders günstiges Performanceverhalten.
 

nexo1985

Dabbler
Joined
Oct 3, 2013
Messages
38
ok.... nun nochmal die Preisfrage. Kann ich, sowohl den Raidcontroller als auch freenas das handeln lassen? Also der Controller soll das berechnen und ausführen, aber freenas soll dem controller sagen was er tun soll...quasi verwalten. Habe mir den Controller nur zugelegt, um auf 8 ports zu kommen und damit die CPU entlastet wird.
 

PrincePaul

Patron
Joined
Feb 26, 2012
Messages
225
Nein das geht soweit ich weißt nicht, entweder nutzt den Controller als RAID Controller und entlastest die CPU oder du nimmst ihn als Sata Erweiterungs Karte und lässt FreeNAS alles machen aber auf kosten von viel RAM und CPU Leistung, welche sich aber solange du keine Verschlüsselung nutzt in Grenzen halten sollte... auch bei deinem CPU
 

Atomic

Contributor
Joined
Oct 20, 2012
Messages
160
Moin nexo1985,

gehe mal auf die Shell in deinem FreeNAS. Am besten über SSH, dass ist am bequemsten und dann gib mal tw_cli ein. Dann müsste sich der Promt ändern und etwa so aussehen: >tw

Bei deiner RAID-Karte war bestimmt auch eine Bedienungsanleitung dabei, die hilft meisten auch weiter. ;)
 
Status
Not open for further replies.
Top