Як зробити скидання, /etc/networking/interfaces
використовуючи "передбачувані імена мережевого інтерфейсу"?
Версії Ubuntu, старші за 15.10, використовують назви мережевого адаптера, такі як:
eth0
eth1
eth2
Заміна мережевої карти або переміщення vm на новий гіпервізор призведе до збільшення номера інтерфейсу для Linux. Видалення /etc/udev/rules.d/70-peristent-net.rules
призведе до повторного використання Linux eth0
.
Ubuntu 15.10 і новіші використовують ' Передбачувані імена мережевого інтерфейсу '. Назва мережного адаптера походить від mac-адреси.
ens3
ens32
ens192
Під час міграції vm мережа не запуститься, оскільки /etc/network/interfaces
все ще посилається на старий неіснуючий мережний адаптер.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens32
iface ens32 inet dhcp
pre-up sleep 2
Який найкращий спосіб скинути файл / etc / network / interface?
Мені потрібно зробити цю дію перед тим, як вимкнути vm та перейти на новий гіпервізор, оскільки я використовую пакувач для створення автоматизованих золотих зображень на основі золотих зображень шеф-кухаря / бенто .
Я виявив, що видалення / etc / network / interfaces не працює, оскільки файл не буде автоматично регенеровано під час наступного завантаження після міграції.
Я спробував редагувати свій файл grub, щоб повернутися до конвенції іменування 'eth0'. У той час як / etc / network / інтерфейси посилаються на старе ім'я (eth0), vm не отримає ip, і будь-яка перезавантаження призведе до того, що vm використовуватиме нову умову іменування. Також я виявив, що systemd завжди матиме перевагу, якщо я не можу гарантувати, що biosdevname=0
назавжди залишається в конфігурації grub . Не знаєте, як це назавжди застосувати
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 bios.devname=0"
Якщо можливо, я б краще не використовував хмару init або використовував будь-які сценарії після запуску, оскільки я б краще зберігав золоті зображення максимально чистими.
Звичайно, це проблема, яку хмарні провайдери (Azure, AWS, RackSpace, Openstack) вже вирішили під час імпорту vms. Я не можу бути першою людиною, яка спробувала перенести vm, використовуючи передбачувані імена мережевого інтерфейсу.
Я намагався запустити ці команди перед тим, як вимкнути та перемістити vm
apt-get remove biosdevname -y;
ln -s /dev/null /etc/systemd/network/99-default.link;
Я виявляю, коли мігрую vm, що /etc/network/interfaces
і ip address
досі посилаюсяens32