← Back to Logs

Proxmox Cluster 同期エラー (Cannot initialize CMAP service) 復旧手順

2025年12月25日

Proxmox Cluster 同期エラー (Cannot initialize CMAP service) 復旧手順

1. 現象

Proxmox VEクラスタにおいて、特定のノードでクラスタ同期が取れなくなる。

pvecm status を実行すると以下のエラーが表示される。

Plaintext

Cannot initialize CMAP service

2. 原因調査

時刻同期の確認

chronyc sources -v で確認したが、時刻同期は正常(Reach 377, Offsetも微小)。

サービス状態の確認

systemctl status corosync を確認すると、プロセスがエラー終了ではなく code=exited, status=0/SUCCESS で正常終了している。

ログ (journalctl -b -u corosync) に以下の決定的エラーを確認。

Plaintext

[CMAP ] Received config version (6) is different than my config version (5)! Exiting

原因:

当該ノードの corosync.conf の config_version(5)が、稼働中のクラスタのバージョン(6)より古いため、Corosyncが安全装置として自ら停止していた。

3. 対処手順

通常の /etc/pve はクラスタ同期がないと書き込めない(Read-only)ため、ローカルモードで強制的に修正を行う。

① サービスの完全停止

プロセスやマウントが残っているとローカルモードに入れないため、確実に停止・アンマウントする。

Bash

systemctl stop pve-cluster corosync killall pmxcfs umount /etc/pve # “not mounted” と出ればOK

② ローカルモードでの起動

pmxcfs をローカルモード(-l)で起動し、強制的に書き込み権限を得る。

Bash

pmxcfs -l

③ 設定ファイルの修正

corosync.conf を開き、バージョン番号をクラスタの現行バージョンに合わせる。

Bash

nano /etc/pve/corosync.conf

変更箇所:

Plaintext

totem { … config_version: 6 <— ここを正しい数値(今回は5→6)に変更 … }

④ サービスの復帰

ローカルモードのプロセスを終了し、通常モードで再起動する。

Bash

killall pmxcfs systemctl start pve-cluster corosync

⑤ 確認

正常にQuorum(定足数)が満たされているか確認。

Bash

pvecm status

Quorum: Yes となり、ノード情報が表示されれば復旧完了。