VirtualBox VM на физическом диске

Физический накопитель (HDD, SSD и так далее) значительно увеличивает производительность виртуальной машины. Это полезная опция, если VM нужна для дела. Несмотря на отсутствие признаков этой опции в графическом интерфейсе, VirtualBox всё же умеет работать с физическими накопителями. VirtualBox VM — кроссплатформенный продукт. ОС хоста может иметь свои нюансы при работе с VirtualBox, но общие принципы практически идентичны. Данный материал основан на работе с Linux, но я так же приведу примеры для Windows и MAC. Нам понадобится свободный диск, который хостом воспринимается как физический накопитель. Это может быть флэшка USB 3 (при более медленных решениях теряется смысл), не слишком медленный HDD, или полноценный SSD. Теоретически, ничто не мешает использовать свободный раздел, а не весь диск. Но во избежании лишних проблем не стоит пытаться использовать раздел, используемый хостом. Даже если он пустой, но при этом монтируется при старте ОС хоста. В моём случае это старый SSD на SATA, хост под Arch Linux и Windows 10 на стороне VM. Далее нужно создать VM штатным способом чрез графический интерфейс, но следует пропустить шаг создания виртуального диска. После настройки VM следует определиться с разметкой диска. Я использую EFI, так что это будет GPT. Любой удобной программой разметьте диск, или оставьте эту задачу гостевой ОС. Практически любая современная ОС сделает это при установке. Уточните расположение и номер диска. В Linux это можно сделать командой «sudo fdisk -l». Пример выдачи:Disk /dev/sdb: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: SPCC Solid State
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 09A1074D-98C3-BC43-88B9-BAF6DB909A54Это часть выдачи, которая относится к диску, который я хочу использовать. Путь до sdb будет «/dev/sdb». В MAC следует использовать команду «diskutil list». Пути до дисков выглядят как «/dev/disk0», «/dev/disk1»… В Windows штатная программа называется «Disk Management». Диски обозначаются «PhysicalDrive0», «PhysicalDrive1» и так далее. Далее откройте терминал (или Power Shell в Windows). Если на хосте используется Windows, то нужно перейти в корень VirtualBox. Обычно это в «Program Files». Пример:cd “C:Program FilesOracleVirtualBox”В Linux следует учесть права на управление дисками. Запускать VirtualBox с правами root – плохая идея. Будем исходить из того, что пользователь и VirtualBox находятся в одной группе. Для управления дисками обычно требуется root-доступ. Проверяем пользователя и группу. В моём примере:ls -l /dev/sdbВыдача:brw-rw—- 1 root disk 8, 16 Nov 14 07:00 /dev/sdbГде root — пользователь, disk — группа. Добавляем себя в группу «disk».sudo usermod -a -G disk usernameГде «username» – имя пользователя, под которым вы работаете. Таким образом мы исключаем необходимость запуска VirtualBox с правами root для доступа к физическим дискам. На случай, если для запуска самой VirtualBox всё же требуется root-доступ, убедитесь, что добавили себя в группу «vboxusers», в которой обычно работает VirtualBox. Для принятия изменений следует перезапустить сессию. И так, в консоли создаём «диск» для нашей VM:VBoxManage internalcommands createrawvmdk -filename “/путь_до_файла/диск.vmdk” -rawdisk /dev/sdbГде путь — произвольное значение. Для удобства диск можно создать там же, где и другие файла нашей новой VM; «sdb» – диск. Используйте своё значение. Использовать кириллицу в путях – тоже не очень светлая идея. Используется в примере только для наглядности. Если хост под Windows:VBoxManage internalcommands createrawvmdk -filename “C:UsersUserNameпуть_до_файладиск.vmdk.vmdk” -rawdisk .PhysicalDrive#Где # – номер диска. Если хост под MAC:VBoxManage internalcommands createrawvmdk -filename “/путь_до_файла/диск.vmdk” -rawdisk /dev/disk#Про кириллицу и номер диска всё то же самое, что и выше.Таким образом мы создали виртуальный диск, по сути являющийся ссылкой на физический диск. Далее через графический интерфейс зайдите в настройки своей VM и добавьте к ней диск, указав в качестве диска только что созданный «raw-диск». Таким образом наша VM будет использовать физический диск, что значительно повысит производительность.

Go to Source
Author: