Скрипт: монтирование vdi виртуалок на Dom0 в XenServer 6

в 8:53, , рубрики: vdi, vhd, xenserver, виртуализация, метки: , ,

Время от времени возникает необходимость залезть в файловую систему виртуалки извне самой виртуалки.
Например, пофиксить рухнувшую систему, или залить содержимое из другого источника.

Наиболее универсальный, независящий от способа хранения, метод доступа к ним — это подмонтировать их в виртуалке управляющего домена Dom0.
Вероятно, это можно сделать и из другого домена, если каким-то образом засунуть туда xapi утилиты.
Но я не знаю как.

В общем, алгоритм подключения такой:
1. узнать uuid нужного vdi (с помощью xe vdi-list)
2. создать vbd-устройстко с воткнутым в него этим vdi (xe vbd-create)
3. подключить это усртройство к Dom0-VM (xe vbd-plug)
4. узнать имя блочного устройства, которое получило это vbd (xe vbd-list)
5. делать с ним что угодно средствами операционки. (mount, fdisk, etc)
6. отключить vbd устройство от Dom0 (xe vbd-unplug)
7. удалить vbd (xe vbd-destroy)

Для автоматизации всего этого процесса и исключения необходимости копипаста UUIDов я нарисовал небольшой скриптец: serial-experiments-qmax.googlecode.com/svn/xenserver/vdiutil

Его нужно скопировать куда-нибудь, сделать симлинки в vdiattach, vdidetach, vdils и юзать:
vdiattach ${label} — подключает диск по имени и сообщает имя блочного устройства
vdidetach ${label} — отключает диск по имени
vdils — список подключенных дисков

Автор: qmax

* - обязательные к заполнению поля