Xen Hypervisor междоменная связь
В xen мы можем добиться междоменной связи, используя libvchan.
Но в domU при запуске связи выдается следующая ошибка:
libxenvchan _ * _. init: такого файла или каталога нет.
Для этого я попытался смонтировать /proc/xen/ с помощью xenfs. Выдает ошибку как
неизвестная файловая система "xenfs"
Как устранить эту ошибку выше и как добиться междоменной связи?
2 ответа
Похоже, "libxenvchan_*_. Init: нет такого файла или ошибки каталога" является распространенной проблемой. Я не нашел решения, выполняющего поиск в сети.
Для меня решение на гостевой виртуальной машине системы Linux (CentOS 6.5) состояло в том, чтобы загрузить модули ядра xen xen_gntalloc и xen_evtchn для сервера libvchan. Для клиента libvchan это должны быть xen_gntalloc и xen_gntdev. Очевидно, это означает, что ваша гостевая виртуальная машина должна работать под управлением ядра xen linux. Обратите внимание, что я использую xen 4.2.2, а ядро - 3.4.53-8.el6.centos.alt.x86_64.
Я обнаружил конкретную проблему, добавив операторы печати к источнику библиотек libxenctrl и libxenvchan, пока не обнаружил файлы, которые он не смог найти, которые оказались /dev/xen/gntalloc (сервер и клиент), /dev/xen/evtchn (сервер), /dev/xen/gntdev (клиент).
Убедитесь, что библиотеки, необходимые для vchan, установлены правильно. Вы можете использовать команду ldd в вашем двоичном файле vchan-client, чтобы посмотреть, сможет ли он успешно загрузить необходимые библиотеки.
Сборка и установка инструментов Xen (make build-tools && make install-tools) на моей гостевой виртуальной машине (Debian 8.4.0 64-Bit) и последующее выполнение ldconfig были достаточны для запуска примеров программ vchan.
Мне также пришлось загрузить модули ядра Xen, упомянутые в предыдущем ответе.
редактировать:
Вы можете найти инструкции + пример кода здесь: https://github.com/tolgauen/Xen-VCHAN-Guide