# NTP auf dem Proxmox-Cluster

## NTP auf dem Proxmox-Cluster

> **abstract:** Zweck
> Auf allen Cluster-Nodes eine **deterministische Zeitsynchronisation** mit chrony einrichten. Eine stabil laufende Zeit ist im Proxmox-Cluster zwingend: abweichende Uhrzeiten können zu Corosync-Problemen, Zertifikatsfehlern (VNC-Konsole, API) und missverständlichen Log-Zeiten führen.

### Grundlagen

- Proxmox VE installiert chrony als Standard-NTP-Daemon und sieht eine laufende Zeitsynchronisation als wichtig an.
- Cluster-Knoten werden nicht zwingend selbst als NTP-Server voneinander genutzt; alle Nodes synchronisieren gegen dieselben, verlässlichen Quellen.
- Empfehlung: eine interne, autoritative Quelle (z. B. Firewall/Router mit NTP-Dienst) mit **`prefer`**, plus öffentliche Fallback-Server (Swiss NTP Pool) mit `iburst`.
- Debian-Defaults (`pool 2.debian.pool.ntp.org`) und DHCP-abhängige Quellen (`sourcedir /run/chrony-dhcp`) bewusst deaktivieren, damit die Zeitquelle deterministisch ist.

### Umstellung Schritt für Schritt

1. Konfiguration anpassen:

```bash
nano /etc/chrony/chrony.conf
```

2. Dienst neu starten:

```bash
systemctl restart chrony
```

3. Synchronisation prüfen:

```bash
chronyc sources -v
```

Erwartung: mindestens eine Quelle mit Status `^*` (aktiv) bzw. `^+` (Kandidat), z. B.:

```text
^* 192.0.2.1
^+ ch.pool.ntp.org
```

### Konfigurationsvorlage

Auf **jedem** Proxmox-Node identisch setzen (primäre interne Quelle durch die echte Management-Adresse ersetzen):

```ini
## Welcome to the chrony configuration file. See chrony.conf(5) for more
## information about usable directives.

## Include configuration files found in /etc/chrony/conf.d.
confdir /etc/chrony/conf.d

## === Proxmox Cluster NTP Configuration ===

## Primary NTP - Firewall (LAN / MGMT), interne Adresse eintragen
server <NTP-SERVER-LAN-IP> iburst prefer

## Fallback - Swiss NTP Pool
server ch.pool.ntp.org iburst

## --- Disabled defaults for deterministic cluster time ---
## pool 2.debian.pool.ntp.org iburst
## sourcedir /run/chrony-dhcp
## sourcedir /etc/chrony/sources.d
```

> **warning:** > Vor der Umsetzung prüfen, dass die interne NTP-Quelle (Firewall/Router) tatsächlich NTP-Anfragen beantwortet (`chronyc sources -v` muss `^*` zeigen) und dass NTP auf dem MGMT-Netz nicht per Firewall geblockt ist.

### Verifikation Cluster-weit

```bash
pvecm status                 # Cluster gesund?
for h in <node1> <node2>; do ssh $h chronyc tracking; done
```

`chronyc tracking` muss auf allen Nodes dieselbe Referenz/Stratum zeigen.

### Quellen

- Proxmox VE Administration Guide – Time Synchronization: <https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_time_synchronization>
- chrony-Dokumentation (`chrony.conf(5)`): <https://chrony-project.org/doc/latest/chrony.conf.html>
- Swiss NTP Pool: <https://www.pool.ntp.org/zone/ch>

---

*Quelle: Obsidian `Knowledge Base/Proxmox/NTP Proxmox Cluster.md` · Stand: 2026-10-12 · Automatisiert publiziert durch Hermes.*