cp /etc/pve/corosync.conf /root/corosync.conf.bak.$(date +%F_%H-%M-%S) && sed -i '/knet_mtu:/d; s/config_version: 4/config_version: 5/; /token_coefficient: 125/a\ knet_mtu: 1392' /etc/pve/corosync.conf && cat /etc/pve/corosync.conf
### Ограничение MTU для Corosync при работе через WireGuard
В рассматриваемом случае кластер Proxmox был развёрнут между площадками через WireGuard. Несмотря на отсутствие потерь по ICMP и стабильную работу туннеля, Corosync периодически сообщал об ошибках:
```text
pmtud: possible MTU misconfiguration detected
Token has not been received
Retransmit List
host link is down
```
Проверка показала, что реальный MTU маршрута между узлами был меньше стандартных 1500 байт. Чтобы исключить проблемы с PMTU Discovery, было принято решение вручную ограничить MTU для Corosync.
Перед внесением изменений рекомендуется создать резервную копию конфигурации:
```bash
cp /etc/pve/corosync.conf /root/corosync.conf.bak.$(date +%F_%H-%M-%S)
```
Затем в секции `totem` необходимо увеличить номер версии конфигурации и добавить параметр `knet_mtu`:
```text
totem {
cluster_name: rm-cluster
config_version: 5
interface {
linknumber: 0
}
ip_version: ipv4-6
link_mode: passive
secauth: on
token_coefficient: 125
knet_mtu: 1392
version: 2
}
```
После сохранения конфигурации необходимо перезапустить Corosync на всех узлах кластера:
```bash
systemctl restart corosync
```
Проверить применение параметра можно командой:
```bash
corosync-cmapctl | grep -i mtu
```
Дополнительно рекомендуется контролировать состояние кластера:
```bash
corosync-cfgtool -s
journalctl -u corosync -f
```
#wireguard #mtu #Corosync