Один из наших серверов ведет себя странно с сетью при запуске. Мы использовали изменения конфигурации и ifup / ifdown, чтобы попытаться изолировать проблему, с разочаровывающе противоречивыми результатами. У нас есть конфигурация, совместимая с другими серверами, на которых у нас нет этой проблемы. Существенная разница в том, что этот сервер от другого поставщика оборудования, но я не знаю, почему это может вызвать проблему, которая у нас возникла.
Когда мы вызываем интерфейс eth0 с sudo ifup eth0
, связанный интерфейс bond0
, и интерфейс vlan bond0.3001
, отображаются и отображаются правильно настроенными из ifconfig, но маршрут по умолчанию отсутствует.
user@admin1:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0.3001
Неоднократные попытки вывести интерфейс из строя (использование sudo ifdown bond0
, который кажется самым простым способом сбросить всю многослойную конфигурацию с помощью одной команды), а затем выполнить резервное копирование, похоже, никогда не добавляет правильный маршрут. Однако, если мы отредактируем bond0.3001
запись в файле интерфейсов /etc/network/interfaces
, он будет часто (но не всегда, argh) вызывать интерфейсы и правильный маршрут по умолчанию.
user@admin1:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.1.1 0.0.0.0 UG 0 0 0 bond0.3001
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0.3001
Мы комментировали строку «сеть» ниже как редактирование файла, с несколько согласованными результатами; когда мы вносим изменения и возвращаем стек интерфейса, маршрут по умолчанию присутствует довольно часто. Когда мы отбрасываем стек интерфейса без внесения изменений, кажется, что в 100% случаев он дает сбой. Добавление маршрута по умолчанию вручную с помощью sudo route add default gw 10.1.1.1 bond0.3001
работал каждый раз, когда мы пытались, но нам нужна система для надежного перезапуска сети.
Вот наш конфиг:
user@admin1:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth1
iface eth1 inet manual
bond-master bond0
# The primary network interface
#Aggregate bond
auto bond0
iface bond0 inet manual
bond-slaves none
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate 1
auto bond0.3001
iface bond0.3001 inet static
address 10.1.1.14
gateway 10.1.1.1
netmask 255.255.255.0
#network 10.1.1.0
broadcast 10.1.1.255
#post-up route add default gw 10.1.1.1 bond0.3001
#post-down route del default gw 10.1.1.1 bond0.3001
Еще одна точка данных - в работе sudo strace -f sudo ifup eth0
Чтобы попытаться увидеть различия, требуется больше времени для успешной попытки (создан маршрут по умолчанию), чем для неудачной. (отсутствует маршрут по умолчанию) Это могут быть просто другие запущенные службы нисходящей сети, которые быстро выходят из строя, когда нет маршрута по умолчанию.
РЕДАКТИРОВАТЬ: возникло подозрение, что виноваты обновления ядра, обновление, которое, казалось, решило проблему для этого сервера, было от 3.19.0-25 до 3.19.0-43. Мы наблюдали подобное поведение на других серверах после обновлений ядра. Вероятно, потребуется дополнительное тестирование конкретных версий ядра для выявления основной причины.
Я только что столкнулся с этой проблемой на стойке серверов Ubuntu 14.04.3 на этой неделе, все они были обновлены до linux-generic-lts-vivid и работают с ядром 3.19.0-43. После нескольких дней работы мы решили проблему, понизив версию ядра до версии 3.16.0-57 (у нас была такая же проблема с ядром 3.19.0-2x, которое поставляется с iso сервера 14.04.3 amd64).
apt-get remove linux-generic-lts-vivid -y
apt-get autoremove
apt-get install linux-generic-lts-utopic -y
rm -f /boot/*3.19*
update-grub
reboot
Что касается симптомов, маршруты по умолчанию были добавлены недетерминированно во время загрузки. Мы всегда можем исправить это через ifdown bond0 && ifup p4p2 p5p2
, но, как и вы, нам нужна была сеть для надежной работы при загрузке.