Upgrading to Debian 9 and above¶
Note
This document has been largely superceded by Upgrading from Debian 8 to Debian 10 and you may want to consult that instead.
Predictable interface names¶
After performing a distribution upgrade from a release below Debian 9 you may notice that the node’s interface names are not the same. This is a result of version 197 of udev which enables persistent name generation by default. The interface names are derived from their hardware bus. For example, “enp0s1” could be the name of an ethernet interface which was previously named “eth0”.
To mitigate this, you can force the sytem to continue using the existing “ethX”
style interface names by adding net.ifnames=0 to the
GRUB_CMDLINE_LINUX_DEFAULT section in /etc/default/grub. For example this may look like
GRUB_CMDLINE_LINUX_DEFAULT=”mitigations=off net.ifnames=0”
As a result of the interface naming changes there are a few things to keep in mind when upgrading a node to Debian 9 and above:
You should have local access (via troubleshooting IP or console) to the node. Otherwise the node could be orphaned. The troubleshooting IP may not be configured if the network interfaces names change due to a change to predictable interface naming or network driver changes.
You may need to update interface names on your management server. Consider taking note of the current interface names and MAC addresses before upgrading. You can compare your MAC addresses against the new interface names to easily find the new name for each interface.
If switching to predictable interface names, and if you have previously set up the legacy persistent interface naming by creating the udev rule /lib/udev/rules.d/75-persistent-net-generator.rules, this rule should be removed as it induces a race condition and is not preferred over the new naming scheme. On Debian 9 the rule is deprecated and future releases will not support the rule.
For more information read: