Esx 5

Просте завдання скопіювати ВМ з ESX на USB носій перетворилася в дводенний детектив. Завдання власне ускладнювалася великим обсягом даних і віддаленим розташуванням ESX. Просто підключити USB до робочої станції і скопіювати дані по мережі використовуючи vsphere клієнт не вдалося через малу пропускну здатність каналу. У ESX був вставлений USB накопичувач, який в подальшому планувалося передати в потрібне місце розташування.

Вирішив піти стандартним шляхом: підключити USB до ВМ і потім через vsphere клієнт скопіювати на нього все що потрібно.

Надалі, опис дій наводиться для інтерфейсу vsphere клієнт.

1. у властивостях ВМ додаємо пристрій USB controller. вибираємо тип EHCI + UHCI для USB2.0 або xHCI для USB 3.0, тиснемо OK для застосування змін

2. у властивостях ВМ додаємо пристрій USB Device

3. в гостьовій ОС бачимо нове USB пристрій і робимо з ним все, що необхідно

На кроці 2 все пішло не за планом, пункт USB Device (unavailable) - недоступний. Перезавантаження ESX ситуацію не змінила.

Другий стандартний шлях - кидок (passthrough) USB контролера в ВМ.

1. визначаємо USB контролер до якого підключений накопичувач, в моєму випадку є два контролера з ідентифікаторами 00: 1a.0 і 00: 1d.0

1.1 підключаємося до ESX по SSH

1.2 виконуємо команду lsusb -v | grep -e Bus -e iSerial

у висновку команди знаходимо рядок відноситься до USB накопичувача, в прикладі це

Bus 001 Device 003: ID 0480: a00c Toshiba America Info. Systems, Inc.

отже пристрій знаходиться на Bus01. Далі шукаємо root hub на даній шині, це

Bus 001 Device 001: ID 1d6b: 0002 Linux Foundation 2.0 root hub

по iSerial знаходимо ідентифікатор контролера 00: 1a.0

2. вибираємо ESX і вкладку Configuration, блок Hardware - Advanced Settings. пункт Edit. (Configure Passthrough.), У вікні Mark device for passtrough вибираємо контролер 00: 1a.0

2.1 тиснемо OK і перезавантажуємо ESX

3. у властивостях ВМ додаємо пристрій PCI Device. в списку доступних пристроїв з'явиться наш USB контролер

4. в гостьовій ОС, через vsphere клієнт, виконуємо необхідні операції з диском

Якщо у вас ESX завантажити комп'ютер з USB який підключений до того ж USB контролера, що і підключається накопичувач, ви не зможете вивести цей контролер з режиму passtrough.

USB контролер переведених в режим passtrough не доступний для ядра ESX. Коли ви знімаєте галочку в інтерфейсі, ESX зберігає настройки в esx.conf. Так як ESX повністю завантажений в пам'ять, то і змінений esx.conf розташований також в пам'яті. При перезавантаженні ESX намагається зберегти esx.conf на пристрій USB з якого він завантажувався, але не може отримати до нього доступ (так як воно знаходиться в режимі passtrough). Таким чином зміни не застосовуються.

Єдиний спосіб відключити passtrough для USB контролера, в даному випадку, - перевстановлення ESX!

Отже 3 способу підключення USB накопичувача до ESX:

- створення віртуального USB контролера в ВМ і підключення USB пристрою через цей контролер

- кидок фізичного USB контролера в ВМ як пристрої PCI

- створення datastore на USB накопичувачі (б не протестували)