Назад | Перейти на главную страницу

OEL 7.2 с LACP systemd отключает сеть перед размонтированием файловых систем _netdev

Я построил кластер NFS с OCFS2 в качестве резервной файловой системы.

Это работает достаточно хорошо, за исключением того, что когда узел перезагружается / завершается чисто, это вызывает операцию ограждения, поскольку сеть отключается перед размонтированием файловых систем OCFS2, чтобы сообщить другому узлу, что он покидает кластер.

Сеть настроена как соединение LACP с двумя физическими адаптерами и двумя интерфейсами VLAN, обеспечивающими IP-соединение. Все это было настроено в nmtui с потенциально парочкой небольших настроек файлов конфигурации, находящихся в / etc / sysconfig / network-scripts.

Независимо от того, какие зависимости я добавляю (до / после / требует и т. Д.), Включая network-online.target и другие, или добавляя мою собственную службу systemd и скрипт для обработки размонтирования, могу ли я заставить сервер размонтировать файловые системы _netdev OCFS2 через systemd прежде, чем сеть будет разрушена.

Я добавил debug.sh в / usr / lib / systemd / system-shutdown, чтобы записать некоторые детали, здесь начинается последовательность завершения работы, «ocfs unmount device» - это точка, в которой размонтируется OCFS2 ..

[  309.286479] bonding: bond0: Warning: the permanent HWaddr of ens2f1 - 0c:c4:7a:bb:93:3f - is still in use by bond0. Set the HWaddr of ens2f1 
to a different address to avoid conflicts.
[  309.286484] bonding: bond0: releasing active interface ens2f1
[  309.288270] ixgbe 0000:02:00.1: removed PHC on ens2f1
[  309.806098] pps pps0: new PPS source ptp0
[  309.806100] ixgbe 0000:02:00.1: registered PHC device on ens2f1
[  310.028112] IPv6: ADDRCONF(NETDEV_UP): ens2f1: link is not ready
[  310.028114] 8021q: adding VLAN 0 to HW filter on device ens2f1
[  310.028750] bonding: bond0: Removing an active aggregator
[  310.028754] bonding: bond0: releasing active interface ens2f0
[  310.028755] bonding: bond0: Warning: clearing HW address of bond0 while it still has VLANs.
[  310.028756] bonding: bond0: When re-adding slaves, make sure the bond's HW address matches its VLANs'.
[  310.028773] device bond0 entered promiscuous mode
[  310.028818] device ens2f0 entered promiscuous mode
[  310.030895] ixgbe 0000:02:00.0: removed PHC on ens2f0
[  310.328057] nfsd: last server has exited, flushing export cache
[  310.549842] pps pps1: new PPS source ptp1
[  310.549844] ixgbe 0000:02:00.0: registered PHC device on ens2f0
[  310.772136] IPv6: ADDRCONF(NETDEV_UP): ens2f0: link is not ready
[  310.772137] 8021q: adding VLAN 0 to HW filter on device ens2f0
[  310.773358] IPv6: ADDRCONF(NETDEV_UP): bond0.3xxx: link is not ready
[  310.774187] IPv6: ADDRCONF(NETDEV_UP): bond0.31xx: link is not ready
[  310.775060] IPv6: ADDRCONF(NETDEV_UP): bond0: link is not ready
[  310.775560] IPv6: ADDRCONF(NETDEV_UP): bond0.3xxx: link is not ready
[  310.779437] IPv6: ADDRCONF(NETDEV_UP): bond0.31xx: link is not ready
[  310.832053] IPv6: ADDRCONF(NETDEV_UP): eno2: link is not ready
[  310.883931] IPv6: ADDRCONF(NETDEV_UP): eno1: link is not ready
[  312.995508] o2dlm: Leaving domain 78D2C50072B84C8899E6CA71D23E24CC
[  313.010803] ocfs2: Unmounting device (252,3) on (node 1)
[  313.022493] o2dlm: Leaving domain 4EBC5792914B4DC0B5C548A94924F48A
[  313.039052] ocfs2: Unmounting device (252,5) on (node 1)
[  314.108160] o2dlm: Leaving domain 0B217FA1ACA5452397F9DA8A8B792DA0
[  314.122868] ocfs2: Unmounting device (252,4) on (node 1)
[  314.231817] ixgbe 0000:02:00.0: removed PHC on ens2f0
[  314.893756] ixgbe 0000:02:00.1: removed PHC on ens2f1
[  315.709225] audit_printk_skb: 321 callbacks suppressed
[  315.709227] type=1305 audit(1476683800.733:156): audit_pid=0 old=1053 auid=4294967295 ses=4294967295 res=1
[  315.718254] type=1130 audit(1476683800.742:157): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=auditd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.718271] type=1131 audit(1476683800.742:158): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=auditd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.726152] type=1130 audit(1476683800.750:159): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-tmpfiles-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.726161] type=1131 audit(1476683800.750:160): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-tmpfiles-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.734233] type=1130 audit(1476683800.758:161): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=rhel-import-state comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.734251] type=1131 audit(1476683800.758:162): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=rhel-import-state comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.743145] type=1130 audit(1476683800.767:163): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=rhel-readonly comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.743153] type=1131 audit(1476683800.767:164): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=rhel-readonly comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.782154] type=1130 audit(1476683800.806:165): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=lvm2-monitor comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  315.954555] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[  315.958696] systemd-journald[720]: Received SIGTERM from PID 1 (systemd-shutdow).
[  315.965900] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[  315.981786] systemd-shutdown[1]: Unmounting file systems.
[  316.002080] systemd-shutdown[1]: All filesystems unmounted.
[  316.002083] systemd-shutdown[1]: Deactivating swaps.

Причиной этого было слишком быстрое завершение работы remote-fs.target, поскольку из-за сетевой природы OCFS2 для надлежащего отключения файловой системы потребовалось немного больше времени, чем фактический возврат команды unmount.

Следующим шагом в последовательности отключения для отключения сети это означало, что последняя файловая система всегда считалась подключенной к другим узлам, что создавало препятствия.

Мое исправление заключалось в том, чтобы создать собственный сценарий монтирования / размонтирования и службу systemd с соответствующими задержками в скрипте, в зависимости от NetworkManager-wait-online.target.