富士通研究所は6月5日、広域SDN(Software Defined Networking)を実現するクラスタ型分散コントローラにおいて、障害や負荷変動に自動対応できる技術を開発したと発表した。
従来のSDNでは、ネットワークコントローラが集中制御型の構成を取っているため、大量の通信パケットを転送するスイッチで構成される広域ネットワークを新たにSDNとして運用する場合、ユーザー数の増大に伴いコントローラに負荷が集中しスムーズなサービス提供ができなくなるほか、コントローラが障害を起こすと管理しているスイッチを制御できなくなるという問題があった。
こうした問題を解決するため、同研究所は複数台のコントローラを論理的に1台のコントローラとして動作させ、千台規模のスイッチを集中制御する、クラスタ型分散コントローラ技術の研究開発に取り組んできた。
一方、クラスタ型分散コントローラは、複数の分散コントローラ対応モジュールが連携して競合することなく動作する必要があるほか、一部のコントローラ部品に負荷の集中や障害が発生した時の対処を自動実行することが難しく、該当するコントローラが管理しているスイッチ群の処理が遅くなることや、制御が継続できなくなるという課題を抱えていた。
そこで今回、クラスタ型分散コントローラで、制御負荷を自動的に分散させるロードバランス技術と、障害時に自動的にコントローラを切り替える無停止によるリカバリー技術が開発された。
ロードバランス技術として、分散コントローラ対応モジュールに新たに負荷チェック機能を開発した。
これにより、コントローラ部品それぞれの負荷情報(CPU使用率、スイッチ台数など)を収集でき、コーディネーション・システムが、例えばモジュールの管理番号などからリーダとして選出した1つの分散コントローラ対応モジュールで定期的に負荷情報をチェックすることで、負荷の偏りを検出する。
ロードバランス要否判定ロジックで必要と判定された場合、変更対象スイッチ決定ロジックで変更するスイッチを決定し、CPU使用率やスイッチ台数といったポリシーに応じてロードバランス方法を決定し、その結果、変更したスイッチとコントローラ部品の対応関係をコーディネーション・システムに登録し、分散コントローラ対応モジュールが更新された情報にしたがいスイッチを付け替えることで、ロードバランスを行う。
無停止でのリカバリー技術では、分散コントローラ対応モジュールに新たに障害チェック機能を開発した。
リーダとして選出された分散コントローラ対応モジュールが、部品の障害を検出し、障害を起こしたコントローラに接続されたスイッチを管理する新たな部品を決定する。
CPU使用率やスイッチ台数などのコントローラ部品の負荷情報に基づき自動的に負荷分散されるよう、コントローラ・スイッチ対応情報を更新、障害が発生していない分散コントローラ対応モジュールが情報更新と連動して動作することによりスイッチを管理するコントローラを切り替え、サービスを停止することなく継続運用することが可能。
さらに、リーダモジュール自身が障害になった場合も、コーディネーション・システムがセッションの切断を検知し、新しいリーダモジュールがスイッチを管理するコントローラの決定を実施する。