Страницы

Сохранить статью у себя в соцсети:

четверг, 6 сентября 2012 г.

§ pmxcfs - Proxmox cluster filesystem.

pmxcfs - proxmox cluster filesystem.

Если просмотреть список процессов в Proxmox VE, то можно увидеть такой процесс как pmxcfs. Как оказалось этот компонент Proxmox является кластерной файловой системой, использующийся для хранения и распространения конфигурации виртуальных окружений. 
С помощью этого инструмента появляется возможность моментальной репликации конфигурационных файлов на все ноды кластера. Эта файловая система используется для хранения всех конфигурационных файлов связанных c PVE. Изначально все данные хранятся в sqlite3 базе на диске, затем с помощью fuse, копия данных перемещается в оперативную память. Такой метод налагает ограничение на максимальный размер, равноый 30MB. Но этого вполне достаточно чтобы хранить конфигурации нескольких тысяч виртуальных машин.
Преимущества:
  • мгновенная репликация и обновление конфигурации на все узлы в кластере;
  • исключается вероятность дублирования идентификаторов виртуальных машин;
  • в случае развала кворума в кластере, файловая система становится доступной только для чтения.
Файловая система основывается на FUSE и является POSIX-совместимой. Но все же некоторые функции в ней не реализованы. По заявлению разработчиков, они просто не нужны:
  • можно создавать файлы и каталоги, но нельзя создавать символические ссылки;
  • нельзя переименовывать не пустые каталоги (обеспечивается уникальность идентификаторов машин - VMID);
  • нельзя менять права файлов (все права на файлы и каталоги определены как root:www-data)
В основе pmxcfs для взаимодействия между нодами используется Corosync, SQLite для хранения базы данных и FUSE для реализации файловой системы.
Файловая система монтируется в /etc/pve/
  • cluster.conf - файл конфигурации corosync/cman 
  • storage.cfg - конфигурация PVE хранилищ
  • user.cfg - конфигурация связанная с контролем доступа в PVE (пользователи и группы)
  • domains.cfg - домены аутентификации PVE
  • authkey.pub - публичный ключ
  • priv/shadow.cfg - файл хранения паролей
  • priv/authkey.key - секретный ключ
  • nodes/${NAME}/pve-ssl.pem - публичный SSL-ключ для Apache
  • nodes/${NAME}/priv/pve-ssl.key - секретный SSL-ключ
  • nodes/${NAME}/qemu-server/${VMID}.conf - конфигурационные файлы для KVM-машин
  • nodes/${NAME}/openvz/${VMID}.conf - конфигурационные файлы для OpenVZ-контейнеров
  • симлинки
  • local - nodes/${LOCALNAME}
  • qemu-server - nodes/${LOCALNAME}/qemu-server/
  • openvz - nodes/${LOCALNAME}/openvz/
  • специальные служебные файлы
  • .version - файл контроля версий (для обнаружения модификаций файлов)
  • .members - информация о нодах кластера
  • .vmlist - список всех виртуальных машин
  • .clusterlog - журнал кластера (последние 50 сообщений)
  • .rrd - данные RRD data (самые последние данные)
С помощью служебных файлов можно включить вывод отладочных сообщений в syslog. 
echo "1" >/etc/pve/.debug 

Такая вот сущность pmxcfs.

На главную "Virtualizing Linux"

2 комментария:

Популярные сообщения

Профиль в Google+ Яндекс цитирования Яндекс.Метрика