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

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

  • Dislike
  • -1
  • Like
Физический накопитель (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 Files\Oracle\VirtualBox"

В 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:\Users\UserName\путь_до_файла\диск.vmdk.vmdk" -rawdisk .PhysicalDrive#

Где # - номер диска.

Если хост под MAC:
VBoxManage internalcommands createrawvmdk -filename "/путь_до_файла/диск.vmdk" -rawdisk /dev/disk#

Про кириллицу и номер диска всё то же самое, что и выше.

Таким образом мы создали виртуальный диск, по сути являющийся ссылкой на физический диск. Далее через графический интерфейс зайдите в настройки своей VM и добавьте к ней диск, указав в качестве диска только что созданный «raw-диск».

Таким образом наша VM будет использовать физический диск, что значительно повысит производительность.
Like Dislike

___
Tatyana K.



Tags: Виртуализация


 
  • Creative Commons Licence
  • Norton Safeweb
  • Website Uptime Monitoring By ServiceUptime.com