Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - OpenVZ - Ядро26 мая 2011Оглавление: 1. OpenVZ 2. Ядро 3. Отличительные черты OpenVZ 4. Примеры использования 5. Аналогичные технологии Ядро OpenVZ это модифицированное ядро Linux, добавляющее концепцию виртуальной среды. Ядро обеспечивает виртуализацию, изоляцию, управление ресурсами и чекпоинтинг. Версии
На данный момент поддерживается четыре ветки OpenVZ-ядер:
Основными утилитами являются:
Последняя версия vzctl-3.0.24.2. В состав пакета также входят vzlist, vzmigrate, vzcalc, vzcfgvalidate, vzmemcheck, vzcpucheck, vzpid, vzsplit и некоторые другие, менее значимые утилиты.
Так же существует ряд утилит либо не поддерживаемых официально, либо «заброшенных»:
Виртуализация и изоляцияКаждая VE это отдельная сущность, и с точки зрения владельца VE она выглядит практически как обычный физический сервер. Каждая VE имеет свои собственные:
И так далее и тому подобное… Управление ресурсамиУправление ресурсами в OpenVZ состоит из трёх компонентов: двухуровневая дисковая квота, честный планировщик процессора, и так называемые юзер бинкаунтеры. Эти ресурсы могут быть изменены во время работы VE, перезагрузка не требуется. Двухуровневая дисковая квотаАдминистратор OpenVZ сервера может установить дисковые квоты на VE, в терминах дискового пространства и количества айнодов. Это первый уровень дисковой квоты. В дополнение к этому, администратор VE может использовать обычные утилиты внутри своей VE для настроек стандартных дисковых квот UNIX для пользователей и групп. Честный планировщик процессораПланировщик процессора в OpenVZ также двухуровневый. На первом уровне планировщик решает, какой VE дать квант процессорного времени, базируясь на значении параметра Администратор OpenVZ сервера может устанавливать различные значения Также имеется параметр ограничения User BeancountersUser Beancounters это набор счётчиков, ограничений и гарантий на каждую VE. Имеется набор из примерно 20 параметров, которые выбраны для того, чтобы покрыть все аспекты работы VE так, чтобы никакая VE не могла злоупотребить каким-либо ресурсом, который ограничен для всего сервера, и таким образом помешать другим VE. Ресурсы, которые считаются и контролируются это, в основном, оперативная память и различные объекты в ядре, например, разделяемые сегменты памяти IPC, сетевые буферы и т. п. Каждый ресурс можно посмотреть в файле /proc/user_beancounters для него есть пять значений: текущее использование, максимальное использование, барьер, лимит и счётчик отказов. Смысл барьера и лимита зависит от параметра; вкратце, о них можно думать как о мягком лимите и жёстком лимите. Если какой-либо ресурс пытается превысить лимит, его счётчик отказов увеличивается таким образом, владелец VE может видеть, что происходит, путём чтения файла /proc/user_beancounters в своём VE. Чекпоинтинг и миграция на летуФункциональность миграции «на лету» и чекпоинтинга была выпущена для OpenVZ в середине апреля 2006. Она позволяет переносить VE с одного физического сервера на другой без необходимости останавливать/перезапускать VE. Этот процесс называется чекпоинтинг: VE «замораживается» и её полное состояние сохраняется в файл на диске. Далее этот файл можно перенести на другую машину и там «разморозить» VE. Задержка этого процесса примерно несколько секунд; важно подчеркнуть, что это задержка в обслуживании, а не отказ в обслуживании. Начиная с версии 2.6.24, в ядро включены pid namespaces, вследствие чего миграция «на лету» становится «безопасной», так как в этом случае 2 процесса в разных VE смогут иметь один и тот же pid. Так как все детали состояния VE, включая открытые сетевые соединения, сохраняются, то с точки зрения пользователя VE процесс миграции выглядит как задержка в ответе: скажем, одна из транзакций базы данных заняла больше времени, чем обычно, и далее работа продолжается как обычно; таким образом, пользователь не замечает, что его сервер баз данных работает уже на другом физическом сервере. Эта возможность делает реальными такие сценарии, как апгрейд сервера без необходимости его перезагрузки: к примеру, если вашей СУБД нужно больше памяти или более мощный процессор, вы покупаете новый более мощный сервер и мигрируете VE с СУБД на него, а потом увеличиваете лимиты на эту VE. Если вам нужно добавить оперативной памяти в сервер, вы мигрируете все VE с этого сервера на другой, выключаете сервер, устанавливаете дополнительную память, запускаете сервер и мигрируете все VE обратно. Просмотров: 4175
|