The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступ к файлам виртуальных машин VMware ESX из Fedora Linux
Richard W.M. Jones в своем блоге опубликовал интересный пост
(http://rwmj.wordpress.com/2010/01/06/examine-vmware-esx-with-libguestfs/) о
работе при помощи утилит libguestfs с образами VMware ESX4. Немного дополнив,
напишу, в чем суть.

Во-первых нам понадобятся пакеты fuse-sshfs и guestfish. Первый позволяет
монтировать при помощи FUSE удаленную файловую систему по SSH FTP, а второй
установит в систему интерактивную командную оболочку, из которой можно получать
доступ к образам дисков виртуальных машин, в том числе и vmdk. Естественно, в
системе должны присутствовать стандартные компоненты виртуализации Fedora, в
частности, работающий демон libvirtd.

Для начала проверяем, какие присутствуют на хосте ESX виртуальные машины:

   $ virsh -c esx://192.168.1.12?no_verify=1 list --all
   Enter username for 192.168.1.12 [root]:
   Enter root password for 192.168.1.12:
   ID Имя Статус
   ----------------------------------
   208 www выполнение
   224 mail выполнение
   - 2RHEL5_DS отключить
   - 2W2003_DC отключить
   - RHEL5_IPA отключить
   - RHEL5_Satellite53 отключить
   - RHEL5_Server1 отключить
   - RHEL5_Station отключить
   - RHEL5_Station2 отключить
   - RHEL5_Zimbra отключить

Далее смонтируем через FUSE соответствующую директорию файловой системы vmfs:

   $ mkdir esx
   $ sshfs root@192.168.1.12:/vmfs/volumes esx
   root@192.168.1.12's password:
   $ cd esx/
   $ ls
   4ac343f6-500e2828-d805-0022640793d2 LocalStorage1

Естественно, мы ничего нового по сравнению с тем, что нам покажет vCenter
client, не увидели. Далее переходим в директорию с нужной нам виртуальной машиной:

   $ cd LocalStorage1/RHEL5_IPA/
   $ ls
   RHEL5_IPA-flat.vmdk RHEL5_IPA.vmdk RHEL5_IPA.vmx vmware.log
   RHEL5_IPA.nvram RHEL5_IPA.vmsd RHEL5_IPA.vmxf

При помощи новой утилиты virt-list-filesystems (в версии libguestfs репозитория
Fedora 12 пока ее нет, зато есть в Rawhide) смотрим какие разделы доступны
внутри образа:

   $ virt-list-filesystems -al RHEL5_IPA-flat.vmdk
   /dev/sda1 ext3
   /dev/vol0/home ext3
   /dev/vol0/root ext3
   /dev/sda3 swap

И, наконец, запускаем интерактивную командную оболочку:

   $ guestfish --ro -a RHEL5_IPA-flat.vmdk -m /dev/vol0/root

   Welcome to guestfish, the libguestfs filesystem interactive shell for
   editing virtual machine filesystems.

   Type: 'help' for help with commands
   'quit' to quit the shell

   > ll /
   total 192
   drwxr-xr-x. 22 root root 4096 Oct 24 07:47 .
   dr-xr-xr-x 29 root root 0 Jan 8 12:59 ..
   drwxr-xr-x. 2 root root 4096 Oct 7 15:07 bin
   drwxr-xr-x. 2 root root 4096 Oct 7 13:45 boot
   drwxr-xr-x. 4 root root 4096 Oct 7 13:45 dev
   drwxr-xr-x. 93 root root 12288 Oct 24 07:47 etc
   drwxr-xr-x. 2 root root 4096 Oct 7 13:45 home
   ....

Ну, а дальше man guestfish и help для списка команд оболочки. Для виртуальных
машин с включенным SELinux крайне желательно использовать ключ --selinux, иначе
при попытке записи файлов вы можете создать при монтировании образа r/w файлы
без меток SELinux.
 
13.01.2010 , Автор: Andrey Markelov , Источник: http://markelov.blogspot.com/2010/0...
Ключи: vmware, virtual, fedora, libguestfs
Раздел:    Корень / Безопасность / Виртуализация - Xen, OpenVZ, KVM, Qemu

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру