PR
IPとFCを統合する FCoE(Fibre Channel over Ethernet)
文:渡邉利和
FCoEの概要
FCoE(Fibre Channel over Ethernet)は、ハイエンドのネットワークストレージの接続に使われているFC-SAN(Fibre Channel Storage Area Network)のトラフィックをIPネットワークのための物理メディアであるイーサネット上でやりとりするための規格である。想定されているイーサネットは10Gbpsの世代だ。
FC-SANは、IPネットワークとは完全に独立したストレージ接続専用のネットワークとして発展し、順調に高速化を達成してきた。メディアとして、高価で取り扱いに注意が必要な半面、安定した高速度を実現しやすい光ファイバを使用してきたことも、ストレージ側の機能要求に沿ったものだったが、サーバー管理者の立場からは導入障壁ともなっていた。IPネットワークとはまったく異なる技術が要求されるFC-SANを導入すると、誰が管理するのかという点がまず問題になる。米国などではサーバー管理者、ネットワーク管理者と並んでストレージ管理者が存在することも珍しくないというが、日本ではストレージの管理に習熟した専門技術者が、ユーザー企業内に存在することはあまり期待できないだろう。また、IPネットワークとは独立にFC-SAN用にワイヤリングを行うことの負担も無視できない。特に最近ではサーバーの実装密度が高まっており、ラック内に大量のサーバーが集中実装される。ここに多数のケーブル/ファイバが集中することは、単に管理が煩雑になるだけではなく、その重量や体積も問題として浮上してくる。束になった大量のケーブルはラックのバランスを崩しかねないほど重くなり、さらに大量のケーブルがエアフローを阻害し、冷却効率を下げることにもなる。
こうした事情を踏まえ、SANをIPネットワークと統合するという需要は根強く存在していた。IPネットワーク上でファイルアクセスを実現するネットワークファイルシステムは古くから実用化されており、専用ストレージシステムとしてNASも製品化されている。また、SANとIPネットワークとの統合の試みとしてはIP-SAN(iSCSI)もある。ただし、ミッションクリティカルなデータを扱う場合は、データやパフォーマンスを保証するというストレージ側の要求仕様には十分応えていなかった面がある。これに対し、ミッションクリティカルな用途におけるストレージ側の要求仕様を踏まえて規格化されたのがFCoEだと考えてよいだろう。
FCとイーサネットの技術的差異
ファイバチャネル(FC)によるストレージアクセスでは、最上位のプロトコルとしてSCSIプロトコルが利用されている(図2)。SCSIは、かつてはPCでもストレージデバイスの接続に利用されていた規格で、長い歴史を持つインターフェイスだ。複数のデバイスから共有されるバスを持つ、共有バス型のインターフェイスとなる。
イーサネットもバス型のネットワークだが、アクセス制御の考え方がSCSIとはまったく異なり、「バスを専有する」という発想は存在しない。送信側は、受信側が正しくパケットを受信することを期待してパケットを送出するが、受信側は送信側のパケットを待っているとは限らない。他の通信相手と通信中かもしれないのである。かつてのイーサネットでは、アクセス制御方式として“CSMA/CD”(Carrier Sense Multiple Access with Collision Detection)という方式が使われていた。ごくおおざっぱに説明すると、「バス上にデータが流れていない(バスが空いている)ことを検出した送信元は、そのままデータの送信を開始する。仮にほかのノードも送信を始めてしまった結果バス上でデータの衝突(混信)が起こったら、送信を中止してしばらく待ち、再実行する」というやりかただ。少々乱暴な手法のように思えるかもしれないが、こうした簡略な制御を維持してきた結果、イーサネット対応機器は圧倒的な低コストを実現し、広く普及している。CSMA/CDは、ネットワークの高速化に伴って実装が困難になり、10Gbpsイーサネットでは廃止されている。それ以前に、100Mbpsイーサネットの時代にスイッチングハブが普及したことでノードとスイッチの間は事実上ポイント・ツー・ポイント接続に切り替わっており、パケットの衝突が起こることはほぼなくなっていたが、同じノードに対して同時に複数の送信元がパケットを送出する、という状況が起こり得る点は変わっておらず、処理しきれないパケットは途中のスイッチで捨てられる可能性がある。これが、パケットの再送につながる。
一方、SCSIは「バスアービトレーション」と呼ばれる調停メカニズムを採用し、データの送信を開始する前にまずバスの占有権を取得する。アービトレーションの過程で送信元と受信相手が合意を形成し、かつバスを共有するその他のデバイスに対してはバスの専有を宣言することになるため、データの衝突はそもそも起こらず、安定した通信が可能になる。通信速度に関しても、バスを専有できることで利用可能な帯域幅をフルに活用できるし、送受信者双方の合意に基づき、利用可能な最大速度で確実にデータ転送できることが保証される。
FCoEでは、FCのデータをイーサネットフレームにカプセル化することで、上位層には変更を加えず、物理層だけをイーサネットに置き換える(図3)。しかし、このままでは物理層のイーサネットで「信頼性の低さ」はそのままであり、確実な伝送保証は期待できない。イーサネットでの基本的な考え方は、衝突やパケットロスを未然に回避するために緻密な制御を行うよりも、“失敗したらやり直せばよい”という方針で単純化するほうがトータルではメリットがあるというものだ。このコンセプトの有効性は、より高度な制御を実装した他のネットワーク方式を駆逐し、事実上の標準ネットワーク規格として広く普及していることからも分かるだろう。とはいえ、その成功の背景には、同じく主流として広まっているTCP/IPネットワークの主な用途が情報系のコンピュータコミュニケーションであり、一度に大量のデータのやりとりをすることがあまりないという事情もある。しかし、ストレージネットワークではまとまった量のデータを一気に送受信することが珍しくないため、パケットロスによる再送を繰り返すことのデメリットが極めて大きくなってしまう懸念がある。この点が、これまでFC-SANがイーサネット+TCP/IP環境とは独立に構築/維持されてきた理由として大きな部分を占めている。
SANとイーサネット+TCP/IP環境の融合の試みとして、IP-SAN(iSCSI)が先に実用化されているが、iSCSIはSCSIプロトコルをIPパケットにカプセル化して伝送するという規格であり、イーサネットの信頼性の低さをそのまま受け入れる形となる。既設のイーサネットをそのまま利用できる手軽さは強みとなるが、転送速度はIPネットワークに依存するため、現状では1Gbpsが主流であり、ファイバチャネルより低速である。また、社内の既存のIPネットワークと共用する場合は、ネットワークに負荷がかかり、ネットワークの混雑に直接的に影響を受けてしまう点が弱点となる。このリスクを受け入れられるかどうかは、どのような用途のストレージを接続するかにも依存する。これまで、大企業やデータセンターでFC-SANが使われてきたのは、ブロックアクセスを必要とするデータベースなど、基幹系システムとなるため、ここでは大量のトランザクションを確実に処理できる信頼性と予測性の高さが求められるためだ。iSCSIの実運用の現場では、サーバーのコミュニケーションネットワークとiSCSIのネットワークを分離し、iSCSI専用のネットワークセグメントを用意する形がよく見られるが、こうした工夫によってもパフォーマンスの想定外の劣化を完全になくすことは難しい。こうした事情からか、iSCSIはパフォーマンスよりもコストを重視した安価なSANソリューションとして実用化されており、ストレージベンダ側も中堅・中小企業向けとしてiSCSI対応製品をそろえている。
FCoEは、CiscoやBrocadeといったSANスイッチベンダが主な推進役となって標準化に取り組んでいる規格である。現時点ではまだ採用に向けたストレージベンダ側の対応は本格化していない状況だが、実運用上はあまり問題になりそうもないのは、現状でFCoEを利用しようと考えた場合、現実的に候補に挙がるのはFCoEとFC-SANの両インターフェイスに対応したスイッチのみだからだ。このため、サーバーとSANスイッチの間はFCoEで接続し、SANスイッチとストレージの間は従来通りのFC-SANで接続する、という対応が可能になっている。とはいいながら、ストレージ側の要求仕様を熟知したSANスイッチベンダが主導した規格だけに、技術的にイーサネットの問題点を回避する策がちゃんと盛り込まれているのもFCoEの特徴となる。




