Подключение USB диска/флешки к хосту VMWare ESXi

Несколько раз возникала задача прямого подключения внешнего USB диска/флешки к хосту VMWare ESXi. Как правило это нужно чтобы скопировать образ виртуальной машины для передачи в удаленный филиал (если WAN канал между офисами слабый или сильно загружен), бэкапа файлов ВМ на внешнее USB устройство, копирования на хост ESXi ISO файла или образа (когда нельзя сильно нагружаться сеть). В этой статье мы рассмотрим, как подключить к хосту ESXi USB диск или флешку в качестве VMFS хранилища или для прямого копирования файлов с FAT32/NTFS раздела.

Подключение внешнего USB накопителя как VMFS хранилища в VMWare ESXi

Предположим, вы хотите подключить USB диск к хосту ESXi и создать на нем VMFS хранилище для удобного копирования/переноса файлов и образов виртуальных машин.

Официально VMWare не поддерживает работу внешних USB устройств в качестве VMFS хранилища. Однако это работает и может использоваться. Кроме того, ESXi не поддерживает USB устройства размером более 2 Тб.

Начиная с VMWare ESXi 6.5 несколько изменилась концепция подключения USB устройств к хосту. Если ранее использовались несколько драйверов (xhci, ehci-hcd, usb-uhci, usb-storage), то теперь вместо них используется один USB драйвер vmkusb .

  1. Подключитесь к консоли ESXi по SSH ;
  2. Остановите службу USB arbitrator . Эта служба используется для проброса USB устройства (в том числе дисков) в виртуальную машину на ESXi хосте (USB Passthrough): # /etc/init.d/usbarbitrator stop
    Если вы хотите чтобы USB arbitrator не стартовал после перезагрузки хоста, выполните команду: # chkconfig usbarbitrator off
  3. Подключите пустой USB накопитель к хосту ESXi;
  4. Вы можете идентифицировать имя USB диска по логу /var/log/vmkernel.log или через /dev/disks: # ls /dev/disks/
    USB диск будет называться mpx.vmhbaX или naa.X .

  5. Создайте на USB диске GPT разметку: # partedUtil mklabel /dev/disks/naa.5000000000000001 gpt
  6. Теперь нужно вручную создать раздел на диске. Для этого нужно указать начальный и конечный сектор на диске. Выведите информацию по секторам диска: # partedUtil getptbl /dev/disks/naa.5000000000000001
  7. Начальный сектор всегда 2048 , размер конечного сектора вычисляется по результатам команды getptbl. В моем примере расчет нужно выполнить так: 121597 * 255 * 63 -1 = 1953455804
    Если на диске уже есть раздел, его можно удалить; # partedUtil delete /dev/disks/naa.5000000000000001 1
  8. Создайте VMFS раздел (GUID такого раздела всегда AA31E02A400F11DB9590000C2911D1B8): # partedUtil setptbl /dev/disks/naa.5000000000000001 gpt "1 2048 1953455804 AA31E02A400F11DB9590000C2911D1B8 0"
  9. Теперь можно отформатировать этот раздел в файловой системе VMFS6: # vmkfstools -C vmfs6 -S USB-HDD-DSDatastore /dev/disks/naa.5000000000000001:1
  10. Откройте графический веб клиент VMWare и перейдите в раздел Storages. В списке доступных датостор появится ваш USB диск.

Прямое копирование данных между ESXi и USB диском с NTFS/FAT32

Если вы не хотите менять файловую систему USB накопителя на VMFS, вы можете из консоли ESXi получить доступ к файлам на файловой системе NTFS или FAT32 и скопировать нужные файлы.

Перед подключением USB диска к ESXi хосту не забудьте выключить службу USB arbitrator.

Для доступа к FAT32 разделам с ESXi можно использовать утилиту mcopy , а для доступа к NTFS разделу на USB – ntfscat. Также нативно поддерживается файловая система ext3. Основные ограничения:

  • FAT32 и Ext3 разделы доступны на чтение и запись;
  • NTFS диски доступны только на чтение (т.е. вы можете скопировать файлы с USB накопителя с NTFS на ESXi хост, но не наоборот).

Чтобы скопировать файл с USB устройства с FAT32 на ESXi, используйте:

# /bin/mcopy -i "/dev/disks/naa.5000000000000001:2" ::/some.iso /vmfs/volumes/46b2f3eb-ced454321-1234-111122223333/iso/some.iso

где /some.iso – путь к файлу на USB диске. Второй путь показывает куда поместить файл на хосте ESXi (например, сразу в VMFS datastor).

Для обратного копирования с ESXi на USB просто поменяйте местами пути в команде.

Основная проблема FAT32 – не поддерживаются файлы более 4 Гб. Поэтому довольно сложно скопировать vmdk файлы виртуальных машин. Как правило перед копированием исходный файл можно разбить на части (например, по 3 Гб):

# split -b 3221225472 /vmfs/volumes/xx/vm1/vm1.vmdk

Теперь можно скопировать все куски на USB накопитель, а на целевом хосте ESXi собрать их:

# cat vm1* > vm1.vmdk

Для копирования файла с USB диска с NTFS на ESXi хост используется команда:

# /bin/ntfscat -f /dev/disks/naa.5000000000000001:2" some.iso > /vmfs/volumes/46b2f3eb-ced454321-1234-111122223333/iso/some.iso

Копирование можно выполнять только в одну сторону, NTFS не доступна для записи через ntfscat.

admin

Share
Published by
admin

Recent Posts

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

1 неделя ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

1 неделя ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

1 неделя ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

1 неделя ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

1 неделя ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

1 неделя ago