This is the old XigmaNAS forum in read only mode,
it will taken offline by the end of march 2021!



I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!

Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

German community

Moderators: b0ssman, apollo567, Princo, crowi

Forum rules
Set-Up GuideFAQsForum Rules
Post Reply
User avatar
seller
Advanced User
Advanced User
Posts: 273
Joined: 07 Apr 2013 13:22
Location: DE/ RLP
Status: Offline

Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by seller »

Hi Leute,
ich habe zwei NAS, (siehe unten) eines sichert das andere, wie von Princo empfohlen natürlich manuell.
Jetzt mal ne Frage wie prüfe ich ob der Datenbestand der beiden Nas gleich ist?
Manuelle Stichproben ergaben bisher Gleichheit/Aktualität, ist aber mühsam zu prüfen.
Und es bleibt ein wenig Unsicherheit.....
Hat jemand ne Idee?
--
Gruß
Seller
**** NAS Nr 1:11.0.0.4.3252 Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 2 Stück x WD-RED 2 TB, WD20EFRX, 2 Stück 2 TB SAMSUNG HD203WI 1AN10003,
**** Nas Nr 2: 11.0.0.4.3252, Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 4 x WD-RED 2 TB, WD20EFRX

kreuzberger
Advanced User
Advanced User
Posts: 395
Joined: 07 May 2015 18:52
Location: Berlin
Contact:
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by kreuzberger »

Frohe Weihnachten Seller,

am einfachsten mit rsync. Vielleicht gibt es da auch was für ZFS, da kenne ich mich aber nicht aus.

Kreuzberger

User avatar
seller
Advanced User
Advanced User
Posts: 273
Joined: 07 Apr 2013 13:22
Location: DE/ RLP
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by seller »

Hallo Kreuzberger,
ja aber wie? ich will ja nicht kopieren nur vergleichen also gucken.
was muss ich im terminal eingeben um z.B. das Dataset aus dem POOL Nas mit Namen Big-Disk welches auf dem ersten NAS liegt mit gleichnamigem Dataset auf dem zweiten Nas zu vergleichen?
--
gruß
seller
**** NAS Nr 1:11.0.0.4.3252 Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 2 Stück x WD-RED 2 TB, WD20EFRX, 2 Stück 2 TB SAMSUNG HD203WI 1AN10003,
**** Nas Nr 2: 11.0.0.4.3252, Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 4 x WD-RED 2 TB, WD20EFRX

User avatar
Princo
Forum Moderator
Forum Moderator
Posts: 1080
Joined: 15 Jul 2012 01:21
Location: Berlin, Germany
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by Princo »

Hallo seller,

natürlich nicht mit rsync, sondern durch einen Vergleich der Menge der referenzierten Daten. Dazu suche ich mal etwas heraus, und melde mich dann wieder.

Frohe Feiertage
Princo
Meine Antworten beziehen sich immer auf die englischsprachige GUI. ECC-RAM ist Pflicht beim Einsatz von ZFS.

kreuzberger
Advanced User
Advanced User
Posts: 395
Joined: 07 May 2015 18:52
Location: Berlin
Contact:
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by kreuzberger »

doch.

User avatar
Princo
Forum Moderator
Forum Moderator
Posts: 1080
Joined: 15 Jul 2012 01:21
Location: Berlin, Germany
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by Princo »

Hallo seller,

da beim Einsatz von zfs send/receive immer der letzte gemeinsame Snapshot von elementarer Bedeutung ist, könnte man diesen auf beiden Systemen zählen lassen. Da ein Snapshot nur bei einer erfolgreichen Übertragung auch auf dem Backupsystem erscheint, ist das eine recht einfache Methode, um eine vollständige Übertragung festzustellen. Eine unvollständige Übertragung könnte z.B. durch einen Stromausfall während des Abgleichs eintreten.

Angenommen, der letzte gemeinsame Snapshot lautet @2017-12-25, dann ergibt der nachfolgende Befehl die Anzahl der Snapshots mit dieser Endung:

Code: Select all

zfs list -t snapshot | grep @2017-12-25 | wc -l
Diese Zeile, auf beiden Systemen ausgeführt, muß die gleiche Zahl ergeben (bedeutet: gleiche Anzahl an Snapshots).

Wenn du es etwas genauer wissen möchtest, dann kannst du dir auch die referenzierte Datenmenge im System anzeigen lassen:

Code: Select all

zfs get -r logicalreferenced
alternativ auch

Code: Select all

zfs get -r logicalreferenced PoolName
(jeweils auf beiden Systemen einzugeben)

Aber Achtung!: Es werden dabei auch die Werte für die Datasets mit ausgegeben.
Da sich diese während der Übertragung massiv ändern können (wenn währenddessen auf dem System weiter gearbeitet wird), sollte man dies auf die Ausgabe der Snapshots beschränken:

Code: Select all

zfs get -r logicalreferenced | grep @
oder gleich auf die Auswertung des letzten gemeinsamen Snapshots eingrenzen:

Code: Select all

zfs get -r logicalreferenced | grep @2017-12-25
Wenn du die Zahlen beider Systeme vergleichst, wird dir u.U. auffallen, daß sie leicht voneinander abweichen. Das ist besonders bei leeren Datasets auffällig: z.B. belegt ein Dataset auf den Haupt-NAS 40K und auf dem Backup-NAS sind es 9.50K. So etwas ist völlig normal, und kann durch unterschiedliche Raid-Geometrien auf den beiden NAS auftreten (bei mir ein ZFS-Mirror auf den Haupt-NAS und ein RaidZ1 auf dem Backup-NAS). Auch unterschiedliche Plattenanzahlen haben einen Einfluß (RaidZ1 mit drei Platten <> RaidZ1 mit vier Platten). Dazu kommt noch, ob mit dem Pool aktiv gearbeitet wird, dazu reicht es schon aus, mit einem Dateimanager durch das Verzeichnissystem zu wandern.

Absolut exakt gleiche Werte lassen sich nur unter Laborbedingungen erreichen, und auch da wird der eine oder andere Snapshot leicht unterschiedliche Werte aufweisen. Das ist aber absolut kein Anlaß zur Sorge.

Man kann den Befehl "zfs get -r" übrigens auf "zfs get -rp" erweitern, dann sieht man die genauen (nicht gerundeten) Zahlen, und die sind dann fast alle unterschiedlich. Davon darf man sich aber nicht irritieren lassen. Die dahinter liegenden Dateien sind auf beiden Systemen gleich.

Deine Unsicherheit kann ich jedoch ziemlich gut nachvollziehen. Mir geht es dabei übrigens ähnlich, weil es einfach "zu perfekt" funktioniert.
Daher mache ich einmal im Jahr folgendes:

1. Scrub auf dem Haupt-NAS.
2. Löschen des Pools auf dem Backup-NAS.
3. Komplette Initial-Übertragung vom Haupt-NAS auf das Backup-NAS (sorgt dafür, daß das Backup-NAS vollständig defragmentiert ist).
4. Scrub auf dem Backup-NAS.
5. Löschen des Pools auf dem Haupt-NAS.
6. Komplette Initial-Übertragung vom Backup-NAS auf das Haupt-NAS (sorgt dafür, daß das Haupt-NAS vollständig defragmentiert ist).
7. Scrub auf dem Haupt-NAS.

Das, was ich hier als Initial-Backup bezeichne, kann jeweils auf verschiedene Arten durchgeführt werden:
a. Übertragung des Pools 1:1
b. Downgrade des Pools.
c. Upgrade des Pools.

"Downgrade" bezeichnet tatsächlich das Überführen des Pools in eine niedrigere ZFS-Version (ohne Datenverlust). Dadurch ist gewährleistet, jederzeit auf ein anderes ZFS-basiertes NAS-System umsteigen zu können, falls das NAS4Free-Projekt einmal nicht mehr den eigenen Vorstellungen entsprechen sollte.

"Upgrade" bezeichnet die vollständige Überführung des Pools in neue ZFS-Funktionen. Dabei wird z.B. ein Pool mit neuen Kompressionsmethoden umgewandelt, oder mit neuen Prüfsummen versehen. Anders als beim üblichen ZFS-Pool-Upgrade, werden hier auch die bereits bestehenden Daten umgewandelt.

Es ist natürlich möglich, die Methoden zu kombinieren. Man kann sinnvollerweise in Schritt 3 die Methode b anwenden, und in Schritt 6 die Methode c verwenden. Das wäre z.B. der einfachste Weg, um auf ein anderes ZFS-NAS umzustellen.

Wenn einen die Upgrade/Downgrade-Methode nicht betrifft, so kann man durch das zweifache Umkopieren eine spürbare Defragmentierung der Daten erreichen.
Ganz besonders wichtig wird das übrigens, falls man sog "Archive"-Festplatten in seinem NAS einsetzt. Die brechen nämlich drastisch in den Schreibraten ein, wenn man sie dauerhaft als normale NAS-Festplatten nutzt. Das ist aber eigentlich ein anderes Thema, und ich möchte das nur am Rande erwähnen.

Diese Schritte muß man nicht unbedingt durchführen. Da ist man völlig frei. Für mich ist das eher eine Übung, um die volle Kontrolle über meine Daten zu prüfen.

@kreuzberger

Der seller verwendet (wie ich es auch empfehle) zum Abgleich der Datenbestände die Funktion zfs send/receive.
Dadurch ist die Integrität der Daten auf beiden Systemen immer gewährleistet. Dafür wurde ZFS entwickelt.
Natürlich kann man das per rsync überprüfen, wie du es vorgeschlagen hast. Dagegen ist überhaupt nichts einzuwenden. Ich finde das gut.

Dann hätte ich aber auch einen konkreten Lösungsvorschlag von dir erwartet.

Mein Problem ist, daß ich sowohl rsync, als auch die Möglichkeiten von zfs send/receive kenne.
Dein Problem ist (und entschuldige bitte, daß ich das so direkt sage), daß du keine Kenntnisse über das ZFS-Dateisystem hast.
ZFS ist fast so etwas wie ein eigenes Betriebssystem, und es hat eine ganze Menge Features zur sicheren Datenreplikation bereits eingebaut.

Diese Features sollte man kennen, und auch nutzen. Das spart Ärger, und viel Zeit.

rsync ist ein sehr verbreitetes und mächtiges Tool zur Datensynchronisation. Ich setze es selbst sehr intensiv ein.

Das Problem bei rsync ist: es arbeitet nur auf dem kleinsten gemeinsamen Nenner. Ein ZFS-Dateisystem kann man damit gar nicht replizieren, und wenn man ins Detail geht, ist rsync sogar ziemlich unzuverlässig, oder zumindest sehr langsam. Ich kann dir das gerne an einem Beispiel verdeutlichen, wenn du möchtest. Sag einfach Bescheid.

Bei der hier vorgegebenen Aufgabenstellung geht es um die korrekte Übertragung von Snapshots. Ohne Modifikation der ZFS-Einstellungen kommst du mit rsync gar nicht an diese Daten heran.
Um es mal ganz extrem auszudrücken: Man konnte auf dem Backup-NAS ein radikales

Code: Select all

rm -rf /mnt
ausführen, und es hätte keinerlei Auswirkung auf die Datenintegrität bei der zfs send/receive Methode. Dein rsync würde aber komplett ins Leere laufen.
Ja, das ist ein Extrembeispiel, aber vielleicht kann ich dir so die Problematik etwas näher bringen.
Es mag sich seltsam anhören, aber im Punkt Datenreplikation ist rsync gegenüber zfs eine ganz lahme Krücke.

Grüße
Princo
Meine Antworten beziehen sich immer auf die englischsprachige GUI. ECC-RAM ist Pflicht beim Einsatz von ZFS.

User avatar
seller
Advanced User
Advanced User
Posts: 273
Joined: 07 Apr 2013 13:22
Location: DE/ RLP
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by seller »

Moin Princo
Danke, deine Ausführungen, bestes Weihnachtsgeschenk ever! :mrgreen:
Das mit dem jährlichen Gesamtabgleich überzeugt.
Das kann ich ja mir nc machen, richtig?

DATEN-NAS
zfs snapshot -r NAS@jahreabgleich
zfs send -vR NAS@now | nc -w 6 192.168.178.64 9000

Backup-NAS Befehl:
nc -l 9000 | zfs receive -vF NAS


Snapshot aktuell auf dem Daten-Nas erstellt
NAME USED AVAIL REFER MOUNTPOINT
NAS@jahresabgleich 0 - 320K -
--
Fröhliche Restweihnachten
Gruß
Seller
**** NAS Nr 1:11.0.0.4.3252 Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 2 Stück x WD-RED 2 TB, WD20EFRX, 2 Stück 2 TB SAMSUNG HD203WI 1AN10003,
**** Nas Nr 2: 11.0.0.4.3252, Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 4 x WD-RED 2 TB, WD20EFRX

User avatar
Princo
Forum Moderator
Forum Moderator
Posts: 1080
Joined: 15 Jul 2012 01:21
Location: Berlin, Germany
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by Princo »

seller wrote:
26 Dec 2017 09:38
DATEN-NAS
zfs snapshot -r NAS@jahreabgleich
zfs send -vR NAS@now | nc -w 6 192.168.178.64 9000
Hallo seller,

dein Befehl ist nicht ganz richtig.
Du erzeugst zwar den Snapshot "NAS@jahreabgleich", beziehst dich bei Abgleich aber auf den Snapshot "NAS@now".
Das ist nicht richtig.
Das ist sogar ziemlich falsch.

Grüße
Princo
Meine Antworten beziehen sich immer auf die englischsprachige GUI. ECC-RAM ist Pflicht beim Einsatz von ZFS.

User avatar
seller
Advanced User
Advanced User
Posts: 273
Joined: 07 Apr 2013 13:22
Location: DE/ RLP
Status: Offline

Re: Datenbestand von Nas 1 mit Nas 2 vergleichen, wie?

Post by seller »

Hi Princo,
klar hast Recht!
so sollte es stimmen, oder?

zfs snapshot -r NAS@jahresabgleich
zfs send -vR NAS@jahresabgleich| nc -w 6 192.168.178.64 9000

schönes neues JAhr
Gruß
Seller
**** NAS Nr 1:11.0.0.4.3252 Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 2 Stück x WD-RED 2 TB, WD20EFRX, 2 Stück 2 TB SAMSUNG HD203WI 1AN10003,
**** Nas Nr 2: 11.0.0.4.3252, Embeded auf 8 GB USB Stick, HP ProLiant MicroServer Gen8 Entry Server - Celeron G1610T 2.3 GHz - 12 GB RAM ECC unregistered, 4 x WD-RED 2 TB, WD20EFRX

Post Reply

Return to “Deutsch”