Gegen versehentliches Löschen wird ZFS auch nur helfen, wenn man ständig Snapshots anlegt, dann hat man aber auch schnell die Platten ganz voll. Dagegen dann Daten zu verlieren hat man ja sein Backup. RAID 1 erstellt Dir dieses nicht so wie Du das denkst, denn RAID Controller, wenn sie ihre Sache ernst nehmen, begreifen ein RAID als Volumen dessen Daten konsistent sein müssen. Wurde dann ohne eine der HDDs schon auf das RAID geschrieben, weil die Platte als Backup im Schrank liegt, dann hat diese nicht den letzten Datenstand des Volumens und würde beim Einstecken auf diesen synchronischert werden, die versehentlich gelöscht Datei wird dann auch dort überschrieben oder wenn man die anderen entfernt um das zu verhindern, wahrscheinlich gar nicht akzeptiert.
Nun weiß ich nicht mehr ob hier oder in einem anderen Forum war, aber irgendwo war mal ein Thread, da hatte einer einen hochwertigen RAID Controller und zwei Platten im RAID 1 und hat sich beschwert, dass es nicht funktionieren würde. Er hat folgenden Test gemacht:
1. RAID 1 eingerichtet und (meine ich) Windows installiert
2. HDD 1 abgezogen und getestet, Windows hat normal gebootet, wurde wieder runtergefahren.
3. HDD 1 wieder eingesteckt und dafür HDD 2 entfernt.
4. Rechner hat nicht gebootet und darin hat er einen Fehler gesehen.
Das war aber kein Fehler, das war ein Profi-RAID Controller und kein Billig-Spielzeug RAID Controller, der einfach nur spiegelt. Der Profi-RAID Controller hat gemerkt, dass das RAID nach den Abziehe von HDD 1 degradiert war und da sein Inhalt überschrieben worden ist, weil Windows wie jedes OS ja auch Logs führt und damit immer auch auf sein Systemlaufwerk schreibt. Damit entsprechen nur noch die Daten auf HDD2 den aktuellen Zustand des RAIDs. Durch den direkten Tausch der beiden HDDs gab es nun diesen aktuellen Zustand nicht mehr, da die HDD2 auf der er gespeichert war, ja nicht eingebaut war und HDD1 die letzten Änderungen nicht kannte, der Controller hat das RAID also als defekt gesperrt und das war richtig.
Warum war es richtig? Nun hier hätte bei einem einfach RAID Controller der sowas nicht beachtet und wie der Type sie wohl auch nur kannte, der Rechner auch im Schritt 4 gebootet, eben ohne die Änderungen vom letzten Booten, den z.B. den Eintrag Windows hat um 11:30 gebootet der nur auf HDD2 stand. Dann wäre auf HDD 1 nun z.B. 11:45 als letzter Zeitpunkts des Bootens vermerkt. Was kommt raus, wenn man nun beide HDD bei so einem RAID wieder einbaut? Hängt davon ab, ob die Datei von der einen oder von der anderen Platte gelesen wird. Die Daten stimmen auch beiden Platten nicht überein und das fällt bei solche Billiglösung auch nicht gleichen auf, den RAID lesen immer nur von einer Platten und erst wenn es dort einen Lesefehler gibt, von der anderen. Beide Daten sind aber korrekt lesbar, weichen aber voneinander ab und das darf eben bei Enterprise RAIDs nie passieren, da können wichtig Daten drauf liegen und bei einem Abgleich kann dann auch nicht mehr sagen, welche korrekt sind.
Daher wäre der korrekte Test in dem Fall gewesen, den Schritt 3. so zu gestalten, dass man erst die HDD 1 wieder einfügt, dem RAID Controller Zeit gibt das Resync der Daten von HDD 2 auf HDD 1 abzuschließen und dann erst HDD 2 zieht. Dann hätte HDD 1 den korrekten Datenstand des RAIDs enthalten und es hätte funktioniert. Hoffentlich wurde nun verständlich was ich damit sagen will, wenn ich sage, dass ein RAID eben ein logisches Volumen und mehr als nur die Summe der Platte ist und wieso es gut ist, wenn ein Controller das auch so handhabt.