1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

proxmoxの/etc/pveの中身が消えた。

Posted at

リブートしたら、proxmoxの/etc/pveの中身がない。

proxmoxの各種設定は、/etc/pveの設定ファイルで行われる。通常は、ブラウザ経由の設定でOKだが、ホスト名の変更やクラスタの追加などを操作するため、直接、/etc/pveのファイルを操作した。
再起動するまでは、正しいそうに動作していたが、再起動したら、ブラウザの操作ができませんでした。

現象

ブラウザ上の操作画面のURLが接続できなかった。そのため、sshでログインして、/etc/pveの設定ファイルを確認しようとしたら、まったく、データがありませんでした。

調査

proxmoxのフォーラムで、/etc/pve がemptyの記事を見つけ、pmxcfsが怪しそうなことが分かりました。
https://forum.proxmox.com/tags/etcpve/
https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)

root@pve:/var/lib/pve-cluster# systemctl status pve-cluster.service
● pve-cluster.service - The Proxmox VE cluster filesystem
   Loaded: loaded (/lib/systemd/system/pve-cluster.service; enabled; vendor pres
   Active: failed (Result: exit-code) since Wed 2022-02-09 11:30:42 JST; 14s ago
  Process: 5346 ExecStart=/usr/bin/pmxcfs (code=exited, status=255/EXCEPTION)

Feb 09 11:30:42 pve systemd[1]: pve-cluster.service: Service RestartSec=100ms ex
Feb 09 11:30:42 pve systemd[1]: pve-cluster.service: Scheduled restart job, rest
Feb 09 11:30:42 pve systemd[1]: Stopped The Proxmox VE cluster filesystem.
Feb 09 11:30:42 pve systemd[1]: pve-cluster.service: Start request repeated too
Feb 09 11:30:42 pve systemd[1]: pve-cluster.service: Failed with result 'exit-co
Feb 09 11:30:42 pve systemd[1]: Failed to start The Proxmox VE cluster filesyste
lines 1-11/11 (END)

真因

proxmoxの設定ファイルは、sqlite3のデータベースで管理しており、"pmxcfs"コマンドで、fuseファイルシステムとして、/etc/pveにマウントする形式でした。
今回は、sqlite3のデータベースで、"lxc"が重複しており、起動に失敗して、/etc/pveにマウントされなかったことです。

root@pve:/var/lib/pve-cluster# pmxcfs
[database] crit: found entry with duplicate name 'lxc' - A:(inode = 0x00000000000D7C4F, parent = 0x00000000000D7A60, v./mtime = 0xD7C4F/0x1644155700) vs. B:(inode = 0x00000000000D7CA4, parent = 0x00000000000D7A60, v./mtime = 0xD7CA4/0x1644155760)
[database] crit: DB load failed
[main] crit: memdb_open failed - unable to open database '/var/lib/pve-cluster/config.db'
[main] notice: exit proxmox configuration filesystem (-1)

暫定対処

sqlite3で、① dump出力を作成し、② エディタで重複している"lxc"を1行削除、③データベースを再構築して起動しました。

root@pve:/var/lib/pve-cluster# sqlite3 config.db   <- dump出力
SQLite version 3.27.2 2019-02-25 16:06:06
Enter ".help" for usage hints.
sqlite> .output dump_config.sql
sqlite> .dump  
sqlite> .quit
root@pve:/var/lib/pve-cluster# vi dump_config.sql  <- 重複行を削除
root@pve:/var/lib/pve-cluster# mv config.db config.db_o   <- config.dbの名前を変更
root@pve:/var/lib/pve-cluster# touch config.db            <- 空のconfig.dbを作成
root@pve:/var/lib/pve-cluster# sqlite3 config.db          <- データベースの再構築
SQLite version 3.27.2 2019-02-25 16:06:06
Enter ".help" for usage hints.
sqlite> .read dump_config.sql
sqlite> .quit

root@pve:/var/lib/pve-cluster# pmxcfs  <- エラーがなくなりました。

ブラウザからもproxmoxの操作が可能になりましたが、データの不整合があるので、正しく治していく予定です。

proxmoxの設定ファイルが無くなったときは、びっくりした。

以上

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?