Я сталкиваюсь с некоторыми проблемами, настраивающими netplan на сервере Ubuntu 18.04 для связывания моих четырех аппаратных средств названные порты Ethernet eno1, eno2, eno3, eno4
использование 802.3ad протокол. Я консультировался с netplan страницей справочника и соединил следующий файл конфигурации /etc/netplan/50-cloud-init.yaml
:
network:
version: 2
renderer: networkd
ethernets:
eports:
match:
name: eno*
bonds:
bond0:
interfaces: [eports]
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
После выполнения команды sudo netplan --debug apply
Я получаю следующую информацию:
** (generate:6473): DEBUG: 00:39:14.911: Processing input file //etc/netplan/50-cloud-init.yaml..
** (generate:6473): DEBUG: 00:39:14.911: starting new processing pass
** (generate:6473): DEBUG: 00:39:14.911: eports: setting default backend to 1
** (generate:6473): DEBUG: 00:39:14.911: bond0: setting default backend to 1
** (generate:6473): DEBUG: 00:39:14.912: Generating output files..
** (generate:6473): DEBUG: 00:39:14.912: NetworkManager: definition eports is not for us (backend 1)
** (generate:6473): DEBUG: 00:39:14.912: NetworkManager: definition bond0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:device eno2 operstate is up, not replugging
DEBUG:netplan triggering .link rules for eno2
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
DEBUG:replug eno3: unbinding 0000:03:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno3: rebinding 0000:03:00.0 to /sys/bus/pci/drivers/igb
DEBUG:replug eno1: unbinding 0000:01:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno1: rebinding 0000:01:00.0 to /sys/bus/pci/drivers/igb
DEBUG:Cannot replug bond0: cannot read link /sys/class/net/bond0/device: [Errno 2] No such file or directory: '/sys/class/net/bond0/device'
DEBUG:netplan triggering .link rules for bond0
DEBUG:replug eno4: unbinding 0000:04:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno4: rebinding 0000:04:00.0 to /sys/bus/pci/drivers/igb
Я не уверен, что сделать из оператора
Cannot replug bond0: cannot read link /sys/class/net/bond0/device: [Errno 2] No such file or directory: '/sys/class/net/bond0/device'
начиная с каталога /sys/class/net/bond0
был сгенерирован netplan apply
команда.
Я проверил мой ifconfig
вывод и мои сетевые устройства, кажется, настроены правильно за исключением того, что никакой адрес не установлен для bond0
:
bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 112768 bytes 7785014 (7.7 MB)
RX errors 0 dropped 54 overruns 0 frame 0
TX packets 18854 bytes 2337896 (2.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 290 bytes 19322 (19.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 55 bytes 6820 (6.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf400000-df47ffff
eno2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 73991 bytes 29824155 (29.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 20848 bytes 2110417 (2.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf300000-df37ffff
eno3: flags=6147<UP,BROADCAST,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf200000-df27ffff
eno4: flags=6147<UP,BROADCAST,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf100000-df17ffff
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2923 bytes 184477 (184.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2923 bytes 184477 (184.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ether XX:XX:XX:XX:XX:XX
операторы вместо MAC-адреса каждых интерфейсов. В исходном выводе все адреса являются тем же.
Что я пропускаю для успешного конфигурирования моей системы?
После некоторого рытья я обнаружил, что Ubuntu 18.04 использует названную утилиту cloud-init
обработать конфигурацию сети и инициализацию во время последовательности начальной загрузки. Файл /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
и другой .cfg
файлы используются для реконфигурирования cloud-init
настройки. Мои настройки файла конфигурации следующие:
network:
version: 2
ethernets:
eports:
match:
name: eno*
optional: true
bonds:
bond0:
interfaces: [eports]
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
optional: true
параметр препятствует тому, чтобы система ожидала допустимого сетевого соединения во время начальной загрузки, которое сохранит Вас стычка ожидания 2 минут для Вашей машины для начальной загрузки. После обновления файла конфигурации выполняет следующую команду для обновления конфигурации.
cloud-init clean -reboot
Кроме того, выполнение следующего допускает некоторую отладочную информацию, не перезагружая Вашу машину; однако, перезагрузка потребуется, чтобы фиксировать изменения во время ранних этапов начальной загрузки.
cloud-init clean
cloud-init init
cloud-init status
netplan.io сайт, кажется, указывает, что облако-init является одной из нескольких утилит, настроенных netplan. Проблема с netplan, возможно, что необходимо указать dhcp4 = ложь при определении физических интерфейсов, которые позже будут связаны. Если Вы не делаете адреса могут быть присоединены к отдельным интерфейсам DHCP, прежде чем они будут связаны. Таким образом при связывании времени существуют конфликты с существующей логикой IP.
Я подозреваю Ваше облако-init (ранее в последовательности начальной загрузки?) обходное решение может работать путем связывания интерфейсов, прежде чем процесс DHCP произойдет. Или с clean/init последовательность сбрасывает адрес DHCP затем связи, прежде чем процесс DHCP сможет быть повторно применен. Однако это может означать, что обходное решение может прекратить работать, если специалисты по обслуживанию вносят даже незначительные изменения в логику/последовательность начальной загрузки.