Подключение 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

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 недели ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 недели ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 недели ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 недели ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 недели ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 недели ago