LINUX.ORG.RU
ФорумTalks

Попрощаемся с eth*

 , ,


1

1

Сегодня обновился udev до версии 200. С этой версии из systemd/udev удалён функционал переименования ядерных интерфейсов eth в eth же. По факту это означает, что привязать сетевухи по макам и оставить их имена eth* более невозможно. Как результат придётся отвыкать от привычных имён.

В качестве причины называется:

«The biggest of all however is that the userspace components trying to assign the interface name raced against the kernel assigning new names from the same „ethX“ namespace, a race condition with all kinds of weird effects, among them that assignment of names sometimes failed. As a result support for this has been removed from systemd/udev a while back.»

http://wiki.gentoo.org/wiki/Udev/upgrade

За 6 лет достаточно активно использовал переименования интерфейсов, никаких «weird effects» не видел ни разу. И никаких проблем с назначением кастомных имён тоже не было.

Вывод: я понимаю, прогресс, все дела. Но перечитывать тонну скриптов и ковыряться с двумя десятками серверов ради этого... Кажется, здесь есть дисбаланс, господа. Будьте готовы.

★★

Ответ на: комментарий от Thero

оно не сломалось, когда они исправили другие проблемы с помощью биосдевнейм они заметили что держать рекурсивный алгоритм в коде только для тех кто хочет именовать интерфейсы как етч в то время как никакой реальной необходимости именовать интерфейсы именно так нет( чем те же net1 net2 net3 хуже?)

тем, что у меня (и ещё у Over9000 людей) eth0, eth1 и т.д.

Чем тебе алгоритм не нравится? Аллергия на рекурсию?

drBatty ★★
()
Ответ на: комментарий от drBatty

а там и понимать нечего, достаточно прочитать ссылку написаную в сообщениии топикстартера.

Thero ★★★★★
()
Ответ на: комментарий от qnikst

на б.г.о ни в коем случае, ни при каких обстоятельствах.

Thero ★★★★★
()
Ответ на: комментарий от Thero

вообщето гонки возникают только из-за конфликта имёнования интерфейсов ядром и юзерспейсом.

дык ты мне можешь показать, как эти гонки возникают? а то я не понимаю.

почему то для програмистов очевидно что if не может быть переменной, чем ситуация здесь хуже?

потому-что if одно единственное, а eth0, eth1… счётное множество. Т.е. _всегда_ есть свободный eth. ЕМНИП даже можно доказать, что для переименования всегда достаточно одного лишнего интерфейса. Кроме того, временный интерфейс вовсе не обязательно должен называться eth\d+.

моя задача научить людей аналитике.

можно мастеркласс?

drBatty ★★
()
Ответ на: комментарий от drBatty

# # 1.1 Internet Configuration. #

INET_IP=«194.236.50.155» INET_IFACE=«eth0» INET_BROADCAST=«194.236.50.255»

это какраз пример не захардкоденых интерфейсов.

Thero ★★★★★
()
Ответ на: комментарий от drBatty

про привычки есть старый анекдот: человек привыкший барахтаться в дерьме утонул в чистой воде.

Thero ★★★★★
()
Ответ на: комментарий от Thero

это какраз пример не захардкоденых интерфейсов.

а прямо в текст команд, никто кроме тебя, имена и не планировал вставлять.

drBatty ★★
()
Ответ на: комментарий от Thero

раньше было ведь пофиг?

раньше всё работало. Впрочем - тебе этого не понять. Ты хоть 3.5 конфига за свою жизнь подправил?

drBatty ★★
()
Ответ на: комментарий от drBatty

а прямо в текст команд, никто кроме тебя, имена и не планировал вставлять.

какая разница куда их вставлять? Тебя ткнули фейсом в пример «захардкоденых интерфейсов», а ты продолжаешь что-то невнятно мямлить.

Deleted
()
Ответ на: комментарий от drBatty

<offtopic>если ты заинтересован в собственном саморазвитии, рекомендую проверить себя на предмет двуличия</offtopic>

да ты сам как описанный тобой Леннарт рассуждаешь.

да всё работало с етч, просто костыль был и быдлокод.

Thero ★★★★★
()
Ответ на: комментарий от drBatty

а действительно, какая? отвечаем на современном шустром железе с ссд опенрц так же быстр как и системд и он также легко умеет пытаться смонтировать сетевой юзер до того как у тебя есть сеть и т.п, в прочем это даже скорее предтеча той проблемы которую было решено даже не пытаться решать, да потому что по настоящему любой вариант нестандартного корня/юзера/етц решается добавлением всего нужного для их инициализации в инитрд, поэтому следить за тем чтобы нужные для загрузки системд вещи не лежали в /usr никто не стал и честно написал что про отдельный /usr без initrd со всем необходимым(а для себя они даже запилили лентяйку которая его в один чих делает) не слать.

Thero ★★★★★
()
Ответ на: комментарий от drBatty

перечитай весь тема для начала -_- как по дзену будет.

Thero ★★★★★
()
Ответ на: комментарий от drBatty

тогда я не вижу откуда появляется проблема невозможности переконфигурировать сервисы, если все написали их с оглядкой на возможность легко переконфигурировать при необходимости. а понавысасывать из пальца всяких lazy deriven отмаз можно и получше.

Thero ★★★★★
()
Ответ на: комментарий от drBatty

когда было надо я свой сервис для опенрц писал, но я не привязан к нашей модели админов которым якобы подкинули проблем. если кто-то не хочет выполнять свою работу пусть не выполняет но туфли оставьте в покое, они не жмут.

Thero ★★★★★
()
Ответ на: комментарий от Deleted

какая разница куда их вставлять? Тебя ткнули фейсом в пример «захардкоденых интерфейсов»

вообще-то это я ссылку дал. Разупорись.

drBatty ★★
()
Ответ на: комментарий от Deleted

раньше все работало далеко не всегда, поэтому и заморочились.

можно подумать, что сейчас все проблемы решились…

drBatty ★★
()
Ответ на: комментарий от Thero

а действительно, какая? отвечаем на современном шустром железе с ссд опенрц так же быстр как и системд и он также легко умеет пытаться смонтировать сетевой юзер до того как у тебя есть сеть и т.п,

вообще-то в openrc этот вопрос решён, насколько я знаю. /usr там подымается после сети(если он удалённый). Или поломали уже?

да потому что по настоящему любой вариант нестандартного корня/юзера/етц решается добавлением всего нужного для их инициализации в инитрд

вообще-то это только один из вариантов. Добавить можно и в корень.

drBatty ★★
()
Ответ на: комментарий от Thero

мне по большей мере всё-равно. от комплекса бытькаквсе освобождён.

дело не в «бытькаквсе». Дело в новом комплексе: «жрать что дают». Не получилось у Леннарта сделать отдельный /usr - пусть у всех не получается. Не получилось решить гонки - пусть все переименовывают по новому. Хотя путь не новый, я уже такое видел.

drBatty ★★
()
Ответ на: комментарий от Thero

тогда я не вижу откуда появляется проблема невозможности переконфигурировать сервисы, если все написали их с оглядкой на возможность легко переконфигурировать при необходимости.

откуда появилась «необходимость»? Я понимаю, если мне нужна новая сетевая карта, а в данном случае что? Апдейт очередной? Ну и что?

drBatty ★★
()
Ответ на: комментарий от drBatty

Не, я логи годичной давности не храню. Ну там история какая была, появлялся кандидат на eth0, когда eth0 уже был, но не был eth1, потому что еще не был обработан

vasily_pupkin ★★★★★
()
Ответ на: комментарий от drBatty

и что? Аргументы «писать не так» и «вставлять не туда» не имеют никакого отношения к «захардкоденным интерфейсам». Это как «мне не нравится красный, дайте серый».

Deleted
()
Ответ на: комментарий от drBatty

что сейчас все проблемы решились…

абсолютно все проблемы решаются только переходом в другой мир.

Deleted
()
Ответ на: комментарий от vasily_pupkin

Ну там история какая была, появлялся кандидат на eth0, когда eth0 уже был, но не был eth1, потому что еще не был обработан

у меня переименовывалось через eth2. Были и более сложные варианты, с тремя картами, и они тоже разруливались успешно.

drBatty ★★
()
Ответ на: комментарий от Deleted

то, что меня попросили показать, какие скрипты придётся править, в связи с переименованием. Я показал. Скрипт не высосан из пальца, и у меня похожий работает. Ты удивишься, но у меня всегда eth0 смотрит наружу, а eth1 внутрь, потому править в этом скрипте ничего не нужно (в случае двух eth). Даже если его скопировать на другой шлюз.

drBatty ★★
()
Ответ на: комментарий от drBatty

нет какраз пофиксили одним из вариантов и это было связано с тем что для генты вариант с инитрд противоестественный, нельзя просто так взять и начать рекомендовать использование инитрд после многих лет рекомендации не пользоваться инитрд...

Thero ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Я уже говорил, что не знаю как и почему у тебя это работает

выпиливание этого механизма мы сейчас и обсуждаем…

drBatty ★★
()
Ответ на: комментарий от drBatty

ещё раз: переименовывание по умолчанию не связано с обсуждаемыми выше гонками никак, оно было сделано раньше и решало другую проблему, и никак не затронуло тех кто просто обновлялся.

а с юзером речь была не о возможностях, а о поддержке. очевидно что поддерживать вариант который не решает проблемму а только снижает риск её возникновения никто не стал. либо не пользуй отдельный юзер либо носи всё нужное в инитрд(это кстати решает ещё кучку проблемм и куда более полезно при возникновении проблем).

и да леннарт даже запилил специальную тулзу которая генерирует нужный инитрам для поддержки отдельного юзера.

впрочем я решил тебе не рассказывать то что заинтересованный в проблеме человек уже должен был прочитать из официальных источников.

Thero ★★★★★
()
Ответ на: комментарий от Thero

и да леннарт даже запилил специальную тулзу которая генерирует нужный инитрам для поддержки отдельного юзера.

ухты леннарт уже и dracut и прочие initrd-бутстрапы запилил?

qnikst ★★★★★
()
Ответ на: комментарий от drBatty

ну и ничего, когда только появилось переименование интерфейсов уже тогда никто не рекомендовал использовать етчи, ибо это как минимум не информативно и через 5 лет ты будешь думать из какой сетевухи надо вынуть линк чтобы это был етч3 а не етч2? а на каком етче тут вайфай? а второй вайфай? если тогда тебя не волновали такие вопросы, то самое время ими задаться.

признай что тебе просто лень и прекрати обновляться.

Thero ★★★★★
()
Ответ на: комментарий от drBatty

ну а у меня например наружу смотрит всегда ethwan а внутрь ethlan ниразу не пригодилось на локалхостах, но рекомендации из гентушного манула предупреждали меня о потенциальных проблемах с етчами.

Thero ★★★★★
()
Ответ на: комментарий от qnikst

-_- я тут заразился слегка приписыванием ленарту всех заслуг, конечно же это всё сделано коллективом редхат\федора + прочие заинтересованные в вопросе.

Thero ★★★★★
()
Ответ на: комментарий от vasily_pupkin

святым патриком это у него работает -_-

Thero ★★★★★
()
Ответ на: комментарий от drBatty

выпиливание этого механизма мы сейчас и обсуждаем…

У меня в генте такого механизма никогда не было, например. Может тебе просто везет, и у тебя рейс в другую сторону?

vasily_pupkin ★★★★★
()
Ответ на: комментарий от qnikst

ухты леннарт уже и dracut и прочие initrd-бутстрапы запилил?

Там есть заинтересованный чувак. Туда уже прилично initrd костылей насували

vasily_pupkin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.