【質問コーナー】ネットワークインターフェースの冗長化って、できますか?

質問コーナーの記事では、当社のOpenBlocksやEasyBlocksを実際に使用しているお客様や、検討中のお客様からよく寄せられる質問について解説していきます。

この記事では、「複数のネットワークインターフェースを使用して冗長化したい」という質問について、実機を使いながらお答えしていきます。

はじめに

当社のOpenBlocksやEasyBlocksには、複数のネットワークインターフェースが搭載されています。

OpenBlocksマイクロサーバーシリーズ(OpenBlocks IX9(debian)OpenBlocks A16(debian))に関しては、ネットワークインターフェースの冗長化に必要なパッケージをインストールし、設定することで実現可能です。
そこで、今回はOpenBlocks IX9(debian)を使用して実際にネットワークインターフェースの冗長化を試してみます。

現時点ではEasyBlocksはネットワークインターフェースの冗長化設定には対応していませんが、今後のバージョンアップで対応する可能性もありますので、ご期待ください。

ネットワークインターフェースの冗長化について

OpenBlocksのベースOSであるDebian Linuxでは、Bonding機能を活用することでネットワークインターフェースの冗長化が可能です。
Bondingとは、複数のネットワークインターフェースを束ねて冗長化する技術で、耐障害性の強化や負荷分散などに役立つ複数のモードがあります。

今回は、Bondingの「Active-Backup (Mode 1)」を使用して検証します。
Active-Backupは、1つのスレーブインターフェースで送信を行い、Activeポートが使用できなくなるとBackupポートがActiveポートになるモードです。
このモードは、接続先のL2スイッチ側設定が不要なので手軽に使用できます。
※詳細はDebianWikiのページを参照してください。

Bonding設定

ここから実際にBondingに必要なパッケージインストール、設定を解説していきます。
※OpenBlocks IX9のネットワーク接続等は完了している前提です

・パッケージインストール
# apt update
# apt install ifenslave

・Bonding設定
bonding.confの作成
# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding

bond0 という名前のネットワークインターフェースを作成するときに、カーネルが bonding モジュールを使用することを指定しています。

・ネットワーク設定ファイル編集
# vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto eth1
iface eth1 inet manual
auto bond0
iface bond0 inet static
address 172.16.7.221
netmask 255.255.255.0
network 172.16.7.0
broadcast 172.16.7.255
gateway 172.16.7.1
bond_slaves eth0 eth1
bond_mode active-backup
bond_miimon 100

eth0 と eth1 という2つの物理ネットワークインターフェースを使用して、bond0 というBondingインターフェースを設定しています。
Bondingインターフェースには172.16.7.221/24というIPアドレスを設定し、Bondingモードはactive-backup、リンクモニタリングは100ミリセックで設定しています。

・確認
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.10.176
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0a:85:14:06:8c
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0a:85:14:06:8d
Slave queue ID: 0

Bondingのモード、現在のアクティブインターフェースやeth0、eth1それぞれのステータスが確認でき、設定した内容通りに動作していることが確認できましたので設定完了となります。

まとめ

今回は、よくある質問の中からネットワークインターフェースの冗長化を実際に試しました。
Bonding機能を有効にすることで、片方のネットワークインターフェースがダウンしても自動的にスタンバイ側がアクティブになり、通信断を防ぐことができます。

当社はお客様からの声を可能な限り製品改善に反映していきます。
今後も無料相談会やウェビナーを開催する予定なのでぜひご参加いただき、ご意見をお寄せください。いただいたお声が、今後のバージョンアップに反映されるかもしれません。

直近のイベントはこちら↓↓

【終了】【6/26(水)】EasyBlocks完全ガイドvol.1 最新アップデート情報をまるっと解説 | ぷらっとホーム株式会社
【7/5-25@大阪・福岡・仙台・松本】EasyBlocksシリーズ無料相談会 | ぷらっとホーム株式会社
タイトルとURLをコピーしました