Перейти к содержимому
Калькуляторы

Именование интерфейсов в centos7 (теория)

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

Знаю про изменение параметров GRUB но и знаю и вижу по опыту что переименовать интерфейсы можно не залезая в GRUB а просто поправив файлы в /etc/sysconfig/network-scripts 

Правда последний способ работает нормально только если указан HWADDR

Сейчас ситуация такая:

Есть некий БОЕВОЙ сервер. На нем 4 интерфейса, все они с указанным HWADDR, поименованы вручную, и попарно объединены в да бриджа.

Встала задача переделать бриджи в bonding, как я понимаю для bonding интерфейсов нужно убирать HWADDR (по крайней мере если не убирать у меня почему-то не взлетело). А если убирать - то сразу присвоенные имена слетают, несмотря на прописанные UUID.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А чем наименования, выданные системой не устраивают? Сейчас ушли от абстрактных eth0 к наименованиям, привязанным к местам установки. Куда карту поставишь, такое наименование и будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Bat 

Чем не устраивает - поздно говорить. Сервер боевой, интерфейсы переименованы... Хотя, наверное по-одному можно их вернуть в первозданный вид. Что нужно сделать ? Просто убрать DEVICE= ? или NAME - Тоже ?

Я могу быть уверен что они потом остануться неизменными ? Про тоже network-manager тоже непонято. Хочется сначала разобраться досканально, а потом уже делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В порядке эксперимента удалил файл ifcfg-eno1, перезапустил сервер

Интерфейс стал называться eth1, файл ifcfg-eth1 не создался.

Как мне вернуться к именования по-умолчанию ?

 

Кстати, залез в /etc/default/grub

а там: net.ifnames=0 biosdevname=0

хотя я это не настраивал. Возможно панель VMMANAGER своевольничает...

В любом случае остается вопрос: Как сделать теперь bonding из интерфейсов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

17 часов назад, grifin.ru сказал:

файл ifcfg-eth1 не создался.

Сам файл не создается. Его ручками делать надо.

 

 

17 часов назад, grifin.ru сказал:

Кстати, залез в /etc/default/grub

а там: net.ifnames=0 biosdevname=0

 

Это как раз возврат к традиционному именованию. Потому у вас и eth1.

Проблема именования интерфейсов по традиционной схеме ethX в том, что нет гарантии, что при следующей загрузке у вас не поменяются номера местами.

Также не понятно какая карта к какому интерфейсу относится, только методом тыка.

Для этого были созданы схемы наименования через biosdevice, по номерам PCI-слотов.

Там несколько схем в порядке приоритета. Почитать можно тут:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/ch-consistent_network_device_naming

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 hour ago, Bat said:

Проблема именования интерфейсов по традиционной схеме ethX в том, что нет гарантии, что при следующей загрузке у вас не поменяются номера местами.

Всю жизнь не менялись (привязка по железячному маку), а теперь вдруг начнут?

 

1 hour ago, Bat said:

Для этого были созданы схемы наименования через biosdevice, по номерам PCI-слотов.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

21 минуту назад, rm_ сказал:

Всю жизнь не менялись (привязка по железячному маку), а теперь вдруг начнут?

Это в случае, если он указан в HWADDR. Ну вот у человека не получается использовать эту опцию, когда он создает бонд-интерфейсы. Может особенность какая или баг.

 

21 минуту назад, rm_ сказал:

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

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

Вот тут подробней:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-understanding_the_predictable_network_interface_device_names

 

Вот например интерфейс:

enp5s0f1

находим по lspci:

05:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)

 

Это чем-то напоминает наименования интерфейсов на той же cisco

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

53 minutes ago, zhenya` said:

Удевом можно привязать имена..

... через рулезы.

 

Ну вот стоит сервер с тремя картами. Тут, вдруг, вылетает материнка, покупается новая, с другой шиной и сетевухами. Приехали, полезли менять названия интрефейсов во всех конфигах.:)

Техника меняется, конфиги и скрипты работают годами и годами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@vop 

И как вы предлагаете решить эту проблему ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Just now, grifin.ru said:

@vop 

И как вы предлагаете решить эту проблему ?

Никак. Кто-то пользуется ip-адресами, а кто-то дает своим серверам имена и пользуется доменами. :)

 

Ой, сорри, тут про интерфейсы. Кто-то пользуется "географическими" именованиями интерфейсов, а кто-то - логическими. Каждый выбирает то, что ему удобнее. За 24-го работы с серверами больше склоняешься к логическим ethX. При смене железа мне проще поправить в одном месте привязку в dev rules.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 minutes ago, vop said:

 

Ну вот стоит сервер с тремя картами. Тут, вдруг, вылетает материнка, покупается новая, с другой шиной и сетевухами. Приехали, полезли менять названия интрефейсов во всех конфигах.:)

По старым порядкам, мак-адреса для привязки ethX хранятся ровно в одном месте.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

23 часа назад, grifin.ru сказал:

Кстати, залез в /etc/default/grub

а там: net.ifnames=0 biosdevname=0

попробовал убрать 

net.ifnames=0 biosdevname=0

Вместо eth1 cnfk eno1

удалил конфиг файл еще для одного интерфейса - появился eth1

может такое быть что biosdevname присваивает онбордным контролерам имена eno1 и eth1 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Продолжаем расследование:

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

[root@vds3 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (broadcast)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
[root@vds3 ~]# 

Бондинг не видит слейвов, как я понимаю. С чем это может быть связано ?

Вот файл слейва:

MASTER=bond0
SLAVE=YES
DEVICE=eno1
HWADDR=00:25:90:4F:A9:41
METRIC=120
NAME=eno1
ONBOOT=yes
TYPE=Ethernet

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 часа назад, rm_ сказал:

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

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

 

@grifin.ru ,  а настройки  самого бонд-интерфейса?

И сами slave-интерфейсы подняты?

ip link что говорит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether 00:25:90:4f:a9:41 brd ff:ff:ff:ff:ff:ff

 eno3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether 00:25:90:4f:a9:43 brd ff:ff:ff:ff:ff:ff

bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue master vmbr0 state DOWN mode DEFAULT qlen 1000
    link/ether de:26:cb:2c:89:b8 brd ff:ff:ff:ff:ff:ff

NM_CONTROLLED=no
USERCTL=no
BRIDGE=vmbr0
BOOTPROTO=none
NAME=bond0
DEVICE=bond0
ONBOOT=yes
TYPE=Bond
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100"  #i set mode to active-backup
IPV6INIT=no

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем забил на Bonding, сделал Teaming, все взлетело.

Новый вопрос появился:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

18 часов назад, Bat сказал:

Проблема именования интерфейсов по традиционной схеме ethX в том, что нет гарантии, что при следующей загрузке у вас не поменяются номера местами.

Но нету никакой гарантии, в каком порядке новая версия пронумерует устройства, присутствующие в биосе.

В той-же 4-портовой сетевухе один драйвер может слева направо, другой справа налево.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.