hawihoney Posted April 15, 2021 Share Posted April 15, 2021 Ich hätte da mal eine blöde Frage. Ich nutze seit ewigen Zeiten rsync zum Synchronisieren von Allem was synchronisiert werden muss. Genau so lange nutze ich die selben Parameter: rsync -avPX --delete-during "/mnt/pool_nvme/" "/mnt/pool2_nvme/" Völlig unerwartet melden zwei identische Pool Devices nach dem Synchronisieren einen Unterschied: Wie kann so etwas passieren? Quote Link to comment
mgutt Posted April 15, 2021 Share Posted April 15, 2021 Erstellst du aktuell nicht einen Unterordner auf dem Ziel. Also Quelle müsste doch eigentlich ohne Slash enden: "/mnt/pool_nvme" Wegen dem Größenunterschied: Hast du evtl. die erste NVMe vor dem Unraid Update formatiert? XFS hat eine neue Version bekommen und belegt nun mehr Speicherplatz wegen neuer Funktionen (Snapshots). Hier ein paar Befehle wie man sich die Version ausgeben lassen kann: https://unix.stackexchange.com/questions/306442/how-to-check-xfs-filesystem-version Quote Link to comment
hawihoney Posted April 15, 2021 Author Share Posted April 15, 2021 (edited) 46 minutes ago, mgutt said: Also Quelle müsste doch eigentlich ohne Slash enden: Ist eigentlich korrekt so. Ich synchronisiere jede Nacht Gigabytes über Gigabytes. Nur bei den NVMe M.2 sehe ich diesen Unterschied. Das Filesystem ist mit der selben XFS Version erstellt (V5). Beide sind wohl gleich formatiert/partitioniert (1MB aligned). root@Tower:~# xfs_db -r /dev/nvme1n1p1 xfs_db> version versionnum [0xb4b5+0x18a] = V5,NLINK,DIRV2,ATTR,ALIGN,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT,PROJID32BIT,CRC,FTYPE,FINOBT,SPARSE_INODES,REFLINK xfs_db> quit root@Tower:~# xfs_db -r /dev/nvme0n1p1 xfs_db> version versionnum [0xb4b5+0x18a] = V5,NLINK,DIRV2,ATTR,ALIGN,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT,PROJID32BIT,CRC,FTYPE,FINOBT,SPARSE_INODES,REFLINK pool_nvme Partition format: MBR: 1MiB-aligned pool2_nvme Partition format: MBR: 1MiB-aligned Seltsam. Ich nehme es einfach mal so hin. Edited April 15, 2021 by hawihoney Quote Link to comment
mgutt Posted April 15, 2021 Share Posted April 15, 2021 Was sagen denn die Logs? Führe rsync auch mal mit "--stats" aus. 1 hour ago, hawihoney said: Ist eigentlich korrekt so Also auf dem Ziel ist nicht alles im Unterordner "pool_nvme", sondern im Root? Quote Link to comment
hawihoney Posted April 15, 2021 Author Share Posted April 15, 2021 (edited) 1 hour ago, mgutt said: sondern im Root Korrekt, die Drives werden komplett gesynct. Das mit dem --stats probiere ich gleich mal aus. Danke. ***EDIT*** Ich kann nichts Außergewöhnliches erkennen: Number of files: 3,761,530 (reg: 1,293,768, dir: 2,084,426, link: 383,336) Number of created files: 1,087 (reg: 917, dir: 164, link: 6) Number of deleted files: 0 Number of regular files transferred: 1,082 Total file size: 253,576,317,616 bytes Total transferred file size: 15,163,608,400 bytes Literal data: 15,163,608,400 bytes Matched data: 0 bytes File list size: 16,707,247 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 15,390,414,417 Total bytes received: 2,141,210 sent 15,390,414,417 bytes received 2,141,210 bytes 108,781,311.85 bytes/sec total size is 253,576,317,616 speedup is 16.47 Edited April 15, 2021 by hawihoney Quote Link to comment
mgutt Posted April 15, 2021 Share Posted April 15, 2021 Ne, dann würde er auch einen Fehlersatz hinzufügen. Was sein kann: Eine Anwendung erstellt eine Datei und reserviert dafür mehr Platz als dir Daten in der Datei eigentlich an Platz brauchen. Und rsync ignoriert das und überträgt nur die reale Menge. Dann würde rsync so genannte Sparse Dateien erstellen: https://de.m.wikipedia.org/wiki/Sparse-Datei Das sollte man mit einem Größenvergleich auf Dateiebene rausfinden können. Recherchiere ich später mal. Oder: Gelöschte Dateien hinterlassen Metadaten, die XFS erstmal drauf lässt. Quote Link to comment
hawihoney Posted April 15, 2021 Author Share Posted April 15, 2021 Just now, mgutt said: Recherchiere ich später mal. Muss nicht. Es hat mich halt interessiert. Ist nicht so wichtig. Eine M.2 hängt am PCIe der ersten CPU und die andere M.2 am PCIe der zweite CPU (PCIe Karten). Die der zweiten CPU kracht manchmal runter. Deshalb nutze ich keinen BTRFS RAID-1 Pool sondern zwei XFS Single-Pools. Nachts wird synchronisiert. Mit BTRFS ist mir das Wechseln nach einem Platten Ausfall viel zu aufwändig und zeitraubend. Mir fiel halt nur auf, dass beide Drives, obwohl mit identischem Inhalt, eine sehr große Differenz aufweisen. Nur zur Erklärung: Mein alter Server ist derzeit etwas wackelig. Hatte schon eine der beiden CPUs getauscht. Das war es aber nicht. Da muss etwas anderes los sein. Erhalte immer nach dem Start einer VM (die ebenfalls auf der zweiten CPU liegt) clocksource Fehler und es wird von tsc nach acpi_pm gewechselt. Das wiederum hat drastische Auswirkungen auf das Array. Die Performance fällt auf ungefähr 1/5. Ein aktueller 6 TB Rebuild soll am Montag fertig sein... Im Moment tippe ich auf gesteigerten Strombedarf der 1050ti. Die hängt auch an der zweiten CPU. Ich brauche dringend Multiple Array Pools, damit ich endlich umbauen kann. Quote Link to comment
mgutt Posted April 15, 2021 Share Posted April 15, 2021 1 hour ago, hawihoney said: Eine M.2 hängt am PCIe der ersten CPU und die andere M.2 am PCIe der zweite CPU (PCIe Karten). Die der zweiten CPU kracht manchmal runter. Deshalb nutze ich keinen BTRFS RAID-1 Pool Ah ok. Ich dachte wegen Strom sparen. Denn ein RAID1 geht meine ich nicht in den L1 (PCIe Standby). Daher hatte ich sowas auch schon in Planung. Denk aber dran, dass sich gerade in Änderung befindliche Dateien nicht ordentlich sichern lassen. Rsync spuckt dann eine korrupte Datei aus. Beispiel: - 100MB Datei - rsync liest die ersten 50MB - nun ändert etwas die Datei - rsync liest die restlichen 50MB der geänderten Datei - auf dem Ziel liegt ein Mischmasch Aus dem Grund wäre es denke ich besser, wenn man rsync solange arbeiten lässt, bis es keine Datei mehr übertragen hat. Erst dann kann man sich sicher sein, dass Quelle und Ziel gleich sind. Quote Link to comment
hawihoney Posted April 15, 2021 Author Share Posted April 15, 2021 36 minutes ago, mgutt said: Rsync spuckt dann eine korrupte Datei aus. Klar. In der Nacht fahre ich Container für Container runter, sichere per rsync ins Array (config und data, das ist der saubere Stand) und fahre die Container wieder hoch. Tagsüber sichere ich unsauber die M.2 komplett. Bei einem Crash eines Pools bin ich verdammt schnell wieder im Spiel. Da kommt das BTRFS Balance Geraffel nicht mit. Quote Link to comment
mgutt Posted April 15, 2021 Share Posted April 15, 2021 23 minutes ago, hawihoney said: Da kommt das BTRFS Balance Geraffel nicht mit. Denke ich auch, aber du weißt im Grunde nie ob du dem Mirror vertrauen kannst. Wobei... meldet rsync nicht, wenn sich eine Datei während der Übertragung geändert hat? Dann wüsste man zumindest welcher Datei man nicht trauen kann ^^ Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.