[Comm] network filesystems and systemd

Michael A. Kangin mak на complife.ru
Пн Авг 19 21:00:40 MSK 2013


19.08.2013 17:30, Mikhail Efremov пишет:

> Они должны монтироваться не "как можно позже", а после network.target и
> network-online.target. 
...
> Надо разбираться почему это не работает, network.target достигается
> только после того, как отработает network.service. Т.е. при
> использовании etcnet все должно работать правильно.
> Если же используется NM, то нужно включить
> NetworkManager-wait-online.service.
> 

У меня с моим сочетанием сетевуха-свитч-бриджики есть такая особенность
- может очень долго инициализироваться сеть. Если я пытаюсь получить
адрес по DHCP, то эти network.service, или
NetworkManager-wait-online.service, могут просто тупо отваливаться по
таймауту.

Сейчас адрес прописан статически и сеть "поднимается" какбы мгновенно.
Но до реальной работоспособности еще должно пройти много времени.
а тут события несутся стремительно, и в какой-то не той последовательности:

Aug 19 10:00:25  systemd[1]: Starting Network is Online.
Aug 19 10:00:25  systemd[1]: Reached target Network is Online.
...
сеть сделала вид что сразу готова, и сразу же кидаемся монтировать
сетевые системы
Aug 19 10:00:25  systemd[1]: Mounting /mnt/admins...
Aug 19 10:00:25  systemd[1]: Mounting /mnt/server...
Aug 19 10:00:25  systemd[1]: Mounting /mnt/public...
Aug 19 10:00:25  systemd[1]: Mounting /mnt/backups...
...
и обламываемся потому что ДНС недоступно (используется локальный)
Aug 19 10:00:25  mount[818]: mount error: could not resolve address for
server: Unknown error
Aug 19 10:00:25  mount[822]: mount error: could not resolve address for
server: Unknown error
Aug 19 10:00:25  mount[826]: mount.nfs: Failed to resolve server
storage: Name or service not known
Aug 19 10:00:25  mount[829]: mount.nfs: Failed to resolve server
storage: Name or service not known
...
Aug 19 10:00:25  systemd[1]: mnt-admins.mount mount process exited,
code=exited status=1
Aug 19 10:00:25  systemd[1]: Failed to mount /mnt/admins.
Aug 19 10:00:25  systemd[1]: Dependency failed for Remote File Systems.
Aug 19 10:00:25  systemd[1]: Unit mnt-admins.mount entered failed state
...
а вот и сеть начала действительно подниматься
Aug 19 10:00:25  kernel: r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
Aug 19 10:00:25  kernel: r8169 0000:03:00.0: irq 45 for MSI/MSI-X
Aug 19 10:00:25  kernel: r8169 0000:03:00.0 eth0: RTL8168f/8111f at
0xffffc90005bc8000, 10:bf:48:83:90:94, XID 08000800 IRQ
Aug 19 10:00:25  kernel: r8169 0000:03:00.0 eth0: jumbo features
[frames: 9200 bytes, tx checksumming: ko]
...
А вот и наконец поднялся локальный ДНС. Впрочем, без сети он всё равно
половину неотрезолвит
Aug 19 10:00:27  named[1272]: starting BIND 9.9.2-P2
Aug 19 10:00:27  named[1272]: using 1 UDP listener per interface
Aug 19 10:00:27  named[1272]: using up to 4096 sockets
....
А вот etcnet добрался до интерфейсов
Aug 19 10:00:29  network[3497]: 4 interfaces found
Aug 19 10:00:29  network[3497]: Starting group 0/virtual (1 interfaces)
Aug 19 10:00:29  network[3497]: Starting lo:  'lo' is already up SKIPPED
Aug 19 10:00:29  network[3497]: Starting group 1/realphys (1 interfaces)
Aug 19 10:00:29  kernel: Ebtables v2.0 registered
Aug 19 10:00:29  kernel: r8169 0000:03:00.0 eth0: link down
Aug 19 10:00:29  kernel: r8169 0000:03:00.0 eth0: link down
Aug 19 10:00:29  kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Aug 19 10:00:29  kernel: ip6_tables: (C) 2000-2006 Netfilter Core Team
Aug 19 10:00:29  network[3497]: Starting eth0: ....OK
Aug 19 10:00:30  kernel: device eth0 entered promiscuous mode
Aug 19 10:00:30  kernel: IPv6: ADDRCONF(NETDEV_UP): br-eth0: link is not
ready
Aug 19 10:00:30  network[3497]: Starting br-eth0: ........OK
Aug 19 10:00:30  kernel: IPv6: ADDRCONF(NETDEV_UP): br-eth0.2: link is
not ready
Aug 19 10:00:30  network[3497]: Starting br-eth0.2: ....OK
....
А вот поднялся наконец линк на сетевом интерфейсе. Это еще быстро.
Aug 19 10:00:32  kernel: r8169 0000:03:00.0 eth0: link up
Aug 19 10:00:32  kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link
becomes ready
Aug 19 10:00:32  kernel: br-eth0: port 1(eth0) entered forwarding state
Aug 19 10:00:32  kernel: br-eth0: port 1(eth0) entered forwarding state
Aug 19 10:00:32  kernel: IPv6: ADDRCONF(NETDEV_CHANGE): br-eth0: link
becomes ready
Aug 19 10:00:32  kernel: IPv6: ADDRCONF(NETDEV_CHANGE): br-eth0.2: link
becomes ready
...
И бридж прочухался. Сейчас бы к этому времени DHCP уже давно послал бы
несколько запросов с увеличивающимся интервалом.
Вот тут бы и надо всё монтировать.
Aug 19 10:00:47  kernel: br-eth0: port 1(eth0) entered forwarding state
...
Первая сетевая активность
Aug 19 10:01:00  prefdm[1638]: [+32.75s] DEBUG: Got
Query(authentication_names=[])
Aug 19 10:01:01  prefdm[1638]: [+33.59s] DEBUG: Connecting to XServer
192.168.0.149:7



-- 
wbr, Michael A. Kangin


Подробная информация о списке рассылки community