LINUX.ORG.RU
решено ФорумAdmin

перестала сетапиться сеть

 


0

2

есть host c lxd 4.20

мной поднято 75 контейнеров, поднимаю 76, делаю

lxc network create share-br000 ipv4.address=10.0.6.1/24 ipv4.nat=true ipv4.firewall=false ipv6.address=none ipv6.nat=false ipv6.firewall=false

lxc init ubuntu:20.04 bug

lxc network attach share-br000 bug eth0

lxc config device set bug eth0 ipv4.address 10.0.6.7

lxc start bug

lxc exec bug bash

ip a

все команды проходят без ошибок (в реальности это скрипт анализирующий код возврата), но ip адрес на интерфейсе не поднимается…

однако стоит пару контейнеров остановить и удалить и ip поднимается.

подскажите плиз в какой лимит я мог упереться и как это пофиксить?

★★

Последнее исправление: quester (всего исправлений: 3)

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

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

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

как говорит @anc я в проде контейнеры не пробовал, в пробе да. Поэтому и не зацепился за конкретные команды для статического адреса. Уж большо было похоже, что кончились адреса в выдаваемом диапозоне, освободились адреса и все ОК.

Прошу прошения за невнимательность. И я docker крутил, а это докер для виртуалки.

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

возможно я то-же не до конца понимаю как происходит выделение адреса и его lxd может резервирует через системный вызов ядра или в каком то сервисе ядра и возможно там есть какие-то лимиты

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

вижу в памяти вот такую радость:

dnsmasq –keep-in-foreground –strict-order –bind-interfaces –except-interface=lo –pid-file= –no-ping –interface=share-br000 –dhcp-rapid-commit –quiet-dhcp –quiet-dhcp6 –quiet-ra –listen-address=10.0.6.1 –dhcp-no-override –dhcp-authoritative –dhcp-leasefile=/var/snap/lxd/common/lxd/networks/share-br000/dnsmasq.leases –dhcp-hostsfile=/var/snap/lxd/common/lxd/networks/share-br000/dnsmasq.hosts –dhcp-range 10.0.6.2,10.0.6.254,1h -s lxd –interface-name _gateway.lxd,share-br000 -S /lxd/ –conf-file=/var/snap/lxd/common/lxd/networks/share-br000/dnsmasq.raw -u lxd -g lxd

в этом выхлопе можно увидеть мост share-br000 и сеть, так что видимо именно оно выдает ip.

что не так c dnsmasq?

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

оформи как положено с «три символа над Ё» в начале и три в конце, читать будет проще

Не знаю получится ли у меня, не получилось.

dnsmasq –keep-in-foreground –strict-order –bind-interfaces –except-interface=lo –pid-file= –no-ping –interface=share-br000 –dhcp-rapid-commit –quiet-dhcp –quiet-dhcp6 –quiet-ra –listen-address=10.0.6.1 –dhcp-no-override –dhcp-authoritative –dhcp-leasefile=/var/snap/lxd/common/lxd/networks/share-br000/dnsmasq.leases –dhcp-hostsfile=/var/snap/lxd/common/lxd/networks/share-br000/dnsmasq.hosts –dhcp-range 10.0.6.2,10.0.6.254,1h -s lxd –interface-name _gateway.lxd,share-br000 -S /lxd/ –conf-file=/var/snap/lxd/common/lxd/networks/share-br000/dnsmasq.raw -u lxd -g lxd

DNSmasq умеет работать DHCP смотри его настройки.

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

и возможно там есть какие-то лимиты

Если dnsmasq работает как DHCP то там задан диапозон с которого выдавать , и смотри dnsmasq.leases, что там прибито гвоздями.

У меня dnsmasq работает только как кеширующий dns. у меня например диапозон для динамической выдачи IP всего с 120-140 и то временно, а потом все в leases. Возможно у тебя тоже что то так. может ты выдаешь уже прибитый IP ( ну в качестве бреда)

ищи в настройках dnsmasq

dhcp-range=192.168.0.20,192.168.0.100,24h
alex_sim ★★★★
()
Последнее исправление: alex_sim (всего исправлений: 1)
Ответ на: комментарий от alex_sim

Спасибо! Вообщем посмотрел я syslog и в результате понял что мне нужно вот это, что и решило все проблемы:

cat /proc/sys/fs/inotify/max_user_watches;

echo ‘fs.inotify.max_user_watches=1048576’ >> /etc/sysctl.conf;

sysctl -p;

cat /proc/sys/fs/inotify/max_user_watches;

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

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

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