A mensagem de erro
lxc-start: conf.c: instantiate_veth: 2978 failed to attach 'veth87VSIJ' to the bridge 'virbr0': No such device
indica claramente a ausência da interface da bridge no seu sistema. Você pode verificar suas interfaces atuais disponíveis usando os comandos
ifconfig
ou
ip link
No caso atual, porque você não tem a ponte ativada, outra coisa a saber é que o virbr0 é geralmente associado a serviços de visualização como xen ou libvirtd. Então a primeira coisa que você pode tentar é começar um desses (estando no fedora 20 eu acho que você está usando o libvirtd)
sudo systemctl start libvirtd
Se a interface não estiver ativada, você pode simplesmente adicioná-la manualmente, mas aconselho strongmente contra isso para evitar conflitos de configuração.
A melhor solução que posso sugerir é usar uma ponte diferente, já que ela também lhe dará mais controle sobre essa configuração. Primeiro você tem que identificar onde o nome da ponte lxc-net está definido, examinando o / usr / libexec / lxc / lxc-net
#!/bin/sh -
distrosysconfdir="/etc/sysconfig"
varrun="/run/lxc"
varlib="/var/lib"
# These can be overridden in /etc/sysconfig/lxc
# or in /etc/sysconfig/lxc-net
USE_LXC_BRIDGE="true"
LXC_BRIDGE="lxcbr0"
LXC_ADDR="10.0.3.1"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="10.0.3.0/24"
LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"
LXC_DHCP_MAX="253"
LXC_DHCP_CONFILE=""
LXC_DOMAIN=""
LXC_IPV6_ADDR=""
LXC_IPV6_MASK=""
LXC_IPV6_NETWORK=""
LXC_IPV6_NAT="false"
[ ! -f $distrosysconfdir/lxc ] || . $distrosysconfdir/lxc
que será sobrescrito por /etc/lxc/default.conf
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx
somente se USE_LXC_BRIDGE="true" em / etc / sysconfig / lxc (não é o caso aqui)
# LXC_AUTO - whether or not to start containers at boot
LXC_AUTO="true"
# BOOTGROUPS - What groups should start on bootup?
# Comma separated list of groups.
# Leading comma, trailing comma or embedded double
# comma indicates when the NULL group should be run.
# Example (default): boot the onboot group first then the NULL group
BOOTGROUPS="onboot,"
# SHUTDOWNDELAY - Wait time for a container to shut down.
# Container shutdown can result in lengthy system
# shutdown times. Even 5 seconds per container can be
# too long.
SHUTDOWNDELAY=5
# OPTIONS can be used for anything else.
# If you want to boot everything then
# options can be "-a" or "-a -A".
OPTIONS=
# STOPOPTS are stop options. The can be used for anything else to stop.
# If you want to kill containers fast, use -k
STOPOPTS="-a -A -s"
USE_LXC_BRIDGE="false" # overridden in lxc-net
[ ! -f /etc/sysconfig/lxc-net ] || . /etc/sysconfig/lxc-net
ou / etc / sysconfig / lxc-net se existir (não no meu caso). No meu caso, o nome da ponte é lxcbr0 e não estará usando a configuração da ponte lxc.
Com isso resolvido, criamos a nova configuração de interface de ponte com:
sudo sh -c '
cat > /etc/sysconfig/network-scripts/ifcfg-lxcbr0 <<EOF
DEVICE="lxcbr0"
BOOTPROTO="static"
IPADDR="192.168.1.250"
NETMASK="255.255.255.0"
ONBOOT="yes"
TYPE="Bridge"
NM_CONTROLLED="no"
EOF
'
e começamos com
sudo ifup lxcbr0
você também terá que reiniciar lxc e lxc-net
sudo systemctl stop lxc
sudo systemctl stop lxc-net
sudo systemctl start lxc-net
sudo systemctl start lxc