特集 8. ギガビット化が始まったIAサーバのネットワーク・インターフェイス |
ここまでIAサーバ概要から拡張バスの動向まで解説してきた。ここからはIAサーバのネットワークに注目してみる。
何らかの「サービス」を提供するサーバにとって、ネットワーク・インターフェイスは非常に重要な「生命線」の1つである。それゆえ、普段よく目にするクライアントPCのネットワーク・インターフェイスとは異なる点もある。ここでは、サーバならではのネットワーク・インターフェイスの特徴と目的、および選択時の注意点について、最新動向を交えながら解説していこう。
ギガビット・イーサネット(1000BASE-T)への移行が始まる
ここ数年、IAサーバのネットワーク・インターフェイスの標準は100BASE-TXイーサネットだった。現在では、クライアントPCも100BASE-TX対応が一般的になり、サーバにとって必須のインターフェイスとなっている。そのため、拡張カードではなく直接マザーボード上(オンボード)に100BASE-TX対応イーサネット・コントローラを標準装備しているIAサーバが多く、ラックマウント型サーバでは2個のコントローラをオンボードで実装している機種も増えてきている。
オンボード実装されたイーサネット・コントローラ | ||||||
これはデルコンピュータのPowerEdge 500SCの例。10万円を切るエントリ・サーバでも、ネットワーク・インターフェイスはこの通り標準装備だ。100BASE-TXイーサネット・コントローラが十分に安価になっていることも影響している。この機種の詳細は「プロダクト・レビュー:10万円未満の低価格IAサーバを斬る」を参照。 | ||||||
|
しかし、LANの標準が100BASE-TXだからこそ、IAサーバにはそれ以上の通信速度が要求される。多数のクライアントPCからのファイル・アクセスやサーバ間で大量のデータ通信などが行われるからだ。
それに対する回答の1つは、ギガビット・イーサネットの導入による高速化だ。ギガビット・イーサネットは従来の100BASE-TXに比べて10倍の1Gbits/sという転送速度を発揮するネットワーク仕様で、IAサーバのLAN接続に使われるのは「1000BASE-T」という従来と互換性のあるツイストペア・ケーブルを用いる規格である。1000BASE-Tでは、カテゴリ5以上のグレードのケーブルが必要だが、これは100BASE-TXでも利用しているものなので、100BASE-TXからの移行が容易である*5。また、1000BASE-Tのインターフェイス・カードは既存の100BASE-TXと互換性を持っており、100BASE-TXとしても利用可能だ。
*5 日本のオフィスではネットワークの普及が比較的遅かった影響で、カテゴリ5以上のケーブルが使われていることが多い。そのため、配線を変更せずにネットワーク機器を1000BASE-T対応にそのまま交換するだけでギガビット化できるオフィスも多いと思われる。ただし、実際のところ1000BASE-Tには、エンハンスト・カテゴリ5やカテゴリ6のケーブルが望ましいとされる。 |
1000BASE-Tを導入する場合、最初からLAN全体を1000BASE-Tにしなくても、IAサーバとスイッチング・ハブ(あるいはレイヤ3スイッチ)の間を1000BASE-T対応にするだけで効果はある。これは、トラフィックが集中してボトルネックになりやすいIAサーバのネットワーク・インターフェイスが、100Mbits/sから1Gbits/sに高速化されるからだ。
■1000BASE-T対応製品の価格下落が引き金
こうした100BASE-TXから1000BASE-Tへのアップグレード(マイグレーション)が現実的になってきたのは2001年からである。それまでは1000BASE-T対応機器はかなり高価だったため、1000BASE-T対応ネットワーク・インターフェイスはIAサーバでもオプション扱いで、1Gbits/sの速度を必要とする場合にだけ対応ネットワーク・カードを追加する、というパターンがほとんどだった。しかし2001年に入って急速に1000BASE-T対応製品の価格が下がり、1000BASE-Tネットワーク・カードは1万円以下でも購入できるようになってきた。スイッチング・ハブはまだ高価だが、それでも1ポートあたりの単価は2万円程度に下がってきている。2002年になって1000BASE-T対応イーサネット・コントローラを標準装備するIAサーバも登場し始めており、今後増えていくだろう(こうした経緯は、過去にあった10BASE-Tから100BASE-TXへの移行とよく似ている)。
1000BASE-T対応イーサネット・カードの例 |
これはメルコのLCI-G1000T64という64bit PCI対応の10/100/1000BASE-T対応イーサネット・カード(メルコの製品情報ページ)。標準価格は1万4800円だが、姉妹製品で32bit PCI対応のLCI-G1000T32なら9800円で販売されており、1万円以下で購入できる。ほかのネットワーク・ベンダも、この価格帯の1000BASE-Tイーサネット・カードをすでにリリースしている。 |
1000BASE-Tイーサネット・コントローラはたいてい10/100BASE-TXもサポートしているため、IAサーバの導入時点でLANが10/100BASE-TXでも相互通信は可能だ(もちろん1Gbits/sのパフォーマンスは発揮できないが)。そのあとでIAサーバと接続しているスイッチング・ハブを1000BASE-T対応にすれば、IAサーバのハードウェア構成を変更しなくても1Gbits/sに速度を高めることができる。また、1000BASE-T対応のイーサネット・カードをとりあえず導入しておき、あとからスイッチング・ハブの価格が安くなるのを待つこともできるわけだ。
■ポイントは1000BASE-Tへ速やかに移行できるハードウェアであること
1000BASE-TがIAサーバに必要かどうかは、用途やネットワーク構成などに大きく依存するため、一般的な解はない。むしろ注目すべきは、IAサーバをスムーズに1000BASE-T対応にできるかどうかだろう。2002年度にIAサーバを導入するなら、1000BASE-Tに標準対応しているかどうか、つまり1000BASE-T対応イーサネット・コントローラをオンボード実装しているかどうかが、選択のポイントの1つとなる。もちろん拡張カードでも1000BASE-T対応は可能だが、小型ケースのIAサーバでは、数少ない拡張スロットの消費がデメリットとなる。
1000BASE-T標準対応のIAサーバの例 |
これはデルコンピュータのPowerEdge 1650という1Uラックマウント型サーバに実装されているイーサネット・コントローラである。拡張スロットは2本しかないが、1000BASE-T標準対応のため、ネットワーク以外の用途に貴重な拡張スロットを利用できる。この機種の詳細は「特集:高密度サーバはどこに向かうのか?」を参照。 |
また、1000BASE-T対応イーサネット・カードの性能を有効に引き出すには、IAサーバ側に64bit/66MHz PCIスロット(またはPCI-Xスロット)を必要とする(拡張バス/スロットについては「6. 互換性重視で高速化された拡張バス/スロット(1)」を参照)。これは1000BASE-Tで全二重通信の場合、それだけで約200Mbytes/sの帯域幅をPCIバスで消費してしまうからだ。64bit/33MHz PCIでも最大266Mbytes/sでやや心許なく、また32bit/33MHz PCI(最大133Mbytes/s)ではまったく力不足だ。それでも、100BASE-TXよりはネットワークとの通信速度を底上げできるだろうが、効率という点では64bit/66MHz PCI以上のスロットが望ましい。
逆にいえば、64bit/66MHz PCIスロットを十分なだけ装備しているIAサーバなら、必要になった時点で1000BASE-T対応イーサネット・カードを導入できるので、オンボード実装かどうかはそれほど重要なポイントではない(あとでカードを増設する手間やダウンタイムは問題になるが)。
複数のネットワーク・インターフェイスがIAサーバに実装される意味
最近のIAサーバには、2系統のネットワーク・インターフェイスを標準で装備している製品が増えている。また、サーバ向けネットワーク・カードでは2ポート搭載タイプをよく見かける。こうした複数系統のネットワーク・インターフェイスがIAサーバに実装される目的は複数ある。
■複数系統のインターフェイスにより障害発生時のバックアップを実現
その1つは、ネットワーク・インターフェイスの耐障害性を確保するためだ。つまり、ネットワーク・インターフェイスの一方が故障したり、ネットワーク・ケーブルが切断されたり、接続先のハブのポートが故障したりしても、もう1系統のネットワーク・インターフェイスを利用できるように切り替えることで、LANとの通信を継続する、というものだ(一時的に通信のエラーやリトライが生じるとしても)。
2系統のネットワーク・インターフェイスによる耐障害性向上の原理 |
このように1台のIAサーバに2枚のネットワーク・カードを装着しておき、普段はプライマリ側のネットワーク・カードで通信する。もしプライマリ側で障害が発生して通信がストップしたら、自動的にバックアップ側へ切り替えることで、ハードウェアをメンテナンスせずとも通信を復旧できる。このネットワーク・カードの動的な切り替えには、デバイス・ドライバ・レベルでサポートが必要であり、すべてのカードで実現できるわけではない。 |
この耐障害対策の一般的な実装方法は、ネットワーク・インターフェイスのデバイス・ドライバが、物理的に2個実装されているネットワーク・インターフェイスをOSには仮想的に1個として認識させ、障害発生時の切り替えなどの処理をOS側ではなくドライバ側で実行する、というものだ(OSI参照モデルのトランスポート層以下で切り替えられる)。つまりデバイス・ドライバでのサポートが必須であり、どのようなネットワーク・カードでも2枚あれば実現できる、という機能ではない。
したがって、この機能を利用できるネットワーク・インターフェイスの組み合わせも、デバイス・ドライバの仕様次第だ。例えば、同一品同士でないといけない製品もあれば、100BASE-TX対応カードと1000BASE-T対応カードといった組み合わせでもよい製品もある(いずれにせよメーカーが異なる製品同士では、この機能は利用できないはずだ)。また、故障発生時の切り替えにより、どれくらいネットワークとの通信が途絶するか、そのダウンタイムも製品によって異なるだろう。こうした点を事前にチェックしておきたい。
■複数のインターフェイスを論理的に束ねる負荷分散機能とは?
複数系統のネットワーク・インターフェイスが実装される目的としては、通信速度の向上も挙げられる。いわゆるロード・バランシング(負荷分散)の機能だ。複数のネットワーク・インターフェイスをIAサーバに搭載させ、すべて同一のスイッチング・ハブにケーブルで接続して*6、サーバ側では各カードにデータを分配して送信し、その一方でスイッチング・ハブが分配したデータを各カードで受信してまとめる、という手法である。これにより、ネットワーク媒体の最大速度に対して、インターフェイス数の分だけ最大速度を向上させることができる。拡張スロットが十分にあるなら、ネットワークのトラフィックが増えてきたらネットワーク・カードを追加して帯域を増やす、という具合にスケーラビリティが確保できるわけだ(最終的にはPCIバスの帯域がボトルネックになるので、青天井でスケーラビリティが確保できるわけではない)。
*6 1台だけではなく複数のスイッチング・ハブを束ねて複数のネットワーク・インターフェイスと接続し、1つの論理的な通信路とすることが可能な製品もある。 |
従来でも、サーバに増設したネットワーク・カードごとにLANを分割して接続することでトラフィックの増大に対応することはできた。しかし、それにはLANの分割とIPアドレスの再割り当てといったネットワーク構成の変更が強いられる。一方、ここで述べている負荷分散機能では、複数のネットワーク・インターフェイスを論理的に1つに束ね、OSからは単一のものとして扱えるため、ネットワーク構成は大きく変更せずに済む(後述するように、最初は対応スイッチング・ハブの導入が必要だが)。
この機能も、前述の切り替えによる耐障害対策機能と同様、ドライバ・レベルで実現されており、ドライバ・サポートが重要という点も変わらない。最大で何系統のネットワーク・インターフェイスを束ねられるか、といった点もドライバに依存する(一般的には4または8系統まで)。また、この負荷分散と耐障害対策はセットで実現されていることが多い。つまり普段の運用時は負荷分散で通信速度を高め、障害発生時には耐障害対策により通信回線を維持するわけだ。これも、前述のLAN分割方式にはないメリットである。
■スイッチング・ハブ側のサポートが必要
注意すべきは、接続先のスイッチ側にも負荷分散機能のサポートが必要な場合が多いという点だ。スイッチング・ハブとIAサーバ側の複数のネットワーク・インターフェイスとを接続して1つの仮想的な通信路とするには、そのための通信プロトコルのサポートが必要だからである。また、そのプロトコルの種類には、業界標準のIEEE 802.3ad(リンク・アグリゲーション)のほか、Cisco SystemsのGEC(Gigabit EtherChannel)/FEC(Fast EtherChannel)など複数あるのも厄介だ。したがって、メーカー側が動作確認を行ったスイッチング・ハブとネットワーク・インターフェイスの組み合わせを選ぶべきだろう。
1000BASE-T対応製品の台頭により、100BASE-TXを複数束ねて負荷分散により高速化する手法は、1000BASE-Tに置き換えられていくだろう。その方がパフォーマンスは高いし、導入コストの圧縮や管理の手間の削減が行えるからだ。今後、ネットワークの負荷分散機能は、1000BASE-Tをベースとして、それ以上のネットワーク通信速度(1Gbites/sを超えるスループット)を必要とする場合に利用されることになるだろう。
■サーバ間通信でも複数のネットワーク・インターフェイスは活用される
複数系統のネットワーク・インターフェイスが実装される3つ目の目的は、サーバの3階層モデル(詳細は1. IAサーバとは何か?参照)などにおいて、複数のサーバ間を接続するためだ。下図のようにフロントエンドやミッドティアに位置するサーバは、独立した2つのLANに接続する必要がある。特にフロントエンドに位置する高密度サーバでは、拡張カードより占有体積が小さくて済むオンボード実装で2系統とも標準装備する例が多い。
サーバの3階層モデルでは複数のLAN接続が必要 |
例えばフロントエンド・サーバの場合、ロード・バランサとミッドティア・サーバとの通信にそれぞれネットワーク・インターフェイスを1つずつ割り当てる必要がある。こうした用途を想定したIAサーバでは、標準で2系統のネットワーク・インターフェイスを装備している場合がある。 |
■
ギガビット・イーサネットや複数系統のネットワーク・インターフェイスの必要性は、もちろん用途やネットワーク規模、クライアント数などによって大きく変わる。だからこそ、こうした環境の変化に対応できる拡張性が必要になるわけだが、その上限は実装方法によってまちまちである。IAサーバを導入する際には、そのネットワーク・インターフェイスの仕様を調べ、どこまでスケールアップできるか確認しておきたい。
次のページからは、ディスク・サブシステムについて解説していく。
関連記事 | |
10万円未満の低価格IAサーバを斬る | |
高密度サーバはどこに向かうのか? |
関連リンク | |
LCI-G1000T64の製品情報ページ |
INDEX | ||
[特集]基礎から学ぶIAサーバ 2002年度版 | ||
1.IAサーバとは何か? | ||
2.多様なIAサーバ向けプロセッサを把握する(1) | ||
3.多様なIAサーバ向けプロセッサを把握する(2) | ||
4.大容量化するメイン・メモリを支える技術(1) | ||
5.大容量化するメイン・メモリを支える技術(2) | ||
6.互換性重視で高速化された拡張バス/スロット(1) | ||
7.互換性重視で高速化された拡張バス/スロット(2) | ||
8.ギガビット化が始まったIAサーバのネットワーク・インターフェイス | ||
9.ディスク・インターフェイスの基礎「SCSI」「IDE」を知る | ||
続編は5月22日付け公開予定
|
||
「System Insiderの特集」 |
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう - 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は? - IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか? - スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|