サーバーのNICを束ねてネットワークを冗長化する「チーミング」とは?

Webサイトは24時間接続可能で、サーバーメンテナンスのとき以外は繋がらなくなることはほとんどありません。
ネットワークを冗長化するチーミングという方法で、そのような便利さを実現しています。
今回は、このチーミングについて紹介します。

NICを束ねて耐障害性を上げるチーミング

コンピュータをネットワークに接続する際にはNICというものが使われます。
私たちが使用しているパソコンにもNICが内蔵されており、それによりインターネットへの接続を可能にしています。
もしNICに障害が発生するとインターネットへの接続ができなくなります。
個人で使用するパソコンの場合は、負担も小さく故障しても修理や部品交換などで対応できます。

しかしサーバーの場合は常に通信を行うため、NICの障害は大きな負担となるでしょう。
NICに障害が発生すると、サーバーを利用して提供されているサービスが一時ストップしてしまうのです。
それを防止するためにサーバーのNICはチーミングという方法で冗長化が図られています。

チーミングは複数のNICを束ねて使用する方法です。
NICを1つだけ使用する場合と比べて負担が分散し、耐障害性が向上します。
複数あるNICのうち1つに障害が発生しても、他のNICが使用可能な状態なら通信が遮断されることはありません。
Webサービスを利用する人やWebサイトを閲覧する人にとっては、通常通りアクセスできます。

ただし、チーミングはSR-IOVやRDMAQoS帯域幅管理機能、TCP Chimneyオフロード機能などと一緒に使うことはできません。

チーミングの種類は3つ

チーミングは冗長化の方法により3つの種類に分けられます。

1つはフォールトトレランスという方法で、NICをプライマリとセカンダリに分ける方法です。
普段はプライマリを使用して通信を行い、障害が発生したときだけセカンダリを使用します。

2つ目はロードバランシングという方法で、複数のNICを同時に使用して冗長化を図ります。
プライマリやセカンダリといった区別はありません。
通信セッション単位では1つのNICで処理されているように見えますが、実際は複数のNICにトラフィックを分散させています。

3つ目はリンクアグリゲーションで、複数のNICを束ねて帯域幅の大きいNICとして使用する方法です。
通信処理は束ねられている全てのNICを使って行います。

使用しているNICのうち1つに障害が発生しても、残ったNICで通信できる点に関しては、3つの方法すべてで共通しています。

チーミングがネットワークの利便性を実現している

チーミングによるネットワークの冗長化で、WebサイトもWebサービスも24時間常に利用可能な状態が保たれています。
3種類あるチーミングの方法はそれぞれ一長一短あるので、サービスに合わせて使うと良いかもしれません。

高待遇、キャリアアップを目指すエンジニアための転職サイト「フリーエンジニアネットワーク」はこちら