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

  • Підключення зовнішнього USB накопичувача як VMFS сховища в VMWare ESXi
  • Пряме копіювання даних між ESXi і USB диском з NTFS / FAT32

Підключення зовнішнього 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-арбітр. Ця служба використовується для проброса 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.

    зупинити службу usbarbitrator в vmware esxi для підключення usb диска

  5. Створіть на USB диску GPT розмітку: # partedUtil mklabel /dev/disks/naa.5000000000000001 gpt
  6. Тепер потрібно вручну створити розділ на диску. Для цього потрібно вказати початковий і кінцевий сектор на диску. Виведіть інформацію по секторам диска: # partedUtil getptbl /dev/disks/naa.5000000000000001 partedUtil getptbl - отримати інформацію про gpt диску в esxi
  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 диск.

підключення зовнішнього usb диска до сервера esxi

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

Якщо ви не хочете змінювати файлову систему USB накопичувача на VMFS, ви можете з консолі ESXi отримати доступ до файлів на файлову систему NTFS або FAT32 і скопіювати потрібні файли.

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

Для доступу до FAT32 розділах з ESXi можна використовувати утиліту mcopy, А для доступу до NTFS розділу на USB – ntfscat. Також нативної підтримується файлова система ext3. Основні обмеження:

  • FAT32 і Зовнішній3 розділи доступні на читання і запис;
  • 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.

Leave a Reply

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