Сьогодні ми розберемо кілька простих способів отримання доступу до даних, що зберігаються на файлової системі VMFS сховища (datastore) гипервизора ESXi (це файли конфігурації, файли з даними і снапшотов віртуальних машин). Стаття, власне, заснована на реальній ситуації, що виникла у одного з клієнтів, коли єдиний продуктивний сервер з гіпервізором VMware ESXi перестав завантажуватися.
У тому випадку, якщо не працює сам хост ESXi, але локальний диск (або диски) сервера залишився працездатними, ви завжди зможете скопіювати файли віртуальних машин (як диски з даними, так і конфігураційні файли) з нього і запустити ВМ на іншому сервері (на VMware Workstation або навіть Hyper-V). Основна проблема в тому, що "класичні" операційні системи (Windows і Linux) за замовчуванням не бачать розділ з файловою системою VMFS, тому що в них відсутній драйвер файлової системи VMFS. У цій статті ми розглянемо, як отримати доступ до файлів віртуальних машин на диску з файловою системою VMFS з різних ОС.
У моєму випадку проблема була в тому, що резервне копіювання віртуальних машин VMware налаштоване не було, як і не було часу на діагностику і вирішення проблем із завантаженням системи. Тому було прийнято рішення вручну скопіювати файли критичною віртуальної машини з сховища VMFS і запустити її на іншому комп'ютері на терміново піднятому для цих цілей гіпервізора ESXi.
Розберемо три сценарії доступу до даними на файлової системі VMFS:
зміст:
- Монтування VMFS розділу в Linux (Ubuntu)
- Доступ до VMFS розділу з Windows
- Підключаємо VMFS сховище на новому ESXi хості
Монтування VMFS розділу в Linux (Ubuntu)
У цій секції ми покажемо, як змонтувати розділ з файловою системою VMFS на комп'ютері зі встановленою ОС Ubuntu (Live CD з Ubuntu в цьому сценарії нам не підійде).
В першу чергу необхідно підключити фізичний диск з файлової системою VMFS до комп'ютера (сервера) з Ubuntu. Щоб отримати доступ до даних на VMFS томі, нам знадобитися встановити спеціальний сторонній пакет vmfs-tools. Даний пакет дозволяє отримати доступ до файлової системи розділу VMFS з комп'ютерів під управлінням Linux. Доступ до даних на такому розділі можливий в режимі тільки на читання (read-only). Друге важливе обмеження, розробники vmfs-tools офіційно заявляли про підтримки версій файлової системи VMFS аж до VMFS 5.0. Можливість підключення розділу з VMFS 6 (vSphere 6.0 і 6.5.) Не гарантовано.
Встановимо пакет наступною командою
apt-get install vmfs-tools
Примітка. У репозитариях Ubuntu поки доступна тільки версія vmfs-tools 0.2.1, основний її недолік - вона вміє працювати тільки з файлової системою VMFS v4. Якщо вам потрібно змонтувати датастор із VMFS 5, доведеться самостійно завантажити і встановити версію vmfs-tools не нижче 0.2.5, наприклад, тут:
http://ge.archive.ubuntu.com/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_i386.deb
- пакет для 32 бітної системи
http://de.archive.ubuntu.com/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb
- пакет для 64 бітної системи
Качаємо відповідну версію пакета так:
#wget http://de.archive.ubuntu.com/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb
І встановлюємо його:
#dpkg -i vmfs-tools_0.2.5-1_amd64.deb
Якщо потрібно буде задовольнити залежності, скористайтеся командою:
# Apt-get install vmfs-tools
Після установки пакета, потрібно створити точку монтування, в яку буде підключений VMFS розділ:
#mkdir / mnt / vmfs
Наступний крок - потрібно розібратися з розділами на дисках. Гипервизор ESXi при установці крім, власне, розділу для файлів віртуальних машин (VMFS) створює безліч службових розділів. Якщо версія ESXi 4 або нижче, або VMFS сховище було оновлено з версії VMFS 3 до VMFS 5, а його розмір не перевищує 2 Тб, виведемо список дисків і розділів так:
#fdisk -l
Як ви бачите, розділ з файловою системою VMFS - / dev / sda3 (мітка VMware VMFS)
важливо. Оскільки в ESXi 5 використовується VMFS v5 із таблицею розділів GPT (таблиця GUID Partition Table), яка використовується замість MBR, що дозволяє створювати сховища більшого розміру та прокидати RDM диски у режимі фізичної сумісності розміром понад 2 TB. Тому для перегляду таблиці розділів доведеться замість fdisk використовувати команду parted.
Отже, виведемо інформацію про розділи так:
#parted -l
Залишилося змонтувати розділ диска зі сховищем VMFS:
# Vmfs-fuse / dev / sdb3 / mnt / vmfs
Виведемо вміст змонтованого розділу:
#ls -all / mnt / vmfs
Отже, тепер ми бачимо всі файли віртуальних машин на VMFS сховище, яке доступне нам тільки для читання, а це значить, що ми можемо скопіювати каталоги і / або окремі файли потрібних віртуальних машин на окремий диск і запустити їх на іншому гіпервізора ESXi.
Доступ до VMFS розділу з Windows
Для доступу до даних на VMFS розділі з Windows, нам знадобиться спеціальний відкритий драйвер Open Source VMFS Driver, написаний на Java. Драйвер вимагає версію Java не нижче 6 і також дозволяє монтувати VMFS-томи в режимі тільки для читання.
Завантажити Open Source VMFS Driver драйвер можна на сторінці https://code.google.com/archive/p/vmfs/. На даний момент проект не оновлювався з 2010 року і максимальна версія драйвера, доступна на сайті - VMFS Driver r95, яка підтримує тільки VMFS 3 (< ESXi 5).
Примітка. При спробі підключення більш нової версії VMFS з'явиться помилка No VMware File System detected.- Отже, скачайте Open Source VMFS Driver (fvmfs_r95_dist.zip) і розпакуйте його в довільний каталог (припустимо C: \ vmfs)
- Перевірити роботу java-додатки fvmfs.jar можна так:
cd \ vmfs
java -jar fvmfs.jar
- Далі потрібно визначити номер диска зі сховищем VMFS, підключений до Windows-комп'ютера. Номер диска можна дізнатися за допомогою консолі управління дисками або diskpart. (У нашому прикладі підключений диск має індекс 1 - Disk1. Для драйвера утиліти fvmfs, цей диск буде називатися так: \\. \ PhysicalDrive1)
- Спробуємо отримати інформацію про диск:
java -jar fvmfs.jar \\. \ PhysicalDrive1 info
- Надайте спільний доступ до даного диску за допомогою WebDav:
java -jar fvmfs.jar \\. \ PhysicalDrive1 webdav
- Перевірте, що на клієнті запущена служба клієнта WebDAV (WebClient) - якщо вона відключена, її потрібно запустити.
- Підключіть розшарений диск:
net use * http: // localhost: 50080 / vmfs
- В системі повинен з'явитися новий диск, з вмістом датастора VMFS, доступний для читання.
- Чи не закривайте вікно командного рядка поки працюєте з файлами на VMFS сховище
Підключаємо VMFS сховище на новому ESXi хості
Як ви бачите, в обох розглянутих вище випадках сторонні драйвери для VMFS під Linux і Windows не дозволяють працювати з VMFS 6.0. Тому самий універсальний спосіб отримати доступ до даних на VMFS розділі диска вийшов з ладу сервера - підключити його на новому сервері ESXi (який, благо, встановлюється і налаштовується менш ніж за годину). Це найпростіший спосіб. Таким способом ви зможете перепідключити як фізичний жорсткий диск, так і LUN з пристрою зберігання (через FC або iSCSI).
Новий хост ESXi повинен коректно визначити підключений VMFS датастор і ви зможете отримати доступ до файлів на ньому.
Отже, як підключити існуюче VMFS сховище на новому ESXi хості без її форматування.
- Підключіться до нового сервера ESXi за допомогою веб клієнта vSphere.
- Підключіть диск до нового сервера і виконайте Storage rescan.
- Перейдіть в розділ Configure -> Datastores і додайте нове сховище (Create a new datastore).
- Виберіть Тиск сховища Disk або LUN.
- У списку доступних пристроїв виберіть підключений диск (LUN) з VMFS сховищем.
- Виберіть режим підключення. обов'язково виберіть Keep the existing signature.
- Натисніть на кнопку Finish.
- Перейдіть в розділ сховищ хоста. Виберіть підключений сховище. Його вміст можна відобразити, натиснувши на кнопку Datastore browser.
- Тепер ви можете знайти потрібні vmx файли, зареєструвати їх на сервері і відразу запустити критичні віртуальні машини.