Виртуальные серверы OpenVZ

Введение

Система виртуализации, позволяет параллельно запускать на одном компьютере несколько копий операционной системы. Использование этой технологии позволяет повысить безопасность и управляемость системы, так как уязвимости какого-либо сервиса, выполняющегося в виртуальном контейнере, не могут повлиять на на другие виртуальные контейнеры. Помимо этого облегчается миграция сервисов и оптимизация загрузки серверов.

Виртуальным сервером мы будем называть сервис, выполняющийся в виртуальном контейнере. Вы можете просмотреть список доступных виртуальных серверов, запустить, остановить или перезапустить выбранные. Для запущенных виртуальных серверов можно изменить настройки виртуального контейнера (ссылка «Настроить контейнер») или настроить сервисы, выполняющиеся внутри контейнера (ссылка «Настроить сервисы»). Можно также создать новый виртуальный контейнер на основе имеющегося шаблона.

Могут быть изменены основные параметры виртуального сервера:

Настройки ограничений системных ресурсов виртуального сервера

Здесь могут быть изменены ограничения системных ресурсов:

Квоты на дисковое пространство внутри контейнера. Используют параметр «diskspace». Указывается в формате мягкилимит:жёсткий лимит. Один блок считается равным 1 килобайту, возможно использование суффиксов G и M.

Квоты на количество индексных узлов (i-nodes) внутри контейнера. Используют параметр «diskinodes». Указывается в формате мягкий лимит:жёсткий лимит.

Список устройств основного сервера, доступных виртуальному через параметр «devnodes». Устройства указываются в формате device:r|w|rw|none, например sda:r.

Полномочия контейнера OpenVZ

Стандартная реализация проверки прав доступа в Unix разделяет процессы на 2 категории: привилегированные процессы (у которых действующий идентфикатор пользователя равен 0, обычно это суперпользователь или root), и непривилегированные (действующие идетификаторы не равны 0). На привилегированные процессы не действуют проверки безопасности ядра, в отличие от непревилигированных, для которых выполняются стандартные проверки прав доступа (обычно это проверки действующего идентфикатора пользователя/группы и списка дополнительных групп).

Начиная с версии 2.2, ядро Linux предоставляет систему полномочий (все еще не полную), которая позволяет представить стандартные привилегии суперпользователя в виде набора индивидуальных частей, каждая из которых может включена или отключена независимо друг от друга.

Каждый виртуальный контейнер по-умолчанию обладает набором полномочий (см. capabilites(7)), достаточных для работы большинства сервисов. Этот набор позволяет глобально (на уровне контейнера) ограничить список доступных привилегий для процессов внутри контейнера. Если вам необходимо расширить этот список, то вы можете воспользоваться интерфейсом управления пролномочиями контейнера OpenVZ.