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

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

この章では、一般的な記憶装置管理の概念について簡単に紹介します。記憶装置の管理についてすでに精通している場合は、第 3 章「Solaris ボリュームマネージャの概要」に進んでください。

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

記憶装置管理の紹介

記憶装置管理は、システムのアクティブなデータが格納されているデバイスを制御するための手段です。デバイスが有効であるためには、予期せぬ事態 (ハードウェア障害やソフトウェア障害など) が発生した後でも、アクティブなデータを、以前と同じ (一貫性を保った) 状態で使用できなければなりません。

記憶装置ハードウェア

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

Solaris ボリュームマネージャは、性能、可用性、およびコストの間で最適なバランスを保つのに役立ちます。Solaris ボリュームマネージャを使用することにより、最善のトレードオフを達成できます。

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

RAID レベル

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

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

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

構成計画の指針

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

この節では、Solaris ボリュームマネージャの RAID 0 (連結方式およびストライプ方式) ボリューム、RAID 1 (ミラー) ボリューム、RAID 5 ボリューム、ソフトパーティション、トランザクション (ロギング) ボリューム、および、これらのボリューム上に構築されるファイルシステムを使用するための指針を示します。

記憶方式の選択

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


注 -

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


表 2-1 記憶方式の選択

要件 

RAID 0 (連結方式)  

RAID 0 (ストライプ方式) 

RAID 1 (ミラー) 

RAID 5 

ソフトパーティション 

データの冗長性 

不可 

不可 

可能 

可能 

不可 

読み取り性能の改善 

不可 

可能 

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

可能 

不可 

書き込み性能の改善 

不可 

可能 

不可 

不可 

不可 

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

不可  

不可 

不可 

不可 

可能 

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

可能 

可能 

不可 

可能 

不可 

表 2-2 冗長性の最適化

 

RAID 1 (ミラー) 

RAID 5 

書き込み操作 

高速 

低速 

ランダム読み込み 

高速 

低速 

ハードウェアコスト 

高い 

少ない 


注 -

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


性能について

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

記憶装置の構成を決めるときは、性能に関する次の指針を考慮する必要があります。

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

この節では、特定の構成を最適化する際に用いる、Solaris ボリュームマネージャの手法について説明します。

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

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

ランダム入出力

データベースや汎用ファイルサーバーに使用されるランダム入出力環境では、すべてのディスクスピンドルが入出力要求に対してほぼ同じ割合で使用されることが望まれます。

たとえば、データベースアプリケーション用に 40G バイトの記憶領域があるとします。4 つの 10G バイトディスクスピンドルを使ってストライプ化を行い、入出力負荷が完全にランダムであり、テーブル領域全体に均一に分布していれば、4 つのスピンドルの使用率はほぼ均一になります。これによって、通常、性能が向上します。

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


注 -

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


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

順次アクセス入出力

飛び越し値を通常の入出力要求のサイズよりも小さく設定することによって、構成を最適化することにより、順次入出力環境の利点を活用することができます。このような環境の例として、テーブル全体のスキャンが頻繁に行われる DBMS サーバーや、データ入出力が非常に多い NFS サーバーなどが挙げられます。

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

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


注 -

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


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