Работа в виртуальной машине 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.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

2. QEMU

Если вы хотите запустить операционную систему заточенную на базе ARM (например, Android, Raspbian или RISC OS), тогда это средство командной строки, которое вы выберете.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Если кратко для программы «Quick Emulator» вы сможете сделать производительную виртуалку, QEMU прост в настройке, и некоторые гостевые операционные системы могут быть даже загружены с встроенным QEMU.

Хотя неназванное имя для QEMU является «Quick Emulator», это на самом деле гипервизор, инструмент для управления аппаратной виртуализацией. Вы можете установить QEMU с помощью:

sudo apt-get install qemu qemu-kvm libvirt-bin

3. KVM

Сокращая виртуальную машину на основе ядра, KVM является вилкой проекта QEMU и работает в сочетании с этим инструментом для предоставления дополнительных параметров (например, близкой скорости) за пределами собственных встроенных функций VM.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Это означает, что 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 используя Windows

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Если вы только начали свой путь разработчика и до сих используете операционную систему семейства Microsoft Windows, то уже наверняка столкнулись с ситуацией, когда ваш инструментарий отличается от того, что установлено у большинства людей из этой профессии. Чаще всего проблемы начинаются при работе в командной строке. Дело в том, что Windows не является POSIX-совместимой операционной системой, поэтому в ней отсутствует базовый набор прикладных программ, который необходим для разработки.

Этот вопрос можно решить установкой какого-либо из многочисленных дистрибутивов Linux в качестве основной, либо альтернативной операционной системы. Для новичков есть способ проще и быстрее — технологии виртуализации. Об этом и поговорим.

Ubuntu из Microsoft Store

Если вы работаете на Windows версии 10 с архитектурой x64, то можно можно воспользоваться встроенным решением и установить слой совместимости (Windows Subsystem for Linux) на основе Ubuntu Linux через магазин приложений Microsoft Store.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Перед тем как начать, необходимо убедиться, что системные требования соответствуют рекомендованным. Для этого запустите приложение Microsoft Store, введите в графе поиска Ubuntu и перейдите по найденной ссылке. Если ранее Windows не обновлялся, то вероятней всего вы получите соответствующее указание сделать это до начала установки Ubuntu. Если всё OK, то нажимайте на кнопку «Получить» и через несколько минут (в зависимости от скорости интернет соединения) вы получите сигнал об успешной установке приложения.

Первый запуск может вызвать ошибку Error: 0x8007007e и предложение прочитать инструкцию по её решению https://aka.ms/wslinstall. Если хотите сэкономить время, то просто запустите PowerShell (не путать с cmd ) от имени администратора и выполните следующую команду:

После этого компьютер попросит перегрузиться, а потом нужно снова запустить приложение Ubuntu. В случае удачной установки откроется интерпретатор командной строки с предложением ввести имя пользователя и пароль. Выглядеть это будет вот так:

Ссылки на официальную документацию:

VirtualBox

Если вы работаете на Windows версии ниже 10 или хотите получить изолированную операционную систему Linux, да ещё и с графическим окружением, то можно воспользоваться сторонним бесплатным программным продуктом под названием VirtualBox.

Инсталлятор Oracle VM VirtualBox для Windows Hosts
Ссылка на скачивание: Download Oracle VM VirtualBox

Образ операционной системы Ubuntu Linux в формате ISO
Ссылка на скачивание: Download Ubuntu Desktop

Для начала необходимо установить и запустить приложение VirtualBox.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Нажимаем кнопку «Создать», выбираем из списка тип операционной системы «Linux», если нет своих предпочтений по дистрибутиву, то выбираем версию «Ubuntu» 32 или 64 битной архитектуры, а название можно ввести любое.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Указываем объём оперативной памяти выделенной под виртуальную систему. Рекомендованный объём составляет 1024 MB.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Указываем объём дискового пространства выделенного под виртуальную систему. Рекомендованный объём составляет 10 GB.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Тип виртуального жёсткого диска можно оставить как есть — VDI (VitrualBox Disk Image).

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Формат хранения данных выберите исходя из личных предпочтений. Динамический виртуальный жёсткий диск растёт по мере заполнения, а фиксированный создаётся сразу того размера, который был указан на предыдущем шаге.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Имя и размер файла можно оставить без изменений и сразу нажать на кнопку «Создать».

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

По завершению у вас будет создана виртуальная машина, но она пока без операционной системы. Для того чтобы её установить, нужно скачать Ubuntu Linux (32-bit или 64-bit, в зависимости от того, что было выбрано на шаге, где мы указывали тип ОС).

Нажатие на кнопку «Запустить» должно привести к появлению диалогового окна с предложением указать путь до скаченного ISO образа. Сделайте этого и нажмите кнопку «Продолжить»

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Виртуальная машина автоматически будет выполнять часть процессов, но в некоторых операциях всё же потребуется участие пользователя.

Выберите языковую поддержку в списке слева и нажмите «Установить Ubuntu».

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Можно загрузить обновления сразу на этапе установки.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Без особых опасений выбираем пункт «Стереть диск и установить Ubuntu» и двигаемся дальше.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Если вы выбрали русский язык на первом этапе установки, то вам предложат русскую раскладку клавиатуры в качестве дополнительной.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Заполните поля и выберите режим входа в систему.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Далее начнётся процедура разметки диска, переноса файлов, установка обновлений и другие процессы, которые не потребуют прямого участия пользователя.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

По завершению виртуальный компьютер перезагрузится и вы попадёте в уже установленную среду Ubuntu Linux.

Но это ещё не всё. Весьма желательно установить так называемые «Дополнения гостевой ОС». Они содержат драйверы и прочие системные файлы, необходимые для наилучшей производительности и обеспечения дополнительных функциональных возможностей между виртуальной и гостевой операционными системами.

Выберите пункт меню «Устройства» программы VitrualBox, подпункт «Подключить образ диска Дополнений гостевой ОС…» и дождитесь предложение запустить приложение для автоматического запуска с виртуального привода.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Виртуальная ОС Ubuntu Linux установлена и готова к работе.

Ссылка на официальную документацию: Oracle VM VirtualBox User Manual

Источник

Виртуальные машины для Linux

Что такое виртуальная машина?

Раньше виртуальные машины выполняли всю работу сами, на программном уровне, и понятно, что все это работало очень медленно. Но потом процессоры начали поддерживать аппаратную виртуализацию, это в разы ускоряет работу гостевой операционной системы. Это такие технологии, как AMD-V от AMD или Intel VT-x от Intel. Правда, эти технологии могут быть по умолчанию отключены в BIOS.

Кроме виртуальных машин, которые полностью эмулируют работу компьютера к виртуализации под linux можно отнести контейнеры, например, LXC или OpenVZ. Дальше мы рассмотрим виртуальны машины для Linux, которые вы можете использовать для установки своих систем.

1. VirtualBox

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

VirtualBox поддерживает как 32, так и 64 битные системы и вы можете установить не только Linux дистрибутив, но и Windows или даже MacOS. Все системы будут отлично работать. Во время создания виртуальной машины вы можете выбрать профиль гостевой ОС, для которого автоматически выставятся правильные параметры памяти, процессора и видеокарты.

Кроме непосредственно виртуализации, VirtualBox поддерживает и дополнительные функции, например, запись видео с экрана виртуальной машины, и создание снимков системы для быстрого восстановления и создание виртуальной сети между несколькими машинами. Кроме того, если установить дополнения гостевой ОС, то можно настроить общий буфер обмена между хостовой и гостевой системой, передавать между ними файлы или даже интегрировать окна программ гостевой системы в основную.

Можно сказать, что это лучшая виртуальная машина для Linux, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.

2. VMware

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

В отличие от VirtualBox, которая распространяется с открытым исходным кодом, это коммерческий продукт, полная версия которого стоит денег. Но для домашнего использования есть упрощенная версия, которую можно использовать полностью бесплатно.

VMWare имеет почти все те же возможности, что и VirtualBox, в некоторых тестах она показывает себя лучше чем первый вариант, но в целом их производительность одинакова. Тоже есть возможность организовывать сеть между виртуальными машинами, объединять буфер обмена и передавать файлы, но нет записи видео.

Примечательной особенностью VMWare есть то, что для некоторых систем разработаны и уже готовы сценарии автоматической установки, которые позволяют установить систему в автоматическом режиме и не указывать слишком много параметров. Это может быть очень удобным в некоторых ситуациях.

3. Qemu

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Если вы хотите запустить не привычную операционную систему x86, а систему для устройств ARM, например, Android, Raspbian или RISC OS, то тут вам не помогут две предыдущие виртуальные машины Linux. С такой задачей может справиться только Qemu.

Несмотря на свое название, это очень мощный инструмент для работы с виртуализацией в Linux, для установки Qemu в Ubuntu выполните:

sudo apt install qemu qemu-kvm libvirt-bin

Подробнее про использование Qemu можно почитать в этой статье.

4. Gnome Boxes

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Если вам не нравится управлять вашими виртуальными машинами с помощью командной строки, можно воспользоваться графическим интерфейсом для Qemu под названием Gnome Boxes. Эта утилита позволяет в несколько кликов создать новую виртуальную машину. При чём вам не нужно иметь установочный образ, программа может сама загрузить его из сети. Кроме создания виртуальных машин можно подключаться к удалённым виртуальным машинам по протоколу RDP или VNC. Для установки программы в Ubuntu используйте такую команду:

sudo apt install gnome-boxes

5. KVM

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Чтобы начать использовать 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 развивается очень быстро и есть достаточно много решений, которые вы могли бы использовать в своей системе. Какую виртуальную машину или систему виртуализации используете вы? Напишите в комментариях!

Источник

Опыт использования виртуализации на VirtualBox

Введение

Несколько лет назад я начал разбираться с вируализацией, и у меня получились своего рода путевые заметки, которые я сейчас оформил и выкладываю сюда. Никаких откровений тут не будет, статья адресована начинающим админам. Задача которую я здесь решаю состоит в том, чтобы виртуализовать уже имеющиеся не виртуальные сервера на Linux и FreeBSD.

Работа в виртуальной машине linux. Смотреть фото Работа в виртуальной машине linux. Смотреть картинку Работа в виртуальной машине linux. Картинка про Работа в виртуальной машине linux. Фото Работа в виртуальной машине linux

Причины, по которым я тогда выбрал VirtualBox

Причины, по которым я не выбрал бы его сейчас

Подготовка ОС для работы с виртуальными машинами

VirtualBox можно установить практически на любую ОС, однако стабильная работа и все его возможности (например, RDP-подключение к консоли гостевой системы) доступны только на Линуксе, поэтому был выбран Debian Linux. Для самого VirtualBox специальной настройки ОС не требуется, достаточно выделить отдельный раздел для хранения образов дисков гостевых систем и образов установочных дисков для чистой установки гостевых систем.

Однако для управления VirtualBox через Веб-интерфейс (phpvirtualbox) требуется веб-сервер (выбран Apache 2) и PHP 5. В Debian конфигурация по умолчанию PHP 5 и Apache 2 удовлетворяет требованиям phpvirtualbox, специальным образом настраивать ничего не нужно.

Установка phpvirtualbox

Для Virtualbox существует бесплатный web-интерфейс, реализованный на PHP и использующий встроенную в virtualbox службу удаленного управления virtualbox web service.

Внимание! Для успешных подключений на сервере должны быть открыты входящие порты, по умолчанию начиная с 3389 (TCP), по одному порту на гостевую систему.

5. Настраиваем virtualbox web service, для чего создаем файл /etc/vbox/vbox.cfg со следующим содержанием:
VBOXWEB_USER=’vbox’
VBOXWEB_HOST=127.0.0.1
VBOXWEB_LOGFILE=/srv/log/vboxwebservice

6. Запускаем virtualbox web service, перед этим нужно убедиться в том, что файл /srv/log/vboxwebservice доступен для чтения и записи пользователю vbox:
/etc/init.d/vboxweb-service start.

phpvirtualbox теперь доступен по адресу virtbox.site/phpvirtualbox.

Создание виртуальных машин

Управление виртуальными машинами

Управление через веб-интерфейс

Управление виртуальными машинами через web-интерфейс тривиально, достаточно выделить нужную машину в phpvirtualbox и выбрать в интерфейсе требуемое действие, например Start, Stop (безусловное выключение, отправка сигнала о нажатии кнопки выключения питания, перезагрузка, сохранение состояние гостевой системы с возможностью впоследствии откатить ее состояние и приостановка работы гостевой системы с сохранением ее памяти на диск и возможностью впоследствии загрузки памяти с диска и продолжения работы).

По щелчку на гостевой системе правой кнопкой машины доступны операции ее настроек, удаления, просмотра логов и т.д.

Также стоит отметить возможность подключения к консоли гостевой системы, что аналогично подключению к реальной машине мыши и клавиатуры. Для этого нужно выделить нужную гостевую систему, выбрать вкладку Console в phpvirtualbox, задать размер экрана (для текстовых режимов работы гостевых ОС достаточно 800х600), нажать Connect и щелкнуть мышью по клиенту удаленного подключения (в котором выводится содержимое консоли гостевой системы). Управлять гостевой системой можно с момента включения.

Управление через консоль

Для управления гостевыми система в VirtualBox используются утилиты VBoxManage и VBoxHeadless, подробное описание которых доступно в руководстве.

Запускать команды нужно от пользователя vbox, под которым работает сам VrtualBox, в случае запуска от другого пользователя или root VirtualBox не сможет найти файлы конфигурации виртуальных машин, которые хранятся в домашней директории пользователя Vbox, и выдаст ошибку.

Оболочку нужно указывать явно, потому что по умолчанию у пользователя vbox стоит оболочка /bin/false.

Ниже для примера приведены команды для включения, выключения и работы с образами дисков.

Если не указывать sleep 30 некоторые машины могут не запуститься из-за очень интенсивного чтения с жесткого диска сервера при запуске и некоторые гостевые системы решат, что у них ошибка чтения с жесткого диска.

Практически все машины понимают нажатие на кнопку выключения питания и смогут корректно завершиться.

4. Преобразование образа диска из формата VirtualBox в формат, понятный другим виртуальным машинам:
VBoxManage internalcommands converttoraw test1.vdi test1.raw

Подключение через RDP

К консоли виртуальных машин можно подключиться через RDP. В Windows нужно открыть Пуск->Все программы->Стандартные->Подключение к удаленному рабочему столу и указать адрес virtbox.test и порт, сопоставленный конкретной гостевой системе, который можно посмотреть в phpvirtualbox. Для удобства использования в параметрах подключения можно указать разрешение экрана 1024х768, тогда окно с подключением не будет занимать весь экран и перехватывать системные сочетания клавиш, такие как Alt+Tab.

Важное замечание: возможно одновременное подключение к одной гостевой системе нескольких пользователей. При этом все видят одно и то же, и все совершенные кем-либо действия видны остальным подключившимся. Для включения этой настройки нужно в настройках виртуальной машины в phpvirtualbox в разделе Display на вкладке Remote Display установить галочку Allow Multiple Connections.

Создание снимков гостевых систем

Создание дампа

Debian Linux

Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена Debian Linux (любой версии, начиная с 5 Lenny точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами: /, /var, /usr

Сначала нужно установить dump:
aptitude install dump

Далее, для создания дампа клонируемого сервера на Debian необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (как сделать так, чтобы не сдампило дампы, думайте сами):
dump 0af test1.root /
dump 0af test1.var /var
dump 0af test1.usr /usr

FreeBSD

Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена FreeBSD (любой версии, начиная с 6 точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами: /, /var, /usr

Для создания дампа клонируемого сервера на FreeBSD необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (опять напоминаю про дампание дампов):
dump 0aLf test1.root /
dump 0aLf test1.var /var
dump 0aLf test1.usr /usr

Развертывание дампа

Debian Linux

1. Нужно сделать виртуальную машину, прицепить к ней диск и загрузочный LiveCD Debian.

4. Поправить UUID в /etc/fstab

6. Проверить /var/spool/cron/crontabs, /etc/crontab и отключить то, что ненужно.

FreeBSD

Созданные дампы нужно развернуть на образе диска, выделенного под гостевую систему. В настоящие время поддержка файловых систем UFS используемых во FreeBSD ограниченна, поэтому для развертывания дампов создается виртуальная машина FreeBSD, к ней подключается раздел для хранения дампов, на который с помощью scp и пересылаются дампы с клонируемых серверов. Потом к этой машине подключается образ диска выделенный под гостевую систему, на этом образе создается файловая система FreeBSD и разворачивается полученный дамп.

Далее предполагается, что раздел tmp примонтирован в /mnt, образ диска для гостевой ОС размечен под два слайса, первый из которых примонтирован в mnt1, а второй отдан под swap и не примонтирован. Тогда развернуть дамп можно следующим образом:

Здесь && нужно для того, что следующая команда выполнится только в случае успешного завершения предыдущий, и таким образом исключаются ситуации, когда например каталог var не будет создан, переход в него не осуществится и разворачивание дампа произойдет не туда, т.к. разворачивание дампа производится относительно текущей директории.

Необходимые изменения в конфигурации гостевой ОС клонированного сервера

До загрузки гостевую ОС нужно перенастроить для работы в виртуальной машине. Количество требуемых действий как правило минимально и сводится к следующему:

1. Находясь в директории mnt1 (см. выше) удаляем файлы конфигурации загрузчика. Это особенно актуально, если виртуализуем какой-нибудь продукционный сервер, чтобы исключить использование COM-порта в качестве консоли по умолчанию, что приводит к зависанию загрузчика.
rm /mnt1/boot.config
rm /mnt1/boot/device.hints

2. Заменить содержимое файла /mnt1/etc/fstab следующим:
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 2 2

При этом предполагается, что образ диска гостевой ОС разбит на 2 слайса, первый из которых отдан под хранение данных и второй под swap.

3. Если нужно, сказать клонированной системе о необходимости загрузки модуля ядра для работы с эмулированной сетевой картой, для чего нужно в файле /boot/loader.conf добавить строчку if_em_load=»YES»

4. Указать клонированное системе выделенный для нее IP-адрес, для чего в /etc/rc.conf нужно закомментировать строчку текущих настроек сетевого адаптера и добавить новую строчку следующего вида:

7. Выключить FreeBSD, использованную для разворачивания дампа, и загрузить гостевую систему с клоном сервера. В случае проблем при загрузке возможно, что ядро на системе было пересобрано с измененной конфигурацией, это можно исправить сказав загрузчику загрузить ядро по умолчанию, которое я надеюсь вы сохранили в системе во время пересборки:
unload
load boot/kernel.GENERIC/kernel
boot

Для отдачи этих команд необходимо включить гостевую систему, подключиться к ней по RDP и дождаться появления на экране сообщений о том, что можно нажать Enter для указания опций загрузчику.

Создание виртуальных сетей

Внутри VirtualBox можно создавать полностью изолированные виртуальные сети. Какие возможности это дает?

Минимизация необходимости перенастройки клонированных серверов
Создание тестовой среды для отработки взаимодействия серверов между собой

Создание виртуальной сети

Чтобы создать виртуальную сеть нужно в phpvirtualbox зайти в свойства гостевой системы, перейти в раздел Network, выбрать в поле «Attached to» опцию «Internal Network», а в выпадающем списке «Name» выбрать требуемую виртуальную сеть. Какие могут возникнуть сложности?

Нужно создать новую виртуальную сеть, а такой опции в интерфейсе нет. Есть два варианта решения:

Попробовать написать имя новой виртуальной сети прямо в выпадающем списке «Name». Однако в этом случае может возникнуть ошибка.
Тогда нужно привязать сетевой адаптер гостевой системы к виртуальной сети через CLI:

Здесь
nic1 — сетевой адаптер гостевой системы, где 1 это его порядковый номер. Количество адаптеров в гостевой системе не ограничено
intnet — виртуальная сеть, название может быть любым. Особенность работы VirtualBox заключается в том, что специально создавать виртуальные сети не нужно, достаточно указать нескольким гостевым системам одну и ту же виртуальную сеть и они окажутся связанными на (эмулированном) физическом уровне автоматически, что аналогично подключению нескольких реальных компьютеров к одному свитчу (коммутатору).

Более подробная информация находится в разделе 8.7.2 Networking setting руководства пользователя.

Управление недоступными снаружи машинами в виртуальной сети

Доступ по RDP

RDP-сервер работает на физическом сервере, поэтому для подключения к любой виртуальной машине справедливо написанное в разделе Управление через веб-интерфейс этой статьи.

Проброс портов

Существует возможность создать в гостевой системе виртуальную сетевую карту с подключением через NAT (реализуемый автоматически средствами VirtualBox) и пробросить (отобразить) произвольный порт гостевой системы на порт сервера VirtualBox. Для того, чтобы сделать это через phpvirtualbox, нужно:

1. Зайти в свойства гостевой системы, перейти в раздел «Network», выбрать в поле «Attached to» опцию «NAT»

2. Раскрыть опции, скрывающиеся в разделе «Advanced» этого же раздела, и нажать там кнопку Port Forwarding

3. В открывшемся окне «Port Forwarding Rules» указать следующие параметры:

4. Нужный протокол, путем щелчка мышью по именованию «TCP» в поле «Protocol»

5. Указать свободный порт на сервере VirtualBox в поле «Host Port»

6. Указать порт гостевой системы в поле «Guest Port».

Больше ничего указывать не нужно. После применения настроек порт гостевой системы станет немедленно (без перезагрузки) доступен через соответствующий порт сервера VirtualBox. Как пример, в случае с пробросом порта ssh (22 TCP) гостевой системы на 2200 порт VirtualBox нужно указать следующие параметры:
Параметр Значение
Name ssh (необязательный параметр)
Protocol TCP
Host IP Не указывать
Host Port 2200
Guest Port 22
Guest IP Не указывать

Количество отображаемых портов не ограничено, можно отобразить столько, сколько нужно.

Виртуальный маршрутизатор

В случае создание в VirtualBox группы взаимодействующих гостевых систем без внешних адресов имеет смысл установить еще одну гостевую систему, которая будет играть роль маршрутизатора. Какие цели при этом достигаются?

Конфигурацию сетевых адаптеров клонированных сервером можно не менять. При этом виртуальный маршрутизатор создает для остальных гостевых систем видимость того, что они настоящие и пользуются своими настоящими именами хостов и IP-адресами
К гостевым системам не имеющим ни внешних адресов, ни описанной выше возможности проброса портов, которая работает только в случае использования NAT опции VirtualBox, становится возможен прямой доступ по ssh.

При этом предполагается, что виртуальный маршрутизатор настроен правильно и имеет сетевой адаптер, настроенный на работу с виртуальной подсетью в которой находится гостевая система с адресом 192.168.0.2

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *