linux виртуальная машина что это
Виртуальные машины для Linux
Что такое виртуальная машина?
Раньше виртуальные машины выполняли всю работу сами, на программном уровне, и понятно, что все это работало очень медленно. Но потом процессоры начали поддерживать аппаратную виртуализацию, это в разы ускоряет работу гостевой операционной системы. Это такие технологии, как AMD-V от AMD или Intel VT-x от Intel. Правда, эти технологии могут быть по умолчанию отключены в BIOS.
Кроме виртуальных машин, которые полностью эмулируют работу компьютера к виртуализации под linux можно отнести контейнеры, например, LXC или OpenVZ. Дальше мы рассмотрим виртуальны машины для Linux, которые вы можете использовать для установки своих систем.
1. VirtualBox
VirtualBox поддерживает как 32, так и 64 битные системы и вы можете установить не только Linux дистрибутив, но и Windows или даже MacOS. Все системы будут отлично работать. Во время создания виртуальной машины вы можете выбрать профиль гостевой ОС, для которого автоматически выставятся правильные параметры памяти, процессора и видеокарты.
Кроме непосредственно виртуализации, VirtualBox поддерживает и дополнительные функции, например, запись видео с экрана виртуальной машины, и создание снимков системы для быстрого восстановления и создание виртуальной сети между несколькими машинами. Кроме того, если установить дополнения гостевой ОС, то можно настроить общий буфер обмена между хостовой и гостевой системой, передавать между ними файлы или даже интегрировать окна программ гостевой системы в основную.
Можно сказать, что это лучшая виртуальная машина для Linux, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.
2. VMware
В отличие от VirtualBox, которая распространяется с открытым исходным кодом, это коммерческий продукт, полная версия которого стоит денег. Но для домашнего использования есть упрощенная версия, которую можно использовать полностью бесплатно.
VMWare имеет почти все те же возможности, что и VirtualBox, в некоторых тестах она показывает себя лучше чем первый вариант, но в целом их производительность одинакова. Тоже есть возможность организовывать сеть между виртуальными машинами, объединять буфер обмена и передавать файлы, но нет записи видео.
Примечательной особенностью VMWare есть то, что для некоторых систем разработаны и уже готовы сценарии автоматической установки, которые позволяют установить систему в автоматическом режиме и не указывать слишком много параметров. Это может быть очень удобным в некоторых ситуациях.
3. Qemu
Если вы хотите запустить не привычную операционную систему x86, а систему для устройств ARM, например, Android, Raspbian или RISC OS, то тут вам не помогут две предыдущие виртуальные машины Linux. С такой задачей может справиться только Qemu.
Несмотря на свое название, это очень мощный инструмент для работы с виртуализацией в Linux, для установки Qemu в Ubuntu выполните:
sudo apt install qemu qemu-kvm libvirt-bin
Подробнее про использование Qemu можно почитать в этой статье.
4. Gnome Boxes
Если вам не нравится управлять вашими виртуальными машинами с помощью командной строки, можно воспользоваться графическим интерфейсом для Qemu под названием Gnome Boxes. Эта утилита позволяет в несколько кликов создать новую виртуальную машину. При чём вам не нужно иметь установочный образ, программа может сама загрузить его из сети. Кроме создания виртуальных машин можно подключаться к удалённым виртуальным машинам по протоколу RDP или VNC. Для установки программы в Ubuntu используйте такую команду:
sudo apt install gnome-boxes
5. KVM
Чтобы начать использовать KVM сначала нужно проверить, поддерживает ли ваше оборудование аппаратное ускорение, для этого используйте утилиту cpu-checker. Если все поддерживается то вы можете перейти к установке KVM:
sudo apt install qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
После установки вы сможете получить доступ к виртуальным машинам KVM с помощью менеджера виртуальных машин, который появится в меню. С помощью этого менеджера управляются и другие системы виртуализации Linux, например, XEN.
6. XEN
Это еще одна платформа виртуализации для Linux, которая очень похожа на KVM. Но тут есть некоторые отличия. Как и KVM здесь поддерживается аппаратное ускорение, множество архитектур, в том числе и ARM, а также запуск различных гостевых систем, включая Windows. Но главное отличие заключается в том, что KVM по умолчанию встроен в ядро Linux, а для работы Xen вам понадобиться специально собранное ядро с его поддержкой.
Из других особенностей Xen можно отметить, что система будет работать достаточно быстро даже без аппаратного ускорения, если вы будете запускать Linux.
Выводы
В этой статье мы рассмотрели лучшие виртуальные машины для Linux. Как видите виртуализация на linux развивается очень быстро и есть достаточно много решений, которые вы могли бы использовать в своей системе. Какую виртуальную машину или систему виртуализации используете вы? Напишите в комментариях!
Виртуальные машины для Linux
Вам нужно запустить другую операционную систему на вашем ПК с Linux. Но стоит ли вам дважды загружать системы или лучше использовать виртуальную машину? И если вы выберете второй вариант, то нужно узнать какое программное обеспечение для виртуальных машин вы должны использовать?
Виртуальные машины для Linux против режима Dual Boot
Ранее, мы уже говорили о том, как можно установить Linux возле Windows 10 на одном устройстве. Это делается очень просто. Но что делать в ситуации, если вы хотите запускать Windows прямо в среде Linux и при этом, чтобы все работало плавно и быстро? Давайте разберемся. В этом нам помогут так званные виртуальные машины для Linux.
Вы запускаете Linux — возможно, Linux Mint или Ubuntu — вместе с Windows? Или у вас есть два или более дистрибутивов Linux, установленных на вашем компьютере? Как это все работает для вас? Для некоторых эта динамика хорошо работает и довольно быстро. Для других перезагрузка может быть проблемой.
Время перезагрузки, выбор другой ОС на экране загрузчика GRUB, а затем загрузка, могут быть проблематичными. Это особенно справедливо в системах, где Linux установлен рядом с Windows.
В более медленных системах или системах со многими приложениями, пытающимися работать при загрузке Windows, вы можете ждать 5-15 минут, прежде чем сможете начать работать. Установите антивирусное решение, и вы будете загружаться еще медленнее. Но это касается старых устройств, ведь на новых все работает очень быстро.
Однако запуск вашей второй ОС на виртуальной машине может решить эту проблему. Виртуальные машины для Linux являются очень полезными во многих ситуациях и могут намного увеличить производительность.
Что такое виртуальная машина?
Мы смотрели на виртуальные машины — известные как VM — несколько раз в прошлом. Проще говоря, это приложения, которые создают программную среду, имитирующую компьютерное оборудование. Затем в эту среду может быть установлена операционная система. Мы называем это «гостевой ОС», а операционная система, установленная на вашем физическом компьютере, — это «хост-система».
Кроме того, виртуализация может быть улучшена с помощью специализированного системного оборудования.
Если говорить еще более понятно то, виртуальные машины для Linux являются программами на которых можно запускать дополнительные операционные системы.
Как активировать виртуализацию на вашем ПК
Хотя выбранная вами гостевая ОС может работать без аппаратной виртуализации, если опция доступна, то ее стоит использовать. Не в последнюю очередь потому, что это уменьшит утечку ресурсов системы вашего компьютера.
Чтобы включить аппаратную виртуализацию, вам необходимо перезагрузить компьютер для доступа к BIOS. Как это будет достигнуто, будет зависеть ваше устройство, но обычно это делается путем нажатия Del или F2 после перезагрузки компьютера.
Найдите экран «Дополнительно» в BIOS и найдите одно из следующего:
BIOS управляется с помощью клавиш со стрелками. Когда вы включили виртуализацию, нажмите F10, чтобы сохранить и выйти.
Как только это будет сделано, у вас будет выбор из трех приложений с открытым исходным кодом VM, которые мы рассмотрим ниже (VMWare также доступен для Linux, но не является программой с открытым исходным кодом).
1. VirtualBox
Предлагая универсальную виртуализацию, VirtualBox может создавать виртуальную машину практически с любой операционной системой (за исключением тех, которые предназначены для устройств ARM). Он также предлагает программное обеспечение и жесткую виртуализацию, сохраняя виртуальные машины в виде образов дисков. Это упрощает резервное копирование или перенос на другие ПК или приложения VM.
2. QEMU
Если вы хотите запустить операционную систему заточенную на базе ARM (например, Android, Raspbian или RISC OS), тогда это средство командной строки, которое вы выберете.
Если кратко для программы «Quick Emulator» вы сможете сделать производительную виртуалку, QEMU прост в настройке, и некоторые гостевые операционные системы могут быть даже загружены с встроенным QEMU.
Хотя неназванное имя для QEMU является «Quick Emulator», это на самом деле гипервизор, инструмент для управления аппаратной виртуализацией. Вы можете установить QEMU с помощью:
sudo apt-get install qemu qemu-kvm libvirt-bin
3. KVM
Сокращая виртуальную машину на основе ядра, KVM является вилкой проекта QEMU и работает в сочетании с этим инструментом для предоставления дополнительных параметров (например, близкой скорости) за пределами собственных встроенных функций VM.
Это означает, что KVM предлагает отличную скорость и стабильность, чем VirtualBox, но KVM немного сложнее настроить. Однако, если вы можете обойти пара-виртуализированные драйверы, вам будет хорошо на вашем пути понять, почему KVM является популярным вариантом для размещения виртуальных машин.
Чтобы использовать KVM, начните с подтверждения того, что ваше оборудование подходит для аппаратной виртуализации:
Если ответ «Ускорение KVM можно использовать», приступайте к установке программного обеспечения:
sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils
Вы сможете запустить KVM через рабочий стол с помощью Virtual Machine Manager, который вы найдете в меню рабочего стола.
Какие дистрибутивы работают лучше всего в VM?
После того, как вы выбрали подходящее приложение для виртуальной машины, вам нужно будет подобрать свой вариант гостевой ОС. Например, вы можете легко запускать Windows на VirtualBox, хотя Windows 7, вероятно, является самым безопасным вариантом.
И наоборот, QEMU подходит для запуска распределенных ARM-дистрибутивов, таких как Raspberry Pi’s Raspbian или Android.
Между тем, что-то легкое, как Lubuntu, будет работать на любом из этих инструментов VM.
Какой инструмент VM нужно использовать?
В этой статье мы рассмотрели три самых популярных варианта и рассказали о том как они работают. Выбрать можно любую из этих программ, тем более что все они являются качественными и работают достаточно производительно. Но все таки, нужно выбрать самый интересный, удобный и быстрый VM.
VirtualBox — отличная программа для запуска виртуальной системы. Интерефейс является очень удобными понятным, что является огромным плюсом для новичков. Также стоит отметить, отличную оптимизацию и общую скорость работы, которая улучшается с каждым обновлением.
Если у вас остались вопросы по теме «Виртуальные машины для Linux» то, пишите нам об этом.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как установить, настроить и использовать виртуализацию — VirtualBox
Что такое виртуальная машина?
Виртуальные машины — это программы, которые создают программную среду, имитирующую нужное аппаратное оборудование. В эту среду может быть установлена операционная система и затем ее можно будет полноценно использовать. Мы называем такие системы гостевыми, в то время как основная система, установленная на компьютере, называется хостом.
Раньше виртуальные машины выполняли всю работу сами, на программном уровне, и понятно, что все это работало очень медленно. Но потом процессоры начали поддерживать аппаратную виртуализацию, это в разы ускоряет работу гостевой операционной системы. Это такие технологии, как AMD-V от AMD или Intel VT-x от Intel. Правда, эти технологии могут быть по умолчанию отключены в BIOS.
Кроме виртуальных машин, которые полностью эмулируют работу компьютера к виртуализации под linux можно отнести контейнеры, например, LXC или OpenVZ. Дальше мы рассмотрим виртуальны машины для Linux, которые вы можете использовать для установки своих систем.
VirtualBox
VirtualBox — это универсальное программное обеспечение для виртуализации в Linux, которое поддерживает и другие операционные системы, в том числе Windows и MacOS. Вы можете установить сюда практически любую систему, кроме, конечно, систем, предназначенных для устройств на чипе ARM. Все установленные виртуальные машины хранятся в файлах, которые содержат образы дисков. Это позволяет их очень просто выполнить их резервное копирование или перенос на другой компьютер просто скопировав файл машины.
VirtualBox поддерживает как 32, так и 64 битные системы и вы можете установить не только Linux дистрибутив, но и Windows или даже MacOS. Все системы будут отлично работать. Во время создания виртуальной машины вы можете выбрать профиль гостевой ОС, для которого автоматически выставятся правильные параметры памяти, процессора и видеокарты.
Кроме непосредственно виртуализации, VirtualBox поддерживает и дополнительные функции, например, запись видео с экрана виртуальной машины, и создание снимков системы для быстрого восстановления и создание виртуальной сети между несколькими машинами. Кроме того, если установить дополнения гостевой ОС, то можно настроить общий буфер обмена между хостовой и гостевой системой, передавать между ними файлы или даже интегрировать окна программ гостевой системы в основную.
Можно сказать, что это лучшая виртуальная машина для Linux, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.
Виртуализация? Как это можно применять
Давайте посмотрим как:
В общем, настоятельно рекомендую ознакомиться. Если кому-то лень знакомиться с текстом, то в конце статьи есть видеоролик с озвучкой, видео и всеми наглядными подробностями.
VMWare
В отличие от VirtualBox, которая распространяется с открытым исходным кодом, это коммерческий продукт, полная версия которого стоит денег. Но для домашнего использования есть упрощенная версия, которую можно использовать полностью бесплатно.
VMWare имеет почти все те же возможности, что и VirtualBox, в некоторых тестах она показывает себя лучше чем первый вариант, но в целом их производительность одинакова. Тоже есть возможность организовывать сеть между виртуальными машинами, объединять буфер обмена и передавать файлы, но нет записи видео.
Примечательной особенностью VMWare есть то, что для некоторых систем разработаны и уже готовы сценарии автоматической установки, которые позволяют установить систему в автоматическом режиме и не указывать слишком много параметров. Это может быть очень удобным в некоторых ситуациях.
Если вы хотите запустить не привычную операционную систему x86, а систему для устройств ARM, например, Android, Raspbian или RISC OS, то тут вам не помогут две предыдущие виртуальные машины Linux. С такой задачей может справиться только Qemu.
Qemu — это сокращение от Quick Emulator. Это очень простая в настройке консольная утилита, но позволяет делать многие интересные вещи на уровне VirtualBox, вы можете запускать любые операционные системы, в том числе и ARM, можете установить ОС на реальный жесткий диск или в файл, использовать аппаратное ускорение и даже автоматически скачивать некоторые дистрибутивы через интернет.
Несмотря на свое название, это очень мощный инструмент для работы с виртуализацией в Linux, для установки Qemu в Ubuntu выполните:
sudo apt install qemu qemu-kvm libvirt-bin
Установка Linux или Windows с помощью VirtualBox
Собственно, теперь машину надо попросту запустить, чтобы приступить к процессу установки содержимого:
Если Вы всё сделали верно, то стартует скачанный Вами образ и Вы увидите его в окне виртуального компьютера, который сами только что и создали:
При клике в область (окно) виртуалки Вас предупредят и расскажут как происходит передача мыши, клавиатуры и всего остального. Рекомендую внимательно прочитать это сообщение. Если кратко, то оно сводится к тому, что клацая в область виртуальной машины, Вы передаёте управление ей, а, если хотите вернуть мышь и клаву в родное пространство, то Вам потребуется хост-клавиша «Rigth Ctrl»:
Дальше, собственно, остаётся только проделать установку и пользоваться машиной на здоровье. Как устанавливать Linux, Windows или что-либо еще, — мы уже рассказывали в соответствующих статьях. Для линукса это примерно вот эта, а для Windows примерно вон та.
На этом, пожалуй, что всё. После установки всё должно работать как часы, а по заявленному принципу Вы можете создавать виртуальные машины хоть миллионами и на разный вкус, — хватало бы ресурсов.
Включение-выключение и управление виртуальной машиной управляется соответствующими пунктами вверху экрана.
KVM или полностью Kernel-based Virtual Machine (виртуальная машина на основе ядра) — это реализация платформы виртуализации на уровне ядра, которая предоставляет дополнительные возможности для Qemu и очень высокую скорость работы благодаря работе непосредственно в ядре.
Все это означает что KVM быстрее и стабильнее VirtualBox, но KVM намного сложнее в настройке и обслуживании. Технология KVM является очень популярным решением для размещения виртуальных машин, в том числе на множестве серверов в интернете.
Чтобы начать использовать KVM сначала нужно проверить, поддерживает ли ваше оборудование аппаратное ускорение, для этого используйте утилиту cpu-checker. Если все поддерживается то вы можете перейти к установке KVM:
sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils virt-manager
После установки вы сможете получить доступ к виртуальным машинам kvm с помощью менеджера виртуальных машин, который появится в меню. С помощью этого менеджера управляются и другие системы виртуализации Linux, например, XEN.
Это еще одна платформа виртуализации для Linux, которая очень похожа на KVM. Но тут есть некоторые отличия. Как и KVM здесь поддерживается аппаратное ускорение, множество архитектур, в том числе и ARM, а также запуск различных гостевых систем, включая Windows. Но главное отличие заключается в том, что KVM по умолчанию встроен в ядро Linux, а для работы Xen вам понадобиться специально собранное ядро с его поддержкой.
Из других особенностей Xen можно отметить, что система будет работать достаточно быстро даже без аппаратного ускорения, если вы будете запускать Linux. В остальном же, эти системы виртуализации Linux,
Проекты виртуализации для Linux
В таблице 1 приведены некоторые возможности виртуализации для Linux, и внимание, прежде всего, уделяется решениям с открытым исходным кодом.
Таблица 1. Проекты виртуализации для Linux
Проект | Тип | Лицензия |
Bochs | Эмуляция | LGPL |
QEMU | Эмуляция | LGPL/GPL |
VMware | Полная виртуализация | Проприетарное |
z/VM | Полная виртуализация | Проприетарное |
Xen | Паравиртуализация | GPL |
UML | Паравиртуализация | GPL |
Linux-VServer | Виртуализация уровня операционной системы | GPL |
OpenVZ | Виртуализация уровня операционной системы | GPL |
См. раздел Ресурсы для более подробной информации о других решениях.
Bochs (эмуляция)
Виртуализация на уровне библиотек
До сих пор не обсуждаемый здесь другой метод виртуализации, в котором имитируются части операционной системы через библиотеки — виртуализация на уровне библиотек. Примером такой виртуализации может служить Wine (частичный программный интерфейс приложений Win32 для Linux) и LxRun (частичный программный интерфейс приложений Linux для Solaris).
Bochs — это x86-компьютерный имитатор, который является переносимым и работает на разнообразных платформах, включая x86, PowerPC, Alpha, SPARC и MIPS. Bochs интересен, потому что моделируется не только процессор, а весь компьютер, включая периферийные устройства типа клавиатуры, мыши, графическое и видео оборудование, карточки сетевого интерфейса (NIC) и так далее.
Bochs может быть сконфигурирован как старинный Intel® 386 или его преемники, такие как 486, Pentium, Pentium Pro или 64-битовый. Bochs даже эмулирует дополнительные графические функции, такие как MMX или 3DNow.
Используя эмулятор Bochs, вы можете управлять любым дистрибутивом Linux на Linux, Microsoft® Windows® 95/98/nt/2000 (и многообразием приложений) на Linux и даже операционной системой Berkeley Software Distribution (BSD), FreeBSD, OpenBSD и так далее на Linux.
QEMU (эмуляция)
QEMU — другой эмулятор, он похож на Bochs, но имеются и некоторые отличия, которые стоит отметить. QEMU поддерживает два режима работы. Первый — режим Полной Эмуляции Системы. Этот режим похож на работу Bochs, где эмулируется персональный компьютер (PC) целиком, вместе с процессором и периферией. Этим способом имитируется множество различных архитектур процессоров, таких как x86, x86_64, ARM, SPARC, PowerPC и MIPS с разумной скоростью, используя динамический перевод. Этим способом вы можете эмулировать операционные системы Windows (включая XP) и Linux на Linux, Solaris и FreeBSD. Поддерживается также и множество других комбинаций операционных систем (см. раздел Ресурсы для более подробной информации).
QEMU также поддерживает другой режим, именуемый «режим пользовательской эмуляции». При таком способе, который осуществим только на Linux, можно запускать бинарники для разных архитектур. Это позволяет, например, выполнить бинарник для архитектуры MIPS на Linux, запущенном на x86. Другие архитектуры, поддерживаемые при таком режиме, включают ARM, SPARC и PowerPC, хотя большинство еще только разрабатывается.
VMware (полная виртуализация)
VMware — коммерческое решение для полной виртуализации. Гипервизор находится между гостевой операционной системой и непосредственно оборудованием как слой абстрагирования. Этот слой абстрагирования позволяет любой операционной системе работать на аппаратных средствах, не имея информации о какой-либо другой гостевой операционной системе.
VMware также виртуализирует в гипервизоре доступные устройства ввода/вывода и соответствующие драйверы для высокоэффективных устройств.
Вся виртуализированная среда сохраняется как файл, и это означает, что полная система (включая гостевую операционную систему, VM и виртуальное оборудование) может быть легко и быстро перенесена на другой сервер для распределения загрузки.
z/VM (полная виртуализация)
Несмотря на то, что IBM System z™ — это новый брэнд, фактически он имеет длинную историю, начиная с 1960-ых. System/360 поддерживала виртуализацию с использованием виртуальных машин еще в 1965. Интересно, что System z сохраняет обратную совместимость со старой линейкой System/360.
z/VM® — гипервизор операционный системы для System z. В нем — Программа Контроля (Control Program — CP), которая обеспечивает виртуализацию физических ресурсов для гостевой операционной системы, включая Linux (см. Рисунок 5). Это позволяет множеству процессоров и другим ресурсам виртуализироваться для множества гостевых операционных систем.
Рисунок 5. Виртуализация на уровне операционной системы с использованием z/VM
Кликните, чтобы увидеть увеличенное изображение
Z/VM может также эмулировать гостевую локальную сеть (LAN) виртуально для гостевых операционных систем, которые хотят общаться друг с другом. Это полностью эмулировано в гипервизоре, поэтому абсолютно безопасно.
Xen (паравиртуализация)
Xen — свободное решение с открытым исходным кодом для паравиртуализации на уровне операционной системы от XenSource. Вспомните, что при паравиртуализации гипервизор и операционная система объединяются при виртуализации, изменяя операционную систему, но зато приводя почти к родной производительности оборудования.
Поскольку Xen требует объединения (изменения гостевой операционной системы), только те операционные системы, которые должным образом исправлены, могут быть виртуализированы с помощью Xen. Так как Linux является сам по себе решением с открытым исходным кодом, то в данном случае это — разумный компромисс, потому что в результате вы имеете лучшую производительность, чем при полной виртуализации. Но для перспективы широкой поддержки (например, других операционных систем с закрытым исходным кодом) это обстоятельство является явным неудобством.
Windows можно запускать как гостевую систему на Xen, но только если он запущен на Intel Vanderpool или AMD Pacifica. Кроме того, Xen поддерживает другие операционные системы, включая Minix, Plan 9, NetBSD, FreeBSD и OpenSolaris.
User-mode Linux (паравиртуализация)
User-mode Linux (UML) позволяет операционной системе Linux запускать другой Linux в пространстве пользователя. Каждый гостевой Linux существует как процесс в ОС Linux хоста (см. Рисунок 6). Это позволяет многочисленным ядрам Linux (с их собственными пространствами пользователя) работать в контексте одного ядра Linux.
Рисунок 6. Хостинг Linux в User-mode Linux
Кликните, чтобы увидеть увеличенное изображение
В ядре Linux 2.6 UML находится в основном дереве ядра, но должен быть доступен и перекомпилирован для использования. Эти изменения обеспечивают, кроме всего прочего, устройство виртуализации. Это позволяет гостевым операционным системам разделять доступные физические устройства, такие как блочные устройства (гибкий диск, CD-ROM и файловую систему), консоли, устройства NIC, звуковые аппаратные средства и другие.
Заметим, что, так как гостевые ядра запускаются в пространстве приложений, они должны быть специально скомпилированы для такого использования (тем не менее, это могут быть разные версии ядра). Это приводит к так называемому ядру хоста (которое располагается на аппаратных средствах) и гостевому ядру (которое живет в пространстве пользователя ядра хоста). Эти ядра даже могут быть вложенными, позволяя гостевому ядру работать на другом гостевом ядре, которое, в свою очередь, работает на ядре хоста.
Linux-VServer (виртуализация уровня операционной системы)
Linux-VServer — решение для виртуализации уровня операционной системы. Linux-VServer виртуализирует ядро Linux так, чтобы многочисленные окружения пространства пользователя, иначе известные как Virtual Private Servers (VPS), работали независимо друг от друга. Linux-VServer достигает изоляции пользовательских пространств посредством ряда модификаций ядра Linux.
Чтобы изолировать индивидуальные пространства пользователя друг от друга, начните с понятия контекста. Контекст — контейнер для процессов данного VPS, такой, что инструменты типа ps знают только о процессах VPS. При начальной загрузке ядро определяет контекст по умолчанию. Также существует контекст для администрирования (чтобы видеть все исполняемые процессы). Как можно догадаться, чтобы осуществить этот способ виртуализации, изменены ядро и внутренние структуры данных.
Linux-VServer также использует chroot, чтобы изолировать корневой каталог для каждого VPS. Вспомните, что chroot позволяет определить новую корневую директорию, но требуются дополнительные функциональные возможности (названные Chroot-Barrier), чтобы VPS не мог выходить из изолированного корневого каталога в родительский каталог. Имея изолированный корневой каталог, каждый VPS имеет свой собственный список пользователей и пароль root’а.
Linux-VServer поддерживается как 2.4, так и 2.6 ядрами Linux, а также работает на ряде платформ, включая x86, x86-64, SPARC, MIPS, ARM и PowerPC.
OpenVZ (виртуализация уровня операционной системы)
OpenVZ — другой метод виртуализации уровня операционной системы, похожей на Linux-VServer, но имеющий некоторые интересные отличия. OpenVZ — модифицированное ядро, которое поддерживает изолированные пространства пользователя, VPS, с рядом пользовательских инструментов для управления. Например, можно легко создать новый VPS, используя команду:
Листинг 1. Создание VPS в командной строке
Для управления процессами OpenVZ включает двухуровневый планировщик центрального процессора. Сначала планировщик определяет, какой из VPS должен получить доступ к центральному процессору. После этого планировщик второго уровня выбирает процесс, следуя стандартным приоритетам Linux.
Уникальная особенность OpenVZ — способность к введению контрольных точек (Checkpoint) и перемещению VPS с одного физического сервера на другой. Checkpointing означает, что состояние действующего VPS заморожено и сохранено в файле. Этот файл можно перенести на новый сервер и восстановить, чтобы вернуть VPS в рабочее состояние.
OpenVZ поддерживает множество архитектур, включая x86, x86-64 и PowerPC.