ТехноСаратов → Блог

Виртуализация: Xen & libvirt. часть 1БлогПрограммирование

Libvirt is:

* A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes).
* Free software available under the GNU Le… sser General Public License.
* A long term stable C API
* A set of bindings for common languages
* A CIM provider for the DMTF virtualization schema

Xen configuration

First, to start working with libvirt library it is necessary to tune up the virtualization environment (all the operation must be done by superuser)

You need to change the line … in the Xend in /etc/xen/xend-config.sxp file.

GoD:

Для начала работы с библиотекой libvirt необходимо настроить среду виртуализации (все действия производить под супер пользователем).

В Xen нужно в файле /etc/xen/xend-config.sxp изменить следующую строку:

As a result file will look like:

GoD:

в итоге файл будет выглядеть примерно так:

It allows us to connect with xend process with unix sockets.

To connect with xend with URL change:

GoD:

это нам позволит соединяться с процессом xend по unix сокетам.
Чтобы соединяться с xend по URL надо изменить:


On:

Where hostname – distant connection adress

After having configured Xend set up the library.
While compiling the librarys from the sourse code you have to remove all the references, all of them you can find in public repositories.

All the programs you’ve written must have superuser’s rights for working with Xend. There can be a problem in case the linker is not able to find libvirt_jni.so automatically. If that’s the case you have to create the environment variable with the path to libvirt_jni.so.

GoD:

где hostname — адрес для удаленного соединения.

После конфигурирования Xen нужно произвести установку самой библиотеки.
При сборке из исходников придется устранить все зависимости, все можно найти в общедоступных репозиториях.

Все написанные программы должны иметь права супер пользователя для работы с xend. Проблема которая может возникнуть это когда редактор связей не найдет libvirt_jni.so автоматически. В этом случае придется создать переменную окружения LD_LIBRARY_PATH с путем до libvirt_jni.so.

Example libvirt & xen

There is a quite simple example that demonstrates you API opportunities:

GoD:

С помощью простого примера можно проиллюстрировать возможности API:

Использованная литература:
1. Libvirt