1    概要

LSM (Logical Storage Manager) ソフトウェアは,オプションのホスト・ベースの統合型ディスク・ストレージ管理アプリケーションです。 このソフトウェアを使用すると,ユーザやアプリケーションによるストレージ・デバイス上のデータ・アクセスを中断することなく,ストレージ・デバイスを管理できます。 LSM はどんな種類のシステムでも役立ちますが,特に,多数のディスクを持つ構成や,ディスクが恒常的に追加される構成で役立ちます。

LSM は RAID (Redundant Arrays of Independent Disks) 技術を使用して,ストレージ・デバイスをストレージの仮想プールとして構成します。 この仮想プールから,LSM ボリュームを作成することができます。 新規および既存の UFS ファイル・システム,AdvFS ファイル・システム,データベース,およびアプリケーションを,LSM ボリュームを使用するように構成できます。 また,RAID ストレージ・セット上に LSM ボリュームを作成することも可能です。

ディスク・パーティションの代りに LSM ボリュームを使用する利点は,次のとおりです。

この章では,LSM の機能,概念,用語,および利用可能なインタフェースについて説明します。 LSM の用語とコマンドについては, volintro(8) のリファレンス・ページで説明しています。

1.1    LSM オブジェクト階層の概要

LSM は次のオブジェクト階層を使用して,ストレージを編成します。

以降の項では,LSM オブジェクトの詳細を説明します。

1.1.1    LSM ディスク

LSM ディスクは,LSM 専用に構成されているディスク,ディスク・パーティション,およびハードウェア RAID セットなどの,Tru64 UNIX がサポートするストレージ・デバイスです。 LSM でのストレージの見え方は,Tru64 UNIX オペレーティング・システム・ソフトウェアの場合と同じです。 たとえば,オペレーティング・システム・ソフトウェアが RAID セットを 1 つのストレージ・デバイスと見なす場合は,LSM も RAID セットを同様に見なします。 また,LSM はハードウェア・ディスク・クローンを認識し,サポートします。

サポートされているストレージ・デバイスについての詳細は,次の URL の 『Tru64 UNIX QuickSpecs』(以前の『Tru64 UNIX ソフトウェア仕様書 (SPD)』) を参照してください。

http://h50146.www5.hp.com/products/software/oe/tru64unix/manual/os/

図 1-1 に,LSM がサポートしている一般的なハードウェア構成を示します。

図 1-1:  一般的な LSM ハードウェア構成

ストレージ・デバイスは,LSM 用に初期化されると,LSM ディスクとなります。 LSM ディスクは,3 種類あります。

1.1.1.1    ディスク・アクセス名

LSM で使用するためにディスクを初期化すると,指定したデバイスに応じて,LSM によってディスク・アクセス名が割り当てられます。 たとえば,ディスク dsk4 を初期化すると,ディスク・アクセス名は dsk4 になります。 また,ディスク・パーティション dsk4b を初期化すると,ディスク・アクセス名は dsk4b になります。

同一ディスク内の複数のパーティションを,別個の LSM ディスクとして初期化する場合は,それぞれに独自のディスク・アクセス名が付けられます。 たとえば,dsk2bdsk2f です。

1.1.1.2    ディスク・メディア名

LSM ディスクをディスク・グループに追加すると,ディスク・メディア名が割り当てられます。 この名前はディスク・アクセス名,または割り当てた名前のいずれかになります。 英数字 31 文字まで (スペースとスラッシュ ( / ) を除く) のディスク・メディア名を割り当てることができます。

たとえば,ディスク・アクセス名が dsk1 のディスクは,dsk1 というディスク・メディア名にすることも,独自にディスク・メディア名 (たとえば,finance_data_disk) を付けることもできます。

LSM は,ディスク・メディア名と,ディスク・アクセス名の対応を維持します。 ディスク・メディア名により,オペレーティング・システムの命名規則と独立させることができます。 これにより,デバイスを新しい位置に移動しても (たとえば,別のコントローラに移動するなど),LSM はそのデバイスを見つけることができます。

ディスクをディスク・グループから削除すると,ディスク・メディア名は失われます。 ディスクを異なるディスク・グループに追加する場合には,ディスクに異なるディスク・メディア名を割り当てることができます。 または,デフォルトでディスク・アクセス名を使用することもできます。

1 つのディスク・グループ内では,すべてのディスク・メディア名は一意である必要がありますが,異なるディスク・グループには,同じディスク・メディア名を持つディスクがあっても構いません。

1.1.2    ディスク・グループ

ディスク・グループは,LSM ディスクをグループ化したものを表すオブジェクトです。 ディスク・グループ内の LSM ディスクは,ディスク・グループ内のすべての LSM オブジェクト (LSM ディスク,サブディスク,プレックス,およびボリューム) を識別する共通の構成データベースを共用します。 LSM は,各ディスク・グループ内の複数の LSM スライス・ディスクまたはシンプル・ディスクのプライベート・リージョンに,自動的に構成データベースのコピーを作成し維持します。

プライベート・リージョンの省略時の設定サイズは 4096 ブロックで,それぞれの LSM オブジェクトに対し,1 つのレコードが必要です。 2 つのレコードが 1 セクタ (512 バイト) に格納できます。 したがって,省略時のプライベート・リージョン・サイズで,8192 個のオブジェクト (LSM ディスク,サブディスク,プレックス,およびボリューム) を追跡するための構成データベース用の領域が確保できます。

LSM は冗長性を確保するために,これらのコピーをすべてのコントローラに分散させます。 1 つのディスク・グループ内に存在する LSM ディスクが同じコントローラ上に配置されている場合,LSM はこのコピーを複数のディスクに分散させます。 LSM は LSM 構成の変更を自動的に記録し,必要であれば,ディスク・グループの構成データベースのコピーの数や位置を変更します。

LSM nopriv ディスクのみのディスク・グループを作成することはできません。 これは,LSM nopriv ディスクには構成データベースを格納するためのプライベート・リージョンがないためです。

省略時の設定では,LSM ソフトウェアは rootdg という名前のディスク・グループを作成します。 rootdg の構成データベースには,rootdg についての情報と,ユーザが作成した他のディスク・グループすべての情報が入っています。

1 つの LSM ボリュームが使用できるのは,同じディスク・グループ内のディスクだけです。 すべてのボリュームを rootdg ディスク・グループに作成することも,別のディスク・グループを作成することもできます。 たとえば,財務 (financial) データをディスクに格納する場合,finance というディスク・グループを作成してディスクを割り当てることができます。

1.1.3    サブディスク

サブディスクは,LSM がデータの格納に使用する LSM ディスク公用リージョン内の,連続するブロックのセットを表すオブジェクトです。

省略時の設定では,LSM は LSM ディスク・メディア名の後にダッシュ (-) と 2 桁の数字 (01 からの昇順) を付けたサブディスク名を割り当てます。 たとえば,dsk1-01 という名前が考えられます。

あるいは,英数字 31 文字まで (スペースとスラッシュ ( / ) を除く) のサブディスク名を割り当てることができます。 たとえば,ディスク・メディア名として dsk3 を持つディスクに finance_disk-01 というサブディスク名を割り当てることができます。

サブディスクとなるのは,次のリージョンです。

1.1.4    データ・プレックス

データ・プレックスは,LSM がボリューム・データを書き込むディスク・グループにある,サブディスクやサブディスクの集まりを表すオブジェクトです。

省略時の設定では,LSM はボリューム名の後にダッシュ (-) と 2 桁の数字 (01 からの昇順) を付けたプレックス名を割り当てます。 たとえば,volume1-01 は,ボリューム名が volume1 のボリュームの最初の (そして,唯一の) プレックス名です。

あるいは,英数字 31 文字まで (スペースとスラッシュ ( / ) を除く) のプレックス名を割り当てることができます。 たとえば,finance_plex01 というプレックス名を割り当てることができます。

データ・プレックスには,次の 3 つのタイプがあります。 LSM にディスク上でボリューム・データをどのように格納させたいかによって,データ・プレックスを選択します。

1.1.4.1    連結データ・プレックス

連結データ・プレックスでは,LSM はサブディスク上に連続するアドレス・スペースを作成し,ボリューム・データを順に連続して書き込みます。 データの書き込み中にサブディスクの終わりになった場合,LSM は次のサブディスクに引き続きデータを書き込みますが,図 1-4 で示すように,異なる物理ディスクになる場合もあります。 LSM によって,本来であれば未使用になる複数のディスク・スペースを使用することができます。 1 つのディスクの公用リージョンには,複数の異なるボリュームで使用されるサブディスクを含めることができます。

図 1-4:  連結データ・プレックス

連結データ・プレックスが 1 つあるボリューム内のサブディスクの 1 つに障害が発生すると,LSM ボリュームの障害となります。 このような障害を防ぐには,異なるディスク上に複数のプレックス (ミラー) を作成します。 LSM は,ミラー内のデータを絶えず維持します。 ディスク障害のためにプレックスが利用できなくなった場合,ボリュームは他のプレックスを使用して動作を継続します。

異なる SCSI バス上のディスクをミラー・プレックスに使用すると,複数のプレックスから同時にデータを読み取ることができるため,読み取り要求の処理が速くなります。

1.1.4.2    ストライプ・データ・プレックス

ストライプ・データ・プレックスでは,LSM はデータをストライプ幅 (省略時の設定では 64 KB) で定義されている同じサイズのユニットに分け,各データ・ユニットを異なるディスクに書き込みます。 この際,複数のカラム上にデータのストライプを作成します (通常はプレックス内のディスクの数だけ)。 カラム上のデータ分割を最適化するために,別のストライプ幅 (データ・ユニットのサイズ) を定義することもできます。

ディスクが別の SCSI バス上にある場合は,LSM は複数のデータ・ユニットを同時に書き込むことができます。

図 1-5 に,3 カラムのストライプ・プレックスを示します。 このタイプのプレックスでは,1 つの I/O 書き込み要求は,同じサイズのデータ・ユニット (A,B,C,D など) に分割され,各データ・ユニットは順次異なるサブディスク (異なるディスク・カラム) に書き込まれます。

図 1-5:  3 カラムのストライプ・データ・プレックスからなるボリューム

1 回の書き込み要求で 1 つのストライプが完了しなかった場合,つまりデータ・ユニットが均等にカラムに振り分けられなかった場合は,次回の書き込み要求の最初のデータ・ユニットが,次のカラムから開始されます。

書き込み要求をデータ・ユニットのサイズで割ると余りが出て,書き込み要求の最後のデータ・ユニットがカラムの最後に来ない場合,次回の書き込み要求はそのカラムを完了させてから,次のカラムに移ることになります。

連結データ・プレックスの場合と同じように,ストライプ・データ・プレックスが 1 つあるボリューム内の 1 つのディスクに障害が発生すると,ボリュームの障害となります。 このような障害を防ぐには,異なるディスク上に複数のデータ・プレックス (ミラー) を作成します。 LSM は絶えずミラー・データ・プレックス内のデータを維持します。 ディスクの障害のためにプレックスが利用できなくなった場合,ボリュームは他のプレックスを使用して動作を継続します。

異なる SCSI バス上のディスクをミラー・プレックスに使用すると,データが複数のプレックスから同時に読み取られるため,読み取り要求の処理が速くなります。

1.1.4.3    RAID 5 データ・プレックス

RAID 5 データ・プレックスでは,LSM は各データ・ストライプのパリティ値を計算してから,データおよびパリティをストライプ幅で定義されている同じサイズ (省略時の設定では 16 KB) のユニットに分割します。 そして,そのデータおよびパリティのユニットを 3 つ以上のサブディスク・カラムに書き込み,複数カラムに渡るデータおよびパリティのストライプを作成します。 パリティは 1 つのデータ・ユニットに含まれます。 このため,ディスクの各カラムに,各データ・ストライプのパリティ値全体が含まれます。

LSM はパリティを,連続するデータ・ストライプの異なるカラムに書き込みます。 最初のストライプのパリティ・ユニットは,最後のカラムに書き込まれます。 以降の各パリティ・ユニットは,直前のパリティ・ユニットの位置から 1 つ左のカラムに置かれます。 カラムよりストライプの方が多い場合,パリティ・ユニットは再度最後のカラムから順に置かれます。

1 つのカラム内の 1 つのディスクに障害が発生しても,LSM は,障害が発生していないカラム内のデータおよびパリティ情報を使用して,失われたデータを再構築して動作を続けます。 カラム上のデータおよびパリティの分割を最適化するために,別のストライプ幅 (データ・ユニットのサイズ) を定義することもできます。

異なる SCSI バス上にカラムがある場合,LSM はデータおよびパリティを同時に書き込むことができます。

図 1-6 は,RAID5 データ・プレックスにデータおよびパリティ情報が書き込まれる様子を示しています。

図 1-6:  RAID 5 データ・プレックス 1 つからなるボリューム

1.1.5    ログ・プレックス

ログ・プレックスは,ボリューム内の動作についての情報を保持します。 障害発生時には,LSM はログ・プレックス内で障害時にダーティであった (書き込みがあった) と識別されたボリューム領域だけを回復します。

省略時の設定では,LSM は,ミラー・ボリューム (2 つ以上のストライプ・データ・プレックスまたは連結データ・プレックスを持つボリューム),および RAID5 データ・プレックスを使用するボリュームの,ログ・プレックスを作成します。 ミラー・ボリュームはダーティ・リージョン・ログ (DRL) プレックスを使用します。 また,オプションで,高速プレックス接続 (FPA) プレックスを使用します。 RAID5 ボリュームは RAID5 ログ・プレックスを使用します。

また,Version 4.0 との互換性を持たせるために,LSM では,データとログを結合したプレックスをサポートしています。 このタイプのプレックスは,Version 5.0 以降では使用されません。

1.1.6    LSM ボリューム

ボリュームは,ディスク・グループ内の,プレックス,サブディスク,および LSM ディスクの階層を表すオブジェクトです。 アプリケーションおよびファイル・システムは,LSM ボリュームに対して読み取り要求および書き込み要求を行います。 LSM ボリュームは,基礎となる LSM オブジェクトを利用して,要求を処理します。

1 つの LSM ボリュームが使用できるのは,1 つのディスク・グループのストレージだけです。

LSM は,省略時設定では,ボリューム名を割り当てません。 ユーザがボリューム名を,スペースとスラッシュ(/) を除く,31 文字までの英数字で割り当てる必要があります。 ディスク・グループ内ではボリューム名は一意である必要がありますが,異なるディスク・グループであれば,同一のボリューム名を持つことができます。

LSM ボリュームは,冗長構成と非冗長構成のどちらにもできます。 冗長ボリュームでは,ミラー化 (複数の連結データ・プレックスまたはストライプ・データ・プレックス) またはパリティ (RAID5 データ・プレックス) を通じて,データの高可用性が実現されます。 次の項では,これらの特性をさらに詳しく説明します。

1.1.6.1    非冗長ボリューム

非冗長ボリュームでは,データ・プレックスは 1 つで,データの冗長性はありません。 プレックスのレイアウトは,ストライプまたは連結です。

連結プレックスを 1 つだけ持つ非冗長ボリュームは,シンプル・ボリュームと呼ばれます。 これは,1 つ以上のディスク上の領域からなります。 これは最も単純なボリュームのタイプです。 シンプル・ボリュームは通常,すべてのボリューム・タイプの中で性能が最も低くなります。

1.1.6.2    ミラー・ボリューム

ミラー・ボリュームには,複数の連結データ・プレックスまたはストライプ・データ・プレックスがあり,省略時の設定では,ログ・プレックスも 1 個あります。 プレックスのレイアウトに応じて,このタイプのボリュームは,連結ミラー・ボリューム,またはストライプ・ミラー・ボリュームと呼ばれます。 一般的には,ボリューム内のすべてのデータ・プレックスのレイアウトは同じです (すべてがストライプ,またはすべてが連結)。 ただし,それは必須ではありません。

各データ・プレックスはボリューム・データのインスタンスです。 ミラー・ボリュームは,データを任意のミラーから読み込むことができるため,データの冗長性があり,性能が向上しています。 ミラー・ボリュームには,データ・プレックスと DRL プレックスを任意に 32 個まで組み合わせることができます。 ただしその定義上,ミラー・ボリュームにはデータ・プレックスが少なくとも 2 つ必要です。 ミラー・ボリュームは,各ミラー (プレックス) にボリューム・データの完全なコピーを持つため,冗長ボリュームです。

図 1-7 に,連結データ・プレックスとミラー・データ・プレックスがあり,ダーティ・リージョン・ログ (DRL) プレックスが 1 つあるボリュームを示します (1.1.5 項)。

図 1-7:  連結データ・プレックスとミラー・データ・プレックスのあるボリューム

図 1-8 に,ストライプ・データ・プレックスとミラー・データ・プレックスがあり,DRL プレックスが 1 つあるボリュームを示します。

図 1-8:  ストライプ・データ・プレックスとミラー・データ・プレックスのあるボリューム

異なる LSM ボリュームは,サブディスクが異なれば,同一ディスク上のディスク・スペースを使用することができます。

図 1-9:  同一ディスク上のサブディスクを使用する 2 つの LSM ボリューム

図 1-9 では,ボリューム V1 は,ディスク dsk5 上のサブディスク dsk5-01 内のスペースを使用しています。 ボリューム V2 は,ディスク dsk5 上のサブディスク dsk5-02 内のスペースを使用しています。

ボリューム V1 はストライプ・ミラー・ボリューム (2 つのストライプ・プレックスを使用) で,ボリューム V2 はシンプル・ボリューム (1 つの連結プレックスを使用) です。 ディスク dsk5 が故障しても,ボリューム V1 はプレックス V1-1 を使用して動作を継続できますが,ボリューム V2 は冗長ではないため,完全に故障します。

1.1.6.3    RAID 5 ボリューム

RAID 5 ボリュームには,1 つの RAID5 データ・プレックスと 1 つの RAID5 ログ・プレックスがあります。 ボリュームに複数の RAID5 ログ・プレックスを追加することはできますが,1 つで十分です。 RAID5 ボリュームは,パリティ情報によるデータ冗長性があるため,冗長ボリュームです。

注意

RAID 5 データ・プレックスはミラー化できません。

TruCluster Server ソフトウェアは,RAID5 ボリュームをサポートしていません。

1.1.6.4    ボリュームの使用タイプ

LSM ボリュームには使用タイプがあります。 このタイプによって,ボリューム上での操作規則のクラスを定義しています。 この規則は,一般的に,ボリュームの内容をベースにしています。 LSM には,以下の使用タイプがあります。

LSM ではこのほかに,次のような特殊な使用タイプを使用します。

1.1.6.5    ボリューム・デバイス・インタフェース

大半のストレージ・デバイスと同様に,LSM ボリュームにはブロック型デバイス・インタフェースと文字型デバイス・インタフェースがあります。

これらのインタフェースは UNIX 標準の openclosereadwrite,および ioctl 呼び出しをサポートしているため,データベース,ファイル・システム,アプリケーション,およびセカンダリ・スワップは,ディスク・パーティションと同じ方法でLSM ボリュームを使用します (図 1-10 を参照)。

図 1-10:  ディスク・パーティションと同様に使用する LSM ボリューム

1.2    LSM インタフェースの概要

次のインタフェースのいずれかを使用して,LSM オブジェクトの作成,表示,および管理を行なうことができます。

多くの場合,LSM インタフェースは,混在させて使用することができます。 つまり,1 つのインタフェースで作成された LSM オブジェクトは,他の LSM インタフェースで作成された LSM オブジェクトで管理することができ,互換性もあります。 ただし,高速プレックス接続機能は,CLI だけで使用可能です。

1.2.1    LSM コマンド行インタプリタ

LSM コマンド行インタプリタを使用すると,LSM オブジェクトの作成および管理の大半を制御して詳細を指定することができます。 他のインタフェース (lsmsavoldiskadm,および dxlsm) は,コマンド行から利用可能な操作をすべてサポートしているわけではありません。

大部分の LSM コマンドは,ハイレベルとローレベルの 2 つのカテゴリに分類できます。

表 1-1 には,本書で説明している LSM コマンドの機能と,ハイレベル・コマンドとローレベル・コマンドの分類 (該当する場合) を示します。

表 1-1:  本書で説明する LSM コマンド

コマンド 機能
設定とデーモン用コマンド
volsetup

rootdg ディスク・グループを作成して,LSM ソフトウェアを初期化する。

volsave

LSM 構成データベースのバックアップを行う。

volrestore

LSM 構成データベースを復元する。

voldctlvoldvoliod

LSM ボリュームの構成とカーネル・デーモンの操作を制御する。

volwatch

障害イベントがないか LSM を監視し,ホット・スペアリング機能が使用可能であれば実行する。

通常は,LSM 設定の初期化時に,ホット・スペアリング機能を使用可能にするために使用します。

オブジェクト作成と管理用コマンド コマンド・レベル
volassist

ボリュームの作成,ミラー化,バックアップ,および移動を自動的に行う。

ハイレベル -- LSM ボリュームの作成と管理で最も多く使用される LSM コマンド。
voldiskadd

LSM ディスクおよびディスク・グループを作成する。

ハイレベル -- voldisksetup および voldg の多くの同じ機能を,1 つの対話型セッションで実行する。
voldisksetup

LSM 用に,1 つ以上のディスクを追加する。

ハイレベル
voldisk

LSM ディスクを管理する。

ローレベル
voldg

ディスク・グループを管理する。

ハイレベル
volume

ボリュームを管理する。

ローレベル
volplex

プレックスを管理する。

ローレベル
volsd

サブディスクを管理する。

ローレベル
volmake

LSM オブジェクトを手動で作成する。

ローレベル
voledit

LSM レコードを作成,変更,および削除する。

ローレベル
volrecover

クラッシュまたはディスク障害後に,プレックスとパリティ・データの同期化を行う。

ハイレベル
volmend

構成レコードの簡単な問題を修正する。

ローレベル
volevac

ディスクからすべてのボリューム・データを移動する。

ハイレベル
データ移行とカプセル化用コマンド
volencap

ディスクまたはディスク・パーティションを LSM ボリュームにカプセル化するスクリプトをセットアップする。

volreconfig

volencap でセットアップされたカプセル化スクリプトを実行し,必要に応じてシステムを再起動してカプセル化を完了させる。

volrootmir

ルート・ボリュームとスワップ・ボリュームをミラー化する。

クラスタではサポートされません。

volunroot

ルート・ボリュームとスワップ・ボリュームを削除する。

クラスタではサポートされません。

volmigratevolunmigrate

AdvFS ドメインから LSM ボリュームへ移行するか,LSM ボリュームから AdvFS ドメインへ移行する。

vollogcnvt

ブロック変更ロギング (Version 5.0 より前) を行っているボリュームを,ダーティ・リージョン・ロギング (Version 5.0 以降) を行うように変換する。

情報用コマンド
volprint

LSM 構成情報を表示する。

voldisk

LSM ディスクに関する情報を表示する。

volinfo

ボリュームの状態情報を表示する。

volstat

LSM 統計情報を表示する。

volnotify

LSM 構成イベントを表示する。

インタフェース起動用コマンド
lsmsa

LSM Storage Administrator GUI を起動する。

LSM には,これらのコマンドの他に,説明ファイル volmake(4) および vol_pattern(4) があります。

コマンドについての詳細は,その名前に対応するリファレンス・ページを参照してください。 たとえば,volassist についての詳細を調べるには,次のコマンドを入力します。

# man volassist

すべての LSM コマンドとファイルのリストは, volintro(8) を参照してください。

1.2.2    Storage Administrator インタフェース

Storage Administrator には,LSM オブジェクトの作成または管理の情報を入力できるダイアログ・ボックスがあります。 ダイアログ・ボックスへの入力の完了は,複数のコマンドの入力に相当します。 Storage Administrator を使用すると,LSM を実行しているローカルまたはリモートのシステムを管理できます。 Storage Administrator を使用するには,LSM ラインセンスが必要です。

詳細は,付録 A を参照してください。