Ich habe eine Auswahl an Festplatten mit folgenden Kapazitäten:
1 TB
500 GB
320 GB
250 GB
Ich würde gerne Raid1 daraus machen, in dem Sinne, dass die Kopie aller Daten immer auf zwei von vier Laufwerken gespeichert wird, die ich habe. Das Problem ist, dass alle Laufwerke unterschiedliche Kapazitäten haben. In der Vergangenheit habe ich normales Raid1 mdadm mit 2 x 2 TB und Btrfs mit 2 x 2 TB ausgeführt, nachdem ich von mdadm migriert bin. Ich habe nichts dagegen, mdadm wieder zu verwenden oder Btrfs oder ZFS, obwohl ich davon nichts weiß.
Welches wäre für mich das beste Dateisystem oder Dienstprogramm, das diese Kriterien erfüllt:
- um immer zwei Kopien der Dateien zu haben, damit ich keine Daten verliere, wenn eine Festplatte kaputt geht
- möglichst viel verfügbaren Platz haben und trotzdem die Kriterien aus Punkt 1 erfüllen
Was soll ich verwenden? Ich habe das Gefühl, dass Btrfs Raid1 damit zurechtkommt und genau zwei Kopien jeder Datei auf allen vier Festplatten speichert, aber ich bin mir nicht sicher. Ich habe Linux auf einem AMD64-Computer mit 5.10-Kernel.
Jeder Rat ist willkommen.
BEARBEITEN – LÖSUNG!
Vielen Dank für all Ihre Antworten! Also habe ich mit der Btrfs Raid1-Konfiguration begonnen. Das war ein zeitaufwändiger Prozess, aber sehr schmerzlos, da ich Btrfs bereits kenne und es täglich verwende. Ich dachte, dass mit Raid1 kein physischer Speicherplatz verloren gehen würde, während das Redundanzverhältnis von 2 beibehalten würde. Ich habe diesen Rechner verwendet:https://carfax.org.uk/btrfs-usage/
Meine Gerätegrößen:
931.51 GiB
465.76 GiB
298.09 GiB
232.89 GiB
Total space for files in Raid1 mode: 963 GiB (all space used)
Total space for files in Raid5 mode: 995 GiB (466 GiB unusable on biggest drive)
Mit Raid1 habe ich jetzt 719,5 GiB Daten gespeichert und 241,6 GiB frei, also insgesamt 961,1 GiB, was mit den Angaben des Rechners übereinstimmt. Und ich kann später nach Belieben Laufwerke hinzufügen/entfernen. Erstaunlich.
Ich bin versucht, mich für Raid5 zu entscheiden, da es theoretisch eine vierfache Steigerung der Lesegeschwindigkeit bietet, während Raid1 nur die zweifache Geschwindigkeit bietet. Aber ich habe gehört, dass es im Moment noch etwas experimentell ist und nicht für den täglichen Gebrauch empfohlen wird, stimmt das? Wie ist der Status auf dem 5.10-Kernel, verwendet es jemand und kann seine Erfahrungen teilen?
Nachdem ich das Array erstellt, alle Laufwerke nacheinander hinzugefügt und alle Daten dorthin migriert hatte (ich habe Backups), habe ich eine vollständige Bereinigung durchgeführt und alles ist in Ordnung:
$ sudo btrfs scrub start -Bd /home
Scrub device /dev/sda (id 1) done
Scrub started: Thu Jun 17 10:10:38 2021
Status: finished
Duration: 2:38:51
Total to scrub: 724.03GiB
Rate: 77.53MiB/s
Error summary: no errors found
Scrub device /dev/sdd (id 2) done
Scrub started: Thu Jun 17 10:10:38 2021
Status: finished
Duration: 1:52:39
Total to scrub: 374.03GiB
Rate: 56.57MiB/s
Error summary: no errors found
Scrub device /dev/sdc (id 3) done
Scrub started: Thu Jun 17 10:10:38 2021
Status: finished
Duration: 0:48:06
Total to scrub: 207.00GiB
Rate: 73.09MiB/s
Error summary: no errors found
Scrub device /dev/sdb (id 4) done
Scrub started: Thu Jun 17 10:10:38 2021
Status: finished
Duration: 0:30:00
Total to scrub: 143.00GiB
Rate: 80.89MiB/s
Error summary: no errors found
Sehr glücklich!
EDIT - KOMMENTARE FÜR @Marcus Müller:
„Anmerkungen: Sind Sie sicher, dass Sie das möchten? 320 GB und 250 GB sind wahrscheinlich keine ganz neuen Laufwerke (...)“
Sie haben vollkommen recht, das sind sehr alte Laufwerke! Ich habe meine aktuellen 2x 2TB Seagate Barracuda Compute-Laufwerke, die ich in den letzten Jahren auf Btrfs Raid1 hatte, entfernt, um diese zufälligen 4x alten Laufwerke einzusetzen. Die Barracudas kommen auf meinen Server, der absolute Zuverlässigkeit braucht. Ich habe 2x SSD 250GB für /da (Ext4 mdadm) und 2x HDD TB für /home und /var (Btrfs Raid1) und mit ECC RAM. Zu den ersten beiden kommen noch zwei weitere Barracudas hinzu, für den Btrfs Raid1-Modus oder möglicherweise Raid10 oder Raid5.
Auf meinem Desktop liegen nun 4x alte Laufwerke, sie bestehen aus:
Western Digital Blue Mobile, WDC WD10JPVX-60JC3T0
[1.00 TB, 4K sectors, SATA 3.0, 6.0 Gb/s, 5400 RPM, 2.5"]
Power_On_Hours 2496
Toshiba 2.5" HDD MK..65GSX, TOSHIBA MK5065GSX
[500 GB, 512 sectors, SATA 2.6, 3.0 Gb/s, 5400 RPM, 2.5"]
Power_On_Hours 2519
Seagate Momentus Thin, ST320LT007-9ZV142
[320 GB, 4K sectors, SATA 2.6, 3.0 Gb/s, 7200 RPM, 2.5"]
Power_On_Hours 5152
Seagate Barracuda 7200.12,ST3250318AS
[250 GB, 512 sectors, SATA 2.6, 3.0 Gb/s, 7200 RPM, 3.5"]
Power_On_Hours 6591
Zuverlässigkeit ist eigentlich kein Thema, ich habe Backups, möchte aber nicht zu schnell böse Überraschungen erleben. Eine grundlegende Redundanz von 2.0 erspart mir also den Ärger, dass eines der Laufwerke innerhalb von etwa einem Jahr den Geist aufgibt. Dann baue ich einfach ein oder zwei weitere ein.
Antwort1
Ich würde einfach auf jedem dieser Laufwerke ein physisches LVM-Volume haben:
pvcreate /dev/drive1 /dev/drive2 /dev/drive3 /dev/drive4
Erstellen Sie dann daraus eine Volume-Gruppe:
vgcreate myvolumegroup /dev/drive1 /dev/drive2 /dev/drive3 /dev/drive4
Erstellen Sie abschließend ein logisches Volume, bei dem jeder Block über ein Spiegelbild verfügt:
lvcreate --mirrors 1 -l100%FREE -n myvolume myvolumegroup
herzlichen Glückwunsch! Sie haben jetzt ein Blockgerät, das Sie verwenden können mitbeliebiggewünschtes Dateisystem, zB btrfs oder XFS:
mkfs.xfs /dev/myvolumegroup/myvolume
mount /dev/myvolumegroup/myvolume /mnt
sollte einfach funktionieren.
Bemerkungen: Sind SieSicherdu willst das? 320 GB und 250 GB sind wahrscheinlich keine ganz neuen Laufwerke, und du erhältst nur (160+125) GB = 285 GB zusätzlichen Speicherplatz, wenn du diese möglicherweise sehr alten Laufwerke hier einbeziehst.
Die Verwendung alter Laufwerke widerspricht gewissermaßen dem Grund, warum Sie RAID1 verwenden möchten: Datenverfügbarkeit. Erwägen Sie stattdessen auch die Verwendung von RAID5 ( man lvmraid
könnte Ihnen dabei helfen).
Antwort2
Verwenden Sie es btrfs
, weil es im Gegensatz zu ZFS Laufwerke unterschiedlicher Größe effizient handhaben kann. Sie erhalten ungefähr die Gesamtkapazität aller Laufwerke geteilt durch zwei (mit 2 Kopien für Redundanz). Ungefähr 1 TB. Transparente Komprimierung nicht mitgerechnet.
ZFS erstellt einfach ein vdev mit einer Kapazität vonkleinsteGerät - aber mit 4 Laufwerken würden Sie zwei gespiegelte vdevs erstellen. z. B. ein gespiegeltes 1-vdev mit 1 TB und 500 GB und ein gespiegeltes 2-vdev mit 320 GB und 250 GB. Um den verschwendeten Speicherplatz zu minimieren, können Sie die 1-TB- und 320-GB-Laufwerke so partitionieren, dass sie eine 500-GB-Partition und eine 250-GB-Partition haben, die ihren gespiegelten Laufwerken entsprechen. Das würde dem Pool vor der Komprimierung eine Gesamtkapazität von 750 GB (in einer RAID1+0-ähnlichen Konfiguration) geben. Der verbleibende Speicherplatz (500 GB und 70 GB) auf diesen Laufwerken kann für etwas anderes verwendet werden, z. B. für Dinge, die Sie nicht interessieren, weil sie aus dem Internet heruntergeladen und „im Internet gesichert“ werden.
Wenn Sie es sich leisten können, empfehle ich, das 250-GB-Laufwerk durch ein anderes 1-TB-Laufwerk zu ersetzen. Das wäre großartig für ZFS und ziemlich gut für BTRFS, da es die Kapazität für beide vor der transparenten Komprimierung auf ca. 1,3 TB erhöhen würde. Mit viel weniger „verschwendetem“ Speicherplatz.
Verwenden Sie für RAID-1/Spiegelung nicht LVM oder mdadm, das kann btrfs selbst – und es würde den Zweck der Verwendung eines fehlerkorrigierenden Dateisystems wie btrfs weitgehend zunichte machen.
Funktionen wie Snapshots und transparente Komprimierung würden zwar weiterhin funktionieren, Sie würden jedoch die Möglichkeit verlieren, Fehler auf diesen Dateisystemen zu korrigieren, da Sie ihnen effektiv nur ein einziges Laufwerk zuweisen.
DudürfenVerwenden Sie Software- oder Hardware-RAID unter ZFS oder Btrfs, wenn Sie möchten, aber a) ist es nicht erforderlich und b) ist es keine gute Idee, in der Tat ist es eine schreckliche Idee. Es ist mehr Arbeit und komplexer einzurichten, entfernt eine wichtige Funktion und bietet keinen entsprechenden Vorteil.
Wenn Sie LVM oder mdadm verwenden möchten, verwenden Sie ext4
(oder besser noch xfs
) darüber.
Übrigens glaube ich immer noch nicht, dass ich btrfs für RAID-5/6 vertrauen würde, aber für RAID-1 oder RAID-10 wie Spiegel ist es absolut in Ordnung.