VMmanager OVZ: Структура базы данных

Материал из ISPWiki
Перейти к: навигация, поиск

Структура БД

Структура базы данных VMmanager OVZ приведена на рисунке. База состоит из 10 таблиц, которые условно можно разделить на два логических блока:

  • основная база данных - таблицы hostnode, users, preset, vm, snapshot, ip, sshpubkey
  • база данных импорта vds из VDSmanager - таблицы vdsmgr, vds, vdsip

Типы данных также приведены условно, так, для типа bool реально используется тип char(3) с возможными значениям "on"/"off".

Структура базы данных

Основная БД

Таблица vm

Таблица vm предназначена для хранения информации о контейнерах.

Список полей:

  • id - первичный ключ, используется также как идентификатор контейнера; минимальное значение - 101
  • name - наименование контейнера
  • hostnode - внешний ключ, идентификатор узла кластера, на котором размещен данный контейнер
  • user_id - внешний ключ, идентификатор пользователя-владельца контейнера
  • ip - основной IP-адрес
  • domain - доменное имя
  • ostemplate - шаблон ОС
  • state - состояние контейнера: installing - установка ОС, stopped - остановлен, running - запущен, error - ошибка
  • admdown - признак того, что контейнер выключен администратором
  • hdd - размер диска, Мб
  • mem - объем памяти, Мб
  • swapratio - соотношение объема swap к объему памяти, %
  • cpu - количество процессоров
  • cpufreq - частота процессора, МГц
  • cpulimit - лимит на использование cpu, %
  • numproc - максимально количество одновременно открытых процессов внутри контейнера
  • numfile - максимально количество одновременно открытых дескрипторов файлов внутри контейнера
  • migrate - признак миграции на другой узел кластера
  • importing - признак импорта из vds
  • converting - признак конвертирования в ploop
  • migrate_hostnode_id - идентификатор узла кластера, на который происходит миграция
  • vmnote - примечания администратора
  • vmnoteu - примечания пользователя-владельца контейнера
  • synctime - дата/время последней синхронизации параметров
  • blocked - признак того, что контейнер заблокирован от деструктивных действий
  • fstype - тип файловой системы (simfs/ploop)
  • firstrun - признак того, что контейнер запускается 1й раз (используется для копирования resolv.conf)
  • chratein - ограничение входящей скорости, Кбит/сек
  • chrateout - ограничение исходящей скорости, Кбит/сек
  • iolimit - ограничение на максимальную скорость обмена данными с дисковым устройством, Мб/сек
  • iopslimit - ограничение на максимальное количество операций ввода-вывода в секунду (IOPS)
  • sshpubkey - публичный ssh-ключ, который записывается в /root/.ssh/authorized_keys при создании/переустановке контейнера

Таблица hostnode

Таблица hostnode предназначена для хранения информации об узлах кластера.

Список полей:

  • id - первичный ключ, уникальный идентификатор узла кластера
  • name - наименование
  • ip - IP-адрес
  • status - признак блокировки автоматического размещения на узле кластера новых контейнеров
  • configuration - комментарии к узлу кластера
  • password -
  • port - номер порта ihttpd
  • maxvmcount - ограничение на максимальное количество контейнеров (учитывается только при автоматическом выборе узла кластера)
  • vzkernel_version - текущая версия ядра OpenVz на данном узле кластера
  • vzctl_version - текущая версия утилиты vzctl на данном узле кластера

Таблица users

Таблица users предназначена для хранения информации о пользователях системы.

Список полей:

  • id - первичный ключ, уникальный идентификатор пользователя
  • name - имя пользователя
  • password - хеш пароля
  • level - уровень доступа (16 - пользователь, 29 - администратор)
  • enabled - признак "вкл/выкл"

Таблица preset

Таблица preset предназначена для хранения информации о шаблонах контейнеров.

Список полей:

  • id - первичный ключ, уникальный идентификатор шаблона
  • name - имя шаблона
  • hdd - размер диска, Мб
  • mem - объем памяти, Мб
  • swapratio - соотношение объема swap к объему памяти, %
  • cpu - количество процессоров
  • cpufreq - частота процессора, МГц
  • cpulimit - лимит на использование cpu, %
  • numproc - максимально количество одновременно открытых процессов внутри контейнера
  • numfile - максимально количество одновременно открытых дескрипторов файлов внутри контейнера
  • chratein - ограничение входящей скорости, Кбит/сек
  • chrateout - ограничение исходящей скорости, Кбит/сек
  • iolimit - ограничение на максимальную скорость обмена данными с дисковым устройством, Мб/сек
  • iopslimit - ограничение на максимальное количество операций ввода-вывода в секунду (IOPS)

Таблица snapshot

Таблица snapshot предназначена для хранения информации о снимках контейнеров

Список полей:

  • id - первичный ключ, уникальный идентификатор
  • vm - внешний ключ, идентификатор контейнера, к которому относится данный снимок
  • guid - глобальный идентификатор (GUID) снимка, задается системой OpenVz
  • guid_parent - глобальный идентификатор (GUID) родительского снимка, задается системой OpenVz
  • name - наименование снимка
  • description - произвольное текстовое описание снимка
  • date - дата создания снимка
  • usersnapshot - признак того, что снимок сделан пользователем, а не администратором
  • memdump - признак наличия дампа памяти в снимке

Таблица ip

Таблица ip предназначена для хранения списка IP-адресов контейнеров

Список полей:

  • id - первичный ключ, уникальный идентификатор
  • owner - внешний ключ, идентификатор контейнера, к которому относится данный IP-адрес* ip - IP-адрес контейнера* domain - ассоциированное с адресом доменное имя

Таблица sshpubkey

Таблица sshpubkey предназначена для хранения списка публичных ssh-ключей, автоматически размещаемых на контейнере при его создании/переустановке

Список полей:

  • id - первичный ключ, уникальный идентификатор
  • owner - внешний ключ, идентификатор контейнера, к которому относится данный ssh-ключ
  • name - наименование ключа*pubkey - публичный ssh-ключ

База данных импорта vds

Таблица vdsmgr

Таблица vdsmgr предназначена для хранения информации о списке серверов с VDSmanager 4.

Список полей:

  • id - первичный ключ, уникальный идентификатор
  • name - имя сервера
  • ip - IP-адрес сервера
  • ipmgr - признак активности интеграции с IPmanager
  • local - признак того, что сервер является локальным по отношению к VMmanager OVZ
  • vzprivate_dir - путь к "private"-директории

Таблица vds

Таблица vds предназначена для хранения информации о списке vds конкретного сервера VDSmanager 4.

Список полей:

  • id - первичный ключ, уникальный идентификатор
  • name - имя vds
  • vdsmgr - внешний ключ, идентификатор сервера VDSmanager
  • newname - новое имя, используется только если необходимо импортировать vds с новым именем
  • ip - основной IP-адрес vds
  • ctid - идентификатор vds (контейнера) на стороне сервера VDSmanager
  • vectid - идентификатор контейнера на стороне сервера VMmanager OVZ
  • status - состояние vds
  • ostemplate - шаблон ОС
  • disk - размер диска
  • mem - объем памяти
  • cpu - количество cpu
  • cpufreq - частота cpu
  • numproc - максимально количество одновременно открытых процессов внутри vds
  • numfile - максимально количество одновременно открытых дескрипторов файлов внутри vds
  • blocked - признак того, что vds заблокирован от деструктивных действий
  • note - примечания
  • disabled - признак "вкл/выкл"
  • swapratio - соотношение swap/ram
  • cpulimit - лимит на использование cpu, %
  • chrate - скорость канала

Таблица vdsip

Таблица vdsip предназначена для хранения списка дополнительных IP-адресов vds.

Список полей:

  • id - первичный ключ, уникальный идентификатор
  • vds - внешний ключ, идентификатор vds
  • ip - IP-адрес
  • domain - доменное имя