Не все знают, что
/etc/pve – это не просто директория на диске, а точка монтирования распределённой файловой системы pmxcfs (Proxmox Cluster File System). Данная система монтируется через FUSE при запуске службы pve-cluster и отражает текущую конфигурацию кластера в реальном времени.Поэтому если вы загрузитесь с диска восстановления или подключите диск к другому ПК с целью скопировать конфигурацию гипервизора, то вас ждет неприятный сюрприз – папка окажется пуста.
В этом случае вам понадобится файл базы данных SQLite в котором реально хранятся данные:
/var/lib/pve-cluster/config.dbПоэтому, если вам нужно сохранить настройки гипервизора, в который вы не можете загрузиться нормальным образом – вам нужно скопировать именно этот файл и потом заменить им базу на новом экземпляре гипервизора.
Если вы хотите просмотреть содержимое базы данных, то выполните запрос:
sqlite3 /var/lib/pve-cluster/config.db "SELECT inode, name, type FROM tree WHERE parent = 1;"
В выводе вы получите следующую структуру: номер inode, имя объекта и его тип (4 – директория, 8 – файл).
Если хотите получить список объектов директории выполните запрос с указанием ее inode, в нашем случае 12:
sqlite3 /var/lib/pve-cluster/config.db "SELECT inode, name, type FROM tree WHERE parent = 12;"
Прочитать содержимое файла из базы вы можете запросом (в данном случае мы читаем файл с inode 6):
sqlite3 /var/lib/pve-cluster/config.db "SELECT CAST(data AS TEXT) FROM tree WHERE inode = 6;"
При необходимости можем сохранить вывод в файл:
sqlite3 /var/lib/pve-cluster/config.db "SELECT CAST(data AS TEXT) FROM tree WHERE inode = 6;" > filename
Это дает нам возможность не заменять базу целиком, а скопировать из нее только нужные файлы, скажем – конфигурации виртуальных машин и контейнеров.
