QNAP ストレージパフォーマンスベストプラクティス
このベストプラクティスガイドでは、最高の性能が得られるように QNAP NAS ストレージシステムを構成するための一般的推奨事項を提示します。
目的:
このベストプラクティスは QNAP NAS システムの導入を検討している QNAP ユーザー、パートナー、お客様を対象としています。 このベストプラクティスでは、ご利用の環境での作業負荷にもよりますが、最適な性能が得られるように QNAP ストレージを構成するための推奨事項を提示します。
可能な限り高いストレージ性能を得る方法:
以下のガイドラインでは、QNAP ストレージシステムから良好な性能を得るための構成推奨事項を提示します。
- 最適な企業向け QNAP NAS ストレージを選択します。 よりハイエンドな企業向けプラットフォームを選択すれば、それだけ CPU、メモリ、IO も高速になります。詳細
- システム RAM をストレージで限界まで使用します。 詳細
- mSATA ドライブと SSD ドライブを QTS 4.2.0 の読み書きキャッシュに使用します。2 または 4 SSD を使用します。RAID 1 または 10 をキャッシュプールとして作成します。 図 1 と図 2 をご覧ください。
-
RAID とボリュームの適切な構成を選択します。
- RAID 10 ストレージプールを作成します。詳細は付録をご覧ください。
-
最高の性能のために「静的ボリューム」を使用するか、ストレージプールの下で「シックボリューム」を使用します。
- 追加情報: 「シンボリューム」を選択した場合、柔軟性が高くなりますが、機密データを保存する場合のストレージ性能が落ちることがあります。 図 4 の例と付録の説明をご覧ください。

図 2 SSD キャッシュプール

* QNAP NAS 内で SSD キャッシュプールにアクセスする仕組みの例。
ストレージメディアの選択方法:
QNAP NAS ストレージに最適な種類のメディアを選択するための基本的ガイドライン。 ご利用の環境内で予想される作業負荷に適した種類のドライブを選択します。
特徴 | 従来のハードドライブ | SAS ハードドライブ | SSD ハードドライブ |
---|---|---|---|
コスト | 低 | 中 | 高 |
性能 | 低 | 中 | 高 |
容量 | 高 | 中 | 低 |
最も一般的な性能特性は順次操作とランダム操作に基づいて測定されています。ディスク性能は IOPS (1 秒あたりの入力/出力) で測定しています。 「1 回の読み取り要求または 1 回の書き込み要求 = 1 IOPS」です。ストレージシステムのディスクごとに、回転速度、平均待ち時間、平均シーク時間に基づき、ある量の IOPS が計測されます。
一般的なハードドライブの IOPS 特性
デバイス | タイプ | IOPS | インターフェイス |
---|---|---|---|
5400 RPM ドライブ | HDD | ~ 75-100 IOPS | SATA III |
7200 RPM ドライブ | HDD | ~ 125-150 IOPS | SATA III |
10,000 RPM ドライブ | HDD | ~ 140 IOPS | SAS |
15,000 RPM ドライブ | HDD | ~ 175-210 IOPS | SAS |
SSD ドライブ | SSD | ~ 40K-100K+ IOPS* | SATA III |
* 性能は SSD コントローラーチップとフラッシュセルに依存します。
4 台のハードドライブの基本的な RAW IOPS 計算を 7,200 RPM で行うために、合計 RAW IOPS を 500 IOPS として想定できます。 これはドライブの総数に各ドライブの RAW IOPS 数をかけることで計算できます (4 HDD x 125 IOP = 500 IOPS)。
ランダムアクセス:
ランダムアクセスとは、順序に関係なく、ファイルのある部分を取得することです。 たとえば、冒頭の前に真ん中の部分を読み取ることができます。
大半はランダムアクセスとなる作業負荷パターン。
- 複数のクライアントの同時アクセス
- データベースアプリケーション
- ハイパーバイザー環境の VM アクセス
- ブロックベースデータを利用した IP-SAN
順次アクセス:
順次の場合、ファイルの最初の部分を最初に読み、次に 2 番目、3 番目と順に読まなければなりません。
大半は順次アクセスとなる作業負荷パターン。
- 動画編集 (1 台のワークステーションから動画編集ソフトウェアを利用して直接編集)
- 動画録画 (1 台のクライアント、たとえば、IP カメラまたはビデオレコーダーから)
- 動画ストリーム配信 (NAS から動画を視聴)
- 大きなファイルの転送
- データバックアップタスク
ランダムアクセスと順序アクセスの比較:
シーク操作は、要求されたデータにアクセスするために、ディスクヘッドが右ディスクシリンダーの所に移動し、行われますが、I/O プロセスの他の部分より時間がかかります。
機械式ドライブの性質上、ディスクハードウェアの仕組みにより、データに順次アクセス/書き込みするほうがランダムアクセス/書き込みより大幅に速くなります。 機械式ドライブの順次 I/O は一般的に高いスループットで実行できます。ディスクヘッドのシーク操作が少ないためです。同時に、1 回のプラター回転で大きなデータセグメントを読み書きできます。
ランダムアクセスの場合、シーク操作の回数が高くなります。つまり、ランダム読み書きでスループットと IOPS の速度が落ちます (特に書き込みの場合)。 ランダム I/O の間、ディスクヘッドの位置、シークディスク回転遅延、シーク時間が性能の大きな低下を招きます。
図 3
例
機械式ディスクベースのシステムの場合、各ディスクのシークに約 10ms かかります。 その同じディスクにデータを順次書き込みする場合、1 MB あたり約 30ms かかります。 そのため、100 MB のデータをディスクに順次書き込みすると、約 3 秒かかります。 ただし、1 MB ごとのランダム書き込みを 100 回行うと、合計 4 秒になります (実際の書き込みに 3 秒、すべてのシークに 10 ms * 100 = 1 秒)。
フラッシュ (SSD) 読み書きキャッシュがランダム IOPS を改善する理由
フラッシュドライブには回転を必要とする物理ディスクヘッドがないため、機械式ディスクのように 10ms のシーク時間がありません。
QNAP SSD 読み書きキャッシュ機能は、キャッシュ内のブロックアドレスを再度並べ替えて (書き込みを減らして)、バックエンドディスクの負荷を減らし、ランダム IOPS 性能を改善します。
キャッシュサイズが大きいほどこうかがありますが (再並べ替えの機会が増えるため)、実際は予算により制限されます。書き込みキャッシュはバックエンドディスクよりはるかに高額なためです。
RAID 特性
QNAP NAS ストレージはさまざまな種類の RAID レベルに対応しています。RAID レベルごとに容量と性能の指標が異なります。 ストレージを展開する前に、ストレージに予想される作業負荷を理解してください。
ストレージソリューションの構築時に使用する RAID の種類を決定するとき、通常、容量と性能の 2 つに基づいて決定します。
RAID タイプ | 最小ドライブ数 | 耐障害性 | 容量 | ランダム読み取り | ランダム書き込み | 順次読み取り | 順次書き込み |
---|---|---|---|---|---|---|---|
RAID 0 | 2 | なし | 100% | 高 | 高 | 高 | 高 |
RAID 1 | 2 | 1 ディスク障害 | 50% | 高 | 低 | 高 | 良好 |
RAID 5 | 3 | 1 ディスク障害 | N - 1 | 高 | 低 | 高 | 良好 |
RAID 6 | 4 | 2 ディスク障害 | N - 2 | 高 | 低 | 高 | 良好 |
RAID 10 | 4 | サブ RAID ごとに 1 ディスク障害 | 50% | 高 | 良好 | 高 | 良好 |
RAID 10:
ランダム書き込みが多く (30% 以上)、処理量が多い作業負荷に最適です。
RAID 5:
中程度の性能が求められる一般的な順次作業負荷に最適です。 通常、RAID 5 はより安価な選択肢として利用されます。パリティに利用されるドライブは 1 つだけです。 性能要求の大きい用途の場合、RAID 5 は最良の選択肢ではありません。
RAID 6:
アーカイブやバックアップなど、読み取りに偏った作業負荷に最適ですが、性能要求の大きい用途の場合、特にランダム書き込みの多い環境では、最良の選択肢ではありません。
ケーススタディ 1: 作業負荷パターンを特定する
IOPS パターンの異なる VM を RAID 特性の異なる複数のストレージプールに分けると、性能が大幅に上がり、I/O ボトルネックが減ります。
想定される使用機器:
TS-EC1680U-RP
https://www.qnap.com/i/jp/product/model.php?II=126
16 x 6 TB SATA ハードドライブ
あるお客様が 2 つの Vmware ESXi 6.0 ホストサーバーからなる IT 環境を構築しています。それはクラスターであり、QNAP NAS をストレージバックエンドとして利用し、20 台の VM を実行する必要があります。 このお客様は調査し、すべての VM の一覧表を作り、その環境に次のような作業負荷パターンがあることを見つけました。
1 VM --> 高負荷 MSSQL データベースサーバー (30%+ ランダム I/O)。
3 VM --> 高負荷アプリケーションサーバー (30%+ ランダム I/O)。
1 VM --> 低負荷 vCenter サービス (大半は順次 I/O)。
1 VM --> 低負荷ドメインコントローラー (大半は順次 I/O)。
1 VM --> 低負荷バックアップサーバー (大半は順次 I/O)。
2 VM --> 低負荷 DNS サービス (大半は順次 I/O)。
2 VM --> 中負荷 Web サーバー (15% ランダム I/O)。
5 VM --> 一般的なユーザー仮想デスクトップ。
4 VM --> 内部開発サーバー。
推奨構成:
- 8 台以上のハードドライブを利用し、静的ボリュームを含む RAID 10 ストレージプール 1 を作成します。
- 高性能 RAID 10 に高負荷 VM (30% ランダム I/O) を 4 つ配置します。
- 4 台以上のハードドライブを利用し、シックボリュームまたは静的ボリュームを含む RAID 6 ストレージプール 2 を作成します。
- この RAID 6 に低負荷 VM (大半は順次 I/O) を 5 つ配置します。
- 4 台以上のハードドライブを利用し、シックボリュームまたは静的ボリュームを含む RAID 6 ストレージプール 3 を作成します。
- 残りの VM、Web サーバー、ユーザー仮想デスクトップ、内部開発サーバーをこの RAID 6 に配置します。
代替構成:
- 4 台以上の SSD ドライブを利用し、静的ボリュームを含む RAID 10 ストレージプール 1 を作成します。
- 高負荷 VM と中負荷 VM をすべて SSD ドライブに配置します。
- 8 台以上のハードドライブを利用し、シックボリュームまたは静的ボリュームを含む RAID 6 ストレージプール 2 を作成します。
- この RAID 6 に残りの VM (大半は順次 I/O) を配置します。
* これは VMWare、Hyper-V、XenServer、その他のハイパーバイザーに適用されます。
ケーススタディ 2: 可能な限り高い IOPS 性能
高性能 SSD ドライブを利用して最良の結果を得る。
想定される使用機器:
TS-EC1680U-RP
https://www.qnap.com/i/jp/product/model.php?II=126
16 x 1 TB SATA SSD ドライブ
お客様の第一の関心は可能な限り最高の性能を得ることであり、ストレージ容量は二の次です。
- 利用できるすべての SSD ドライブを利用し、静的ボリュームを含む RAID 10 ストレージプール 1 を作成します。 SSD ドライブには可動機械が含まれていないため、非常に高い順次 IOPS またはランダム IOPS を達成できます。
ケーススタディ 3: マルチクライアントファイルアクセス
ストレージに複数の読み書きを同時に行えるということは、ランダム IOPS 率が上がるということになります。
あるお客様が約 50 のノードからなるグラフィックレンダーファームを構築しています。 50 すべてのノードがストレージから同時にソースメディアライブラリを読み取り、データをレンダリングし、結果を後続処理のためにストレージに書き込みます。 50 すべてのノードが最初にメディアを読み取り、それから結果をストレージに同時に書き込むため、機械式ドライブに起因し、ランダム IOPS が大きなボトルネックになりました。 グラフィックのレンダリングプロセスには高性能と大容量ストレージの両方が必要なため、次の方法で QNAP NAS ストレージを最適化します。
推奨構成:
想定される使用機器:
2 x TS-EC1680U-RP
https://www.qnap.com/i/jp/product/model.php?II=126
16 x 6 TB SATA ハードドライブ
- 10 台以上のドライブを利用し、シックボリュームまたは静的ボリュームを含む RAID 10 ストレージプール 1 を作成します。
- 結果をすべてこのストレージプールに書き込み、RAID 10 の特性を最大限に活用します。
- 5 台以上のドライブを利用し、シックボリュームまたは静的ボリュームを含む RAID 5 または 6 のストレージプール 2 を作成します。
- このストレージプールからすべてのデータを読み取ります。
代替構成:
- QNAP NAS 1 にすべての SSD ドライブを組み込み、1 つの大きなストレージプール 1 を構築します。
- 結果をすべてこの NAS に書き込みます。同時書き込みの性質上、結果ではランダム IOPS を考慮する必要があります。
- 2 つ目の QNAP NAS 2 にすべての機械式ドライブを組み込み、1 つの大きなストレージプール 1 を構築します。
- この NAS からすべてのデータを読み取ります。
付録:
QNAP NAS アプライアンスでは高度なストレージプール技術を利用し、柔軟性と高性能の両方を実現します。
図 4 ストレージプール
LVM を利用したストレージプール
QNAP フレキシブルボリューム管理を利用すれば、ストレージ容量を効率的に管理できます。 ストレージプールはハードドライブを 1 つの大きなストレージ領域に集約します。複数の RAID グループに対応し、冗長保護機能に優れ、データクラッシュのリスクを減らします。
ストレージプールを作成したら、3 種類の方法から選択し、プールの上にボリュームを構築できます。 作成するボリュームの種類は、柔軟性と高性能のどちらを追求するかによって決まります。
静的ボリューム:
静的ボリュームはストレージプール内で利用できるすべての領域を占有します。最適な読み書きアクセスが得られるように、領域を事前に割り当て、用意します。 静的ボリュームはストレージプール領域をすべて占有するため、同じプール内に複数のボリュームを作成することはできません。
シックボリューム:
シックボリュームは領域の柔軟性と高性能の組み合わせになります。ストレージプールからシックボリュームに割り当てる領域を選択できます。 つまり、同じストレージプール内に複数のシックボリュームまたはシンボリュームを作成できます。 任意のシックボリュームサイズを選択すると、読み書きアクセスの領域が事前に割り当てられ、用意されます。
シンボリューム:
シンプロビジョニングでは、ストレージ領域をもっと柔軟に利用できます。 シンボリュームの場合、ボリュームを作成するとき、物理ストレージ領域が実際には使用されません。物理領域は書き込み割り当てのときにのみ使用されます。 つまり、物理ストレージサイズより大きなシンボリュームサイズをプロビジョニングできます。 同じストレージプール内に複数のシンボリュームを作成できます。 シンボリューム領域の柔軟性に起因し、作業負荷における性能が上がります。
mSATA と SSD による読み書きキャッシュアクセラレーション:
ソリッドステートドライブ (SSD) キャッシュ技術はディスク I/O 読み取りキャッシュに基づきます。 Turbo NAS のアプリケーションがハードドライブにアクセスすると、データが SSD に保存されます。 アプリケーションが同じデータに再びアクセスするとき、ハードドライブからではなく、SSD キャッシュからデータが読み書きされます。 頻繁にアクセスされるデータが SSD キャッシュに保存されます。 SSD ではデータが見つからない場合にのみ、ハードドライブにアクセスします。

SSD キャッシュのデータアクセス方法

参照ソース:
https://en.wikipedia.org/wiki/Random_access
https://en.wikipedia.org/wiki/Sequential_access
https://en.wikipedia.org/wiki/IOPS