我使用 创建了一个虚拟机vmbuilder
,但它无法调出网络接口。我能够使用虚拟机管理器登录虚拟机,看到 中的接口/etc/network/interfaces
是eth0
,但 中的networkctl
接口是ens3
(可预测的网络接口名称)。我查看了一下/var/log/syslog
,发现
10 月 17 日 19:26:43 服务器名称内核:[1.314794] virtio_net virtio0 ens3:从 eth0 重命名
10 月 17 日 19:26:43 服务器名称 ifup[394]:找不到设备“eth0”
10 月 17 日 19:26:43 服务器名称 ifup[394]:无法启动 eth0。
10 月 17 日 19:26:43 服务器名称 systemd[1]:networking.service:主进程已退出,代码=已退出,状态=1/FAILURE
10 月 17 日 19:26:43 服务器名称 systemd[1]:无法启动 Raise 网络接口。
10 月 17 日 19:26:43 服务器名称 systemd[1]:networking.service:设备进入故障状态。
10 月 17 日 19:26:43 服务器名称 systemd[1]:networking.service: 失败,结果为“退出代码”。
在其他日志条目中。
以下内容为空或不存在:
GRUB_CMDLINE_LINUX=""
在/etc/default/grub
(和GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
)/etc/udev/rules.d/70-persistent-net.rules
/lib/udev/rules.d/75-persistent-net-generator.rules
以下是接口:
$ ls -l /sys/class/net
total 0
lrwxrwxrwx 1 root root 0 Oct 17 20:36 ens3 -> ../../devices/pci0000:00/0000:00:03.0/virtio0/net/ens3
lrwxrwxrwx 1 root root 0 Oct 17 20:36 lo -> ../../devices/virtual/net/lo
这是vmbuilder
我使用的命令行:
sudo vmbuilder kvm ubuntu --suite xenial --templates /homes/administrator/vmfiles \
--hostname servername --dest ./servername --rootsize 200000 --mem 16384 \
--ip 1.1.1.1 --dns 1.1.1.1 --gw 1.1.1.1 --bridge br0 \
--network=bridge:br0 --timezone=America/Chicago --libvirt qemu:///system \
--user USER --name USER --pass PASSWORD \
--ssh-user-key /homes/USER/.ssh/authorized_keys \
--addpkg linux-image-generic --addpkg openssh-server \
--addpkg unattended-upgrades --addpkg python-apt --copy vmfiles/copyspecs
作为测试,我改为/etc/network/interfaces
参考ens3
,并且能够调出界面。
我同意使用可预测名称,但如何解决这种不匹配的问题?
答案1
vmbuilder
在搜索中创建的日志时/tmp
,我发现它是使用盲目使用的/etc/network/interfaces
模板创建的(或者选择了该模板而不是 IP)。/etc/vmbuilder/ubuntu/interfaces.tmpl
eth0
dhcp
这似乎是一个错误。