Unterschiedliche Byte-Daten zwischen zwei NVMe-Festplatten in einem ZFS Mirror Pool - Ist das ein Problem?

schnax

New Member
Sep 28, 2023
3
0
1
Hallo zusammen,
Ich habe einen ZFS Mirror Pool auf einem Proxmox-Server mit der ZFS-Version 2.1.12-pve1 eingerichtet. Der Pool (rpool) besteht aus zwei NVMe-Festplatten, die als Mirror konfiguriert sind. Nach dem Vergleich der beiden Festplatten mit dem Befehl cmp /dev/nvme1n1 /dev/nvme2n1 habe ich festgestellt, dass sie bei Byte 529 unterschiedlich sind.
Hier sind einige Details zu meiner Konfiguration:
  • ZFS-Pool-Konfiguration:
    • Pool-Name: rpool
    • Pool-Typ: Mirror
    • Festplatten: nvme-eui.36434b30577053850025385400000001-part3 und nvme-eui.36434b30577053820025385400000001-part3
    • Zuletzt durchgeführter Scrub: scrub repaired 0B in 00:12:23 with 0 errors on Wed Oct 18 03:20:05 2023
    • Keine bekannten Datenfehler
  • Betriebssystem: Proxmox (Die genaue Version konnte ich nicht abrufen, da der Befehl lsb_release nicht gefunden wurde.)
  • ZFS-Version: zfs-2.1.12-pve1 und zfs-kmod-2.1.12-pve1
  • Partitionierung und Festplattenmodelle:
    • Beide Festplatten sind Samsung Modelle mit einer Kapazität von ca. 7 TB.
    • Die Partitionierung auf beiden Festplatten ist identisch, mit drei Partitionen:
      • Eine BIOS-Boot-Partition von 1007K
      • Eine EFI-Systempartition von 1G
      • Eine Solaris /usr & Apple ZFS-Partition von 7T
Ich möchte wissen, ob dieser Unterschied ein Problem darstellt und welche Schritte ich unternehmen sollte, um das Problem zu beheben, falls es eines gibt. Ist es normal, dass zwei NVMe-Festplatten in einem ZFS Mirror Pool kleine Unterschiede aufweisen? Was sind die besten Praktiken, um die Konsistenz zwischen den Festplatten in einem ZFS Mirror Pool zu gewährleisten?

In der Anfangsphase stieß ich auf ein Problem mit der EFI-Partition auf der zweiten Festplatte. Die 2. Partition, die als EFI-Partition dient, hatte zunächst kein zugewiesenes Dateisystem, und die erforderlichen Flags waren nicht gesetzt. Nach einigen Herausforderungen und vielen Versuchen gelang es mir, die Konfiguration der beiden Festplatten zu harmonisieren, sodass sie nun identisch erscheinen.

Hier noch ein paar Screens:

1697595051508.png

1697595121085.png

1697595200912.png

1697595267571.png


Danke im Voraus für eure Hilfe!
 
Last edited:
Hallo!

Gleich mal vorab: Da gibt es in deinem Fall absolut nichts zu befürchten.

Um es etwas näher zu beschreiben: Du hast den cmp Befehl direkt auf die beiden NVMe-Platten angewendet und nicht auf deren Partitionen. In diesem Fall vergleichst du wirklich die ganzen Disks miteinander - da wird man relativ früh in Unterschiede reinlaufen (außer man hat die Disks wirklich 1:1 gespiegelt).
Code:
# ls -alhui /dev | grep nvme
  407 crw-------   1 root root   239,   0 18. Okt 09:38 nvme0
  424 brw-rw----   1 root disk   259,   0 18. Okt 13:34 nvme0n1
  425 brw-rw----   1 root disk   259,   1 18. Okt 09:40 nvme0n1p1
  426 brw-rw----   1 root disk   259,   2 18. Okt 09:38 nvme0n1p2
  427 brw-rw----   1 root disk   259,   3 18. Okt 09:38 nvme0n1p3
Wie man hier sehen kann, werden die Partitionen einer NVMe jeweils mit p1, p2, ... am Ende versehen (wie du vermutlich eh schon weißt). Wenn du also wirklich die Daten von ZFS vergleichen willst, dann solltest du die beiden Partitionen vergleichen, die ZFS benutzt. Das wird dir aber vermutlich auch nicht wirklich viel nützen, weil ZFS da höchstwahrscheinlich sein eigenes Ding macht.

Was sind die besten Praktiken, um die Konsistenz zwischen den Festplatten in einem ZFS Mirror Pool zu gewährleisten?
Um deine Frage also zu beantworten: Gar nichts. Wenn etwas nicht passen sollte, siehst du es mit zpool status.

Wenn dein host erst zum Testen aufgesetzt worden ist und noch nicht in als Produktions-System genutzt wird, kannst du auch mal eine NVMe im Betrieb "zum Spaß" rausnehmen und mal sehen, was passiert. ;) Wenn du noch eine dritte (gleich große) NVMe als Ersatz herumliegen hast, kannst du diese stattdessen einbauen und somit mal einen Ausfall plus Ersatz simulieren.
 
  • Like
Reactions: schnax
Proxmox (Die genaue Version konnte ich nicht abrufen, da der Befehl lsb_release nicht gefunden wurde.)
pveversion oder pveversion -v

Was sind die besten Praktiken, um die Konsistenz zwischen den Festplatten in einem ZFS Mirror Pool zu gewährleisten?
Kein Raid-Controller nutzen und regelmäßig scrubben.

Eine Solaris /usr & Apple ZFS-Partition von 7T
Nur die Partition nutzt ZFS und ist gespiegelt. Partition 1 und 2 nicht.

Ich hatte das Problem, das bei der zweiten Platte das Filesystem der 2. Partition, also der EFI Partition nicht gesetzt war und die flags nicht gesetzt waren... Nach viel hin und her habe ich es geschafft, dass die Platten an sich identisch aussehen. Bis auf dieser eine Fehler.
Dafür nutzt man das proxmox-boot-tool zum syncen: https://pve.proxmox.com/wiki/Host_Bootloader#sysboot_proxmox_boot_tool
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!