第2回目の連載では、コンピュータ内のフラッシュメモリの使われ方について基礎を解説しました。今回は、データセンターで使われるサーバーにおけるフラッシュメモリの使われ方やサーバー自体の進化の道をたどりながら、現代のビジネスに求められるインフラとしてのサーバーと、その重要な構成要素となってきたフラッシュメモリについて紹介します。

企業向けサーバーの進化

1960年代、IBMがシステム360という企業向けコンピュータシステムのメインフレームを開発しました。これを大手の企業がこぞって採用したことで、企業のコンピュータ室には大型のコンピュータが設置され、社内には端末と呼ばれる専用ターミナルが配置されるようになりました。ネットワーク構成も頻繁に変更する必要がなかったため、担当部署の人が特定のアプリケーションを決まった時間内に実行させるという、今から考えると牧歌的な状況でした。それが1990年代のダウンサイジングとクライアント・サーバーの時代を経て、企業内の大型メインフレームコンピュータは、UNIXサーバー、クライアント・サーバーモデル、インテルのx86アーキテクチャーを採用した安価なサーバーによるクラスターシステムへと変遷しました。ソフトウェアの分野では、分散処理と仮想化、そしてオープンソースとインターネットにより、開発されたオープンソースソフトウェアの技術を採用した革新に辿り着きました。

その中核となるのはサーバーであり、サーバーの進化については、CPUのマルチコア化と高速化、ネットワークの高速化、ストレージの分離と並列処理、また最近ではフラッシュメモリを活用したストレージの高速化と低価格化、が特徴として挙げられるでしょう。では、ダウンサイジングされたUNIXサーバーからx86ベースのサーバーに至るまでの進化の中で、ストレージとフラッシュメモリの関係はどのように変わってきたのでしょうか。

【サーバーの進化】その1「ストレージの分離」

1990年代にSPARCやPowerPC、MIPS、AlphaAXPなどの高速なCPUが登場し、そのCPUで処理するデータも大量になっていきます。サーバーもひとつのコンピュータとしてメモリやストレージが装備されますが、大量データをひとつのサーバーの筐体内に配置することは、負荷分散や故障などの障害時対応、そしてコストを考えると、妥当なアーキテクチャーではありませんでした。性能面では、ハードディスクドライブ1個あたり数百IOPSの限界がある中で、サーバに内蔵するだけではCPUからのIOリクエストに応答しきれませんでした。そこでストレージのみを分離し、ディスクアレイとして大容量化と負荷分散、および高い信頼性を実現するソリューションが1990年代半ばから現れはじめました。代表的なソリューションとしては、EMCのSymmetrixがあります。ストレージとサーバーの接続方式についても、サーバーに直接接続するDAS(Direct Attached Storage)やファイバーチャネルを利用するSAN(Storage Area Network)、イーサーネットを使って接続するNAS(Network Attached Storage)などが登場しました。

また、ハードディスクドライブそのものが低価格化したことに加え、安価なハードディスクドライブを冗長化するRAID技術により信頼性が向上し、ディスクアレイはさらに低コストかつ大容量になっていきます。

ハードディスク時代のストレージの変遷

【サーバーの進化】その2「オールフラッシュ化」

そしてフラッシュメモリは、サーバー内に取り入れられるようになります。サーバーシステムにおけるフラッシュメモリの使われ方には、従来のハードディスクドライブへのアクセスを高速化するひとつの方法として、PCI Expressなどで接続されたフラッシュメモリモジュールを使う「サーバーサイドフラッシュ」があります。CPUからの広い帯域幅を持つため高速ではあるものの、サーバー単位でフラッシュメモリを装着する必要があるため、比較的容量が少ないこと、障害時にはサーバーを停止しなければいけないというなどの欠点がありました。

2000年代後半には、当時はまだ容量単価の高かったフラッシュメモリと廉価なハードディスクドライブを組み合わせたソリューションが登場します。デバイスレベルでは、ハードディスクドライブの中にフラッシュメモリを組み込んだ「SSHD(ソリッドステートハイブリッドドライブ)」があります。 また、 ハードディスクで構成されたRAIDコントローラにSSDをキャッシュ用途として搭載するサブシステムや、ストレージアレイの中でSSDとハードディスクを混載するハイブリッドストレージアレイも普及しています。さらに近年、フラッシュメモリが低価格化・大容量化したことによって、ストレージアレイのすべてのストレージをSSDに置き換えた「オールフラッシュストレージ」も話題になっています。オールフラッシュ化することによって、消費電力や発熱が減少し、信頼性が向上し、そしてなによりもハードディスクドライブによるストレージよりもずっと高速になります。

【サーバーの進化】その3「コンバージドからハイパーコンバージドへ」

ストレージアレイは、データの保存場所であるストレージをサーバーから分離することで高性能と大容量を実現しながら、故障時にもシステムを停止せずにストレージを交換したり、容量を増加したりすることができます。ストレージアレイの多くは二重化されたコントローラを持ち、コントローラ間で書き込みデータを同期し、不意の停電時や障害時にもデータを保護する高い信頼性があります。このストレージアレイと、二重化されたネットワーク、サーバーおよび仮想化ソフトウェアを最適な検証済み構成として組み合わせ、サポートを1元化したた「コンバージドインフラストラクチャー」が各社からリリースされています。

そして、仮想化されたコンピューティング環境のもと、コンピュート、ストレージ、ネットワークの機能を すべてx86ベースのサーバー上でソフトウェアによって実現し、負荷分散やストレージのプール化、拡張性を実現したのが「ハイパーコンバージドインフラストラクチャー」と呼ばれるサーバー製品です。CPUリソースやストレージ容量を追加する際に複雑なシステム構成の変更を必要とせず、単純にサーバーを追加するだけで容易に性能や容量を増大させることが可能であることが一般的な特徴です。

【サーバーの進化】その4:アプリケーションは仮想化へ

サーバーの進化中、1度は分離されたストレージがより柔軟なシステムに変貌し、コンバージドからハイパーコンバージドという統合されたものに戻ってきたともいえますが、ストレージをどのようにシステムの中に配置するかは、アプリケーションのI/Oニーズに合わせて検討することが重要です。そして、多様なサーバーシステムの中でもフラッシュメモリが主要なストレージデバイスとして位置づけられていることを考えると、これからのサーバーシステムの選択においては、最優先すべきストレージデバイスといえるでしょう。

サーバーが様々な形態で変化してきたのと同様に、サーバーで稼働するアプリケーションも変化しています。1番大きな変化は、多くのアプリケーションが仮想マシンの上で稼働していることでしょう。このような状況になった理由として、マルチコア化・マルチスレッド化された高速なCPUの持つ性能を最大限利用するために最適であることが挙げられます。また、CPUやIOモジュールの仮想化への対応が進んだことによってオーバーヘッドが少なくなり、性能面で物理サーバーに引けをとらなくなってきたことも要因のひとつでしょう。

企業における情報システムのコンピューティング環境が、メインフレームからクライアント・サーバーモデル、サーバーとストレージの分離、コンバージドまたはハイパーコンバージド、仮想化、さらにはクラウドへと変化していく中で、ハードディスクドライブ時代にCPU性能と乖離していたストレージの性能は、大容量化・高速化・低価格化に向かっています。特に高速化と大容量化により、フラッシュメモリは仮想化されたサーバーシステムにおいて主要なデバイスになったといっても過言ではないでしょう。

フラッシュメモリ時代のストレージの種類

それでは、仮想化されたアプリケーションとそれに対応したサーバー、およびストレージシステムはどのような構成があるのでしょうか。次回はストレージアレイの種類、DAS、SAN、NASについて、より詳しく紹介したいと思います。

(マイナビニュース広告企画:提供 ティントリジャパン)