Я использую параметры загрузки biosdevname=1 net.ifnames=1
чтобы получить согласованные, предсказуемые имена устройств. Я начинаю замечать проблему, когда в некоторых случаях имена сетевых устройств не совпадают. Например, если я зайду в отладочную оболочку dracut и посмотрю вывод rdsosreport.txt, я увижу следующее:
+ ip адрес
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: p3p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop состояние DOWN группа по умолчанию qlen 1000
ссылка/эфир a8:b4:56:50:97:08 брд ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
ссылка/эфир a8:b4:56:50:97:09 brd ff:ff:ff:ff:ff:ff
Обратите внимание, что существует сочетание последовательного (p3p1) и устаревшего стиля (eth1) именования.Однако, если я посмотрю на интерфейсы из отладочной оболочки dracut, я увижу следующее:
initqueue:/run/initramfs# IP-адрес
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: p3p1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop состояние DOWN группа по умолчанию qlen 1000
ссылка/эфир a8:b4:56:50:97:08 брд ff:ff:ff:ff:ff:ff
3: p3p2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
ссылка/эфир a8:b4:56:50:97:09 brd ff:ff:ff:ff:ff:ff
p3p1/p3p2 — правильные ожидаемые имена. По какой-то причине в начале последовательности initrd они появляются в смешанном формате. Мое предположение состоит в том, что здесь происходит какая-то гонка, и через некоторое время он (udev?) приходит в правильное состояние, но я не уверен, где именно. К сожалению, это вызывает проблемы для некоторых наших автоматических сборок серверов, потому что серверы появляются после (после установки) первой загрузки и пытаются поднять эт1
когда настоящее имя интерфейса р3р2
.
Я копался в модулях dracut, чтобы попытаться выяснить, в чем может заключаться проблема, но еще не смог окончательно определить ее, поэтому ищу предложения.
Кроме того, такое поведение не происходит постоянно. Один и тот же сервер, загружающий один и тот же образ, иногда работает нормально, а в других случаях имеет смешанное поведение с именами. Что также как бы говорит мне, что это какая-то гонка — иногда гонка выигрывается, а иногда проигрывается.