Чтобы настроить сетевое взаимодействие в RHEL 7, я создал JSON-файл для объединения в команду, а затем выполнил следующие команды:
ip link set down eno1
ip link set down eno2
ip link set down eno3
ip link set down eno4
teamd -g -f lacp.conf -d
Также я создал файлы ifcfg для VLAN и выполнил следующую команду:
systemctl restart network
После этого все работает более-менее так, как и ожидалось, но проблема в том, что это не сохраняется между перезагрузками, поэтому мне приходится делать это каждый раз после запуска.
Как исправить эту проблему? Я ожидаю, что эти команды будут выполнены только один раз, а затем я хочу, чтобы эти настройки сохранялись между перезагрузками.
==========================================================
Я попытался применить предложенное исправление, и возникли следующие вопросы:
Я создал
ifcfg-team0
файл, и его содержимое:DEVICE=team0 DEVICETYPE=Team ONBOOT=yes BOOTPROTO=none TEAM_CONFIG='{"device":"team0", "runner": { "name": "lacp"...
Мне удалить раздел "устройство", поэтому изменить на , TEAMCONFIG='{"runner": { "name": "lacp"...
потому что у меня уже есть DEVICE=team0
? Или можно упомянуть его дважды?
Мой
ifcfg-eno1
файл содержит:HWADDR=... TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes IPV4_FAILURE_FATAL=no IPV6_INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno1 UUID=e656... ONBOOT=no
Должен ли я действительно удалить почти все из него? В частности, должен ли я действительно удалить UUID
, NAME
разделы и заменить этот файл на то, что предлагает документация? :
DEVICE=eth1
HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
Или мне оставить оба файла? Просто назовите их, например, ifcfg-eno1
иifcfg-eno1Team
При выполнении этого:
systemctl start network.service
я получаю такую ошибку:Failed to start LSB: Bring up/down networking. Unit network.service entered failed state.
решение1
Сначала создайте новый файл в /etc/sysconfig/network-scripts
каталоге с именем ifcfg-team0
, который выглядит следующим образом:
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.2.3.4
NETMASK=255.255.255.0
TEAM_CONFIG='{"runner": {"name": "lacp"}, "link_watch": {"name": "ethtool"}}'
Очевидно, вам необходимо соответствующим образом изменить IP-адрес и маску сети.
Затем в том же каталоге измените все файлы ifcfg-eno[1-4]
так, чтобы они выглядели следующим образом:
DEVICE=eno1
HWADDR=00:11:22:33:44:55
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
Как и выше, ваши локальные файлы будут немного отличаться, поскольку вам нужно будет сохранить существующие HWADDR
настройки.
Файл ifcfg-team0
ссылается на lacp.conf
файл, который вы уже создали. Однако я не вижу в руководстве, как он находит этот файл. Возможно, teamd
помнит его из вашей предыдущей ручной конфигурации, или, возможно, вам нужно поместить его в общий каталог.
В любом случае, как только это настроено, вы говорите ifup team0
, и объединенная группа NIC поднимется вместе. Отдельные интерфейсы должны быть выключены в начале, но вам не нужно будет делать ничего особенного, чтобы гарантировать это при загрузке, поскольку теперь они отмечены как часть группы NIC. Конфигурация загрузки ОС поймет, что она не должна поднимать эти четыре интерфейса по отдельности, а только как часть группы NIC.
Все вышесказанное предполагает, что вы отключилиСетевой менеджери вернулся к старому доброму способу настройки сети в Linux-системах типа Red Hat:
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service
$ sudo systemctl start network.service
$ sudo systemctl enable network.service
Это часто бывает хорошей идеей на серверах, особенно когда их сетевая конфигурация становится сложной, как в случае с LACP. NetworkManager решает множество проблем, но часто делает это с уклоном, ориентированным на настольные компьютеры, что не подходит для серверов. Например, он решает автоматические переходы с WiFi на Ethernet, распространенные на ноутбуках. Серверы обычно имеют статические сетевые конфигурации, поэтому NetworkManager может в конечном итоге просто мешать.
Тем не менее, если вы обнаружите, что хотите придерживаться настроек Red Hat по умолчанию, они охватывают эту альтернативу.несколько разделов ранее в руководстве.