Виртуализация - изучаем операционные системы

Виртуализация и виртуальные машины

Книга о работе с программами виртуализации



Введение

править

Виртуализация ― это процесс предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе. Если простыми словами - эмуляция компьютера в компьютере. Для чего же это нужно?

  1. Знакомство с разными ОС. Благодаря использованию программ для виртуализации можно опробовать новые операционные системы, перед непосредственной установкой их на компьютер. Это безусловно важный шаг, перед переходом, при, например, переходе c Windows на Linux, так как новичку может быть сложно приспособиться к новой системе.
  2. Безопасность. Программы, запущенные на виртуальной машине, теоретически, не могут выбраться за пределы виртуальной операционной системы, благодаря чему, можно проверять подозрительные файлы.
  3. Тестирование программ. Разработчикам часто приходится проверять работоспособность на какой-то определенной платформе, а виртуализация идеально помогает протестировать почти на любой возможной платформе.
  4. Оптимизация ресурсов серверов. Виртуализацию часто используют для более рационального использования ресурсов серверов.

Терминология

править

Мы должны ввести некоторую терминологию, которую будем использовать в руководстве

Хостовая ОС ― физический компьютер

Гостевая ОС ― операционная система, которая работает в виртуальной машине

Виртуальная машина(ВМ) ― среда в которой находится гостевая ОС и которая создается программой виртуализации

Программы виртуализации

править

С целью своей мы определились - приступим к выбору программ виртуализации.Вы можете выбрать программы из списка наиболее популярных программ виртуализации. Мы же будем использовать наиболее популярную программу - VirtualBox. Ее основное преимущество - простота и функциональность. К тому же она лицензирована под GPL и является бесплатной. Скачать ее можно здесь.

F.A.Q и проблемы

править
  • Если возникнут проблемы с запуском машины ― стоит проверить включена ли виртуализация в BIOS/UEFI
  • Не получается запустить только что созданную виртуальную машину(Kernel driver not installed (rc=-1908)): выключите Secure Boot в BIOS/UEFI

Установка и настройка VirtualBox

править
 

Итак, настроим наш VB, открыв настройки:

  1. В общих выберите отдельную удобную папку, где будут хранится все ваши виртуальные машины. Также рекомендуем создать отдельную папку для хранения образов ОС.
  2. В языках выберете удобный вам язык

Немного об образах ОС

править

Операционные системы (далее ОС) поставляются обычно в формате файла образа(.iso) - именно их мы и будем использовать для создания виртуальной ОС. Скачивать эти образы настоятельно рекомендуется с официальных сайтов.

Также, с точки зрения безопасности стоит проверить образ на хеш-сумму. Хеш-сумма - это результат работы хеш функции. То есть, при изменении файла, его хеш-сумма будет изменяться и таким образом мы можем проверить: не подменили ли скачанный образ. Обычно разработчики оставляют на своем сайте хеш-суммы обрзов: используют обычно алгоритмы MD5, SHA-256(наиболее популярен), и другие. Предположим, что разработчик оставил хеш-сумму скачанного образа Linux.iso 966fead51235cb4f0cd023506d538df1eeecedf1b06971e12eac4b92c862fa2b.

Командой в Linux

sha265sum Linux.iso

Получим результат:

966fead51235cb4f0cd023506d538df1eeecedf1b06971e12eac4b92c862fa2b Linux.iso

Что совпадает с нашей суммой, а значит подмены образа не было.Аналогично в Windows:

certutil -hashfile Linux.iso SHA256

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

править

Итак, приступим к первому этапу созданию виртуальной машины.

Выбор ОС и ОЗУ:

править

Выбираем желаемое имя (программа может по названию подобрать сразу тип - это достаточно удобно),

Выбираем желаемую папку (по стандарту будет выбираться папка из настроек), где будут хранится файлы нашей виртуальной машины. Обращайте внимание на путь - он любит создавать ВМ в общей папки, из-за чего может начаться бардак

Выбираем тип (например: Linux) и версию (например: Ubuntu 64-bit) ― рекомендуем выбирать наиболее подходящую систему (например, для Manjaro - Arch/Linux, для Windows 10 - Winodws-версия). Особенно важно подбирать архитектуру(32/64), так как программа заранее, подготавливается к дискам либо 32, либо 64.

Выбираем ОЗУ: ОЗУ следует выбирать в зависимости от системных требований ОС (На ВМ Windows 10 должно быть больше 4 Gb+), от планируемых программ(+1-2Gb) и от того, сколько у вас в системе. В целом, ОЗУ ― параметр изменяемый. Заметим также, что лучше не превышать максимума своей системы, так как ОС начинает использовать раздел (или файл) подкачки, например - swap, что вызовет значительные лаги в системе.

Подготовка жесткого диска

править

Фактически, программа выделяет на вашем реальном жестком диске некоторое место, которое становится местом виртуальной машины. При этом некоторое место будет умещаться в файл, который мы можем использовать для других виртуальных машин. На картинке("жесткий диск") мы можем либо "не создавать" жесткий диск(что,в целом, бессмысленно), либо создать(мы так и сделаем), либо подключить другой(мы можем использовать диски, которые созданы другими виртуальными машинами).

Тип диска мы можем выбрать VDI, если планируем работать только с VirtualBox

Далее, перед нами стоит выбор - фиксированный или динамический формат хранения. Что это значит?

  • При выборе динамического формата хранения, наш диск будет увеличиваться только по мере необходимости - когда на него будут устанавливаться файлы. Главное преимущество, что если вы изначально задали 100 Гб в настройках, в действительности он будет занимать гораздо меньший объем(объем, равный объему реальных файлов этой системы), но учитывайте, что за гибкость придется платить - система будет работать медленнее, так как будут требоваться ресурсы на его расширение. Если вы просто тестируете ОС и не знаете, сколько вы решите занять места в ходе экспериментов - идеальный вариант
  • При выборе фиксированного формата - все будет наоборот: диск займет выделенные вами 100Gb в действительности, но зато, наша система не будет работать медленнее, так как не будут требоваться ресурсы для расширения его. Подойдет, если вам нужна быстродействующая система и вы знаете приблизительно сколько места займут ваши файлы - некоторый, промышленный случай.

Заметим, что в общем-то, заметного снижения производительности вы не заметите. Так как цель нашего курса протестировать ОС, то лучше всего выбирать динамический формат.

Далее мы указываем место этого диска (обычно программа сразу подбирает желаемое место) и размер. Размер зависит от того, как вы захотите использовать вашу ВМ: обычно выделяют 100 Гб при динамическом диске, но если вы хотите установить множество программ или ставите Windows, то стоило бы довести размер до 100-150 Гб.

Настройка созданной виртуальной машины

править

Мы создали виртуальную машину, но её ещё надо настроить. Нажмём на кнопку «Настроить».

  • Во вкладке «основные» показываются те параметры, которые мы использовали при создании ВМ ― можно изменить, если есть желание.
    • Во вкладке «дополнительно» есть папка для снимков(она обычно удобно размещена в папке нашей ВМ) функция Drag`n`Drop и общий буфер обмена ― о них мы расскажем позже, при работе с машиной.
    • В «описании» ― описание вашей виртуальной машины(стоит расписать особенности, когда хотите поделиться информацией о машине, но также можно использовать для заметок о машине).
    • В «шифровании» ― можно зашифровать жесткий диск виртуальной машины (для безопасности файлов, расположенных на вашей ВМ).

Система

править
  • Во вкладке материнская плата:
    • Основная память ― те же настройки ОЗУ, что и при создании
    • Порядок загрузки ― опция подобная такой же опции в BIOS. Компоненты будут загружаться в порядке сверху вниз: если при уже установленной операционной системе на ВМ вы решите вставить диск (фактически, ISO-образ) и поставите загрузку оптического диска на первое место, то система перейдёт в установку с диска. Сеть