Поигрался с xen 4.0.1, попытался настроить простой domU.
Когда я помещаю параметр в vif, например:
vif = [ 'ip=192.168.1.41,mac=00:16:3E:2F:F4:78,bridge=xenbr0,vifname=domu1' ]
Это не удается
error: Device 0 (vif) could not be connected.
ip link set vif5.0 name domu1 failed
Также запуск команды из dom0:
ip link set vif5.0 name domu1
возвращается
RTNETLINK answers: Device or resource busy
Любая идея ?
Ваша ссылка vif5.0 используется ...
Это решение работает очень хорошо. Каждый раз, когда я предлагаю вам не использовать его на рабочем сервере ...
*** scripts/vif-common.sh.old 2012-03-28 16:00:50.555630500 +0200
--- scripts/vif-common.sh 2012-03-28 15:59:58.775633091 +0200
***************
*** 70,88 ****
--- 70,90 ----
# Check presence of compulsory args.
XENBUS_PATH="${XENBUS_PATH:?}"
dev="${dev:?}"
vifname=$(xenstore_read_default "$XENBUS_PATH/vifname" "")
if [ "$vifname" ]
then
if [ "$command" == "online" ] && ! ip link show "$vifname" >&/dev/null
then
+ ip link set "$dev" down
do_or_die ip link set "$dev" name "$vifname"
+ ip link set "$vifname" up
fi
dev="$vifname"
fi
elif [ "$type_if" = tap ]; then
# Check presence of compulsory args.
: ${INTERFACE:?}
# Get xenbus_path from device name.
# The name is built like that: "tap${domid}.${devid}".
Из того, что я могу сказать vifname=
команда не поддерживается должным образом во многих версиях Xen.
Я предполагаю, что вы можете переименовать устройство только перед определенным использованием, а скрипты Xen vif делают это слишком поздно.
Глядя на источник в vif-common.sh
:
vifname=$(xenstore_read_default "$XENBUS_PATH/vifname" "")
if [ "$vifname" ]
then
if [ "$command" == "online" ] && ! ip link show "$vifname" >&/dev/null
then
do_or_die ip link set "$vif" name "$vifname"
fi
vif="$vifname"
fi
Я не вижу явных багов. Вы должны посмотреть на свой vif-common.sh
и подтвердите, что это то же самое.
редактировать: Я думаю, возможно, интерфейс vifX.Y может не работать на этом этапе. Попробуйте прокомментировать do_or_die
линия. Это должно установить vif="$vifname"
и если устройство создается позже, нет причин его переименовывать.
Вот одна из причин, по которой возникает эта проблема:
ps auxw | grep -v grep | grep NetworkManager && service network-manager stop
xm create
... и удачи!
Решения 1, 2 или 3:
Пояснение: http://bugs.launchpad.net/bugs/191889
Реализовано решение 3:
Обновите NetworkManager.conf с помощью:
[main]
plugins=keyfile
[keyfile]
unmanaged-devices=interface-name:vif*