7.4. コマンドラインインターフェイス (CLI) の使用
ボンドは、
ボンディングカーネルモジュールと、チャンネルボンディング インターフェイス と呼ばれる特別なネットワークインターフェイスを使用して作成されます。
7.4.1. ボンディングカーネルモジュールがインストールされているかの確認 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux 7 では、ボンディングモジュールはデフォルトでは読み込まれません。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
このアクティベーションは、システム再起動後は維持されません。永続的なモジュールの読み込みに関する詳細は、『Red Hat Enterprise Linux カーネル管理ガイド』を参照してください。BONDING_OPTS ディレクティブを使用した正しい設定ファイルを指定すると、ボンディングモジュールは必要に応じて読み込まれるため、別個に読み込む必要はありません。
root で以下のコマンドを実行して、モジュールを読み込むことができます。
modprobe --first-time bonding
~]# modprobe --first-time bonding
モジュールについての情報を表示するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
コマンドオプションについては、
modinfo bonding
~]$ modinfo bonding
modprobe (8) の man ページを参照してください。
7.4.2. チャンネルボンディングインターフェイスの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
チャンネルボンディングインターフェイスを作成するには、
/etc/sysconfig/network-scripts/ ディレクトリーに ifcfg-bondN という名前のファイルを作成し、N をそのインターフェイスの番号(例: 0 )に置き換えます。
ファイルのコンテンツは、イーサネットインターフェイスなどボンディングされるインターフェイスのものであればどの設定ファイルでもそれをベースとすることができます。
DEVICE ディレクティブは ボンディングNで、N はインターフェイスの番号に置き換え、TYPE=Bond があることです。さらに、BONDING_MASTER=yes を設定します。
例7.1 ifcfg-bond0 インターフェイス設定ファイルの例
チャンネルボンディングインターフェイスの例は以下のようになります。
NAME ディレクティブは、NetworkManager で接続プロファイルに名前を付けるのに役立ちます。ONBOOT は、起動時 (一般的にはデバイスの自動接続時) にプロファイルを起動するかどうかを示しています。
重要
ボンディングカーネルモジュールのパラメーターは、
ifcfg-bondN インターフェイスファイルの BONDING_OPTS="bonding parameters" ディレクティブにスペース区切りリストとして指定する必要があります。ボンディングデバイスのオプションは、/etc/modprobe.d/bonding.conf または非推奨の /etc/modprobe.conf ファイルで指定し ない でください。
max_bonds パラメーターはインターフェイス固有ではないため、BONDING_OPTS ディレクティブで ifcfg-bondN ファイルを使用する場合は設定しないでください。このディレクティブにより、ネットワークスクリプトが必要に応じてボンドインターフェイスを作成するためです。
ボンディングモジュールの設定に関する指示およびアドバイスとボンディングパラメーターのリストについては、「チャンネルボンディングの使用」を参照してください。
NM_CONTROLLED="no" 設定が存在しない場合は、NetworkManager がこの設定ファイルの設定を上書きする可能性があることに注意してください。
7.4.3. ポートインターフェイスの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
チャンネルボンディングインターフェイスはコントローラー(
マスターとも呼ばれます)で、ボンディングされるインターフェイスはポート(スレーブ)と呼ばれます。チャネルボンディングインターフェイスを作成した後に、ボンディングされるネットワークインターフェイスを設定するには、そのポートの設定ファイルに MASTER および SLAVE ディレクティブを追加します。各ポートインターフェイスの設定ファイルは、ほぼ同一となる可能性があります。
例7.2 ポートインターフェイス設定ファイルの例
たとえば、2 つのイーサネットインターフェイス
enp1s0 と enp2s0 がチャンネルボンディングされている場合、両方のインターフェイスの例を以下に示します。
この例では、device_name をインターフェイス名で置換します。インターフェイスが ONBOOT=yes となっているプロファイルまたは設定ファイルが複数ある場合は、それらが相互に競合し、ボンドポートの代わりに単純な TYPE=Ethernet プロファイルがアクティブ化される可能性があることに注意してください。
注記
NM_CONTROLLED="no" 設定が存在しない場合は、NetworkManager がこの設定ファイルの設定を上書きする可能性があることに注意してください。
7.4.4. チャンネルボンディングのアクティブ化 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ボンドをアクティブにするには、すべてのポートを有効にします。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
root で以下のコマンドを実行します。
ifup ifcfg-enp1s0
~]# ifup ifcfg-enp1s0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
ifup ifcfg-enp2s0
~]# ifup ifcfg-enp2s0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
すでに 「up」 となっているインターフェイスのインターフェイスファイルを編集する場合は、以下のようにまず最初にそれらを down にします。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
これが完了した後、すべてのポートを有効にすることで、ボンドが有効になります (「down」 に設定されていないことが前提)。
ifdown device_name
ifdown device_name
NetworkManager が変更を認識させるには、
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
または、すべてのインターフェイスをリロードします。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
デフォルトの動作では、NetworkManager は変更を認識せず、古い設定データを引き続き使用します。これは、
root で変更したすべてのインターフェイスに対して コマンドを実行します。
nmcli con load /etc/sysconfig/network-scripts/ifcfg-device
~]# nmcli con load /etc/sysconfig/network-scripts/ifcfg-device
nmcli con reload
~]# nmcli con reload
NetworkManager.conf ファイルの monitor-connection-files オプションで設定されます。詳細は、NetworkManager.conf (5) man ページを参照してください。
ボンドインターフェイスのステータスを表示するには、以下のコマンドを実行します。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
7.4.5. 複数のボンド作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux では、各ボンドに BONDING_OPTS ディレクティブを含むチャンネルボンディングインターフェイスが作成されます。この設定方法を使うと、複数のボンディングデバイスに異なる設定をすることが可能になります。複数のチャンネルボンディングインターフェイスを作成するには、以下の手順に従います。
- BONDING_OPTS ディレクティブで複数の
ifcfg-bondNファイルを作成します。このディレクティブにより、ネットワークスクリプトが必要に応じてボンドインターフェイスを作成します。 - ボンディングされるインターフェイス設定ファイルを作成するか、または既存のインターフェイス設定ファイルを編集し、SLAVE ディレクティブを追加します。
- ボンディングされるポートインターフェイスであるインターフェイスを MASTER ディレクティブでチャネルボンディングインターフェイスに割り当てます。
例7.3 複数の ifcfg-bondN インターフェイス設定ファイルの例
以下は、チャンネルボンディングインターフェイス設定ファイルの例です。
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
この例では、N をインターフェイスの番号に置き換えます。たとえば、2 つのボンディングを作成するには、
ifcfg-bond0 と ifcfg-bond1 の設定ファイルを適切な IP アドレスで作成します。
例7.2「ポートインターフェイス設定ファイルの例」 に従ってボンディングされるインターフェイスを作成し、MASTER=bondN ディレクティブを使って必要に応じてボンドインターフェイスに割り当てます。たとえば、上記の例から、ボンドごとに 2 つのインターフェイスが必要な場合は、2 つのボンドで 4 つのインターフェイス設定ファイルを作成し、最初の 2 つを MASTER=bond0 を使用して割り当て、次の 2 つは MASTER=bond1 を使用して割り当てます。