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

第 3 章 Solaris ボリュームマネージャの概要

この章では、Solaris ボリュームマネージャの構造の全体について説明します。この章では、次の内容について説明します。

Solaris ボリュームマネージャの新機能

この節では、今回の Solaris リリースで導入された、Solaris ボリュームマネージャの新機能について説明します。

Solaris の新機能の一覧と Solaris のリリースの説明については、『Solaris 10 の概要』を参照してください。

Solaris ボリュームマネージャの概要

Solaris ボリュームマネージャは、多数のディスクとそれらのディスク上のデータを管理するためのソフトウェア製品です。Solaris ボリュームマネージャにはいろいろな用途がありますが、ほとんどの場合、次の目的で使用されます。

状況によっては、Solaris ボリュームマネージャを使用すると、入出力性能が向上することもあります。

Solaris オペレーティングシステムでサポートされるディスクの種類については、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 11 章「ディスクの管理 (概要)」を参照してください。

Solaris ボリュームマネージャによる記憶装置の管理方法

Solaris ボリュームマネージャは、仮想ディスクを使用して、物理ディスクとその関連データの管理を行います。Solaris ボリュームマネージャでは、仮想ディスクをボリュームと呼びます。ただし、従来からの慣習により、コマンド行ユーティリティーではボリュームをメタデバイスと呼ぶこともあります。

アプリケーションまたはファイルシステムから見た場合、ボリュームはディスクと同じ機能です。Solaris ボリュームマネージャは、ボリュームに対する入出力要求を、そのボリュームを構成するメンバーディスクに対する入出力要求に変換します。

Solaris ボリュームマネージャのボリュームは、ディスクスライスまたはほかの Solaris ボリュームマネージャボリュームから作成されます。Solaris 管理コンソールに組み込まれているグラフィカルユーザーインタフェース (GUI) を使えば、ボリュームを簡単に作成できます。Solaris 管理コンソール内の「拡張ストレージ」を使用することで、存在しているすべてのボリュームの情報を表示できます。管理者は、ウィザードのステップに従うだけで、Solaris ボリュームマネージャのあらゆる種類のボリュームとコンポーネントを簡単に作成できます。また、Solaris ボリュームマネージャのコマンド行ユーティリティーを使用しても、ボリュームの作成や変更が行えます。

たとえば、大きな記憶領域を 1 つのボリュームとして作成したい場合、Solaris ボリュームマネージャを使用すると、複数のスライスの集まりを単一の大容量ボリュームとして扱うように、システムを設定できます。このような複数のスライスから作成した単一のボリュームは、ただちに、「実」スライスまたは「実」デバイスと同じように使用できます。

ボリュームの詳細については、「ボリュームの概要」を参照してください。

Solaris ボリュームマネージャでは、RAID-1 (ミラー) ボリュームや RAID-5 ボリュームを使ってデータの信頼性と可用性を高めることができます。Solaris ボリュームマネージャのホットスペアを使用すれば、ミラーや RAID-5 ボリュームのデータ可用性をさらに向上できます。

構成の設定が完了したら、Solaris 管理コンソール内の「拡張ストレージ」を使って動作状況を検査できます。

Solaris ボリュームマネージャとの対話方法

Solaris ボリュームマネージャを管理するには、次のどちらかの方法を使用します。


注 –

Solaris ボリュームマネージャを管理するときには、コマンド行と GUI を同時に使用しないでください。構成に対して矛盾した変更が加えられ、予測していない動作が生じることがあります。どちらのツールを使っても、Solaris ボリュームマネージャを管理することは可能ですが、両方のツールを同時に使用することはできません。


図 3–1 Solaris 管理コンソール内の「拡張ストレージ (Enhanced Storage)」ツール (Solaris ボリュームマネージャ) の使用例

「拡張ストレージ (Enhanced Storage)」ツールの画面イメージです。右側にコンポーネント、左側に各種 Solaris ボリュームマネージャツールが表示されています。

ProcedureSolaris ボリュームマネージャグラフィカルユーザーインタフェース (GUI) を使用するには

Solaris ボリュームマネージャ GUI (Enhanced Storage) は、Solaris 管理コンソールに組み込まれています。この GUI にアクセスするには、次の手順に従います。

  1. 次のコマンドを使って、ホストシステム上で Solaris 管理コンソールを起動します。


    % /usr/sbin/smc
    
  2. ナビゲーション区画で「このコンピュータ (This Computer)」をダブルクリックします。

  3. ナビゲーション区画で「ストレージ (Storage)」をダブルクリックします。

  4. ナビゲーション区画で「拡張ストレージ (Enhanced Storage)」をダブルクリックして、Solaris ボリュームマネージャツールを起動します。

  5. ログインを促すプロンプトが表示されたら、root または同等のアクセス権をもつユーザーとしてログインします。

  6. 適切なアイコンをダブルクリックして、ボリュームや、ホットスペア集合、状態データベースの複製、ディスクセットを管理します。


    ヒント –

    Solaris 管理コンソールの各ツールは、コンソールウィンドウの下部またはウィザードパネルの左側に情報を表示します。このインタフェースでの作業について情報が必要な場合は、いつでも「ヘルプ (Help)」を選択できます。


Solaris ボリュームマネージャの要件

Solaris ボリュームマネージャを使用するための要件は、次のとおりです。

Solaris ボリュームマネージャコンポーネントの概要

Solaris ボリュームマネージャで作成できるコンポーネントの基本的なタイプは、ボリューム、ソフトパーティション、ディスクセット、状態データベースの複製、ホットスペア集合の 5 つです。次の表に、Solaris ボリュームマネージャの機能の概要を示します。

表 3–1 Solaris ボリュームマネージャの機能の要約

Solaris ボリュームマネージャの機能 

定義 

目的 

参照先 

  • RAID-0 ボリューム (ストライプ、連結、連結ストライプ)

  • RAID-1 (ミラー) ボリューム

  • RAID-5 ボリューム

システム上で単一の論理デバイスとして扱われる物理スライスの集まり 

記憶容量、性能、またはデータの可用性を高める。 

「ボリュームの概要」

ソフトパーティション 

物理スライスまたは論理ボリュームを分割したもので、より小さく管理しやすい記憶ユニットを提供します 

大規模な記憶ボリュームを管理し易くする。 

第 12 章「ソフトパーティション (概要)」

状態データベース (状態データベースの複製)

すべてのボリューム、ホットスペア、およびディスクセットの構成と状態に関する情報が格納されているデータベース。状態データベースの複製を作成しないと、Solaris ボリュームマネージャは動作しません。 

Solaris ボリュームマネージャ構成の状態に関する情報を格納 

「状態データベースと状態データベースの複製」

ホットスペア集合

予約されているスライス (ホットスペア) の集合。サブミラーまたは RAID-5 ボリュームのコンポーネントで障害が発生すると、これらのスライスが自動的に代用されます。 

RAID-1 と RAID-5 ボリュームのデータ可用性を高める。 

「ホットスペア集合」

ディスクセット

個別の名前空間をもつ共有ディスクドライブの集まり。ボリュームとホットスペアを含み、複数のホストによって排他的に共有されます 

データの冗長性と可用性を提供し、また個別の名前空間を提供することによって管理を容易にする。 

「ディスクセット」

ボリュームの概要

ボリューム」とは、単一の論理デバイスとしてシステムに認識される物理スライスの集合です。 実際には、ボリュームは標準 UNIX® の擬似または仮想デバイスと同義です。


注 –

これまで、Solstice DiskSuiteTM 製品ではこのような論理デバイスを「メタデバイス」と呼んでいましたが、このマニュアルでは、簡潔性と標準化のために「ボリューム」と呼びます。


ボリュームクラス

ボリュームは、RAID-0 (連結方式またはストライプ方式) ボリューム、RAID-1 (ミラー) ボリューム、RAID-5 ボリューム、 またはソフトパーティションとして作成します。

ボリュームの作成や管理には、Solaris 管理コンソール内の「拡張ストレージ」かコマンド行ユーティリティーを使用します。

次の表に、ボリュームクラスの要約を示します。

表 3–2 ボリュームクラス

ボリューム 

説明 

RAID-0 (ストライプ方式または連結方式)

そのまま使用することも、ミラーの基本的な構築ブロックとして使用することもできます。RAID-0 ボリューム自体にはデータの冗長性はありません。 

RAID-1 (ミラー)

複数のコピーを保持することによってデータを複製します。RAID-1 ボリュームは、サブミラーと呼ばれる 1 つまたは複数の RAID-0 ボリュームから構成されます。 

RAID-5

パリティー情報を使ってデータを複製します。ディスクに障害が発生すると、利用可能なデータとパリティー情報から失われたデータが復元されます。RAID-5 ボリュームは、通常、複数のスライスで構成されています。1 スライスに相当する領域がパリティー情報に割り当てられますが、パリティーは RAID-5 ボリュームのすべてのスライスに分散されます。 

ソフトパーティション 

スライスまたは論理ボリュームをより小さい 1 つまたは複数の拡張可能ボリュームに分割します。 

ボリュームの使用方法

ボリュームを使用すると、記憶領域を拡張したり、性能やデータの可用性を高めたりできます。状況によっては、ボリュームを使用すると、入出力性能が向上することもあります。機能的には、ボリュームとスライスは同じように動作します。エンドユーザーや、アプリケーション、ファイルシステムからは、ボリュームとスライスは同じように見えます。物理デバイスと同じように、ボリュームはブロックまたは raw デバイス名を使ってアクセスされます。ボリューム名は、ブロックデバイスを使用するか raw デバイスを使用するかによって異なります。ボリューム名の詳細については、「ボリューム名」を参照してください。

ボリューム上では、mkfsmountumountufsdumpufsrestore など、ファイルシステムのほとんどのコマンドを使用できます。ただし、format コマンドは使用できません。ボリューム上にマウント済みのファイルシステムが存在すれば、ボリュームとの間でファイルの読み取り、書き込み、コピーを行うことができます。

例 — 2 つのスライスから構成されるボリューム

図 3–2 に、Disk A のスライス 1 つと Disk B のスライス 1 つの合計 2 つのスライスからなるボリュームを示します。アプリケーションや UFS は、このボリュームを 1 つの物理ディスクであるかのように扱います。ボリュームにさらに多くのスライスを追加すれば、記憶容量を増やすことができます。

図 3–2 ボリューム、物理ディスク、スライスの関係

2 つのディスクのスライスが、Solaris ボリュームマネージャによって、単一の論理ボリュームとして提供されています。

growfs コマンドによるボリュームとディスク領域の拡張

Solaris ボリュームマネージャでは、ボリュームにスライスを追加することによってボリュームを拡張できます。既存のボリュームにスライスを追加するには、Solaris 管理コンソール内の「拡張ストレージ」かコマンド行インタフェースを使用します。

ボリュームに含まれているUFS ファイルシステムは、マウントされているかどうかに関係なく、システムを停止したりバックアップを取らなくても拡張できます。ただし、どのような場合でも、データのバックアップを取ることを推奨します。ボリュームを拡張したあとは、growfs コマンドを使用してファイルシステムを拡張します。


注 –

いったん拡張したファイルシステムを縮小することはできません。ファイルシステムを縮小できないことが UFS の制約です。同じように、いったん拡張した Solaris ボリュームマネージャのパーティションを縮小することはできません。


raw ボリュームを使用するアプリケーションやデータベースは、独自の方法で領域を拡張し、それを認識できなければなりません。Solaris ボリュームマネージャには、この機能はありません。

ボリュームのディスク領域を拡張するには、次の方法を利用できます。

growfs コマンドは、サービスの中断やデータを失うことなく、UFS ファイルシステムを拡張します。ただし、growfs コマンドが実行している間は、ボリュームへの書き込みアクセスはできません。ファイルシステムは、それを格納しているスライスまたはボリュームのサイズまで拡張できます。

追加ディスク領域の一部だけを使ってファイルシステムを拡張する場合は、growfs コマンドに -s size オプションを指定します。


注 –

ミラーを拡張すると、ミラーを構成しているすべてのサブミラーに領域が追加されます。growfs コマンドは RAID-1 ボリューム上で実行されます。一般的な規則としては、ボリュームを構成するデバイスに領域を追加してから、最上位のデバイスに対して growfs コマンドを実行します。


ボリューム名

物理スライスと同じように、ボリュームにも、ファイルシステムで使用される論理名があります。論理ボリューム名は、/dev/md/dsk ディレクトリ (ブロックデバイスの場合) または /dev/md/rdsk ディレクトリ (raw デバイスの場合) に作成されます。meta* コマンドでは、/dev/md/dsk/volume-name のような完全なボリューム名を指定する代わりに、d1 のような省略形のボリューム名を使用することができます。名前を変更しようとするボリュームが現在使用されておらず、かつ、新しい名前がほかのボリュームで使用されていなければ、ボリューム名はいつでも変更できます。詳細については、「ボリューム名の交換」を参照してください。

以前は、ボリューム名は「d」で始まり、そのあとに数字が続く形式にする必要がありました (たとえば、d0)。この形式は現在も使用可能です。次に、「d*」命名構文を使用するボリューム名の例を示します。

/dev/md/dsk/d0

ブロック型ボリューム d0

/dev/md/dsk/d1

ブロック型ボリューム d1

/dev/md/rdsk/d126

raw ボリューム d126

/dev/md/rdsk/d127

raw ボリューム d127

ボリューム名に関する指針

ボリューム名を標準化すると、管理が容易になるだけでなく、ボリュームタイプが一目でわかるようになります。次の推奨事項を考慮してください。

状態データベースと状態データベースの複製

状態データベース 」は、Solaris ボリュームマネージャの構成の状態に関する情報を格納するデータベースです。状態データベースは、構成に対して加えられた変更を記録および管理します。Solaris ボリュームマネージャは、構成や状態に変化があると、状態データベースを自動的に更新します。たとえば、新しいボリュームの作成は構成の変更であり、サブミラーの障害は状態の変化を意味します。

状態データベースは、実際には複製された複数のデータベースコピーの集まりです。各コピーは、状態データベースの複製と呼ばれ、データベース内のデータが常に有効であることを保証します。状態データベースのコピーを複数持つことにより、単一点障害からデータを保護することができます。状態データベースは、既知の状態データベースの複製の格納場所と状態をすべて記録しています。

状態データベースとその状態データベースの複製が作成されるまで、Solaris ボリュームマネージャは動作できません。Solaris ボリュームマネージャ構成には、正常に動作する状態データベースが必要です。

構成を設定するときは、状態データベースの複製を次のどちらかに配置できます。

Solaris ボリュームマネージャは、状態データベースの複製が割り当てられているスライスを認識し、そのスライスがボリューム内で使用されている場合には、その複製部分を自動的にスキップします。状態データベースの複製用に予約されているスライスの部分を、他の目的に使用することはできません。

複数の状態データベースのコピーを 1 つのスライス上に置くこともできますが、そのようにすると、システムは単一点障害に対して脆弱になります。

すべての状態データベースの複製が削除された場合でも、Solaris オペレーティングシステムは正常に動作します。しかし、状態データベースの複製がディスク上にまったくない状態でシステムをリブートすると、すべての Solaris ボリュームマネージャの構成データが失われます。

ホットスペア集合

ホットスペア集合」は、障害のあるコンポーネントと自動的に交換できるように、Solaris ボリュームマネージャが予約しているスライス (「ホットスペア」) の集合です。ホットスペアは、サブミラーまたは RAID-5 ボリュームのどちらでも使用できます。RAID-1 ボリュームと RAID-5 ボリュームでは、ホットスペアを使用することによってデータの可用性が向上します。ホットスペア集合は、Solaris 管理コンソール内の「拡張ストレージ」とコマンド行インタフェースのどちらでも作成できます。

コンポーネントエラーが発生すると、Solaris ボリュームマネージャは、障害のあるコンポーネントと同じかそれより大きいサイズのホットスペアを探します。該当するホットスペアが見つかると、Solaris ボリュームマネージャは自動的にそのコンポーネントを交換して、データの再同期をとります。適切なサイズのスライスがホットスペア集合にないと、サブミラーまたは RAID-5 ボリュームは使用不能とみなされます。詳細については、 第 16 章「ホットスペア集合 (概要)」を参照してください。

ディスクセット

ディスクセットとは、論理ボリュームとホットスペアを含む物理的な記憶領域ボリュームの集まりのことです。ボリュームやホットスペア集合は、そのディスクセット内のドライブだけで構成される必要があります。ディスクセットに作成したボリュームは、物理スライスと同じように使用できます。

クラスタ環境では、ディスクセットの使用によってデータの可用性が向上します。一方のホストに障害が発生しても、そのディスクセットを他方のホストが引き継ぐことができます。このタイプの構成は「フェイルオーバー構成」と呼ばれます。さらに、ディスクセットを使用することにより、Solaris ボリュームマネージャの名前空間の管理や、ネットワーク接続されている記憶装置へのアクセスが容易になります。

詳細については、第 18 章「ディスクセット (概要)」を参照してください。

Solaris ボリュームマネージャ構成の指針

Solaris ボリュームマネージャの構成が適切に設定されていないと、性能が低下することがあります。この節では、Solaris ボリュームマネージャの性能を最適に保つためのヒントについて説明します。記憶装置構成の性能に関する指針については、「性能に関する一般的な指針」を参照してください。

一般的な指針

ファイルシステムに関する指針

ボリュームを構成しているスライス上にファイルシステムをマウントしないでください。スライスがボリュームを構成するために使用されている場合は、そのスライスをファイルシステムとしてマウントしてはなりません。可能であれば、ボリュームとして使用する予定の物理デバイスは、アクティブにする前にマウント解除してください。

Solaris ボリュームマネージャコンポーネントの作成についての概要

Solaris ボリュームマネージャのコンポーネントを作成するときは、物理スライスを Solaris ボリュームマネージャの論理名 (たとえば d0) に割り当てます。作成できる Solaris ボリュームマネージャのコンポーネントには、次のものがあります。


注 –

ボリューム名の付け方のヒントについては、「ボリューム名」を参照してください。


Solaris ボリュームマネージャコンポーネントを作成するための前提条件

Solaris ボリュームマネージャコンポーネントを作成するための前提条件は、次のとおりです。

Solaris ボリュームマネージャにおけるマルチテラバイトサポートの概要

Solaris 9 4/03 リリース以降、Solaris ボリュームマネージャは、64 ビットカーネルが動作しているシステム上で、1 テラバイト (T バイト) より大きな記憶装置や論理ボリュームをサポートします。


注 –

64 ビットカーネルがシステムで動作しているかどうかを知るには、isainfo -v を使用します。「64-bit」という文字列が表示された場合、64 ビットカーネルが動作しています。


Solaris ボリュームマネージャを使用すると、次の作業を行うことができます。

大容量ボリュームのサポートが自動化されます。1T バイトを超えるデバイスを作成する場合、Solaris ボリュームマネージャが適切に構成するので、ユーザーの介入は不要です。

大容量ボリュームのサポートの制限

Solaris ボリュームマネージャが大容量ボリューム (1T バイト超) をサポートするのは、64 ビットカーネルが動作している Solaris 9 4/03 以降のリリースに限られます。これより前の Solaris 9 リリースの 32 ビットカーネルが動作しているシステムで大容量ボリュームを扱うと、Solaris ボリュームマネージャの機能に影響が出ます。特に、次の点に注意してください。


注意 – 注意 –

32 ビットカーネルで Solaris ソフトウェアを動作させる予定がある場合、またはSolaris 9 4/03 リリースより前のバージョンの Solaris OS を使用する場合は、大容量ボリュームを作成してはなりません。


大容量ボリュームの使用

Solaris ボリュームマネージャのすべてのコマンドは大容量ボリュームで機能します。大容量ボリュームサポートを利用する場合でも、構文は同じです。特別な作業も不要です。したがって、Solaris ボリュームマネージャに精通しているシステム管理者であれば、Solaris ボリュームマネージャでただちに大容量ボリュームを扱うことができます。


ヒント –

大容量ボリュームを作成したあとで、Solaris 9 4/03 より前のリリースまたは Solaris 9 4/03 以降の 32 ビットカーネルで Solaris ボリュームマネージャを使用する必要ができた場合、大容量ボリュームを削除する必要があります。Solaris 9 4/03 より前のリリースまたは 32 ビットカーネルでリブートする前に、64 ビットカーネルで metaclear コマンドを使用して、Solaris ボリュームマネージャ構成から大容量ボリュームを削除してください。


Solaris ボリュームマネージャへのアップグレード

Solstice DiskSuite バージョン 4.1、4.2、および 4.2.1 から Solaris ボリュームマネージャへは、シームレスなアップグレードが可能です。ただし、すべてのボリュームが「正常 (Okay)」状態である (「保守が必要 (Needs Maintenance)」や「最後にエラー (Last Erred)」の状態でない) ことが必要です。さらに、ホットスペアが使用されていてはなりません。これ以上、アップグレードのために Solaris ボリュームマネージャに必要な作業はありません。つまり、構成の変更やルートミラーの解除は不要です。システムをアップグレードすると、Solstice DiskSuite の構成が繰り越され、Solaris ボリュームマネージャの各種ツールを通してアクセスできるようになります。

Solaris 10 OS では、サービス管理機能 (SMF) が導入されました。この機能が提供するインフラストラクチャーによって、従来の UNIX 起動スクリプト、init 実行レベル、および構成ファイルを補強できます。Solaris OS の以前のバージョンからアップグレードする場合は、Solaris ボリュームマネージャに関連する SMF サービスがオンラインであることを確認してください。このような SMF サービスがオンラインでない場合、Solaris ボリュームマネージャを管理するときに問題が発生する可能性があります。

Solaris ボリュームマネージャに関連する SMF サービスを確認するには、次の形式の svcs コマンドを使用します。


# svcs -a |egrep "md|meta"
disabled       12:05:45 svc:/network/rpc/mdcomm:default
disabled       12:05:45 svc:/network/rpc/metamed:default
disabled       12:05:45 svc:/network/rpc/metamh:default
online         12:05:39 svc:/system/metainit:default
online         12:05:46 svc:/network/rpc/meta:default
online         12:05:48 svc:/system/fmd:default
online         12:05:51 svc:/system/mdmonitor:default

Solaris ボリュームマネージャ構成がローカルセットだけで構成されている場合、次のサービスはオンラインであるべきです。

svc:/system/metainit

svc:/network/rpc/meta

svc:/system/mdmonitor

Solaris ボリュームマネージャ構成にディスクセットが含まれている場合、次のサービスもオンラインであるべきです。

svc:/network/rpc/metamed

svc:/network/rpc/metamh

Solaris ボリュームマネージャ構成にマルチノードのディスクセットが含まれている場合、上記のサービスに加えて、次のサービスもオンラインであるべきです。

svc:/network/rpc/mdcomm

SMF の詳細については、『Solaris のシステム管理 (基本編)』の第 14 章「サービスの管理 (概要)」を参照してください。