Bin ich wahrscheinlich mit Datenverlust konfrontiert, wenn Sie ZFS send verwenden, um einen Pool auf einen Server ohne ECC-Speicher zu kopieren?

1171
Jay

Ich habe einen OmniOS-Dateiserver mit einem ZFS-raidz2-Array, das ich über Gigabit-Ethernet auf einem anderen Computer sichern möchte. Bei der anderen Maschine handelt es sich um ein Linux-System (Ubuntu 12.04) mit nicht-excc-RAM, das an einen Stapel externer USB 3.0-Festplatten angeschlossen ist. Ich möchte ZFS auf den externen Festplatten der Sicherungsmaschine und ZFS senden / empfangen verwenden, um die Daten zu sichern. Die Datenintegrität und die Verhinderung einer unbeaufsichtigten Dateibeschädigung haben höchste Priorität. Im Idealfall möchte ich die externen Festplatten von der Linux-Maschine auf dem OmniOS-Server so anbringen, als wären es lokale Festplatten (z. B. Zugriff auf tatsächliche Festplattenlaufwerke auf Blockebene), sodass die gesamte zfs-Prüfsumme auf dem OmniOS durchgeführt wird Maschine, weil es 8 CPU-Kerne und ECC-RAM hat, während die Linux-Maschine ein "Desktop" (HTPC) -Doppelkern mit Nicht-ECC-RAM ist.

Kann dies mit iSCSI durchgeführt werden? Kann dies mit ATA über Ethernet erfolgen? (Die externen Festplatten werden in Linux als SATA-Festplatten angezeigt, dh: / dev / sdb, / dev / sdc, / dev / sdd usw.)

Wenn ich ZFS unter Linux auf dem Sicherungscomputer verwenden würde, wie groß ist das Risiko, das ich mit meinen gesicherten Daten in Bezug auf die unbeaufsichtigte Beschädigung eingehen kann?

Vielen Dank für alle Eingaben.

Hintergrundinformation:

Ich bin gerade dabei, einen virtualisierten "Alles" -Server zu bauen, und versuche jetzt, eine bessere Sicherungslösung zu finden. Auf dem Server wird OmniOS (ein OpenSolaris-Derivat) als integriertes, virtualisiertes SAN ausgeführt, das alle meine Daten in einem RAIDz2-Array (ZFS-Version von RAID6, Zweiplattenredundanz) speichert. Der Server wird auch eine Reihe anderer Dinge ausführen, wie zum Beispiel einen LAMP-Stack und ein MythTV-Backend, um Fernsehsendungen aus einer Reihe von Kabelboxen in der Nähe usw. aufzunehmen. Dies ist in erster Linie ein Medienserver mit Musik, Bildern, Filmen und Fernsehsendungen.

Ich bin sehr besorgt über die Datenintegrität. In Anbetracht der Menge an Daten, die ich habe, und der Menge, die manipuliert wird (Transkodierung für Web-Streaming, internes Streaming von Filmen zu vielen lokalen Medien-Anzeigesystemen, ständige Hinzufügung von Fotos im Gigabyte-Bereich usw.), ist eine stille Korruption höchst wahrscheinlich. Deshalb verwende ich ZFS, ECC-RAM usw.

Ich habe Offsite-Backups (und BluRay-Backups) von allem, was für die Mission von entscheidender Bedeutung ist (meine Arbeit, meine Erinnerungen usw.), aber ich muss ein Backup vor Ort für einige der Medien implementieren (ich habe nicht genügend Bandbreite für die Internetverbindung, um sie zu pushen 80 Gigabyte HD-Fernsehsendungen täglich auf einem Remote-Server).

Ich habe einen HTPC, auf dem Ubuntu Linux mit MythTv-Frontend und XBMC (ich war unentschlossen) war, etwa 600 Fuß vom Hauptserverraum entfernt, auf einer anderen Etage des Gebäudes. Es ist über Gigabit-Ethernet mit dem Serverraum verbunden (es passiert den Netzwerk-Switch in dieser Etage, daher sind 600 Fuß Ethernet-Kabel kein Problem). Es verfügt über eine Sammlung von externen 2-TB-Festplatten (WD MyBook Essentials, falls Sie neugierig sind), die über USB 3.0 angeschlossen sind, der in einer verschlossenen Wandeinheit verborgen ist. Ich möchte alles auf diese Festplatten sichern.

2

1 Antwort auf die Frage

2
Mike Fitzpatrick

Wie groß ist das Risiko, das ich mit meinen gesicherten Daten in Bezug auf stille Korruption eingehen kann?

ZFS nimmt die Datenintegrität sehr ernst und meine persönlichen Erfahrungen mit ZFS Senden / Empfangen sind robust. Ich würde vorschlagen, dass Sie Ihr Senden / Empfangen auf die einfachste Weise implementieren und mithilfe von Scrubbing sicherstellen, dass Korruption entdeckt wird.

Ich verwende regelmäßig ZFS-Senden / Empfangen, um ein RAIDZ auf externe USB-2,5-Zoll-2,5-Zoll-Consumer-Laufwerke zu sichern.

Ich habe nur einmal einen Fehler (entdeckt durch Scrubbing) auf der Sicherungsfestplatte festgestellt. Das Scrubben wurde einige Zeit nach dem Senden / Empfangen ausgeführt, daher kann ich nicht sicher sein, ob der Fehler während der Übertragung aufgetreten ist oder einige Zeit aufgetreten ist, nachdem sich die Daten bereits auf der Platte befanden .

Das Backup-Laufwerk war ein einzelnes Laufwerk ohne RAIDZ, Snapshots oder mehrere Kopien. ZFS konnte den einzelnen beschädigten Block nicht reparieren. Es war jedoch einfach, das Problem durch Kopieren der Originaldatei manuell zu beheben.

Ich stimme zu, dass ZFS-Senden / Empfangen zumindest auf Serverhardware recht robust erscheint. Meine Frage bezüglich des Risikos, das ich eingehen möchte, betraf in erster Linie das Fehlen von ECC-RAM auf der "Backup" -Maschine. ZFS arbeitet viel mit Ihren Daten im Speicher, bevor Sie diese auf die Festplatte übertragen. Ich würde gespiegelte Sicherungslaufwerke für Redundanz verwenden (im Gegensatz zu RAID), um Berechnungen, die keine ECC-unterstützten Paritätsberechnungen unterstützen (riskanter IMHO), zu verhindern. War das Gerät für die Verwaltung Ihrer externen externen Festplatten mit ECC-RAM ausgestattet? Ich bin froh zu hören, dass bereits jemand mit ZFS als Sicherungsmedium Consumer-Laufwerke mit Erfolg verwendet. Jay vor 10 Jahren 0
@Jay, ja, die Maschine verwendete ECC-RAM. Ich stimme mit Ihnen überein, dass ECC in der Backup-Maschine wünschenswert ist, Ihre Daten jedoch nicht schützen, wenn sie sich über das Netzwerk bewegen oder nachdem sie auf die Festplatte geschrieben wurden. Mike Fitzpatrick vor 10 Jahren 0
[Jeff Bonwicks Blog] (https://blogs.oracle.com/bonwick/entry/zfs_end_to_end_data) bietet einen Einblick in die End-to-End-Datenintegrität von ZFS. Zitat: "Ein ZFS-Speicherpool ist eigentlich nur ein Baum von Blöcken. ZFS bietet eine Fehlerisolierung zwischen Daten und Prüfsumme, indem die Prüfsumme jedes Blocks in seinem übergeordneten Blockzeiger gespeichert wird - nicht im Block selbst. Jeder Block in der Baumstruktur enthält die Prüfsummen für alle ihre Kinder, so dass der gesamte Pool sich selbst validiert. " Mike Fitzpatrick vor 10 Jahren 0
Ich stimme Ihrem Ansatz zu. Ich bin kein ZFS-Guru, aber ich habe das Gefühl, dass das Risiko, einen Zpool auf einem Desktop-Computer mit Nicht-ECC zu haben, geringer ist, als die Komplexität des Anbringens der Remote-Laufwerke an den Server über Ethernet. ECC mildert das weniger wahrscheinliche Problem der Speicherbeschädigung - und durch das Bereinigen eines Pools mit mehreren Kopien werden möglicherweise Probleme aufgrund einer Laufwerksbeschädigung erkannt. STW vor 9 Jahren 0