- Виртуальные машины для Linux
- Виртуальные машины для Linux против режима Dual Boot
- Что такое виртуальная машина?
- Как активировать виртуализацию на вашем ПК
- 1. VirtualBox
- 2. QEMU
- 3. KVM
- Какие дистрибутивы работают лучше всего в VM?
- Какой инструмент VM нужно использовать?
- Популярные виртуальные машины в Linux
- Список виртуальных машин для Linux
- VirtualBox
- VMware
- Заключение
- Как установить, настроить и использовать виртуализацию — VirtualBox
- Что такое виртуальная машина?
- VirtualBox
- Виртуализация? Как это можно применять
- VMWare
- Установка Linux или Windows с помощью VirtualBox
- Проекты виртуализации для Linux
- Bochs (эмуляция)
- QEMU (эмуляция)
- VMware (полная виртуализация)
- z/VM (полная виртуализация)
- Xen (паравиртуализация)
- User-mode Linux (паравиртуализация)
- Linux-VServer (виртуализация уровня операционной системы)
- OpenVZ (виртуализация уровня операционной системы)
Виртуальные машины для 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 и найдите одно из следующего:
- Виртуализация
- VT-x (Intel — старые системы будут иметь VT-d)
- AMD-V (системы AMD)
BIOS управляется с помощью клавиш со стрелками. Когда вы включили виртуализацию, нажмите F10, чтобы сохранить и выйти.
Как только это будет сделано, у вас будет выбор из трех приложений с открытым исходным кодом VM, которые мы рассмотрим ниже (VMWare также доступен для Linux, но не является программой с открытым исходным кодом).
1. VirtualBox
Предлагая универсальную виртуализацию, VirtualBox может создавать виртуальную машину практически с любой операционной системой (за исключением тех, которые предназначены для устройств ARM). Он также предлагает программное обеспечение и жесткую виртуализацию, сохраняя виртуальные машины в виде образов дисков. Это упрощает резервное копирование или перенос на другие ПК или приложения VM.
VirtualBox особенно хорош для запуска 32-разрядных и 64-разрядных дистрибутивов Linux, а также Windows. Можно даже запустить OS X на VirtualBox, возможно, протестировать его, прежде чем настраивать ПК как Hackintosh. Найдите копию для своего дистрибутива на virtualbox .org/wiki/Downloads.
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.
Источник
Популярные виртуальные машины в Linux
Порою возникает необходимость одновременно или поочередно использовать несколько операционных систем на одном персональном компьютере. Если желания применять двойную загрузку нет, то можно воспользоваться одним оставшимся вариантом – установить виртуальную машину для операционной системы Linux.
При достаточном количестве оперативной и виртуальной памяти, требуемой мощности процессора имеется возможность одновременно запустить сразу несколько систем и работать с ними в полноценном режиме. Однако для этого следует подобрать правильное программное обеспечение.
Список виртуальных машин для Linux
Если вы решили использовать виртуальную машину в операционной системе, то предварительно необходимо выяснить, какая именно вам подойдет. Сейчас будут рассмотрены пять самых популярных представителя этого вида программного обеспечения.
VirtualBox
Данное приложение представляет собой универсальный продукт, который может использоваться для процесса виртуализации в Linux. Благодаря ему может осуществляться поддержка ряда других операционных систем, к которым можно отнести Windows или даже MacOS.
VirtualBox является одной из лучших на сегодняшний день машин, оптимизированных специально для операционных систем Linux/Ubuntu. Благодаря подобной программе можно воспользоваться всеми необходимыми возможностями, к тому же использовать ее весьма легко.
VMware
Главным отличием данной программы является то, что за ее полную версию придется заплатить, но для рядового обывателя она не так уж необходима. А вот для домашнего применения вполне возможно скачать и установить вариант, который можно применять абсолютно бесплатно.
Это программное обеспечение практически ничем не отличается от VirtualBox, однако в некоторых моментах превосходит последнюю упомянутую программу. Специалисты подчеркивают, что производительность у них примерно одна и та же, но VMWare позволяет:
- создавать виртуальные или локальные сети между установленными на компьютере машинами;
- организовывать общий буфер обмена;
- осуществлять передачу файлов.
Однако не обошлось и без недостатков. Дело в том что она не поддерживает запись видеофайлов.
При желании, эту программу можно установить в полностью автоматическом режиме, выбрать требуемые параметры, что зачастую бывает весьма удобным.
Данная программа рассчитана для устройств на основе ARM типа Android, Raspbian, RISC OS. В настройке она весьма сложная, особенно для неопытного пользователя. Дело в том, что работа с виртуальной машиной выполняется исключительно в «Терминале» с помощью ввода специальных команд. Однако с ее помощью можно запустить абсолютно любые операционные системы, устанавливая их на жесткий диск или же записывая в специальный файл.
Отличительной чертой машины Qemu является то, что она позволяет применять аппаратное ускорение и устанавливать программы в онлайн-режиме. Чтобы установить подобное программное обеспечение в ОС на базе ядра Linux, в «Терминале» следует выполнить следующую команду:
sudo apt install qemu qemu-kvm libvirt-bin
Примечание: после нажатия Enter система запросит у вас пароль, который вы указывали при установке дистрибутива. Обратите внимание, что при его вводе никакие символы отображаться не будут.
Название программы расшифровывается как Kernel-based Virtual Machine (виртуальная машина, разработанная на основе ядра). Благодаря ей можно обеспечить довольно высокую скорость работы, во многом именно за счет ядра Linux.
Работает она значительно быстрее и надежнее по сравнению с VirtualBox, однако настраивать ее в разы сложнее, да и в обслуживании она не настолько проста. Но сегодня для установки виртуальных машин эта программа является наиболее популярной. Во многом такая востребованность обусловлена тем, что с ее помощью можно разместить собственный сервер в интернете.
Перед установкой программы следует определить, способно ли железо компьютера поддержать аппаратное ускорение. Для этого необходимо воспользоваться утилитой cpu-checker. Если все в этом плане будет в порядке, то можно приступать к установке KVM себе на компьютер. Для этого в «Терминале» введите следующую команду:
sudo apt-get install emu-kvn libvirt-bin virtinst bridge-utils virt-manager
Когда программа будет установлена, пользователь получит абсолютный доступ к созданию виртуальных машин. При желании можно разместить и другие эмуляторы, которые будут управляться за счет этого приложения.
Эта программа практически полностью идентична KVM, однако у нее есть и некоторые отличия. Главное заключается в том, что виртуальная машина XEN нуждается в пересобирании ядра, так как в противном случае она не будет нормально функционировать.
Еще одним отличительным качеством программы является возможность работать даже без применения аппаратного ускорения при запуске операционной системы Linux/Ubuntu.
Чтобы установить XEN себе на компьютер, вам необходимо выполнить поочередно ряд команд в «Терминале»:
apt-get install \
xen-hypervisor-4.1-amd64 \
xen-hypervisor-4.1-i386 \
xen-utils-4.1 \
xenwatch \
xen-tools \
xen-utils-common \
xenstore-utils
Стоит отметить, что после установки необходимо провести настройку, которая для рядового пользователя покажется чрезмерно сложной.
Заключение
Виртуализация в операционной системе Linux в последнее время развивается весьма стремительно. Регулярно появляются новые программы, направленные на это. Мы же их регулярно отслеживаем и рекомендуем пользователям для решения своих задач.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Как установить, настроить и использовать виртуализацию — 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, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.
Виртуализация? Как это можно применять
Давайте посмотрим как:
- Там можно хранить ценные данные (не каждый догадается, что у Вас дома стоит «система в системе», где и храниться все самое ценное);
- Можно использовать как полигон: скачали какую-то странную малознакомую программу? Страшно? Мало ли, — вирус или что-то, что в ходе неправильного использования может навредить системе? Так зачем гробить рабочий компьютер, — просто установите и запустите подозрительный софт в виртуальной ОС, а там будет видно;
- Устанавливать и пробовать разные дистрибутивы Windows, 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 в командной строке
$ vzctl create 42 —ostemplate fedora-core-4 Creating VPS private area VPS private area was created $ vzctl start 42 Starting VPS … VPS is mounted
Также можно увидеть список созданных VPS, используя команду vzlist, аналогичную стандартной команде Linux ps.
Для управления процессами OpenVZ включает двухуровневый планировщик центрального процессора. Сначала планировщик определяет, какой из VPS должен получить доступ к центральному процессору. После этого планировщик второго уровня выбирает процесс, следуя стандартным приоритетам Linux.
OpenVZ также включает то, что называют beancounters . Beancounter состоит из большого количества параметров, которые определяют распределение ресурсов для данного VPS. Это обеспечивает уровень контроля над VPS, определяя, сколько доступно памяти, сколько доступно средств межпроцессного взаимодействия (IPC) и так далее.
Уникальная особенность OpenVZ — способность к введению контрольных точек (Checkpoint) и перемещению VPS с одного физического сервера на другой. Checkpointing означает, что состояние действующего VPS заморожено и сохранено в файле. Этот файл можно перенести на новый сервер и восстановить, чтобы вернуть VPS в рабочее состояние.
OpenVZ поддерживает множество архитектур, включая x86, x86-64 и PowerPC.
Источник