Hallo zusammen,
Ich habe in letzter Zeit immer wieder folgendes Problem:
Aufbau:
6-Node-Cluster mit unterschiedlichen ZFS-Pools. Es gibt immer zwei "Partner-Nodes", die gleich konfiguriert sind, und aufeinander replizieren:
Auf dem Cluster gibt es 8 KVM-Maschinen und 76 lxc-container. Für nahezu alle Guests ist sowohl Storage Replication als auch HA aktiviert und konfiguriert. Die meisten Guests werden via "*", also minütlich, repilziert, einige wenige aber auch nur täglich.
Netzwerkseitig gibt es ein eigenständigen 10G-NIC mit dem "Managment"-Netzwerk für Storage Replication, Corosync und die Weboberfläche, sowie einen weiteren 10G-NIC, welchen die Guests nutzen. Repliziert wird ausschließlich von/zu SSDs, wobei das sowohl SATA-SSDs als auch NVMe/PCIe-SSDs sein können.
Das Problem:
Es kommt circa einmal in der Woche vor, dass sich der Replication-Prozess an einem Guest eines Servers aufhängt - der dreht dann in der Weboberfläche endlos weiter und alle weiteren Guests auf diesem Host, werden anschließend nicht mehr repliziert.
In diesem Fall ist die Replication von Guest 4005 stehen geblieben, wodurch auch alle anderen Guests nicht mehr replizieren, bis der Task gekillt wird. Das kann auch mehrere Tage dauern ...
So sieht dann die Replication-Log aus. Den Screenshot habe ich am nächsten Tag gegen Mittag gemacht, der Prozess lief nicht weiter.
Meine Beobachtungen:
"Fixen" lässt sich das Problem, wenn man auf der entsprechenden Node diesen zur Replication gehörenden Prozess killt (SIGTERM):
Anschließend muss man dann allerdings das zfs-volumen auf dem Host, zu dem repliziert wurde, löschen (und vorher entlocken).
Das hilft dann, bis das Problem eine Woche später erneut auftritt. Hat irgendjemand eine Ahnung, was da los ist, oder wie ich das Problem beheben kann?
Ich habe in letzter Zeit immer wieder folgendes Problem:
Aufbau:
6-Node-Cluster mit unterschiedlichen ZFS-Pools. Es gibt immer zwei "Partner-Nodes", die gleich konfiguriert sind, und aufeinander replizieren:
Auf dem Cluster gibt es 8 KVM-Maschinen und 76 lxc-container. Für nahezu alle Guests ist sowohl Storage Replication als auch HA aktiviert und konfiguriert. Die meisten Guests werden via "*", also minütlich, repilziert, einige wenige aber auch nur täglich.
Netzwerkseitig gibt es ein eigenständigen 10G-NIC mit dem "Managment"-Netzwerk für Storage Replication, Corosync und die Weboberfläche, sowie einen weiteren 10G-NIC, welchen die Guests nutzen. Repliziert wird ausschließlich von/zu SSDs, wobei das sowohl SATA-SSDs als auch NVMe/PCIe-SSDs sein können.
Das Problem:
Es kommt circa einmal in der Woche vor, dass sich der Replication-Prozess an einem Guest eines Servers aufhängt - der dreht dann in der Weboberfläche endlos weiter und alle weiteren Guests auf diesem Host, werden anschließend nicht mehr repliziert.
In diesem Fall ist die Replication von Guest 4005 stehen geblieben, wodurch auch alle anderen Guests nicht mehr replizieren, bis der Task gekillt wird. Das kann auch mehrere Tage dauern ...
So sieht dann die Replication-Log aus. Den Screenshot habe ich am nächsten Tag gegen Mittag gemacht, der Prozess lief nicht weiter.
Meine Beobachtungen:
"Fixen" lässt sich das Problem, wenn man auf der entsprechenden Node diesen zur Replication gehörenden Prozess killt (SIGTERM):
/usr/bin/ssh -e none -o BatchMode=yes -o HostKeyAlias=ryzen30 root@172.16.0.5 --pvesm import DATA_SSD:subvol-4005-disk-0 zfs - -with-snapshots 1 -allow-rename 0 -base __replicate_4005-0_1624748400__
Anschließend muss man dann allerdings das zfs-volumen auf dem Host, zu dem repliziert wurde, löschen (und vorher entlocken).
Das hilft dann, bis das Problem eine Woche später erneut auftritt. Hat irgendjemand eine Ahnung, was da los ist, oder wie ich das Problem beheben kann?
Last edited: