Jump to content

ОпенВЗ

ОпенВЗ
Разработчик(и) Virtuozzo и OpenVZ Сообщество
Первоначальный выпуск 2005 г .; 19 лет назад ( 2005 )
Репозиторий
Написано в С
Операционная система Линукс
Платформа х86 , х86-64
Доступно в Английский
Тип Виртуализация на уровне ОС
Лицензия лицензия GPLv2
Веб-сайт openvz .org

OpenVZ ( Open Virtuozzo ) — технология виртуализации на уровне операционной системы для Linux . Это позволяет физическому серверу запускать несколько изолированных экземпляров операционной системы, называемых контейнерами, виртуальными частными серверами (VPS) или виртуальными средами (VE). OpenVZ похож на Solaris Containers и LXC .

с другими технологиями виртуализации по сравнению OpenVZ

В то время как технологии виртуализации, такие как VMware , Xen и KVM, обеспечивают полную виртуализацию и могут работать с несколькими операционными системами и разными версиями ядра, OpenVZ использует одно ядро ​​Linux и, следовательно, может работать только с Linux. Все контейнеры OpenVZ имеют одну и ту же архитектуру и версию ядра. Это может быть недостатком в ситуациях, когда гостям требуются версии ядра, отличные от версии хоста. Однако, поскольку он не имеет накладных расходов настоящего гипервизора , он очень быстр и эффективен. [1]

Распределение памяти с помощью OpenVZ является мягким, поскольку память, не используемая в одной виртуальной среде, может использоваться другими или для кэширования диска . В то время как старые версии OpenVZ использовали общую файловую систему (где каждая виртуальная среда представляет собой просто каталог файлов, изолированный с помощью chroot ), текущие версии OpenVZ позволяют каждому контейнеру иметь собственную файловую систему. [2]

Ядро [ править ]

Ядро OpenVZ — это ядро ​​Linux , модифицированное для добавления поддержки контейнеров OpenVZ. Модифицированное ядро ​​обеспечивает виртуализацию, изоляцию, управление ресурсами и контрольные точки . Начиная с vzctl 4.0, OpenVZ может работать с непропатченными ядрами Linux 3.x с ограниченным набором функций. [3]

Виртуализация и изоляция [ править ]

Каждый контейнер представляет собой отдельный объект и ведет себя во многом так же, как физический сервер. У каждого свои:

Файлы
Системные библиотеки , приложения , виртуализированные /proc и /sys, виртуализированные блокировки и т. д.
Пользователи и группы
Каждый контейнер имеет своего собственного пользователя root , а также других пользователей и группы .
Дерево процессов
Контейнер видит только свои процессы (начиная с init). PID виртуализированы, поэтому PID инициализации равен 1, как и должно быть.
Сеть
Виртуальное сетевое устройство , позволяющее контейнеру иметь собственные IP-адреса , а также набор сетевых фильтров ( iptables) и маршрутизации . правила
Устройства
При необходимости любому контейнеру можно предоставить доступ к реальным устройствам, таким как сетевые интерфейсы , последовательные порты , разделы диска и т. д.
объекты МПК
Общая память , семафоры , сообщения .

Управление ресурсами [ править ]

Управление ресурсами OpenVZ состоит из четырех компонентов: двухуровневой дисковой квоты, справедливого планировщика ЦП, планировщика дискового ввода-вывода и счетчиков пользовательских компонентов (см. ниже). Эти ресурсы можно изменить во время работы контейнера , что исключает необходимость перезагрузки .

Двухуровневая дисковая квота
Каждый контейнер может иметь свои собственные дисковые квоты , измеряемые в дисковых блоках и индексных дескрипторах (приблизительно количестве файлов). Внутри контейнера можно использовать стандартные инструменты UNIX для установки дисковых квот UNIX для каждого пользователя и группы .
планировщик процессора
Планировщик ЦП в OpenVZ представляет собой двухуровневую реализацию стратегии справедливого распределения. На первом уровне планировщик решает, какому контейнеру следует предоставить квант времени ЦП, на основе значений процессорных модулей для каждого контейнера . На втором уровне стандартный планировщик Linux решает, какой процесс запустить в этом контейнере, используя стандартные приоритеты процессов Linux. В каждом контейнере можно установить разные значения для процессоров. Реальное время процессора будет распределяться пропорционально этим значениям. Кроме того, OpenVZ предоставляет способы установки строгих ограничений ЦП, например 10% от общего времени ЦП ( --cpulimit), ограничить количество ядер ЦП, доступных контейнеру ( --cpus) и привязать контейнер к определенному набору процессоров ( --cpumask). [4]
Планировщик ввода-вывода
Подобно планировщику ЦП, описанному выше, планировщик ввода-вывода в OpenVZ также является двухуровневым и Axboe Jens CFQ на втором уровне использует планировщик ввода-вывода . Каждому контейнеру назначается приоритет ввода-вывода, и планировщик распределяет доступную полосу пропускания ввода-вывода в соответствии с назначенными приоритетами. Таким образом, ни один контейнер не может перегрузить канал ввода-вывода.
Пользовательские счетчики Beancounters
User Beancounters — это набор счетчиков, ограничений и гарантий для каждого контейнера, предназначенных для предотвращения монополизации системных ресурсов одним контейнером. В текущих ядрах OpenVZ (042stab* на базе RHEL6) есть два основных параметра, а остальные являются необязательными. [5] Другими ресурсами являются в основном память и различные объекты внутри ядра, такие как сегменты общей памяти межпроцессного взаимодействия и сетевые буферы. Каждый ресурс можно увидеть из /proc/user_beancounters и имеет пять связанных с ним значений: текущее использование, максимальное использование (за время существования контейнера), барьер, предел и счетчик сбоев. Значение барьера и предела зависит от параметра; Короче говоря, их можно рассматривать как мягкие и жесткие ограничения. Если какой-либо ресурс достигает предела, счетчик неудач для него увеличивается. Это позволяет владельцу обнаруживать проблемы путем мониторинга /proc/user_beancounters в контейнере.

Контрольные точки и живая миграция [ править ]

Функция динамической миграции и контрольных точек была выпущена для OpenVZ в середине апреля 2006 года. Это позволяет перемещать контейнер с одного физического сервера на другой без выключения контейнера. Этот процесс известен как контрольная точка: контейнер замораживается, и все его состояние сохраняется в файл на диске. Этот файл затем можно перенести на другую машину и там разморозить (восстановить) контейнер; задержка составляет примерно несколько секунд. Поскольку состояние обычно сохраняется полностью, эта пауза может показаться обычной вычислительной задержкой.

Ограничения [ править ]

По умолчанию OpenVZ ограничивает доступ к контейнеру реальными физическими устройствами (таким образом делая контейнер независимым от аппаратного обеспечения). Администратор OpenVZ может разрешить контейнеру доступ к различным реальным устройствам, таким как дисководы, порты USB, [6] PCI-устройства [7] или физические сетевые карты. [8]

/dev/loopN часто ограничен при развертывании (поскольку кольцевые устройства используют потоки ядра, что может быть проблемой безопасности), что ограничивает возможность монтирования образов дисков. Обходной путь — использовать FUSE .

OpenVZ ограничивается предоставлением только некоторых технологий VPN на основе PPP (например, PPTP/L2TP) и TUN/TAP. IPsec поддерживается внутри контейнеров, начиная с ядра 2.6.32.

Графический пользовательский интерфейс под названием EasyVZ был предпринят в 2007 году. [9] но дальше версии 0.1 дело не продвинулось. До версии 3.4 Proxmox VE можно было использовать в качестве среды виртуализации серверов на базе OpenVZ с графическим интерфейсом, хотя более поздние версии перешли на LXC .

См. также [ править ]

Ссылки [ править ]

  1. ^ «Оценка производительности технологий виртуализации для консолидации серверов» . Архивировано из оригинала 15 января 2009 г.
  2. ^ «Ploop — OpenVZ Linux Containers Wiki» . Архивировано из оригинала 26 марта 2012 г.
  3. ^ Колышкин, Кир (6 октября 2012 г.). «OpenVZ исполняется 7 лет, подарки доступны!» . Блог OpenVZ . Проверено 17 января 2013 г.
  4. ^ Справочная страница vzctl(8), раздел параметров планировщика ярмарки ЦП, http://openvz.org/Man/vzctl.8#CPU_fair_scheduler_parameters. Архивировано 14 апреля 2017 г. на Wayback Machine.
  5. ^ «VSwap — OpenVZ Linux Containers Wiki» . Архивировано из оригинала 13 февраля 2013 г.
  6. ^ справочная страница vzctl(8), подраздел «Управление доступом к устройствам», http://wiki.openvz.org/Man/vzctl.8#Device_access_management
  7. ^ Справочная страница vzctl(8), раздел управления устройствами PCI, http://wiki.openvz.org/Man/vzctl.8#PCI_device_management
  8. ^ man-страница vzctl(8), раздел «Сетевые устройства», http://wiki.openvz.org/Man/vzctl.8#Network_devices_control_parameters
  9. ^ EasyVZ: Графическое управление для OpenVZ. Фронтенд для бесплатной виртуализации Linux

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3b6e2dec7a7bb335a096b737226d7336__1710440640
URL1:https://arc.ask3.ru/arc/aa/3b/36/3b6e2dec7a7bb335a096b737226d7336.html
Заголовок, (Title) документа по адресу, URL1:
OpenVZ - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)