VirtualBox. Виртуальные диски. Их типы. Расширение виртуального носителя.
О проблеме
Во время работы с VBox так вышло, что однажды мне не хватило места на виртуальном диске. Почитав гайды в интернете, нашёл как увеличить размер диска. Только ничего не получилось. Оказалось, что при создании диска, был выбран фиксированный размер дискового пространства.
Задачи
- Разобраться с типами дисков
- Расширить виртуальный диск с фиксированным объёмом
- Завершить расширение диска в гостевой ОС
- Не потерять данные на расширяемом виртуальном диске
1. О типах виртуальных носителей
Выдержка из документации, приведена ниже. Ссылка на доку. Искать часть 5.2. Disk Image Files (VDI, VMDK, VHD, HDD)
Файл образа диска виртуальной машины находится на хостиг-системе и воспринимается гостевой системой, как жёсткий диск определённой геометрии. Когда гостевая ОС читает с диска или записывает на него, VBox перенаправляет запрос в файл образа.
Как и физический диск, виртуальный носитель имеет размер и ёмкость, которые необходимо указать при создании диска. Только в отличие от физического носителя его можно расширять.
VBox поддерживает типы виртуальных носителей:
- VDI. Собственный тип, формат контейнера жёсткого диска от VBox
- VMDK. Популярный открытый формат контейнера, используется многими другими продуктами виртуализации
- VHD. Тип виртуального носителя, который использует Microsoft
- HDD. Также поддерживаются файлы изображений Parallels версии 2
Варианты создания диска внезависимости от выбранного типа виртуального носителя:
- Фиксированный размер. Если создаём образ с фиксированным размером, то на хостинг-системе будет создан файл образа примерно такого же размера, как и емкость виртуального диска. Таким образом, для диска размером 10 ГБ у нас будет файл размером 10 ГБ
- Макимальный объём диска, расширить нельзя.
- Динамический размер. Изначально размер диска будет очень маленьким. Объём носителя будет увеличиваться каждый раз при записи на диск до тех пор, пока не достигнет максимальной ёмкости, выбранной при его создании
- Максимальный объём диска можно увеличить.
2. Решение проблемы
Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант — динамически расширяемый.
- Запустить VirtualBox.
- Открыть менеджер виртуальных дисков (сочетанием клавиш Ctrl + D)
- Во вкладке Жесткий диск, выбрать из списка тот, который расширяем
- Ниже, во вкладке Атрибуты, увеличиваем объём диска с помощью бегунка
- Так же можно увеличить объём диска, вручную прописав его размер в окошке справа от бегунка
- Подтверждаем
- После короткого ожидания, размер диска увеличен
- Далее необходимо запустить гостевую ОС и расширить диск уже там
Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант — фиксированный.
- Открыть менеджер виртуальных носителей
- Выбрать диск
- Сверху, кнопки с вариантами действий над диском
- «Копировать»
- В открывшемся окне необходимо открыть «Экспертный режим»
- В правой части окна «Хранение на жёстком диске»/»Storage on physical hard disk», нужно выбрать Динамически расширяемый вариант создания диска
- Подтвердить копирование
- Займет какое-то время
- В менеджере виртуальных носителей появится копия диска, только уже тип диска будет динамический.
- Выбрать диск и расширить его
- После расширения, копию расширенного диска необходимо примонтировать в виртуальной машине, вместо старого
3. Расширение дискового пространства в гостевой системе
Гостевая ОС, Windows
- Запустить гостевую ОС
- Открыть управление дисками.
- для Win7 — правым кликом по иконке Мой компьютер — Управление — Управление дисками
- для Win10 — правым кликом по иконке Windows/Пуск — Управление дисками
- Так же правым кликом выбрать диск, который необходимо расширить
- В контекстном меню, «Расширить том. «
- Готово
Гостевая ОС, думаю любой дистрибутив GNU/Linux
Я расширял в Debian-Arch подобных
- Загрузиться в live режиме
- Запустить GParted, если его нет, то:
sudo apt install gparted
sudo pacman -S gparted - Неиспользуемый раздел будет как-бы вне основного блока размеченного пространства
- Для расширения необходимо
- Выбрать раздел, у меня /dev/sda2
- Правым кликом — Расширить..
- Расширяем, подтверждаем. Сверху, где графическое отображение объёма диска, можно расширить раздел курсором
- Теперь появилась возможность расширить основной раздел, у меня /dev/sda5
- Расширяем так же, как и /dev/sda2
- Затем подтверждаем все действия, зелёная галочка сверху.
- Раздел расширен, перезагрузка
Какой образ диска следует использовать с VirtualBox, VDI, VMDK, VHD или HDD?
последние версии VirtualBox поддерживают несколько форматов виртуальных дисков, но они забыли провести сравнение между ними.
теперь меня интересует рекомендация или сравнение, которое учитывает следующее:
- быть в состоянии использовать динамические размеры
- иметь снимки
- возможность переместить виртуальную машину на другая ОС или даже другое бесплатное решение виртуализации с минимальными усилиями (вероятно, что-то, что будет работать нормально на Ubuntu).
- производительность
11 ответов
Отвечая На Ваши Соображения
- возможность использования динамических размеров
VDI,VMDK и виртуальный жесткий диск все поддерживают динамически выделяемые размеры. VMDK имеет дополнительный возможность разделения файла хранилища на файлы размером менее 2 ГБ каждый, что полезно, если ваша файловая система имеет небольшое ограничение на размер файла.
все четыре формата поддержка снимков на VirtualBox.
- быть в состоянии переместить свою виртуальную машину на другую ОС или даже другое свободное решение виртуализации с минимальными усилиями (вероятно, что-то, что будет работать нормально на Ubuntu).
VDI-это собственный формат VirtualBox. Я не искал другого программного обеспечения, которое поддерживает этот формат.
VMDK является разработанная и для VMware, но солнце хуш, в QEMU, VirtualBox, но в SUSE Studio и .Чистая DiscUtils и поддержать его. (этот формат может быть наиболее подходящим для вас, потому что вы хотите виртуализации программного обеспечения, которое будет работать нормально на Ubuntu.)
VHD является собственным форматом Microsoft Virtual ПЕРСОНАЛЬНЫЙ КОМПЬЮТЕР. Этот формат популярен среди продуктов Майкрософт.
Я ничего не знаю о HDD. Судя по глядя на этот сайт, Parallels является продуктом Mac OS X и, вероятно, не подходит для вас, особенно учитывая, что VirtualBox поддерживает только старую версию формата HDD.
формат не должен влиять на производительность, или, по крайней мере, влияние на производительность незначительный.
факторы, которые влияют на производительность,:
- ваши ограничения физического устройства (гораздо более заметны на жестком диске, чем твердотельный накопитель. почему?)
- расширение динамически выделяемого виртуального диска (операции записи выполняются медленнее по мере расширения виртуального диска, но как только он становится достаточно большим, расширение должно происходить меньше)
- технологии виртуализации (аппаратное и программное обеспечение; виртуализация оборудования помогает VirtualBox и повышает скорость работы виртуальных операционных систем)
- тот факт, что вы используете виртуальную операционную систему. Производительность всегда ниже, чем при работе операционной системы на узле из-за процесса виртуализации.
Я всегда использую VDI, так как это родной формат VirtualBox; однако использование VMDK (формат VMWare) увеличит совместимость с другим программным обеспечением виртуальной машины.
VirtualBox будет отлично работать на Ubuntu, поэтому, если цель-совместимость Windows/Ubuntu, VDI будет вполне допустимым выбором.
оба формата выполнят ваши требования.
Что касается двух других, VHD-это формат, разработанный Microsoft, а HDD-формат, разработанный Apple; эти оба имеют собственную лицензию, поэтому ограничивайте кросс-платформенную поддержку;я бы не рекомендовал их.
Mpack, объясняет ключевую разницу в производительности между VHD и VDI здесь:
недавно изучив формат VHD, я ожидал бы, что будет по крайней мере небольшая разница в пользу VDIs, наиболее заметная, когда вы сравниваете, как с like, т. е. оптимизированный VDI против оптимизированного VHD. Причина в том, что динамический формат VHD имеет эти» растровые » сектора, разбросанные по всему диску. Каждый раз, когда вы изменяете сектор внутри блока, эти растровые блоки, возможно, должны быть обновлено и написано тоже, с участием дополнительных ищет, читает и пишет. Эти растровые сектора также должны быть пропущены при чтении последовательных кластеров из образа диска-more seeks. Формат VDI не имеет этих накладных расходов, особенно если VDI был оптимизирован (блоки на виртуальном диске отсортированы в порядке LBA).
все мои комментарии относятся к динамическому формату VHD и динамическому VDI. Тесты производительности на виртуальных дисках фиксированного размера бессмысленны, поскольку оба формата то же самое (просто простой образ диска), на них просто разные заголовки.
Я не знаю, позволит ли использование vmdk прозрачно запускать виртуальную машину, созданную в VirtualBox в VMware или нет. Может быть. Однако более универсальным вариантом может быть использование функции VirtualBox File/Export для создания «открытого устройства виртуализации» .OVA файл, который затем можно импортировать в VMware. При таком подходе можно портировать на любую систему виртуализации, которая поддерживает .ova не заботясь о том, какой формат образа диска вы используете в VirtualBox.
Если вам нужно экспорт из одной и той же виртуальной машины через регулярные промежутки времени, например, каждый день, это может быть болью. Но если вы только время от времени переходите на другую технологию, все должно быть хорошо.
Если у вас есть .файл vdi уже можно проверить, работает ли это без создания новой виртуальной машины. Экспортировать его в .ova, затем попробуйте выполнить импорт с помощью vmware.
файлы образов дисков находятся в хост-системе и воспринимаются гостевыми системами как жесткие диски определенной геометрии. Когда гостевая операционная система читает или записывает данные на жесткий диск, VirtualBox перенаправляет запрос в файл образа.
как физический диск, виртуальный диск имеет размер (емкость), который должен быть указан при создании файла изображения. В отличие от физического диска, VirtualBox позволяет развернуть файл образа после создания, даже если он содержит данные уже; VirtualBox поддерживает четыре варианта файлов образов дисков:
VDI: как правило, VirtualBox использует свой собственный формат контейнера для гостевых жестких дисков-файлы образа виртуального диска (VDI). В частности, этот формат будет использоваться при создании новой виртуальной машины с нового диска.
VMDK: VirtualBox также полностью поддерживает популярный и открытый формат контейнеров VMDK, используемый многими другими продуктами виртуализации, в частности VMware.[25]
VHD: VirtualBox также полностью поддерживает формат VHD, используемых Microsoft.
файлы изображений Parallels версии 2 (формат HDD) также поддерживаются.[26] из-за отсутствия документации формата новые форматы (3 и 4) не поддерживаются. Однако вы можете конвертировать такие файлы изображений в формат версии 2 с помощью инструментов, предоставляемых Parallels.
хорошая причина для меня для использования vmdk-это Virtualbox (по крайней мере, до v4.1) использование формата VDI имеет тенденцию со временем заполнять все выделенное дисковое пространство, даже если внутреннее использование виртуального диска все еще намного меньше. С Virtualbox, использующим диски vmdk, это кажется менее проблематичным.
но я говорю о времени безотказной работы. Это не может быть проблемой, с которой сталкиваются многие люди.
Это зависит от того, как вы планируете использовать как виртуальный диск. Не каждой виртуальной машине нужен отдельный раздел на одном диске.
VDI, кажется, имеет больше вариантов (при использовании с VirtualBox), но как только вы берете VirtualBox из картины, поддержка VDI становится несколько шаткой (по состоянию на конец 2014 года).
например, мои решения должны иметь максимальную кросс-платформенную поддержку. Монтирование VDI (например, устройства обратной связи) в linux или Windows 7 сложнее и сложнее, чем вы можете ожидать. Почти как VDI имеет слишком много функций, что делает его трудно сделать полностью соответствующие утилиты, которые могут работать на нем.
VMDK-это просто менее безболезненно ИМХО, когда вы хотите работать с любой виртуальной машины на любой рабочей станции, когда вы хотите клонировать его 3 раза с другими системами в сети одновременно, и когда вы хотите, чтобы открыть ее без запуска ВМ экземпляр.
несмотря на то, что я использую VirtualBox 90% времени, те несколько раз, когда мои диски становятся необъяснимые в некоторых рабочих процессах привели меня к тому, что VMDK для подключаемых/общих файловых систем.
Виртуальные машины: что это, как работают и чем отличаются от контейнеров
Виртуализация физического оборудования позволяет эффективнее использовать его ресурсы и получить большую свободу в установке нужного программного обеспечения.
В статье расскажем о «единице виртуализации» — виртуальной машине, разберемся, что это такое и как работает.
Что такое виртуальная машина и как она работает
Виртуальная машина (VM, ВМ) — это виртуальная копия реального оборудования, приложение, которое функционирует как физический компьютер или сервер. Ее еще называют виртуальным сервером.
С точки зрения пользователя виртуальная машина выглядит как настоящее оборудование — как будто вы используете программы или приложения, установленные на вашем компьютере, вот только этот компьютер не реальный, а виртуальный.
ВМ не зависит от реального оборудования и может использовать только те ресурсы, которые были в нее добавлены. Например, воспроизводит внутри себя код установленной на ней операционной системы.
Кстати, эта ОС может отличаться от той операционной системы, которая установлена на компьютере. То есть на компьютере с Windows может быть запущена ВМ с Linux, а на нее установлены нужные приложения, работающие с этой операционной системой, но не подходящие для Windows.
Просто так виртуальная машина работать не будет, между ней и физическим оборудованием должна быть прослойка — специализированная программа под названием гипервизор . Она как бы копирует (эмулирует) процессорное время, память, жесткий диск, сеть и другие аппаратные ресурсы физического устройства, позволяя виртуальным машинам совместно ими пользоваться.
Зачем нужны виртуальные машины
С помощью них можно эффективнее использовать физическое оборудование — значит, для решения поставленных задач его нужно меньше. Также при использовании виртуальной машины снижается потребность в электроэнергии и охлаждении.
Кроме того, преимуществами виртуальных машин пользуются, чтобы упростить резервное копирование, аварийное восстановление инфраструктуры , новые развертывания приложений и базовые задачи системного администрирования — новую ВМ с нужной ОС и кодом легко развернуть из виртуального образа.
Виртуальные машины легко перемещать между физическими серверами, например, когда надо заменить оборудование на новое или перераспределить нагрузку между серверами. Это упрощает управление кластером, то есть группой из нескольких серверов. Также ВМ можно копировать для оптимизации использования аппаратных ресурсов.
Разные виртуальные машины на одном физическом сервере обычно потребляют разное количество ресурсов, то есть одна из них может использовать всё доступное физическое хранилище, а другая хранить мало файлов, поэтому требуется балансировка распределения доступных ресурсов между ВМ.
Если вы хотите лучше разобраться в том, что такое виртуализация и как она работает — мы написали об этом в отдельной статье .
Как используют виртуальные машины
Для чего еще нужны виртуальные машины? Есть много вариантов их использования. Часто их развертывают, если для одновременно работающих приложений требуются разные операционные системы и вычислительная мощность.
Например, когда компания хочет одновременно протестировать несколько веб-серверов и небольших баз данных. Или хочет запустить на одном и том же оборудовании, например, игровой сервер с мощной графикой и базу данных для обслуживания клиентов.
Вот еще несколько вариантов использования виртуальных машин:
- защита информации и ограничение возможностей программ (песочница);
- исследование производительности программного обеспечения;
- эмуляция на оборудовании различных архитектур (например игровой приставки);
- оптимизация использования ресурсов физических серверов;
- тестирование и отладка системного программного обеспечения;
Виртуальные машины и контейнеры: в чем разница?
Контейнеризация — другой вид виртуализации, контейнеры виртуализируют только операционную систему, а не все базовое оборудование.
При этом одно и то же ядро операционной системы, то есть ее центральный модуль, может обслуживать не одно, а несколько изолированных экземпляров пространства пользователя — областей ОС, предназначенных для приложений и данных конкретного пользователя. Эти области и называют контейнерами.
Эти контейнеры содержат код, системные инструменты, среду выполнения, системные библиотеки и параметры, необходимые для запуска приложений. Их часто используют, когда требуется работа нескольких приложений на одной и той же операционной системе. Контейнеры полностью изолированы, программы из разных контейнеров не могут воздействовать друг на друга.
Контейнеры применяют в распределенных приложениях на инфраструктуре частного или публичного облака, а также для упаковки устаревших приложений, чтобы упростить их развертывание, в том числе при переносе на другой сервер.
В отличие от виртуальных машин, все контейнеры используют одно и то же ядро операционной системы, которая установлена на сервере.
В этом и недостаток, и преимущество контейнеризации:
- недостаток — потому что вам недоступен широкий спектр операционных систем и вы не можете обновить ОС в отдельном контейнере;
- преимущество — потому что отсутствуют накладные расходы на множество отдельных ядер и эмуляцию виртуального оборудования. Соответственно, контейнеры потребляют меньше вычислительных ресурсов.
Одним из ведущих разработчиков контейнеров в настоящее время является Docker, который впервые появился на рынке в 2013 году как контейнерная платформа на базе Linux.
Облачные вычисления и виртуальные машины
Виртуальными машинами можно пользоваться не только на своем оборудовании. Их можно брать в аренду у облачных провайдеров — они сами покупают оборудование, настраивают системы виртуализации, а потом выделяют своим клиентам нужное количество виртуальных серверов.
В облаке можно развернуть не только одну-две виртуальных машины, но и целую IT-инфраструктуру с множеством таких ВМ, связями между ними и сложными настройками.
Облачные вычисления добавляют к виртуализации дополнительные технологии, например, сервис самостоятельного администрирования и автоматический биллинг — подсчет стоимости потраченных ресурсов. Так, в облачном дата-центре инженеры могут создавать новые виртуальные машины в зависимости от потребностей пользователей или нового проекта. А обычный пользователь в облачной среде выбирает ресурсы из каталога в личном кабинете и создает виртуальные машины, не взаимодействуя с реальным физическим оборудованием.
Так, создать виртуальную машину для размещения сайта или приложения в облаке Mail.ru Cloud Solutions можно в три клика.
Для многих бизнес-задач использовать виртуальные серверы в облаке проще и выгоднее, чем покупать и настраивать собственное оборудование. Облачная инфраструктура дает широкие возможности для разработки программного обеспечения, подходит как для стартапов и небольшого бизнеса, так и для развертывания IT-систем крупных проектов.