ここまでオブジェクトストレージを使う前の基礎知識を中心に解説してきましたが、サイジングについても従来型ストレージとは異なるポイントが幾つもあります。その“ツボ”を紹介しましょう。
オブジェクトストレージは、従来のブロックストレージやファイルストレージとは登場の背景や運用形態、アーキテクチャが異なります。前回はオブジェクトを使う前の基礎知識について解説しましたが、サイジングについても従来のブロックやファイルストレージとは異なるところに注意が必要です。今回はオブジェクトストレージのサイジングについて解説します。
オブジェクトストレージ環境を構築するためには複数のサイジング要素を確認する必要があります。主には以下の3つが挙げられます。
スループットの拡張性
プロキシもしくはゲートウェイノードの数を増やすことで、クライアントへのスループットを向上できます。また、ストレージボリュームの並列化によってもスループット向上が可能です。一方で、ネットワークの帯域幅が全体の性能を制限することがあります。
容量とコマンド実行数の拡張
ストレージノードを増やすことで容量を拡張でき、同時実行可能なコマンド数も拡張できます。
オブジェクトストレージの容量制限
基本的にデバイス(HDDやフラッシュストレージ)の物理容量が全て使えるわけではないということを認識しておく必要があります。利用できる実効容量を計算するには、以下の3点を考慮しなければなりません。
3番目の冗長化についてはさらに次の点を考慮しておきます。
a.冗長化方法でレプリケーションを使用している場合はその「コピー数+1」の容量が必要です。例えばSwiftオブジェクトのリプリケーション数のデフォルト値は「3」ですが、その場合はオリジナル容量の3倍の容量が必要です。つまり、オーバーヘッドは200%です。
b.レプリケーション方法としてEC(イレージャーコーディング:消失訂正符号)を使う場合は、ECの付与されたフラグメントの数(この数が大きくなると冗長性、堅牢性が向上)によって異なりますが、一般的な実装方法ではオーバーヘッドは50%以下になると考えられます。
レプリケーションの場合は以下のように計算できます。
物理容量×(デバイスシステムエリアを除いた%:例90%)×(フォーマット時のオーバーヘッドを除いた%:例80%)÷レプリカ数
ストレージ容量が100テラバイトの場合、
100テラバイト×0.90×0.8÷3=24テラバイト
が利用可能な容量となります。inode数の変更で、さらに容量制限もできます。
Copyright © ITmedia, Inc. All Rights Reserved.