Время от времени возникает необходимость залезть в файловую систему виртуалки извне самой виртуалки.
Например, пофиксить рухнувшую систему, или залить содержимое из другого источника.
Наиболее универсальный, независящий от способа хранения, метод доступа к ним — это подмонтировать их в виртуалке управляющего домена 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