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» не видел ни разу. И никаких проблем с назначением кастомных имён тоже не было.

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

★★

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

это 100% аргумент того, что схема РАБОТАЛА. Да, может не у всех, ну и что? У меня вот федора вообще зависла намертво на этапе установки, что это доказывает?

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

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

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

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

If you don't have /etc/udev/rules.d/80-net-name-slot.rules as empty file with only comments inside of it, or if it isn't a symlink to /dev/null, or if you didn't disable with kernel commandline net.ifnames= you will get the new Predictable Network Interface Names by default.

ЗЫ а у меня вот например всю сознательную жизнь на ноутбуке были wrd и wrl интерфейсы и обновляйся я сейчас всё так и останется ибо детство в генте учит читать предупреждения.

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

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

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

ЕМНИП hda было для идешных винтов а sda для Sata(возможно и для sas) но потом ата и сата стали жить в одном драйвере и с тех пор они все sda, не?

sda это SCSI протокол. И был в линуксе сразу почти - первые scsi контроллеры появились очень рано. Уже в 2.0.x было условно 90% тех чипов scsi что были под писи. sas и sata это всякий поздний шит, в том числе и маркетинговый.

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

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

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

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

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

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

тебе 10 раз уже сказали что ты неправильно понял и даже ткнули вместе с тпикстартером как сделать нет, но ты зачемто начал уводить обсуждение в другие области астрала, где нам тоже есть что тебе рассказать -_-

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

О_о в твоих скриптах захардкодены интерфейсфы? даже локалхостер как я делал отдельный файл с конфигом где задавал какой интерфейс участвующий в скрипте как называется. никаких етч* в скриптах быть не должно! яб за такое увольнял в детский садик.

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

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

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

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

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

О тчн SCSI всё время вылетает из головы ( да и прошло с тех пор как я читал об этом в вике генты лет 5-7 наверное..

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

О_о в твоих скриптах захардкодены интерфейсфы? даже локалхостер как я делал отдельный файл с конфигом где задавал какой интерфейс участвующий в скрипте как называется. никаких етч* в скриптах быть не должно! яб за такое увольнял в детский садик.

Ну голубок, представь у тебя к сотне скриптов сотня конфигов. И чо? Сильно это тебе поможет если там теперь все надо переименовывать?

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

О тчн SCSI всё время вылетает из головы...

Вы судя по всему классический пример той самой молодежи от которой последнее время все беды :D

SCSI это фундаментальная вещь. sata, sas, firewire, ata и др это всякий булшит который возник тогда, когда некую проблему пытались решить используя, иногда криво, SCSI :D

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

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

ну и да проблема со скриптами у вас возникнет только если вы хардкодили етчХ в свои скрипты, а если вы так делали а не пользовались переменными, то вы сами себе сделали день, чо.

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

О тчн SCSI всё время вылетает из головы...

Вы судя по всему классический пример той самой молодежи от которой последнее время все беды :D

SCSI это фундаментальная вещь. sata, sas, firewire, ata и др это всякий булшит который возник тогда, когда некую проблему пытались решить используя, иногда криво, используя SCSI :D

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

ну и да проблема со скриптами у вас возникнет только если вы хардкодили етчХ в свои скрипты, а если вы так делали а не пользовались переменными, то вы сами себе сделали день, чо.

Фейспалм. Не поняли нифига, да? :D

Представьте что вы все вынеси в конфиги. И у вас сотня конфигов где прописаны много-много переменных :D Это вам сильно поможет? :D

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

хорошо я не оценил уровень производственной недальновидности в скриптописательстве, и да если скрипты мои или я хорошо знаю как они работают( а если я таки админ то я за это деньги получил уже наверное) то кагбы поддерживать этот ад в рабочем и актуальном состоянии периодически усовершенствуя его this is my f***n job. и я очевидно увижу только плюсы в лишнем поводе переписать весь этот ад, и как я уже сказал в данном случае если я уж настолько ленив, то я просто прогоню седым грипом и пойду спать дальше.

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

я уже два раза сказал если мне лень прогоню седым грипом, если нет то: А я переписал весь этот ад на 100 скриптов в более лаконичную форм в прошлый не лень промежуток, Б валера - настало твоё время!

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

ну то есть лень одного не превыше пользы большинства.

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

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

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

facepalm

у меня грузится без всяких костылей.

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

и да назови уже хоть один реальный баг который ты нашёл в поведении удева и\или системд и забагрепорть его уже как следует

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

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

не совпадение, обсуждаемые проблемы целиком между удевом и ядром

gets the facts ☺

гонки в ядре появились несколько (лет 7) назад. И сразу же были исправлены, путём добавления в udev переименования eth. У кого-то возможно что-то само не взлетело, не спорю, хотя пруфов и не было. Однако, прошли годы, и всё это нормально стало работать.

Сломалось оно почему-то именно в федоре, и именно тогда, когда ввели туда systemd. В других дистрибутивах гонки остались, и никому не мешали. Кроме разработчиков udev. Вместо того, что-бы решать проблемы, они просто взяли, и выпилили механизм переименования, заменив его на более простую для них схему. То, что все остальные программы потеряли eth, их волнует мало.

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

ты исходишь из неверного переведённого топикстартером утверждения, что удев 200 запрещает называть интерфесы eth*

ты споришь с кем-то другим. Вопрос не в запрете eth, а в том, что они отлично решали вопрос с гонками. А потом ВНЕЗАПНО перестали решать, и были выпелены (т.е. теперь вопрос с гонками вообще никак не решён, всё нумеруется либо от балды, если eth всего один, либо по текущей схеме нумерации PCI слотов, которая уже не используется во многих системах).

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

это 100% аргумент того, что схема РАБОТАЛА. Да, может не у всех, ну и что? У меня вот федора вообще зависла намертво на этапе установки, что это доказывает?

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

конечно. У тебя вообще никаких аргументов нет.

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

тебе 10 раз уже сказали что ты неправильно понял и даже ткнули вместе с тпикстартером как сделать нет,

продолжай себя убеждать и дальше. Да, я просто ничего не понял.

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

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

а если ты хорошо ЗНАЛ как они работают 5 лет назад?

и я очевидно увижу только плюсы в лишнем поводе переписать весь этот ад

IRL будут юзать sed, по ходу вылавливая многочисленные косяки. В итоге из скриптов получится говно. А переписывать их никто не будет, ну может только одмины локалхоста, все свои 3.5 скрипта.

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

откуда такая уверенность, что у тебя всё это заработает?

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

у тебя сетевой /usr?

нет. но у меня система умеет грузится без /usr, что полезно при аварии. Кроме того, на файлы из моего /usr невозможно сделать хардлинк(т.к. это другой раздел), и кроме того, он readonly, потому изменить его не может даже рут. Всё это возможно тебе не нужно, но для меня полезно. И я не понимаю, _почему_ я должен менять годами выработанные привычки? А если завтра Леннарта ещё какая-нить муха кусит, и он в systemd новые иксы вставит, и система только в графике будет загружаться, вы тоже скажете «о как круто!»?

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

нет.

тогда почему ты так любишь связывать несвязанные вещи?

но у меня система умеет грузится без /usr, что полезно при аварии.

ну у меня тоже так было, пока на lvm не перелез. сейчас у меня отдельный /usr правда с initrd, но в этом я проблем не вижу.

И я не понимаю, _почему_ я должен менять годами выработанные привычки?

я тоже, я например, свои привычки не меняю

А если завтра Леннарта ещё какая-нить муха кусит, и он в systemd новые иксы вставит, и система только в графике будет загружаться, вы тоже скажете «о как круто!»?

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

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

и да, я думаю я все-таки должен это написать. Проблема в написании корректного алгоритма для udev в том, что это система без состояния (не совсем корректно, но подойдет), т.е. работа программы выглядит так:

(событие от ядра) -{async}-> (обработчик)
в обраточтике у тебя есть
информация о дейвайсе :: deviceData
список правил:: Predicate -> Action
функция проверки того, что правило подходит :: deviceData -> Rule -> Bool
окружение :: Map Key Value

+ скорее всего возможность делать «динамические правила» проблема тут в том, что в таких терминах реализовать «найти все правила относящиеся к карточкам» не реально, поскольку ты не можешь гарантировать то, что правило относится или не относится к карточке, точнее можно, но это будет или сильное переусложение кода или костыли.

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

тогда почему ты так любишь связывать несвязанные вещи?

они связанные. Что мешает сделать мне сетевой /usr/? Просто сейчас мне он не нужен.

ну у меня тоже так было, пока на lvm не перелез. сейчас у меня отдельный /usr правда с initrd, но в этом я проблем не вижу.

я тоже, я например, свои привычки не меняю

а то, что сам себе противоречишь - тоже привычка?

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

ну извини. Я просто уже устал от аргументации в духе «ОЛОЛО! новый XYZ это круто!». Особенно если у мну старый прекрасно работает, и если новый XYZ ломает старый.

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

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

Все правила забиты в конфиге udev. Мне необходимо и достаточно, что-бы только они сработали. Т.е. если там прописан eth0, то пусть он будет eth0, а если eth1 не прописан, то пусть называется как угодно. Что в этом сложного?

Проблема в написании корректного алгоритма для udev в том, что это система без состояния

состояние есть, но оно не у udev'а, а у ядра. Ядро последовательно выдаёт eth0, eth1 и т.д. в том порядке, как они инициализируются. Я не вижу никакой проблемы в их переименовании, если их немного ( <100 ).

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

а то, что сам себе противоречишь - тоже привычка?

переход на lvm это осмысленное решение, а не меня заставили. или ты в своей жизни вообще ничего не меняешь?

ну извини. Я просто уже устал от аргументации в духе «ОЛОЛО! новый XYZ это круто!». Особенно если у мну старый прекрасно работает, и если новый XYZ ломает старый.

ну так замаскируй обновления и живи спокойно, у мну есть версия с работающим новым ОЛОЛО и если мне надо я могу переключиться на него, но я использую старое ОЛОЛО, т.к. мне удобнее и я знаю, что оно решает _мои_ юзкейсы. При этом я понимаю, что новое ОЛОЛО решает проблемы, где старое ОЛОЛО фейлило. Есть ли другие более правильные методы выхода из ситуации, такие как доделать старое ОЛОЛО, или изменить kernel space, не знаю, может и можно, но почему-то никто не занялся. Но если старое ОЛОЛО действительно у всех работало и починить его просто, то хоть кто-то то должен осилить починить.

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

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

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

переход на lvm это осмысленное решение, а не меня заставили. или ты в своей жизни вообще ничего не меняешь?

меняю. Но дело не в этом - ты сейчас как Леннарт рассуждаешь: «подумаешь, /usr поломали? А мне оно и не нужно! И так не работает ибо LVM и т.д.».

ну так замаскируй обновления и живи спокойно,

это полумера.

Но если старое ОЛОЛО действительно у всех работало и починить его просто, то хоть кто-то то должен осилить починить.

да его вообще никто чинить не желает, ибо кому-то там оно не нужно. Я вот так и не нашёл пруфов, у кого там eth не работало, исключая федору18 (ИЧСХ в 17й работало, как я понял).

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

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

мысль я заметил. Что решение с переименованием изначально кривое. Да, кривое. Зачем менять его на другое кривое?

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

Но дело не в этом - ты сейчас как Леннарт рассуждаешь: «подумаешь, /usr поломали? А мне оно и не нужно! И так не работает ибо LVM и т.д.».

нет, я рассуждаю так: использовать sep-usr с lvm можно, но для этого нужно, чтобы все либы lvm были доступны пользователю на момент сборки томов, для этого они должны лежать или в initrd или в /. Второй вариант отпадает, т.к. у меня / тоже в lvm - вывод, у меня не остается другого выбора, как использовать initrd. Если бы у меня был / без lvm, то тогда бы я мог собрать lvm со всеми зависимостями в / и иметь sep-/usr без проблем.

Я вот не знаю, кто кому поломал sep-/usr, все кому хочется, им пользуются, ну да systemd ругается что это deprecated (судя по леннартоблогу), но кого это волнует?

это полумера.

ну не знаю.. оплати рабочее время разрабов eudev, может они проникнутся и будут вести проект с учетом твоих запросов, при этом будут портировать фичи из удева. Нормальная мера это только реализовать алгоритм и кричать ПЫЩЬ-ПЫЩЬ-ОЛОЛО у меня работает бегом сюда тестить.

да его вообще никто чинить не желает, ибо кому-то там оно не нужно. Я вот так и не нашёл пруфов, у кого там eth не работало, исключая федору18 (ИЧСХ в 17й работало, как я понял).

Чинить его не желает Сиверс, т.к. не знает как (?) и считает, что не нужно. При этом если это на самом деле просто, то починить его смогут многие, и потом написать в рассылку и/или lkml. Тогда уже разговор будет совсем другой.

Вот не уверен в этом, я бы сказал, что это началось ещё с 16 федоры, судя по версии в багрепорт-стартера.


Version-Release number of selected component (if applicable):

udev-173-3.fc16.x86_64

qnikst ★★★★★
()
Последнее исправление: qnikst (всего исправлений: 1)
Ответ на: комментарий от qnikst

Я вот не знаю, кто кому поломал sep-/usr, все кому хочется, им пользуются, ну да systemd ругается что это deprecated (судя по леннартоблогу), но кого это волнует?

тогда вопросов нет.

Вот не уверен в этом, я бы сказал, что это началось ещё с 16 федоры, судя по версии в багрепорт-стартера.

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

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

У меня рейсило на двух сетевухах. Сперва решил запиливанием одно драйвера в едро, потом плюнул и переименовал eth -> net

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

У меня рейсило на двух сетевухах. Сперва решил запиливанием одно драйвера в едро, потом плюнул и переименовал eth -> net

а привязать к MAC'у не пытался?

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

лучше нести дезинформацию в коментах лора, окей.

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

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

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

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

и да я не спорю, я заваливаю тебя пищей для аналитики.

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

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

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