NTC Newtechデータで未来をつなぐ

コストダウンから始まるサーバとストレージの分散化お客様へのRAID関連コラムをご紹介します。

本ページに記載された技術情報は記事が出稿された時期に応じて推奨システムに対する考え方や実現方法が書かれています。
したがって、最新技術でのシステム構築を前提とし、この情報を利用する場合、その記事が時代に沿わない内容となる事もありますので予めご了承ください。

 

近年、RAID 装置のコストダウンは、ATA-RAID の出現で急速に進んでいます。以前は、高価なイメージの強かったRAID 装置は、複数のホストコンピュータでの共有利用も多く、一台のRAID コントローラが管理するハードディスクも数十台と大規模なものが主流でした。しかし、そのリスクの大きさと、パフォーマンスの頭打ちに気づき始めたのは最近ではないでしょうか?ここでは、サーバとストレージの分散化によるパフォーマンス改善と、その環境に合わせたシステムアップを解説します。

 

分散サーバのメリット

●大量生産されるPC ベースサーバであるため低コスト

受注生産されるハイエンドサーバと比較して、コスト面で圧倒的に有利。

●時代に見合った処理能力に合わせてサーバの増設が容易

ハイエンドサーバでは将来見込まれる処理量を見込んだグレードの製品を選定しなければならない(CPU 拡張スロット数など)。したがって必要以上の先行投資をせざるを得ない。

●システム停止など最悪のトラブルに対し被害を最小限に抑えられる

集中処理サーバでは、システムのどこかにトラブルが発生した場合、全てのサービスが被害を受ける。もちろんクラスタリングによる冗長性確保は可能ではあるが、その設備には二倍以上の投資が必要。分散サーバではトラブルを発生しても、一部のサービスのみに被害が発生するだけなのでリスク分散となる。

●安価な周辺機器を採用できる

RAID 装置を含め、量産されている周辺機器は、サーバ本体と同様にコスト面で有利である。

 

大型の集中管理型サーバとストレージ

ストレージ分散化へのニーズ

 

従来型の構成例

ハードディスクを数十台実装したRAID装置は高価です。近年、RAID 装置のコストダウンによってトレンドは大きく変化し、サーバの分散化と同様に、ストレージにも分散化のニーズが大きくなっています。

特にストレージの速度性能はシステムパフォーマンスに大きく影響するため、例えばデータベース専用の単機能サーバにおいても、目的に応じてボリュームを細分化し、個々にRAID 装置を設置するといった構成です。

トランザクションの少ないデータベースであれば、従来型の構成でも十分に機能を満たしますが、大量のトランザクションの処理が必要になった場合、メモリ増設が一番有効ですが、次はCPUのグレードアップよりもストレージのパフォーマンスアップの方が何倍も効果的です。

最近のトレンド

これは、かなり極端で贅沢な例ですが、個々の目的に応じてRAID 装置ごとにボリュームを分散させた場合、ランダムアクセス成分が少なくなり、それに加えRAID コントローラ一台あたりが管理するハードディスクも少ないため、キャッシュヒット率も格段にアップします。また、SCSI やFC バスも分割すると、よりパフォーマンスアップにつながります。

 

分散ストレージのメリット

●RAID コントローラの管理するハードディスクが少ない

8台程度の少ないハードディスクによる単純なRAID 構成によって、コントローラオーバーヘッドを削減し、その結果パフォーマンスアップにつながる。

 

●キャッシュメモリーのヒット率アップ

トランザクション内容が目的に応じたRAID 装置に集約されるため、キャッシュヒット率が格段にアップする。

 

●大量生産型のミッドレンジRAID を利用できる

少量の受注生産タイプの大型RAID 装置に比較し、ミッドレンジの量産タイプは低コストを実現する。

 

●処理能力はコントローラの数に比例する

コントローラ性能が150MB/s を実現するハイエンドシステムに対しても、たとえ50MB/s 程度のパフォーマンスしか持たないミッドレンジシステムを複数台利用すればハイエンドシステムのパフォーマンスを超えることが可能。

 

●管理するボリュームサイズが小さいためトラブル復旧が容易

例えばボリュームに対し、バックアップなどのメンテナンスを必要とする場合や、障害が発生した時の復旧はボリュームが大きければ大きいほど手間と時間がかかります。

 

以上のように分散サーバ化と重複する点も多いのですが、RAID のコストダウンに伴いストレージ装置にも同様に分散化のニーズが増えています。

 

サーバの階層化

分散サーバから一歩進んだサーバの階層化も今後のトレンドです。サーバの階層化とは、アプリケーション単位での分散化に留まらず、システムの処理単位でプロセスを分割し、その階層化によって冗長性の確保と総合パフォーマンス向上を実現します。下図はHTTP システムの階層化例です。

 

ノンストップでのメンテナンスにも有利

個々の処理は、複数に分散化されたサーバで並行処理されるため、特定のサーバに故障があってもサービスを停止することなくメンテナンスできます。

 

システム拡張が容易

この数年、速いペースでインターネットが拡張され続けており、システムアップ当初に見込んだ処理性能が、ほんの1年で不足してしまう程、短期間での進化を遂げています。処理分散され、そして階層化されたサーバ環境であれば、その時点で必要とされる部分のみに、いつでもシステム拡張が容易に行なえます。

 

安価な導入コスト

大量生産される安価なサーバによる巨大なクラスタは容易な導入コストを実現し、そしてスーパーコンピュータ以上のトランザクション処理能力を持つシステム構築も可能です。

 

負荷分散レイヤー

インターネットから要求されるHTTP サービス(ホームページなど)を負荷分散装置が空いているサーバーを選んで処理を分散します。もちろん、故障しているHTTP サーバがあれば、そのサーバにはパケットが転送されないので、冗長性が確保されています。また、このHTTP をアクセスするユーザーからは、あたかも1 台のサーバがサービスしているように見えます。

 

――緑色の線はHTTP パケットの流れです。
 

サーバーの階層化例

アプリケーションレイヤー

HTTP サービスなどを分散された処理を複数のサーバで実行します。このレイヤーのサーバが利用するデータは、ストレージサービスレイヤーにあるData Base やFile サーバから読み込みます。また、全てのHTTP サーバは、Data Base やFile サーバに対し、常に同一のデータを読み込めるようになっています。

 

――オレンジの線はODBC (Data Base )のパケットの流れです。
――ブルーの線はNFS のパケットの流れです。

 

ストレージサービスレイヤー

このレイヤーのサーバは冗長性確保のために、複数のサーバーをクラスタリングします。クラスタリングされるData Base やFile サーバは、それぞれの組で同一ストレージ(RAID )をアクセスします。また、このレイヤーにはバックアップサーバでの統合されたL A N フリーバックアップの設置をお奨めします。さらに、このレイヤーでのストレージ増設は、アプリケーションレイヤーのサーバからは全く意識する必要が無いので、システム拡張も容易です。

 

――紫色の線は、Data Base やFile サーバからのブロックアクセスです。
――茶色の線は、バックアップサーバからのブロックアクセスです。

 

分散化の要求コストに応えるATA-RAID の信頼性

RAID システムの障害は、ディスクや電源などの消耗部品が大半を占めますが、それ以外にはハードディスクを制御する、内部データバスのトラブルが多くあげられます。実は、この内部データバスの信頼性がRAID システムの冗長性確保において最も重要といえます。一般には、RAID 装置導入においてSCSI ベースであれば信頼性が高いと評価されがちですが、本来、RAID 装置はディスク障害に対する冗長性を持っているので、ディスク障害がシステムを停止につながることはありません。つまり、信頼性の点では、どのタイプのディスクを採用しているかは、あまり重要ではないのです。

 

重視すべき点とは、システム停止につながる障害を、いかに抑えるかにあります。特に内部データバスにおけるトラブルは、その発生率も高くシステム構成によってはシステムダウンにつながる場合があります。そのシステム構成とは、一つのバスを複数のハードディスクで共有している場合でその障害内容にもよりますが、一台のディスクトラブルが他のドライブのアクセスを阻害し、結果的にシステムダウンにつながるといった点です。

 

下図が示す「バス共有型」のシステムは、一般的に内部のデータバスがSCSI のRAID システムに多く採用されています。この例では、2CH のSCSI バスにそれぞれ4 台ずつのハードディスクが接続され、RAID を構築していますが、一台のハードディスク故障がSCSI バスを制御するIC に起因すると、他のハードディスクのアクセスを阻害し、最悪の場合はシステムサービス停止につながることもあります。

 

バス共有型の場合

こういった「バス共有型」の問題点を解決する「バス独立型」は、下図に示すようにバスがハードディスク毎に物理的に独立しています。これによって、ハードディスクの障害が他のアクセスの阻害となる事が無く、RAID システムの信頼性強化に大きくつながります。このような「バス独立型」はSCSI でも可能なのですが、その構成にはコストが多くかかるため一部の高級RAID のみに採用される程度でした。しかし、全てのパソコンに実装され量産効果の高いIDE インターフェースが、RAID の内部データバスに採用されるようになって、「バス独立型」の構成も一般化されるようになりました。

 

バス独立型の場合

ラックマウント化へのニーズと注意

サーバの分散化によって、複数のサーバを設置する場合に問題となるのは、限られた設置スペースとなります。従来のようにフロアスタンドタイプやデスクトップタイプでは、デッドスペースも多く必要以上の設置スペースを要するため、EIA 規格の19 インチラックへのマウントが一般化しています。ラックマウントする設備の場合は、その規格に沿った製品が用意されており、サーバ機やストレージ機器もラックマウント専用モデルがあります。その中でも特に高さの低い1U サイズの機器で冷却能力や筐体の強度の点で問題になる場合が多くあります。

1U サイズは機器単体に高さが無いために大型ファンの取り付けられない点や、内部スペースの都合で熱がこもり易いために、システムの安定動作が確保できないトラブルが多くあります。また、機器の単体テストにおけるトラブルはなくても、ラックへの実装後に複数台重ね合わせたサーバ同士の発熱が影響しあい動作が不安定になってしまうケースもあります。また、薄型となる筐体の性質から運搬時に歪んでしまうトラブルも多くあります。もちろんRAID 装置にも、この冷却性能や筐体強度は大切です。特にメカニカルなハードディスクを主部品として使われるストレージ機器は冷却性能によって、そのシステム寿命に大きく差がでるため、高密度実装における信頼性テストが十分に行なわれ、そして運送による歪みが起こらない、筐体強度をもった装置の選択が必要です。

 

(2001年5月掲載)