Parität Sinn? Cache und mehr? BTRFS?


Recommended Posts

Hi,

 

ich habe drei fragen an euch.

 

1. Macht die Parität überhaupt sinn?

 

Ich habe zwei 14TB WD RED Platten. So wie ich es verstehe ist die Parität nichts anderes als ein RAID ersatz, dass bei einem HDD Ausfall über die Metadaten die Platte wiederhergestellt wird.

 

Ich lese immer wieder das es sehr lange dauert (Stunden).

 

Wäre es nicht sinvoller eine oder mehrere kleinere hdds fürs incrementälles rsync Backup nehmen? Man wäre flexibler anstatt 14TB zu verbraten.

Bei einem Ausfall würde es genauso lange dauert oder vielleicht doch kürzer?

 

2. Wenn appdata etc. auf dem cache liegt, werden die daten ebenfalls über die Parität gesichert?

 

Wäre es nicht sinnvoller im Array eine SSD dafür zu vewenden, anstatt die cache SSD/NVMe?

Was ist wenn ich das cache laufwerk tauschen möchte oder sogar ausfällt? Wie geht man da am besten vor?

 

3. Weshalb setzt Unraid standartmäßig xfs ein? Was spricht gegen btrfs?

 

Lg

Edited by guybrush2012
Link to comment
  • guybrush2012 changed the title to Parität Sinn? Cache und mehr? BTRFS?

Moin,

 

Zu 1.:

wie der Name des OS (unRaid) bereits andeutet, ist es eben KEIN RAID.

Das Array lässt sich also "nur" mittels des/der Paritätslaufwerk(e) absichern.

Es gibt auch Leute, die auf die Parität verzichten, und eben nur den Vorteil des Arrays (mehrere Festplatten unerschiedlicher Größe) nutzen.

Wie dann die Datensicherung geschieht, obliegt jedem Einzelnen.

Zum Beispiel, wie von Dir erwähnt, mit rsync.

 

Ich nutze beides. Sowohl die Parität, als auch die Datensicherung mittels rsync von mir besonders wichtigen Daten.

 

Und ja: Die Wiederherstellung der Daten kann bei mehreren TB schon einige Stunden dauern.

Was da mehr Sinn macht, muss jeder für sich entscheiden.

 

Zu 2.:

Der Cache ist nicht durch die Parität geschützt.

Durch den Einsatz mindestens eines zweiten Laufwerkes im Cache erhältst Du aber die Möglichkeit ein RAID zu erstellen.

Bei insgesamt zwei Laufwerken eben RAID1 ab drei wird es ein RAID5 werden.

 

Zu 3.:

XFS soll wohl robuster gegen etwaige Stromausfälle (harter Shutdown) sein. Wenn ich mich recht entsinne @mgutt oder?

Ansonsten empfehle ich auch die Wikipedia-Artikel zu den Dateisystemen.

XFS : u.a. "geeignet für große und kleine Dateien sowie für umfangreiche Verzeichnisse" > eher beim Array anzutreffen

BTRFS : u.a. "effizientes Speichern kleiner Dateien und Verzeichnisse" > eher beim Cache anzutreffen

Edited by saber1
Link to comment
45 minutes ago, guybrush2012 said:

Wäre es nicht sinvoller eine oder mehrere kleinere hdds fürs incrementälles rsync Backup nehmen?

 

Das kommt darauf an ob du ein Backup oder Ausfallsicherheit haben möchtest. Letzteres bietet dir nur eine Parität. Dh die Platte wird bei Defekt von Unraid "simuliert". Das System kann also weiter genutzt werden. Machst du dagegen nur Backups sind die betroffenen Daten erst mal nicht verfügbar, bis du das Backup wiederhergestellt hast. Es kommt also auf deinen Anspruch an. 

 

20 minutes ago, saber1 said:

ab drei wird es ein RAID5 werden.

Das kommt darauf an ob man das auch so eingestellt hat. BTRFS unterstützt auch ein RAID1 auf mehr als 2 Laufwerken. Klingt komisch, ist aber so ^^

 

20 minutes ago, saber1 said:

XFS soll wohl robuster gegen etwaige Stromausfälle (harter Shutdown) sein.

Korrekt. XFS hat auch den kleineren Overhead, da es kein Copy on Write Dateisystem ist. Bei BTRFS werden neue Dateien immer in neue Bereiche geschrieben. Das kann zu einer stärkeren Defragmentierung führen. Auch generiert BTRFS grundsätzlich mehr Metadaten als XFS. Diese sollen bei der Selbstheilung helfen, tun sie aber im Unraid Array nicht, weil man da ja nur "Single" Partitionen hat und kein RAID. Auch sind die in Unraid integrierten Reparatur-Funktionen nur für XFS ausgelegt. In der FAQ wird bei BTRFS zB ein gänzlich anderer Weg über die Kommandozeile empfohlen, wenn man was reparieren möchte:

https://wiki.unraid.net/Check_Disk_Filesystems#Drives_formatted_with_BTRFS

 

Was ich bei BTRFS wiederum mag ist, dass man gelöschte Dateien 1:1 wiederherstellen kann. Bei XFS ist es wie bei allen anderen Dateisystemen, dass die Dateinamen von gelöschten Dateien verloren gehen. BTRFS merkt sich das dagegen alles und kann daher auch gelöschte Dateien mit dem restore Kommando wiederherstellen:

https://btrfs.wiki.kernel.org/index.php/Restore

 

Anfängern würde ich immer zu XFS raten. Wer Erfahrung mit BTRFS hat, der kann auch das nutzen, sollte aber nach jeder harten Abschaltung und jedem Stromausfall einen Scrub ausführen. So meine Erfahrung.

 

56 minutes ago, guybrush2012 said:

Wäre es nicht sinnvoller im Array eine SSD dafür zu vewenden, anstatt die cache SSD/NVMe?

Das geht auch, aber sobald du eine Parität verwendest, wird die SSD durch diese gebremst. Und wer will schon mit 50 bis 80 MB/s auf eine SSD schreiben. Verzichtest du dagegen auf eine Parität, könntest du natürlich diesen Weg gehen.

 

Wir warten alle auf ein Update, wo man mehrere Arrays anlegen kann. Dann könnte man SSDs und HDDs getrennt nutzen. Bis dahin kannst du aber auch über das UD Plugin einfach die SSD außerhalb von einem Pool oder Array mounten. Das UD Plugin erlaubt auch SMB Freigaben. Ist dann aber etwas getrennt von Unraid.

 

 

Vom Prinzip steht dir alles offen. Es gibt auch User, die als Array einen leeren USB Stick verwenden und ihre HDDs / SSDs nur in RAID Pools nutzen. Da ist der Phantasie keine Grenzen gesetzt ;)

 

Link to comment

 

56 minutes ago, guybrush2012 said:

Ich lese immer wieder das es sehr lange dauert (Stunden).

Bei 14TB sogar Tage ;-)

Das liegt aber nicht nur an unraid, sondern an der Geschwindigkeit der Disks, bei diesen Dimensionen. Aber bei einem "Mirror" geht es im Falle des Falles schneller.

Dies ist übrigens ein weiteres Risiko bei grossen HDDs und vielen Disks im Array. Fällt eine Disk aus und Parity übernimmt bzw. wird die neue Disks neu aufgebaut steigt das Risiko, dass in dieser Zeit (die "alte" Parity und die verbleibenden Disks haben ja auch Stress) nochmal was passiert.

Vor allem wenn es alles Disks aus der gleichen Serie und Fertigungswoche sind ;-)

 

56 minutes ago, guybrush2012 said:

3. Weshalb setzt Unraid standartmäßig xfs ein? Was spricht gegen btrfs?

Der Vorteil der Selbstheilung in einem BTRFS-Raid (Metadaten auf mehrere Disks verteilt, zur Rekonstruktion) ist im Array nicht gegeben.

Obwohl BTRFS auf den Disks eingesetzt wird, bleibt jede Disks individuell. Allein das copy-on-write Feature bleibt bestehen, wenn also Files verändert werden.

Link to comment

Ok, gut. Das die Parität hdd die SSDs im Array ausbremst, hatte ich nicht auf dem Schirm.

Funkioniert die snapraid technik genauso?

 

Die daten auf dem cache laufwerk, wie z.B. "appdata" sind die noch woanders -auf dem array- vorhanden?

Wenn nein, müsste ich ein regelmäßiges Backup davon machen, um bei Ausfall alle Docker Container Konfigurationen wiederherstellen zu können.

 

Kann ich die cache nvme austauchen? Wie ist da die vorgehensweise?

 

Danke übrigens für die bereits erhaltenen zahlreichen Antworten. Das hier ist ein tolles Forum 🙂

Edited by guybrush2012
Link to comment
1 hour ago, Ford Prefect said:

Bei 14TB sogar Tage ;-)

 

Was hast du für lahme Platten? Mit 18TB dauert es bei mir 24 Stunden. Mit 12TB dauerte es 18 Stunden.

 

10 minutes ago, guybrush2012 said:

Funkioniert die snapraid technik genauso?

Ähnlich, aber nicht live. Dadurch ist bei Snapraid bei bereits einer geänderten Datei die Parität kaputt. Allerdings läuft die Parität dort dateibasiert. Also nicht alle Dateien wären dadurch direkt verloren. Ich hatte das hier mal genauer recherchiert:

https://forums.unraid.net/topic/100725-solved-wie-funktioniert-snapraid/

 

 

12 minutes ago, guybrush2012 said:

Die daten auf dem cache laufwerk, wie z.B. "appdata" sind die noch woanders -auf dem array- vorhanden?

Nein, nur 1x vorhanden:

https://forums.unraid.net/topic/99393-häufig-gestellte-fragen/?tab=comments#comment-951565

 

 

13 minutes ago, guybrush2012 said:

Wenn nein, müsste ich ein regelmäßiges Backup davon machen, um bei Ausfall alle Docker Container Konfigurationen wiederherstellen zu können.

Korrekt. So mache ich das zB mit diesem Script:

https://forums.unraid.net/topic/97958-rsync-incremental-backup/

 

Oder du installierst wie bereits empfohlen wurde eine zweite SSD und betreibst den Cache im RAID1.

 

13 minutes ago, guybrush2012 said:

Kann ich die cache nvme austauchen? Wie ist da die vorgehensweise?

Docker und VM Dienste deaktivieren, Appdata usw auf "yes" stellen, den mover starten, damit er die SSD auf das Array leert, noch mal prüfen ob wirklich alles runter ist und dann kannst du runterfahren und tauschen.

 

 

Link to comment
1 hour ago, mgutt said:

Was hast du für lahme Platten? Mit 18TB dauert es bei mir 24 Stunden. Mit 12TB dauerte es 18 Stunden.

....alte ;-)

Ganz erhlich, ich habe habe auf diesem Array, das nun ca. 5 Jahre läuft (16x3TB, 2xParity, vollverschlüsselt) noch nie einen Rebuild machen müssen^^.

Der Parity-Check dauert 20h auf meinem kleinen Opteron 4C.

Link to comment
On 5/6/2021 at 1:00 PM, mgutt said:

Docker und VM Dienste deaktivieren, Appdata usw auf "yes" stellen, den mover starten, damit er die SSD auf das Array leert, noch mal prüfen ob wirklich alles runter ist und dann kannst du runterfahren und tauschen.

Also ich kann auf yes stellen was ich will, der mover macht absolut garnichts 🙂

 

 

Cache_yes.PNG

 

Edit: Toll jetzt hab ich mein komplettes disk1 (ssd) gelöscht, wiel handieren auf der commandozeile.  😞

Edited by guybrush2012
Link to comment
2 minutes ago, Morrtin said:

Da ich in deinem Screenshot den Menüpunkt VMS sehe nehme ich einmal frecher Weise an du hast (zumindest) nicht die VMS beim moven deaktiviert gehabt.

 

Und ein Krusader Docker ist in einer Minute aufgesetzt...

 

Keine Ahnung. VMs hatte ich keine und den docker dienst hatte ich deaktiviert. Ich verstehe es nicht.

 

Auf jedenfall hab ich aus versehen ein rm -rf /mnt/disk1 ausgeführt 🙂

Muss jetzt wieder alles von vorne einrichten. 😅

Link to comment
  • 2 years later...
On 5/6/2021 at 11:38 AM, mgutt said:

 

 

Das kommt darauf an ob man das auch so eingestellt hat. BTRFS unterstützt auch ein RAID1 auf mehr als 2 Laufwerken. Klingt komisch, ist aber so ^^

Ich hätte dazu eine Frage. Was passiert wenn im BTRFS Raid 1 eine Platte kaputt geht? Kann ich die im Betrieb einfach austauschen? Meldet mir Unraid dies überhaupt? 

Bei mir habe ich zum testen mal 2x 1,2TB SAS mit 12BGit/s am laufen um die Zugriffsgeschwindigkeit zu testen.

LG Zero

Edited by zero_neverload
Link to comment

Wenn du es genau wissen willst, könntest du mit dd eine der beiden SSD kaputt schreiben und dann warten was passiert.

 

Führe folgendes Kommando aus:

lsblk

 

Das zeigt dir alle Partionen. Sagen wir es waren zwei NVMe, dann zeigt er zb den Namen "nvme1n1p1" als Namen der 1. Partion von der zweiten NVMe. Den Namen sieht man auch im unRAID Dashboard.

 

Jetzt könnte man ganz am Anfang der Partition 10MB zufällige Daten drauf schreiben:

 

dd if=/dev/random of=/dev/nvme1n1p1 bs=1M count=10

 

Bei einer SATA SSD ist es statt nvme1n1p1 irgendwas mit /dev/sdX

 

Damit ist die Partition zerstört. Nun schauen was passiert. Nutzung natürlich auf eigene Gefahr. Falsche Partition beschrieben und weg sind deine Daten! Also lieber 3x auf Schreibfehler prüfen.

 

So könnte man zum Test einfach nur von der Partition lesen und im Dashboard sieht man dann den Lesezugriff:

 

dd if=/dev/nvme1n1p1 of=/dev/null bs=1M count=1000

 

Dann weiß man verbindlich, dass man den richtigen Namen genommen hat.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.