容量激増サバイバルガイド


パフォーマンスを犠牲にせず、容量を最大限に活用するための、ストレージシステムの測定、監視、保守方法とは?


Logan Harbaugh
Storage Magazine 2017年2月号より

 

データセンターの外のビジネスの圧力によって、ストレージ・パフォーマンスが低下したために、いきなりゼロイングを行うといった拙速な判断が横行していないだろうか?焦るあまりストレージ・ネットワークを全て新規のより高速な接続にアップグレードしたのに、何も改善されていないという事実に直面するなどという事が起こっていないだろうか?何故って?本当の問題は、個々の接続スピードなどではなく、あまりにも多くのサーバーがネットワークからデータを要求するために生じるレイテンシだからだ。

エンドからエンドへのアプリケーション・パフォーマンスを、できるのであればトラッキング履歴機能を持ったシステムで計測するのが、パフォーマンス低下の原因が何によって起こっているかを正確に把握する、唯一の現実的方法である。データが時間を経るにつれどのように動くかを見るために、データの収集は数日間、数週間あるいは数か月間にわたって行われる。そうすると、朝8時のユーザー・ログインや深夜の週次バックアップなど定期的なイベントによって発生する周期的なスパイク(データの急増)が特定できる。と同時にネットワーク帯域の消費傾向も特定できる。このようにして、現在ストレージに悪い影響を与えているものをゼロイングする以外に、傾向と将来の潜在的な問題を関知することができ、多分これらが本当に問題になる前に手を打つことだってできるかも知れない

ストレージ・パフォーマンス問題の発端は往々にして、データストレージ容量の増加、またはデータストレージ容量を最大限に利用しようとする取り組みと密接に関連している。幸いなことに、ストレージ管理製品は多くの場合、つまらないストレージの問題を解決し予防するのを手助けしてくれるだけでなく、パフォーマンスに悪影響を与えずに実容量を増やす手助けをしてくれるツールを備えている。

 

容量のゼロイング

ストレージ管理ソフトウェアは、システム上に無くてもよいファイルを見つけたり(仕事のフォルダーに数TBもある家族の動画を保存しておく必要が本当にあるのか?)、長い間開かれなかったファイルを古くて遅いストレージに移したりすることで、データストレージ容量の管理を手助けしてくれる。また、容量が足りなくなってきたときは、大きなファイルや特定のファイルタイプ(.mpegや圧縮ファイルなど)を検索、移行または削除し、プライマリからセカンダリ、ターシャリ(三次)またはその他のストレージに移行できる。

Windowsのツールを使えば手動で検索ができるが、アレイベンダーやサードパーティから出ているストレージ管理ソフトははるかに多くのことができる(コラム「商売道具」参照)。これらのソフトには、業務時間外の柔軟な検索、また例えば一定のサイズを超えるファイルが自動的に削除される前に、移動が必要なファイルをエンドユーザーに警告する機能などが備わっている。圧縮ツールはWindowsでも使えるようになっており、ストレージシステムやストレージ管理ソフトにも入っているかも知れないが、書き込みによる遅延のために圧縮がパフォーマンスに悪い影響を与えないように注意が必要だ。さらに、1バイトでも変更があった場合は必ずファイル全体を解凍し再圧縮しなければならないので、ファイルシステム全体のパフォーマンスへの影響は不均衡になる可能性がある。 

ティアリングツールは、ファイルを移動し新しい場所のポインターを残す機能を持っている。そのため、ユーザーがあるファイルの以前の場所をクリックしたとき、ファイルは異動後の新しい場所から開かれる。別なやり方として、数個の異なるストレージシステムを連結する単一の名前空間を作ることもできる。これにより、ファイルがどこにあろうとファイルアクセスはユーザーにとって完全に透過的になる。ティアリングツールの中には、ファイルを経費がずっと安いクラウドに移動し、必要なときに戻す機能を持っているものもある。

 

ティアリングとパフォーマンス

キャッシングとティアリングは共通するものがある。常にアクティブな10%のデータに対してキャッシングやティアリングが十分な領域を与えておけば、下位のティアに保存されている全てのデータは効率よく、上位のティアと同じパフォーマンスを発揮する。これは、全てのデータは高速な10%から提供され、必要になったデータはその都度下位のティアから上位へと移されるからだ。

この方法はティアが3つ以上になっても有効だ。例えば、容量10TBの半導体ストレージティアは、高速ハードディスク100TBのティアの上位層として機能し、その高速ハードディスクは大容量ハードディスク1PBのティアの上位層として機能し、その大容量ハードディスクはクラウド10PBのティアの上位層として機能する。かくして、アプリケーションは、ストレージ基盤内の全体容量11.1PBのデータから、効率よく半導体ストレージティアのパフォーマンスを享受できるのだ。 

ここで重要になるのは、ファイルの一部が要求された段階でそのファイル全体を持ってきて、必要に応じてデータを次々とティアからティアへと移行させる、予測機能を持ったソフトウェアだ。大規模なアレイはこの手のツールをストレージコントローラーに組み込んでいる。あるいは、DataCore SANsymphonyのようにこれらのソフトウェアを製品としてハードウェアとは別に購入することもできる

 

ベストプラクティス

ユーザーの中には、数GBあるいは数TBの音楽、動画などのファイルを会社のストレージに保存する者もいるので、使用中のストレージ全体に占める、ファイルの種類別パーセンテージを定期的に収集しておくべきだろう。ストレージリソースのこのような無駄使いを見つけ出し、これらのデータをどこか他所へ移動するためだ。既存のストレージアレイに入っているソフトウェア、またはVeritas InfoScale Operations Managerのような独立したストレージ管理アプリ、あるいはスプレッドシートとサーバーOS標準のプロパティ機能を利用したファイル履歴の手動管理など、ストレージの使用状況の管理が正確かつ定常的に行われていさえすれば、どれであっても方式は問わない。 

さらに言えば、会社のサーバーに音楽ファイルを入れないようにユーザーに注意したり、古いファイルをアーカイブしたり、といった「公式の」データ運用ポリシーを決めるのは、物事の手始めとしては良いことだ。公式のデータ運用ポリシーは、ユーザーが無限に溜め込んでもいいと思っていたデータが、クリーンアップによってある日削除されたときにあなた(データ管理者)の立場を守ってくれるだろう。

ユーザーと揉めないための簡単な方法のひとつは、手動またはティアリングソフト(こちらの方が好ましいが)を使って、古いもの、使われていないもの、無効、あるいは不適切なデータをセカンダリまたはターシャリ(三次)ストレージに移動することだ。あなたのSANやNASのシステムがこの機能を備えていないのなら、SANsymphonyのような独立した自動ティアリングのソフトウェアを買うこともできる。これらのソフトは、古いストレージをセカンダリティアとして使えるようにしてくれるので、そこに特定のタイプのファイルやしばらくアクセスがないファイルを移動できる。これにより、新しくてパフォーマンスの高いストレージは本来のタスクに専念できるようになる。 

 

メンテナンス 

他のコンピューターシステムと同じように、ストレージも通常古くなるにつれて遅くなっていく。導入当時は数名のユーザーと数千個のファイルだけをサポートして非常に高速だったファイラーも、ユーザー数が1,200名、ファイル数が4千万個になれば、いくらディスクに十分な空きスペースがあるように見えても、以前と同じようには動かないだろう。CD-ROM千枚のイメージはディスクスペースとしては、わずか数TBにすぎないかも知れないが、ファイルの数と個々のイメージの大きさはファイルシステムのパフォーマンスを低下させ、ストレージが使うシステムメモリの量を増加させるかも知れない。 

この種の問題を見つけ、管理者に知らせてくれる管理ツールを買えば、それはすぐに元が取れる。また、いったん失われた効率を復活させることで、新規のハードウェアの購入を先延ばしにできるケースも多いと思われる。これらのツールは、ストレージシステムに同梱されていることが多いが、スタンドアローンの監視ツールとしてはSolarWinds Storage Resource MonitorやCloudera Enterpriseなどがある。 

ファイルを削除したり、オーバーヘッドを減らしたりする以外にも、新規アレイを買わずに既存ストレージのレスポンスを高速にする方法がある。そのひとつは、Permabit社Enterprise Flash Caching ApplianceやCirrus社Data Caching Serverなどのオールフラッシュのキャッシュ・アプライアンスをサーバーとストレージの間に設置することだ。

最もよく使われるデータをキャッシュに置き、古いストレージの代わりにキャッシュから提供することにより、アプライアンスは比較的少ないコストで既存ストレージのパフォーマンスを透過的に改善してくれる。キャッシングは要求に応じてデータを出し入れするので、データの保持は一時的なものだ。それに対して、ティア0システムとは、高速ストレージによる永続的な層の追加だ。ティアリング・ソフトウェアによってティア0レイヤーにキャッシュの役割を負わせることもできるが、本来のキャッシュと違って自動的にデータの出し入れは行わない。 

あなたが持っているストレージがSANかNASかにもよるが、ストレージのシェルフかモジュールを追加し、組み込まれているティアリング機能を使うことで、上記を実現できる場合もある。また、キャッシュか自動ティアリング・ソフトウェアとノーブランドのオールフラッシュ・ストレージサーバーを追加して、自製のキャッシュ・アプライアンスまたはティア0を動かしてみたい、と考えているユーザーも、たいていの場合上記と同様のことをより廉価に実現できるだろう。 

 

既存アレイの機能拡張 

単一ベンダーに対する投資は、モジュール、ディスクシェルフ、新規クラスターノードの追加という形で行われるのが通例だ。ストレージベンダーは多くの場合、既存顧客に値引きをしてくれるし、新製品を入れるときのようなトレーニングは不要だ。とはいうものの、新しいディスクシェルフの接続スピードを既存アレイのコントローラーがサポートしてないという事態に行きあたるかも知れない。そこまでではなくとも、ハードウェアの追加アップグレードのために、ストレージコントローラーを何時間もオフラインにして、且つ新しいレベルのサポートも購入する必要が出てくる。 

新しいストレージシステムを追加し、既存のシステムと新規のシステムを統合するストレージ管理ソフトウェアを使った方が、長期的には簡単で安上がりかも知れない。最新の技術に追いつけていない既存システムのベンダーに縛られているよりも、この方が、数年ごとにその時点で高い評価を得ているシステムを購入できる、というメリットもある。 

これに関連するが、やや手狭なストレージシステムを買っておいて、価格が下がり、容量が増え、パフォーマンスが良くなるのを待って追加ディスクを購入するという目論見は、増え続けるデータストレージの容量に対して一見有効な戦略に見えるが、購入の間隔が四半期ごとか毎月くらいの非常に短い期間でない限りこの戦略は成り立たない。これより長い間隔になると、例えば2年前の筐体に適合するディスクを見つけるのが不可能になるかもしれない。5年前の筐体ともなれば言わずもがなだ。

ユーザーが最初に購入する容量を超えたフルの容量を積んだストレージシステムについても、同じことが言える。追加のストレージが必要になったら、アレイベンダーからロック解除のためのキーを購入するだけだ。とは言うものの、追加の容量が必要になる頃には、その量は最初に購入した容量の何倍にもなるケースが多い。典型的なキャパシティ・オンデマンド・システムを利用して、あなたが最大100TBの容量を持ったストレージシステムの50TB分を購入したとしよう。残り50TBのロックを外す状況になった頃に、あなたが本当に必要な容量は250TB、いや500TBだと気付くはめになるかも知れない。 

 

商売道具

Windows Serverやあなたの既存ストレージには、問題の原因特定やデータストレージ容量増加の手助けをするために、アプリケーションのパフォーマンスを測定するストレージ管理ツールが入っていたとしても、それでもあなたはサードパーティのツールを買いたいと思うかも知れない。あなたのストレージにストレージ管理ソフトウェアが入っていたとしても、大抵はベンダー独自仕様であり、そのベンダーの現行ストレージの管理機能しか提供しないものである可能性が高い。

サードパーティ・ツールは、複数ベンダーのハードウェアを横断的に測定・管理することができる。ストレージティアの追加やストレージの一部をクラウドへ移行する作業の手伝いも可能だ。サードパーティのストレージ管理製品には、DataCore SANsymphony、Veritas InfoScale Operations Manager、SolarWinds Storage Resource Monitorなどがある。ほとんどのベンダーは30日の試用期間か限定機能バージョンを提供しているので、ユーザーは購入前に、その製品が自分のニーズに合っているかを試すことができる。

なかには、ストレージの監視からクラウドストレージ・ゲートウェイの役割までこなす、データ管理機能を提供するアプライアンスもある。多くの場合、この手の製品は試用のために仮想マシンとしてインストールすることができ、中身を見て、その機能が気に入ったら、ハードウェアアプライアンスとして別途購入することができる。

 

 

クラスター型ストレージ:拡張型システム 

ハードウェアの互換性を気にせずに、ストレージを拡張していける方法のひとつが、クラスター型ストレージだ。たくさんのストレージノードに分散したシステムがその方式の一例だ。HyperGridやIsilonを想像してほしい。ストレージが足りなくなったとき、ノードを追加することにより、データの容量だけでなくパフォーマンスも改善する。読み書きがクラスターの全てのノードに分散されるからだ。多くのクラスター型製品はハードウェアに依存しないので、単一ベンダーの部品表になった形か、いくつもの異なるベンダーのハードウェアで組み立てられた形でノードを購入できる。 

 

異機種混在ストレージ:ベンダーロックインとの戦い: 

あなたが、大手ベンダーのうちの1社からSANまたはNASを購入したとする。手頃な価格でたくさんの機能や優れたパフォーマンスがあなたの手に入る。しかし2年後、あなたがそのベンダーのところにいってみると、彼らは競合数社を買収したばかりで、新しいシステムに丸ごとアップグレードする事を強引に薦めてくるかも知れない。いや、悪くすればあなたの既存システムを拡張するためのパーツはもはや存在しないかも知れない。最低でも5年はパーツが購入できる、とセールスマンが約束したにも関わらず、だ。

このシナリオを回避する方法がいくつかある。複数ベンダーの複数のアレイをアクセスするシングルポイントが作れる、次のいずれかを購入することだ: 

・ソフトウェア定義のストレージシステム 

・ストレージ管理システム・ソフトウェア 

・ストレージ管理アプライアンス

これらのシステムを使えば、どこでも気に入ったベンダーの最新のストレージを追加して、古いアレイを使いつつ新しいアレイから最大限のパフォーマンスを得ることも可能である。 

 

結論

データの新たな増加に対する計画をスムーズに行うために情報を集めつつ、既存のストレージ投資の活用、容量増加への対応、ストレージとアプリケーションのパフォーマンス問題の発見を行っていくのは十分に可能だ。計測、分析、追跡機能を持ったソフトウェアさえあれば、あなたのストレージシステムのパフォーマンスを最大限に引き出してくれる。

この方法は、購入価格の面でも時間の面でも、高いコストが掛からない。正確な情報を持っていれば、低コストの解決策も見えて来るし、新しいストレージが本当に必要なとき、その必要性をきちんと上司に伝えることができる。 

 

著者略歴:Logan Harbaughは、フリーのレビュアー兼IT業界で25年以上のキャリアを持つITコンサルタント。

Copyright 2000 - 2017, TechTarget. All Rights Reserved, 
 *この翻訳記事の翻訳著作権はJDSFが所有しています。
このページに掲載されている記事・写真・図表などの無断転載を禁じます。