Solaris ボリュームマネージャの管理

第 2 章 記憶装置管理の概念

この章では、一般的な記憶装置管理の概念について簡単に紹介します。

この章では、次の内容について説明します。

記憶装置管理の紹介

記憶装置をどのように管理するかによって、システム上のアクティブデータが格納されるデバイスの制御方法が決まります。ハードウェア障害やソフトウェア障害などの予期せぬ事態が発生したあとでも、アクティブなデータを以前と同じ状態で利用できるようにする必要があります。

記憶装置ハードウェア

データを格納するには、さまざまなデバイスを利用できます。記憶装置の要件にもっとも適したデバイスは、主に次の 3 つの要素を考慮して決定します。

Solaris ボリュームマネージャを使用すると、性能、可用性、コストのバランスを管理できます。つまり、Solaris ボリュームマネージャを使用することで、多くの場合に諸条件を考慮する必要性が減ります。

Solaris ボリュームマネージャは、Solaris オペレーティングシステムが稼働するシステム上でサポートされているすべての記憶装置に対して使用できます。

RAID レベル

RAID は Redundant Array of Inexpensive (または Independent) Disks の略語です。RAIDとは、ユーザーからは 1 つの大きなディスクドライブに見えるディスク群 (アレイまたはボリュームと呼ばれる) を意味します。構成に応じて、このアレイは信頼性、応答時間、または記憶容量の向上をもたらします。

技術的には、6 つの RAID レベル (0 から 5) があります。各レベルは、データの冗長性を確保しながらデータの分散を図る方法に対応しています。(RAID レベル 0 は、データの冗長性を提供しませんが、通常は RAID の分類に含まれます。RAID レベル 0 は、現在使用されているほとんどの RAID 構成の基礎になっています。)RAID レベル 2、3、4 をサポートしている記憶装置環境はほとんど存在しないため、それらの環境の説明は省略します。

Solaris ボリュームマネージャは、次の RAID レベルをサポートします。

構成計画の指針

記憶装置管理の構成を計画するときには、どのような構成であっても、性能可用性ハードウェアコストの間にトレードオフがあることを念頭に置いてください。最適な構成を見つけるためには、さまざまな要素の組み合わせを試してみる必要があります。

この節では、次のタイプのボリュームを使用するための指針を示します。

記憶装置の選択

特定の記憶方式を実装する前に、どのような記憶デバイスを使用するかを決める必要があります。この一連の指針では、選択が容易になるように、各種の記憶装置を比較します。Solaris ボリュームマネージャで実装する場合、記憶装置のタイプごとに適用される指針がほかにもあります。詳細は、個々のボリュームタイプに関する章を参照してください。


注 –

下記の記憶装置のタイプは、排他的ではありません。つまり、これらのボリュームを組み合わせて使用することによって、複数の目的を達成することができます。たとえば、まず、RAID-1 ボリュームを作成して冗長性を確保します。次に、RAID-1 ボリューム上にソフトパーティションを作成すると、独立したファイルシステムの数を増やすことができます。


次の表で、記憶装置のタイプ別に使用できる機能を比較します。

表 2–1 記憶装置のタイプ別比較

要件 

RAID-0 (連結) 

RAID-0 (ストライプ) 

RAID-1 (ミラー) 

RAID-5 

ソフトパーティション 

データの冗長性 

不可 

不可 

可能 

可能 

不可 

読み取り性能の改善 

不可 

可能 

使用するデバイスによって異なる 

可能 

不可 

書き込み性能の改善 

不可 

可能 

不可 

不可 

不可 

デバイス当たり 8 個以上のスライスの作成 

不可 

不可 

不可 

不可 

可能 

使用可能な記憶装置の増加 

可能 

可能 

不可 

可能 

不可 

次の表に、RAID-1 と RAID-5 のボリュームについて、書き込み操作、ランダムな読み取り、ハードウェアコストのトレードオフの概略を示します。

表 2–2 冗長性の最適化
 

RAID-1 (ミラー) 

RAID-5 

書き込み操作 

高速 

低速 

ランダム読み込み 

高速 

低速 

ハードウェアコスト 

高い 

少ない 

表の情報について簡単に説明します。


注 –

Solaris ボリュームマネージャを使用して冗長性を備えたデバイスをサポートする方法については、これらの一般的な記憶方式のほかにも、「ホットスペア集合」を参照してください。


性能に関する一般的な指針

記憶装置の構成を決めるときは、次の性能に関する指針を検討してください。

Solaris ボリュームマネージャ固有の構成の指針については、「Solaris ボリュームマネージャ構成の指針」を参照してください。

ランダム入出力と順次入出力の最適化

ここでは、構成の最適化方法について説明します。

作成しようとしている Solaris ボリュームマネージャのボリューム上で順次入出力とランダム入出力のどちらが多用されるのかわからない場合は、性能のチューニングに関する以下の手法を適用しないでください。実装が適切でないと、性能が低下することがあります。

以下に示す最適化のための手法では、RAID-0 ボリュームを最適化するものとします。通常は、RAID-0 ボリュームを最適化してからそのボリュームをミラー化して、最適な性能とデータの冗長性を同時に達成します。

ランダム入出力

データベースや汎用ファイルサーバーに使用されるランダム入出力環境では、すべてのディスクにおいて、入出力要求の応答にかかる時間が同じであることが望まれます。

たとえば、データベースアプリケーション用に 40G バイトの記憶領域があるとします。10G バイトのディスクスピンドルを 4 つ使ってストライプ化を行っている場合、入出力がランダムで、ボリューム間で均一に分散されていれば、各ディスクの使用率が均一になり、通常、性能は向上します。

ランダム入出力性能を最大化するためには、ディスクの使用率を 35 パーセント以下に抑えるようにします (iostat コマンドで調べることができる)。ディスクの使用率が定常的に 65 パーセントを超える場合には問題となります。90 パーセントを超える場合には重大な問題が発生します。このような問題を解決するためには、さらに多くのディスク (スピンドル) を追加して、新しい RAID-0 ボリュームを作成する必要があります。


注 –

既存のボリュームにディスクを追加するだけでは、性能を向上することはできません。適切なパラメータを設定して新しいボリュームを作成し、性能の最適化を図る必要があります。


データをすべてのディスクに分散する場合には、飛び越し値のサイズは重要ではありません。一般的な入出力要求よりも大きい飛び越し値を指定するだけで十分です。

順次アクセス入出力

テーブル全体のスキャンが頻繁に行われる DBMS サーバーまたはデータの非常に多い環境で使用される NFS サーバーなどの順次入出力環境で、構成の性能を最適化できます。順次入出力環境を活用するには、飛び越し値を通常の入出力要求のサイズより小さく設定してください。

たとえば、通常の入出力要求のサイズが 256K バイトで、ストライプが 4 スピンドルに渡っているとします。この場合の適切なストライプユニットサイズは

256K バイト / 4 = 64K バイトまたはそれ以下です。

この場合には、通常の入出力要求が複数のディスクスピンドルに分散されるため、順次入出力の帯域幅が増加します。


注 –

順次入出力環境では、シーク時間と回転待ち時間は実質的にゼロです。順次入出力の最適化では、ディスクの内部転送速度が最も重要な要素になります。


順次アプリケーションの通常の入出力サイズには大きい値を使用します (128K バイト以上、場合によっては 1M バイト以上)。ここでは、通常の入出力要求のサイズが 256K バイトで、ストライプが 4 ディスクスピンドルに渡っているとします。

256K バイト / 4 = 64K バイトであるため、

飛び越しサイズは 32–64K バイトにするにが適切です。