У меня есть 10 domU на моем сервере CentOS 5.6 с ядром Xen. Все 10 запускаются при загрузке системы; однако только для одной из машин я получаю такую ошибку:
Error: Device 0 (vif) could not be connected. Hotplug scripts not working.
Все 10 domU имеют три настроенных сетевых интерфейса, все подключены к физическому интерфейсу на хосте. Все три отлично работают - eth 1, 2 и 3 соединены мостом с eth0, eth1 и eth2 каждой виртуальной машины.
Я могу запустить эту виртуальную машину вручную, и она запускается без проблем. Я пробовал через командную строку:
xm create /path/to/vm-config.cfg
А также в virt-manager.
Что вызывает эту проблему и как я могу заставить эту одну виртуальную машину запускаться при загрузке хоста, как и остальные 9?
Видимо, это проблема, связанная с network-bridge
скрипт в Xen <4.1. Эти сценарии оболочки кажутся довольно ненадежными, и в документации по передовым методам работы Xen теперь рекомендуется использовать сетевые сценарии ОС вместо них. Например, если вы используете Debian, это означает настройку мостов в /etc/network/interfaces
вместо того, чтобы полагаться на скрипты Xen.
Пример конфигурации:
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
bridge_ports eth0
address 10.0.0.2
netmask 255.0.0.0
gateway 10.0.0.1
... и так далее. Затем вы обратитесь к br0
в твоем доме .cfg
файл и закомментируйте (network-script network-bridge)
линия в /etc/xen/xend-config.sxp
.
У меня есть эта проблема после создания и уничтожения vm некоторое время. Это проблема udev. Насколько я понимаю, udev не обрабатывает новые устройства vif после DOMID больше 10. Я исправляю это после добавления следующих строк в правила udev: SUBSYSTEM == "xen-backend", KERNEL == "vif *", ACTION == " online ", RUN + =" $ env {script} online "SUBSYSTEM ==" xen-backend ", KERNEL ==" vif * ", ACTION ==" offline ", RUN + =" $ env {script} offline "
Также я перезапускаю udev (может быть, это причина, по которой xm create начинает работать?).