web-dev-qa-db-ja.com

プライマリインターフェイスUbuntu 18.04を切断するとボンディングが機能しなくなる

カメラにリンクされている1つのスイッチ(10.0.10.10)にリンクされている2つのスイッチ間のボンディングを設定しようとしました:

Camera
  |
  |
Switch 1 - - - - - - - - 
  |                    |
  | A                  | B
  |                    |
Switch Primary      Switch Secondary
  |                    |
C | enp3s4f0         D | enp3s4f1 
  |                    |
  |                    |
 ---------------------------
 |Ubuntu 18.04             |
 |       bond0             |
 |------------------------ |

目的は、接続A/B/C/Dのいずれかが停止した場合にカメラにpingできるようにすることです。現在、接続Aが停止した場合、カメラにpingを送信できません。他の接続が失敗した場合でも、カメラにpingを送信できます。

これは私の01-netcfg.yamlです

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s4f0:
      addresses: [ ]
    enp3s4f1:
      addresses: [ ]
    bonds:
      bond0:
        addresses: [ 10.0.10.101/24 ]
        gateway4: 10.0.10.10
        nameservers:
          addresses: [ 1.1.1.1, 1.1.1.0 ]
        interfaces: [ enp3s4f0, enp3s4f1 ]
        parameters:
          mode: active-backup
          primary: enp3s4f0

ネットプランを適用した後、エラーはスローされません。

Sudo netplan apply

問題は、Aが切断されても、サーバーは接続Cをアクティブとして認識しているため、ボンドがインターフェースを変更せず、プライマリスイッチからカメラにアクセスしようとし続けることです。これは不可能です。

1
udpcon

Netplan.ioのリファレンスページから here に役立つボンドパラメータが見つかります。

arp-interval (scalar)
    Set the interval value for how frequently ARP link monitoring should 
    happen. The default value is 0, which disables ARP monitoring. For the
    networkd backend, this maps to the ARPIntervalSec= property. If no time
    suffix is specified, the value will be interpreted as milliseconds.

arp-ip-targets (sequence of scalars) IPs of other hosts on the link which
    should be sent ARP requests in order to validate that a slave is up. 
    This option is only used when arp-interval is set to a value other than 0.
    At least one IP address must be given for ARP link monitoring to function.
    Only IPv4 addresses are supported. You can specify up to 16 IP addresses.
    The default value is an empty list.

したがって、bond0スタンザでは、次のように変更しました。

parameters:
  mode: active-backup
  primary: enp3s4f0

に:

parameters:
  mode: active-backup
  primary: enp3s4f0
  arp-interval: 10
  arp-ip-targets: 10.0.10.10

これで、カメラがオフラインになると、bond0は他のスイッチに正常に切り替え、カメラをオンラインに戻します。

0
heynnema