Домашняя виртуализация. Citrix XenServer vs VMware vSphere ESXi. Часть 3 – 1. VMware vSphere ESXi. USB Flash как datastore.

VMware_vSphere_Logo

Помимо классических вариантов установки VMware vSphere ESXi может устанавливаться на флэшку. Это очень удобно для бездисковых систем, когда нужно просто установить гипервизор, а сами виртуальные машины хранятся на сетевом хранилище.
Для домашнего пользователя может быть интересным следующий сценарий: гипервизор также установлен на флэшку, а виртуальные машины пользуются проброшенными в них жесткими дисками напрямую, минуя слой виртуализации. При таком раскладе нужен лишь datastorage, на котором бы хранились конфиги этих виртуалок. Выделять для таких конфигов отдельный жесткий диск избыточно, т.к. они очень мало весят, и хотелось бы хранить их на той же флэшке.
К несчастью ESXi по-умолчанию не позволяет создавать datastorage на флэш-дисках. Но есть путь в обход этого ограничения =)

Для начала устанавливаем всё как обычно на флэшку, не забыв в процессе установки запомнить имя диска, на который производится установка. У флэшек диск именуется по маске mpx*(н-р mpx.vmhba32:C0:T0:L0).

Если же гипервизор уже установлен, а не устанавливается с нуля, можно посмотреть имя диска в папке /vmfs/devices/disks/. Если usbarbitrator включен(а он по дефолту и так включен), в папке будет единственный диск с маской mpx* и все его логические разделы:

[root@optimus:~] ls /vmfs/devices/disks/
Output

Далее необходимо прочитать информацию об этом диске:

[root@optimus:~] partedUtil getptbl /vmfs/devices/disks/mpx.vmhba32\:C0\:T0\:L0
Output

Т.к. утилита partedUtil не умеет добавлять разделы, необходимо скопировать информацию о уже созданных разделах в команду setptbl.
Также необходимо рассчитать последний сектор нового раздела. Он рассчитывается по формуле:

(Цилиндры * Головки * Секторы) - 1

что в моём случае (1948 * 255 * 63) – 1 = 31294619

В качестве начального сектора нового раздела я выбрал 7100000, в качестве номера – 10.

В качестве guid для нового раздела необходимо указать AA31E02A400F11DB9590000C2911D1B8, что соответствует vmfs. Полный список guid можно посмотреть командой partedUtil showGuids если интересно.

Итоговая команда setptbl выглядит так:

[root@optimus:~] partedUtil setptbl /vmfs/devices/disks/mpx.vmhba32\:C0\:T0\:L0 gpt "1 64 8191 C12A7328F81F11D2BA4B00A0C93EC93B 128" "5 8224 520191 EBD0A0A2B9E5443387C068B6B72699C7 0" "6 520224 1032191 EBD0A0A2B9E5443387C068B6B72699C7 0" "7 1032224 1257471 9D27538040AD11DBBF97000C2911D1B8 0" "8 1257504 1843199 EBD0A0A2B9E5443387C068B6B72699C7 0" "9 18432007086079 9D27538040AD11DBBF97000C2911D1B8 0" "10 7100000 31294619 AA31E02A400F11DB9590000C2911D1B8 0"
Output

Раздел создан. Теперь его можно подключить как datastore командой(не забыв номер раздела в конце):

[root@optimus:~] vmkfstools -C vmfs5 -b 1m -S datastore /vmfs/devices/disks/mpx.vmhba32\:C0\:T0\:L0\:10
Output

После этого datastore должен быть доступен в vSphere Client(возможно, потребуется нажатие кнопки Refresh).

Полезные советы

Оригинальный пост был опубликован мной на форуме VMWare.

В следующей статье мы поговорим о гибком пробросе клавиатуры в гостевую систему.

Leave a Reply

Your email address will not be published. Required fields are marked *