OpenVZ (Open Virtuozzo) |
Автор: admin Просмотров: 1723 Комментарии:
Добавлен: 24 января 2017
Обновлено: 24.01.2017 - 19:00
Технология виртуализации для ОС GNU/Linux. Позволяет на одном физическом сервере запускать множество изолированных экземпляров операционной системы, так называемых контейнеров, виртуальных частных серверов (VPS) или виртуальных окружений (VES). OpenVZ похож на контейнеры Solaris и LXC.
Сравнение OpenVZ с другими технологиями виртуализации
Такие технологии виртуализации как VMware и Xen обеспечивают полную виртуализацию и могут запускать несколько операционных систем и различных версий ядер, в то время как OpenVZ использует одно пропатченное ядро GNU/Linux и следовательно, может работать только под GNU/Linux. Это может быть недостатком в тех ситуациях, когда для гостевой системы требуются другая версия ядра. Однако, поскольку он не требует системных ресурсов как настоящий гипервизор, он очень быстрый и эффективный.
Распределение памяти с OpenVZ мягкое в том что память не используемая одним виртуальным окружением может быть использована другими или для кэширования диска. Старые версии OpenVZ использовали общую файловую систему, где каждое виртуальное окружение было просто каталогом с файлами, изолируемым при помощи chroot, современные версии OpenVZ позволяют каждому контейнеру иметь свою собственную файловую систему.
Ядро OpenVZ
Ядро OpenVZ является пропатченым Linux, чтобы добавить поддержку OpenVZ контейнеров. Модифицированный ядро обеспечивает виртуализацию, изоляцию, управление ресурсами и контрольные точки. По состоянию на vzctl 4.0, OpenVZ может работать с непропатченными Linux 3.x, но с меньшим набором функций.
Виртуализация и изоляция.
Каждый контейнер является отдельной сущностью и ведет себя в основном как физический сервер. Каждый контейнер имеет свои собственные:
Файлы. Системные библиотеки, приложения, виртуальные /proc , /sys и блокировки.
Пользователи и группы. Каждый контейнер имеет своего собственного пользователя root, а также других пользователей и групп.
Дерево процессов. Контейнер видит только свои собственные процессы (начиная с init). PID тоже виртуальные, так что PID равен 1, как это и должно быть.
Сеть. Виртуальное сетевое устройство позволяет контейнеру иметь свои собственные IP-адреса, а также набор netfilter () и правил маршрутизации.
Устройства. При необходимости, любому контейнеру можно предоставить доступ к реальным устройствам: сетевым интерфейсам, последовательным портам, разделам диска и т.д.
Объекты IPC. Совместно используемая память, семафоры, сообщения.
Управление ресурсами в OpenVZ
Управление ресурсами в OpenVZ состоит из четырех компонентов: двухуровневые дисковые квоты, Fair CPU Scheduler, планировщик disk I/O и User Beancounters. Эти ресурсы могут быть изменены во время выполнения контейнера, чтобы устранить необходимость перезагрузки.
Двухуровневая дисковая квота.
Каждый контейнер может иметь свои собственные дисковые квоты, измеренные в терминах дисковых блоков и индексных дескрипторов (inodes) (округлённое количество файлов). Внутри контейнера, можно использовать стандартные инструменты для установки UNIX каждому пользователю или дисковых квот каждой группы пользователей.
CPU scheduler (планировщик CPU).Планировщик процессора в OpenVZ является планировщиком двухуровневой распределящей стратегии (two-level implementation of fair-share scheduling strategy.).
На первом уровне планировщик решает, какому контейнеру он должен дать квант процессорного времени, базируясь на значении cpuunits каждого контейнера. На втором уровне стандартный планировщик Linux решает, какой процесс запустить в этом контейнере, с использованием стандартных приоритетов процессов Linux.
Можно установить различные значения для центральных процессоров в каждом контейнере. Реальное время CPU будет распределены пропорционально этим значениям. В дополнение к вышесказанному, OpenVZ обеспечивает:
- установку строгих ограничений CPU, например, 10% от общего времени работы центрального процессора ( --cpulimit);
- ограничение количества процессорных ядер, доступных контейнеру ( --cpus);
- привязка контейнера к определенному набору процессоров ( --cpumask).
Планировщик ввода / вывода.Аналогично планировщику CPU описанному выше, планировщик ввода/вывода в OpenVZ также двухуровневый, используя планировщик Jens Axboe's CFQ I/O на своём втором уровне.
Каждому контейнеру назначается приоритет I/O, а также планировщик распределения доступной пропускной способности I/O в соответствии с присвоенными приоритетами. Таким образом, ни один контейнер не может насытить канал ввода / вывода.
User Beancounters. Это набор счётчиков для каждого контейнера, ограничений и гарантий что этот контейнер не сможет монополизировать системные ресурсы. В современных ядрах OpenVZ (RHEL6-base 042stab) есть два основных параметра: ram и swap, они же physpages и swappages, а другие не являются обязательными.
Другие ресурсы в основном память и различные объекты в ядре, такие как разделяемая память и сетевые буферы. Каждый ресурс может смотреть /proc/user_beancounters и иметь 5 значений связанных с ним: текущее использование, максимальное использование (для срока службы контейнера), барьер, лимит и счетчик ошибок. Смысл барьера и лимита зависит от их параметров. Короче говоря, это можно рассматривать как жесткий лимит и мягкий лимит. Если какой-либо ресурс достигает лимита, счётчик ошибок для него увеличивается. Это позволяет владельцу обнаружить проблемы путем мониторинга /proc/user_beancounters в контейнере.
Чекпоинтинг и миграция «на лету». Чекпоинтинг и миграция «на лету» впервые появилась в OpenVZ в середине апреля 2006. Эта возможность позволяет перемещать контейнер с одного физического сервера на другой без остановки контейнера. Этот процесс известен как чекпоинтинг: контейнер заморожен и всё его состояние сохраняется в файле на диске. Это файл можно передать на другой компьютер и там разморозить (восстановить) его; задержка составляет примерно несколько секунд. Поскольку состояние обычно сохраняется полностью, эта пауза может оказаться обычной вычислительной задержкой.
Ограничения OpenVZ
По умолчанию OpenVZ ограничивает доступ контейнера к реальным физическим устройствам (таким образом делая контейнер аппаратно-независимым). Администратор OpenVZ может разрешить доступ контейнера к различным реальным устройствам, таким как жесткие диски, USB-порты, PCI устройства или физические сетевые карты.
/dev/loopN часто ограничен в развёртывании (устройство loop использует потоки ядра, которые могли бы быть проблемой безопасности) что ограничивает возможность монтирования образов дисков. Обходом является использование FUSE.
OpenVZ ограничивает предоставление некоторых технологий VPN на основе PPTP (это PPTP / L2TP) и TUN/TAP. IPsec поддерживается внутри контейнеров начиная с ядра 2.6.32.
Графический пользовательский интерфейс под названием EasyVZ был предпринят в 2007 году, но он не продвинулась за пределы версии 0.1.
По состоянию на 2007 год, OpenVZ не мог работать с включенным SELinux некоторыми пользователями. Хотя не ясно, это ошибка или случайность.
https://en.wikipedia.org/wiki/OpenVZ
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Я уже пять лет не занимаюсь сайтом, так как работаю по 12 часов. Образование у меня среднее, и по этому нет нормальной работы. Если бы сайт приносил по 100$ в месяц, я бы добавлял по 50 статей каждый месяц. Если отправите пожертвования, я оставлю Ваши имена и фамилии в списке благодетелей !
Bitcoin: 1AP3JCZVFpHzZwcAyNztbrbFFiLdnKbY1j
Litecoin LfHXHz4k6LnDNNvCodd5pj9aW4Qk67KoUD
Dogecoin D9HHvKNFZxRhjtoh6uZYjMjgcZewwiUME9
Есть также другие кошельки.
Категория: Виртуализация
Лицензия:
GPL2
Язык программирования:
C
Архитектура компьютера: x86, x86-64
Сайт проекта
Скачать OpenVZ (Open Virtuozzo)
Комментарии |