it-swarm.com.de

RAID-Beratung mit SSD und zwei HDD

Ich habe eine neue Maschine mit einer 128 GB SSD und zwei 1 TB HDD. Auf der SSD befindet sich das Betriebssystem und mein erster Gedanke war, die beiden Festplatten in RAID 1 für Benutzerdaten zu setzen.

Nach ein paar weiteren Überlegungen habe ich mir zwei andere Setups ausgedacht und jetzt bin ich im Zweifel :) Kann jemand raten, welches das beste Setup wäre?

1: einzelne SSD und HDD in RAID 1 (ursprünglicher Gedanke)

2: Erstellen Sie 2 Partitionen auf der Festplatte (128 GB und 872 GB). Setzen Sie die beiden 872 GB in RAID 1 ein und erstellen Sie ein weiteres RAID 1 mit der SSD und einer 128 GB-Festplattenpartition.

3: Erstellen Sie 2 Partitionen auf der Festplatte (750/250), stellen Sie die 705 GB in RAID 1 und verwenden Sie die 2 250 GB als Backup und erstellen Sie automatische Snapshots der SSD für (eine) dieser Partitionen.

Ich denke, die 2 Hauptfragen sind:

Ist es ratsam, ein RAID-Array mit nur einem Teil eines Laufwerks zu erstellen und den anderen Teil dieses Laufwerks aktiv zu verwenden, oder sollten Sie immer die gesamte Festplatte verwenden?

Ist es ratsam, ein RAID 1-Array mit einer SSD und einer Festplatte zu erstellen, oder wird dies den gesamten Geschwindigkeitsvorteil der SSD zunichte machen?

2
Nin

Ist es ratsam, ein RAID-Array mit nur einem Teil eines Laufwerks zu erstellen und den anderen Teil dieses Laufwerks aktiv zu verwenden, oder sollten Sie immer die gesamte Festplatte verwenden?

Es wird immer empfohlen, so viele ähnliche Geräte wie möglich zu verwenden. Ich bin mir nicht sicher, wie viel von diesem Rat Aberglauben ist, aber schauen wir uns das zuerst an:

Ist es ratsam, ein RAID 1-Array mit einer SSD und einer Festplatte zu erstellen, oder wird dies den gesamten Geschwindigkeitsvorteil der SSD zunichte machen?

Tu das nicht, du wirst die Geschwindigkeit sprengen. Abgesehen von der Tatsache, dass es sich um verschiedene Geräte usw. handelt, bin ich mir ziemlich sicher, dass Ihre Geschwindigkeit sinken wird, da Sie mit der Geschwindigkeit der langsamsten Festplatte arbeiten werden -> Ihre SSD-HDD-Kombination wird es sein langsamer als deine SSD:

Sie sollten das NICHT mit Ihrer SSD machen. Ihre erste Option ist die beste. Gönnen Sie sich einen sicheren Benutzerspeicherplatz und eine schnelle Systemfestplatte. Sichern Sie diese Festplatte. (Denken Sie daran, RAID ist keine Sicherungsstrategie.)

2
Nanne

Die erste Möglichkeit ist nicht ganz doof. "Hybrid RAID1" funktioniert bei ordnungsgemäßer Konfiguration. Ich habe dieses Setup selbst ausgeführt, bis meine SSD sich seltsam verhält und aus der Box gewechselt ist.

In diesen Artikeln finden Sie Anleitungen:

http://tansi.info/hybrid/

http://www.vinsec.net/2012/05/hybrid-hdd-ssd-raid1.html

https://superuser.com/questions/293144/combining-ssd-and-hard-disk-in-software-raid1

3
humppe

Ich möchte dem Pool möglicher Lösungen eine andere Empfehlung hinzufügen. Ich würde Ihnen empfehlen, Ihr Setup auf btrfs 'Subvolume- und Snapshot-Fähigkeiten in Kombination mit einem btrbkcronjob aufzubauen.

Das Einrichten ist nicht unbedingt trivial, sondern hängt weitgehend von Ihren Fähigkeiten und Ihrer vorherigen Erfahrung ab. Es gibt eine Menge Literatur im Internet, die Ihnen helfen wird. Am Ende werden Sie mit einer sehr flexiblen und schnellen Möglichkeit belohnt, Ihre SSD regelmäßig mit einer Vielzahl von Optionen zu sichern, um eine Lösung zu erstellen, die perfekt zu Ihren Anforderungen passt.

Achtung: Jede Form von Raid kann und sollte niemals reguläre Backups ersetzen. (Glücklicherweise kann btrbk leicht auf externe Laufwerke oder ssh-erreichbare Hosts erweitert werden, siehe sein Handbuch )

Allgemeine Einrichtung

Die allgemeine Idee meines Vorschlags ist, die SSD als Ihr BTRFS-Systemlaufwerk zu verwenden, das Ihr Stammverzeichnis und die zugehörigen Subvolumes sowie die beiden Festplatten in einem BTRFS-RAID1 als Ihr Daten- und Sicherungslaufwerk enthält.

Zusammen mit btrbk können Sie so automatisierte inkrementelle Sicherungen Ihrer System-SSD auf Ihren Backup-Festplatten durchführen. Und da die Festplatten als Spiegel eingerichtet sind, werden alle Ihre Backups ebenfalls gespiegelt.

Darüber hinaus können Sie mit der btrfs-Funktion zum Senden und Empfangen von Subvolumes (mit der btrbk Backups erstellt) Ihre Daten und Backups frei zwischen Ihrem System und dem Datenlaufwerk verschieben. Auf diese Weise können Sie die auf der schnellen SSD gespeicherten Daten ändern und gleichzeitig versionierte und gespiegelte Sicherungen aller Ihrer Daten beibehalten.

Setup btrfs

Um zu beginnen, müssen Sie entweder Ubuntu auf der SSD neu installieren und btrfs als Root-Dateisystem auswählen oder Ihr vorhandenes Installationsdateisystem in btrfs konvertieren. Beide Möglichkeiten werden auf der buntu-Community-Hilfeseite zu btrfs beschrieben. Dies ist im Allgemeinen eine gute Lektüre, wenn Sie gerade mit btrfs unter Ubuntu beginnen.

Als nächstes müssen Sie die Festplatten mit dem folgenden Befehl in ein btrfs raid1 verwandeln, wobei _/dev/sdx_ und _/dev/sdy_ die beiden Laufwerke sind (Alle Daten auf diesen Laufwerken sind verloren!) :

_mkfs.btrfs -d raid1 /dev/sdx /dev/sdy
_

Wenn Sie mit Snapshots oder BTRFS noch nicht vertraut sind, empfehle ich Ihnen, sich in diesem Moment mit den Unterschieden zwischen Ordnern, Subvolumes und Snapshots vertraut zu machen und einige der Befehle auszuprobieren, bevor tatsächliche Daten in Ihren RAID1 geschrieben werden.

Es gibt viele Möglichkeiten, wie Sie Ihre Daten organisieren können. Einige Beispiele finden Sie im Sysadmin-Handbuch des btrfs-Kernel-Wikis.

Eine Möglichkeit, dies zu tun, besteht darin, Ihr btrfs-Stammverzeichnis (subvolid _0_ oder _5_) irgendwo einzuhängen und damit Ihre Subvolumes und Snapshots zu verwalten und darüber hinaus alle Daten in geeigneten Subvolumes zu speichern. die Sie an geeigneten Stellen in Ihrem Dateisystem einhängen. Auf diese Weise können Sie nach Belieben Schnappschüsse erstellen, Daten verschieben, wiederherstellen und ersetzen.

Für Ihr konkretes Beispiel könnte dies Folgendes bedeuten (alle Befehle sollten als root/mit Sudo ausgeführt werden):

  • Hängen Sie das System-BTRFS-Stammverzeichnis (_subvolid=0_) in _/btrfs/system_ ein.
  • Mounten Sie Ihre Daten btrfs raid1 root (_subvolid=0_) zu _/btrfs/data_

Anstatt diese Volumes manuell zu mounten, fügen Sie sie vor dem Mounten zu Ihrem fstab (_/etc/fstab_) hinzu, damit sie auch beim Booten gemountet werden. Ich würde empfehlen, sie anhand ihrer UUID einzuhängen, die Sie durch Ausführen von _Sudo btrfs filesystem show_ abrufen können.

_UUID=<UUID of system> /btrfs/system btrfs defaults,subvolid=0 0 0
UUID=<UUID of data> /btrfs/data btrfs defaults,subvolid=0 0 0
_

Nun montiere sie mit:

_Sudo mkdir /btrfs
Sudo mkdir /btrfs/data
Sudo mount /btrfs/data
Sudo mkdir /btrfs/system
Sudo mount /btrfs/system
_

Jetzt können Sie zusätzliche Subvolumes zu jedem der btrfs-Dateisysteme hinzufügen. Ubuntu erstellt normalerweise standardmäßig ein Subvolume für Ihr Root-Verzeichnis _/_ (_[email protected]_) und Ihr Home-Verzeichnis _/home_ (_[email protected]_). Es ist üblich, _/var_ oder _/tmp_ in eigene Subvolumes umzuwandeln oder anwendungsspezifische Subvolumes zu erstellen, z. für _/var/www/_.

Persönlich ziehe ich es vor, alle meine Subvolumes im btrfs-Stammverzeichnis zu speichern und sie mithilfe von mount- und fstab-Einträgen an ihren spezifischen Speicherorten bereitzustellen.

Um beispielsweise ein Subvolume für Ihre Musiksammlung auf der Festplatte raid1 zu erstellen, würde ich Folgendes tun:

_btrfs subvolume create /btrfs/data/@music
_

Ich würde es dann mit dem folgenden fstab-Eintrag in _/music_ mounten:

_UUID=<UUID of data> /music btrfs defaults,[email protected] 0 0
_

Setup von btrbk

Zweitens müssen Sie btrbk für die Subvolumes einrichten, die Sie als Snapshot und Backup auf dem Festplatten-RAID speichern möchten.

Als einfaches Beispiel für die regelmäßige Sicherung von _@_ und _@home_ und die regelmäßige Aufbewahrung des Verlaufs Ihrer Sicherung können Sie Folgendes an _/etc/btrbk.conf_ schreiben:

_# The long timestamp recommended for more then one snapshot a day
timestamp_format        long

# Set time spacing of snapshots kept on SSD
snapshot_preserve_min      2d
snapshot_preserve          7d 4w 3m

# Set time spacing of snapshots kept on HDD raid
target_preserve_min        no
target_preserve            8w *m

snapshot_dir               /btrfs/system/snapshots

volume /btrfs/system
  subvolume @
    target send-receive /btrfs/data/backup/

  subvolume @home
    target send-receive /btrfs/data/backup/
_

Bitte lesen Sie die Btrbk-Dokumentation für alle Details. Außerdem wird erläutert, wie Sie Ihre Daten aus einem Snapshot wiederherstellen können.

Zuletzt müssen Sie btrbk zu Ihrem crontab mit _Sudo crontab -e_ hinzufügen. Z.B. Fügen Sie die folgende Zeile hinzu, um Ihre btrbk-Snapshots und Backups jeden Tag um 12.00 Uhr auszuführen:

_0 12 * * * /path/of/btrbk run
_

Andere Überlegungen

Wechsel

Während in modernen Personalcomputersystemen mit mindestens 8 GB RAM im Allgemeinen immer weniger Auslagerungsspeicher benötigt wird, gibt es immer noch Anwendungsfälle, in denen dies hilfreich sein kann, insbesondere wenn Sie sich auf einem Computer befinden SSD, bei der der Leistungseinbruch beim Tauschen nicht so auffällt. Es wird daher weiterhin allgemein empfohlen, eine Auslagerungsdatei oder -partition einzurichten.

Davon abgesehen btrfs unterstützt keine Swap-Dateien . Das heißt, Sie müssen einen Teil Ihres SSD-Speicherplatzes einer separaten Swap-Partition zuweisen, wenn Sie Swap auf Ihrem System überhaupt verwenden möchten.

btrfs-SSD-Erkennung

Btrfs erkennt automatisch, ob sich ein bereitgestelltes Dateisystem auf einer SSD befindet, und aktiviert in diesem Fall den Verschleißausgleich.

Dies ist jedoch nicht mehr erforderlich, da moderne SSDs sich automatisch abnutzen und gleichzeitig Probleme mit der Fragmentierung des freien Speicherplatzes verursachen. Ich würde Ihnen daher persönlich raten, Ihre SSD mit der Option nossd zu mounten.

Weitere Details finden Sie im btrfs-Kernel-Wiki .

Dateisystemkomprimierung

Btrfs unterstützt die transparente Dateikomprimierung. Durch Hinzufügen der Option compress zu Ihren Mount-Flags werden alle neu geschriebenen Dateien aktiviert.

Um beispielsweise die Komprimierung für das _@music_ -Untervolume zu aktivieren, das ich zuvor als Beispiel verwendet habe, ändere ich meinen fstab-Eintrag in:

_UUID=<UUID of data> /music btrfs defaults,compress,[email protected] 0 0
_

Vergessen Sie nicht, das betroffene Subvolume erneut einzuhängen (auszuhängen und erneut einzuhängen), um diese Änderung anzuwenden.

Bei den neuesten Computern ist der Aufwand für das Komprimieren von Dateien vor dem Schreiben und nach dem Lesen häufig vernachlässigbar. Das Schreiben einer großen, aber gut komprimierbaren Datei auf eine langsame Festplatte kann bei aktivierter Komprimierung sogar schneller sein.

Wenn Sie sich Gedanken über die Geschwindigkeit machen, können Sie mit _compress=lzo_ auch die schnellere, aber weniger effiziente LZO-Komprimierung verwenden.

Weitere Details finden Sie im btrfs-Kernel-Wiki .

Speicherort des Basisordners

Ubuntu legt Ihren Home-Ordner standardmäßig auf dem _@home_ -Untervolume des Systemlaufwerks ab. Wenn Sie zu Ihrem HDD-Spiegel nach Hause ziehen, hängt dies von Ihren persönlichen Vorlieben ab. Sie können es auch auf der SSD belassen und wie oben gezeigt in Ihr btrbk-Backup aufnehmen.

Zeitabstand von Backups

Während in meinem Beispiel die gleichen Aufbewahrungszeiten für alle Subvolumes festgelegt wurden, können Sie in btrbk diese Zeit für jedes dieser Volumes einzeln festlegen.

Sie können btrbk auch mit verschiedenen Konfigurationen (siehe _-c_ Option) in verschiedenen Intervallen ausführen, um noch mehr Kontrolle darüber zu erlangen, welches Sub-Volume mit AMD-Snapshot erstellt oder gesichert wird.

Da Snapshots dank btrfs Copy-on-Write-Funktion schnell erstellt werden, können Sie sogar stündlich einen Snapshot von btrbk erstellen lassen. Übertragen Sie diese jedoch nur einmal täglich für Ordner, die häufig geändert werden, z. B. Ihr Zuhause Mappe.

Bit rot erkennen

Um die BTRFS-Bit-Rot-/Datenkorruptionserkennung (und die automatische Reparatur im Fall Ihres RAID1) zu nutzen, sollten Sie sicherstellen, dass Sie in regelmäßigen Abständen ein BTRFS-Scrub ausführen, z. als Cronjob mit:

_btrfs scrub start /btrfs/system
btrfs scrub start /btrfs/data
_
2
Florian Franzen

Erste Frage

Tun Sie dies aus Leistungsgründen nicht. Dies beeinträchtigt die Leistung, wenn E/A auf der anderen Partition ausgeführt wird. Wenn Sie jedoch nicht auf Leistung, sondern auf Redundanz Wert legen, können Sie dies berücksichtigen.

Zweite Frage

Nein, tu das nicht. Die Kette ist hier so stark wie das schwächste Glied. Ihr Array verhält sich eher wie eine Festplatte und Sie verschwenden eine teure SSD.

Verwenden Sie stattdessen ...

dm-cache oder flashcache (ziemlich fortgeschritten und experimentell). Damit können Sie Ihre SSD als Cache (Lesen und Schreiben) für Ihre langsameren Festplatten verwenden. Enormer Leistungszuwachs und Optimierbarkeit, um ein Gleichgewicht zwischen Haltbarkeit und Leistung zu finden.

Siehe auch: Wie installiere und verwende ich Flashcache/Bcache, um die Festplatte auf SSD zwischenzuspeichern?

2
gertvdijk