3    LSM ソフトウェアのインストールと初期化

この章では,スタンドアロン・システムまたは TruCluster Server クラスタに LSM をインストールし,初期化する方法について説明します。 さらに,LSM を使用して,これらの環境のルート・ファイル・システムとドメインに冗長性を持たせる方法について説明します。 LSM を使用しているシステムを Version 4.0 からアップグレードする方法は,7.1 節を参照してください。

3.1    LSM ソフトウェアのインストール

LSM ソフトウェアは,3 つのオプションのサブセットからなっています。 これらのサブセットは,Tru64 UNIX プロダクト・キット用のベース・オペレーティング・システム・ソフトウェアが収められた CD-ROM に入っています。 LSM サブセットは,必須のオペレーティング・システム・ソフトウェアをインストールする際でも,インストールの後でもインストールできます。

LSM を使用する新しいクラスタを構成するには,以下の手順を実行します。

  1. ベース・オペレーティング・システム (Tru64 UNIX) と LSM サブセットを 1 つのシステムにインストールします。 ただし,インストール GUI を使用してベース・ファイル・システムを LSM ボリュームにインストールしないでください。

  2. クラスタを作成します (clu_create コマンド)。

  3. LSM を初期化します (volsetup コマンド)。

  4. 他のクラスタ・メンバを追加します (clu_add_member コマンド)。

  5. 必要に応じて,cluster_rootcluster_usr,および cluster_var ドメインも含め,AdvFS ドメインを LSM ボリュームに移行します (volmigrate コマンド)。

  6. 必要に応じて,クラスタ・メンバのスワップ・デバイスを LSM ボリュームにカプセル化します (volencap コマンド)。

表 3-1 に LSM サブセットのリストを示します。 サブセット名の nnn は,オペレーティング・システムのバージョン番号です。

表 3-1:  LSM ソフトウェア・サブセット

サブセット 機能
OSFLSMBINnnn

LSM ドライバを備えたカーネルを構築するカーネル・モジュールを提供します。 このソフトウェア・サブセットは,ユニプロセッサ,SMP,およびリアルタイムの構成をサポートしています。 このサブセットは,標準カーネル・モジュールを必要とします。

OSFLSMBASEnnn

LSM の管理に必要な LSM 管理コマンドおよびツールが含まれています。 Tru64 UNIX のフル・インストレーション中に LSM をインストールする場合,このサブセットは必須です。 このサブセットは,LSM カーネル構築モジュールを必要とします。

OSFLSMX11nnn

LSM の Motif ベースのグラフィカル・ユーザ・インタフェース (GUI) 管理ツールおよび関連ユーティリティが含まれています。 このサブセットは,基本 X 環境を必要とします。

3.2    LSM ライセンスのインストール

ベース・オペレーティング・システムに付属している LSM ライセンスでは,連結プレックスを 1 つ使用する LSM ボリューム (シンプル・ボリューム) を作成できます。 その他すべての LSM 機能 (ストライプ,ミラー,および RAID 5 プレックスを使用する LSM ボリュームの作成や,LSM GUI の使用など) には,別途 LSM ライセンスが必要です。

この LSM ライセンスは,LSM-OA というプロダクト認証キー (PAK) の形式で渡されます。

LSM ライセンスをインストールするには,Tru64 UNIX License Management Facility (LMF) に LSM-OA PAK をロードします。

LSM ライセンスを注文する必要がある場合は,サービス担当者にご連絡ください。 License Management Facility についての詳細は, lmf(8) のリファレンス・ページを参照してください。

3.3    LSM の初期化

オペレーティング・システムのフル・インストレーションを実行し,ルート・ファイル・システムと /usr/var,および swap パーティションを直接 LSM ボリュームにインストールするオプションを指定すると,LSM は自動的に初期化されます。 または,以前に LSM を実行していたシステムやクラスタでアップグレード・インストレーションを実行する場合にも,LSM は自動的に初期化されます。 これ以外の場合は,LSM は手動で初期化してください。

LSM を初期化すると,次の処理が行われます。

LSM を初期化するためには,rootdg の作成に,最低 2 つの未使用ディスクまたはパーティションが必要です。 これにより,LSM 構成データベースのコピーが複数用意されます。 rootdg ディスク・グループ用のディスクまたはパーティションの選択については,第 2 章を参照してください。 クラスタの場合,クォーラム・ディスクやメンバのプライベート・ブート・ディスクの未使用のパーティションは使用しないでください。

スタンドアロン・システムとクラスタで LSM を初期化するには,以下の手順を実行します。

  1. クラスタのメンバで,LSM サブセットがインストールされていることを確認します。

    # setld -i | grep LSM
    

    次のような情報 (nnn はオペレーティング・システムのリビジョン) が表示されます。

    OSFLSMBASEnnn  installed Logical Storage Manager (System Administration)
    OSFLSMBINnnn   installed Logical Storage Manager Kernel Modules (Kernel
                   Build Environment)
    OSFLSMX11nnn   installed Logical Storage Manager GUI (System Administration)
     
    

    LSM サブセットの状態が installed と表示されない場合,setld コマンドを使用して LSM サブセットをインストールします。 ソフトウェア・サブセットのインストールについての詳細は,『インストレーション・ガイド』を参照してください。

  2. LSM ドライバがカーネルに構成されているか確認します。 次のコマンドを実行すると LSM ドライバ情報が表示されます。

    # devswmgr -getnum driver=LSM
    Device switch reservation list
     
                                              (*=entry in use)
                driver name             instance   major
      -------------------------------   --------   -----
                                  LSM          4      43 
                                  LSM          3      42 
                                  LSM          2      41*
                                  LSM          1      40*
    

    LSM ドライバ情報が表示されない場合は,doconfig コマンドを使用してカーネルを再構築しなければなりません。 カーネルの再構築についての詳細は,『インストレーション・ガイド』を参照してください。

  3. 少なくとも 2 つのディスクまたはパーティションを指定して,LSM を初期化します。

    # volsetup {disk|partition} {disk|partition...}
    

    たとえば,ディスク dsk4 および dsk5 を使用して LSM を初期化するには,次のように入力します。

    # volsetup dsk4 dsk5
    

    ディスクまたはパーティション名を省略すると,volsetup スクリプトはその入力を求めます。 volsetup コマンドが初期化失敗のエラー・メッセージを表示した場合は,ディスクの再初期化が必要になることがあります。 ディスクの再初期化についての詳細は,Disk Configuration GUI のオンライン・ヘルプを参照してください。

    LSM を Tru64 UNIX システムで初期化すると,LSM 構成は,クラスタの作成時 (clu_create コマンドによる) とメンバの追加時 (clu_add_member コマンドによる) に,クラスタに伝搬されます。

  4. クラスタの場合,残りのメンバすべてで以下のコマンドを実行して,クラスタ全体で LSM を同期化します (ステップ 3 を実行したメンバは除きます)。

    # volsetup -s
    

    続けて clu_add_member コマンドでクラスタに新しいメンバを追加する場合は,新しいメンバ上の LSM は,自動的に同期化されます。 新しいメンバでは,volsetup -s コマンドは実行しないでください。

通常は,LSM が初期化されたことを確認する必要はありません。 初期化が失敗すると,システムは問題を示すエラー・メッセージを表示します。

LSM が初期化されたことを確認するには,以下の手順の 1 つ以上を実行します。

3.4    クリティカル・ファイル・システムとスワップ領域での LSM の使用

LSM を初期化した後,以下の手順を実行できます。

3.4.1    代替ブート・ディスクの作成 (スタンドアロン・システムの場合)

LSM を使用して,スタンドアロン・システムの代替ブート・ディスクを作成できます。 これは,ブート・ディスク・パーティションを LSM ボリュームにカプセル化し,これらのボリュームをミラー化することによって行います。 これにより,ブート・ディスク・パーティションのデータが別のディスクへコピーされます。 これにより完全な冗長性と,ブート・ディスクに障害が発生した場合の復旧機能が提供されます。 たとえば,プライマリ・ブート・ディスクに障害が発生した場合は,システムは別のディスク上にある生き残ったミラーを使用して動作を続けます。 また,生き残ったミラーを使用してシステムをリブートすることもできます。

LSM で代替ブート・ディスクを作成するには,次のようにします。

  1. LSM カプセル化手順を使用して,LSM ボリュームとして使用するように,ルート・ファイル・システム・パーティションとプライマリ・スワップ領域を構成します。

  2. ボリュームにミラー・プレックスを追加して,ブート・ディスク・パーティション内のデータのコピーを作成します。

注意

LSM を使用する環境の復旧に役立てるため,ブート可能テープ・ユーティリティを使用できます。 このユーティリティを使用すると,磁気テープ上にブート可能スタンドアロン・システム・カーネルを構築できます。 ブート可能テープはローカルの構成を保持し,復旧中に使用する LSM コマンドの基本セットを提供します。 SysMan Menu の boot_tape オプションについては,『システム管理ガイド』またはオンライン・ヘルプ,および btcreate(8) のリファレンス・ページを参照してください。

3.4.1.1    制約事項と要件

システム・パーティションとプライマリ・スワップ領域をカプセル化する場合,次の制約事項が適用されます。

ディスクには,以下の要件があります。

3.4.1.2    システム・パーティションのカプセル化 (システム・ボリュームの作成)

システム・パーティションをカプセル化すると,各パーティションは連結プレックスが 1 個ある LSM ボリュームに変換されます。 システム・パーティションのカプセル化手順は,UNIX ファイル・システム (UFS) と AdvFS (Advanced File System) のどちらを使用していても同じです。

注意

カプセル化手順を行ったときには,システムの再起動が必要です。

カプセル化手順では,次のファイルが変更されます。

さらに,LSM はプライベート・リージョンを作成し,その中に構成データベースのコピーを格納します。 システム・パーティションが異なるディスク上に存在する場合 (たとえば,ブート・パーティションが dsk0 上にあり,スワップ・パーティションが dsk1 上にある場合),LSM は各ディスク上にプライベート・リージョンを作成します。 通常は,ディスクやパーティションをカプセル化すると,LSM はカプセル化対象の領域に LSM の nopriv ディスクのみを作成します。 ただし,LSM 構成の残りが破損または紛失した場合でもシステムがブートできる必要があることから,LSM はこれらの特別なプライベート・リージョンを作成します。

システム・パーティションをカプセル化するには,次の手順に従います。

  1. root としてログインします。

  2. ブート・ディスクを探します。

    # consvar -l | grep boot
    boot_dev = dsk0
    bootdef_dev = dsk0
    booted_dev = dsk0
    boot_file =
    booted_file =
    boot_osflags = A
    booted_osflags = A
    boot_reset = OFF
    

  3. プライマリ・スワップ・ディスクを探します。

    # swapon -s
    Swap partition /dev/disk/dsk0b (default swap):
      
    .
    .
    .

  4. ブート・ディスク上に a または c 以外の少なくとも 1 つの未使用パーティションがあることを確認します。

    # disklabel dsk0 | grep -p '8 part'
    

    8 partitions: 
    #          size     offset    fstype   [fsize bsize   cpg]    # NOTE: values not exact 
    a:     262144          0     AdvFS                            # (Cyl.    0 - 115*)  
    b:     262144     262144      swap                            # (Cyl.  115*- 231*)  
    c:    8380080          0    unused        0     0             # (Cyl.    0 - 3707)  
    d:       4096    8375984    unused        0     0             # (Cyl. 3706*- 3707)  
    e:    2618597    3142885    unused        0     0             # (Cyl. 1390*- 2549*) 
    f:    2614502    5761482    unused        0     0             # (Cyl. 2549*- 3706*) 
    g:    1433600     524288     AdvFS                            # (Cyl.  231*- 866*)  
    h:    6418096    1957888    unused        0     0             # (Cyl.  866*- 3706*)
     
    

  5. スワップ・パーティションが別のディスクにある場合,スワップ・ディスク名を指定して,ステップ 4 を繰り返します。

  6. 次のように,ブート・ディスクとスワップ・ディスク (ブート・ディスクと異なる場合) を指定して,これらをカプセル化します。

    # volencap dsk0 dsk4
    Setting up encapsulation for dsk0.
        - Creating simple disk dsk0d for config area (privlen=4096).
        - Creating nopriv disk dsk0a for rootvol.
        - Creating nopriv disk dsk0b.
        - Creating nopriv disk dsk0g.
     
    Setting up encapsulation for dsk4.
        - Creating simple disk dsk4h for config area (privlen=4096).
        - Creating nopriv disk dsk4b for swapvol.
     
    The following disks are queued up for encapsulation or use by LSM:
     dsk0d dsk0a dsk0b dsk0g dsk4h dsk4b
     
    You must now run /sbin/volreconfig to perform actual encapsulations.
    

  7. 必要に応じて,ユーザに対して,システムがまもなくシャットダウンされるという警告を送信します。

    システムからすべてのユーザがログアウトしたら,ステップ 7 に進みます。

  8. 実際のカプセル化を実行します。 システムのシャットダウンを求められたら,now と入力します。

    # volreconfig
    The system will need to be rebooted in order to continue with
    LSM volume encapsulation of:
     dsk0d dsk0a dsk0b dsk0g
    	dsk4h dsk4b
     
    Would you like to either quit and defer encapsulation until later 
    or commence system shutdown now? Enter either 'quit' or time to be 
    used with the shutdown(8) command (e.g., quit, now, 1, 5): [quit]  now
    

    システムはシャットダウンしてカプセル化を実行し,自動的に再起動します。

    Encapsulating dsk0d.
    Encapsulating dsk0a.
    Encapsulating dsk0b.
    Encapsulating dsk0g.
    Encapsulating dsk4h.
    Encapsulating dsk4b.
    Shutdown at 14:36 (in 0 minutes) [pid 11708]
     
     
     
            *** FINAL System shutdown message from root@hostname ***
     
    System going down IMMEDIATELY
            ... Place selected disk partitions under LSM control.
     
     
    System shutdown time has arrived
    

3.4.1.3    システム・ボリュームのミラーリング

ブート・ディスク・パーティションとスワップ領域を LSM ボリュームにカプセル化した後,冗長性を確保するためにボリュームをミラー化してください。 この処理には数分かかりますが,その間もルート・ファイル・システムとスワップ領域は使用可能です。

すべてのシステム・ボリュームを,同時にミラー化してください。 以下の手順で -a オプションを指定すると,この操作が自動的に行われます。 ルート・ファイル・システムとスワップ領域のボリュームだけをミラー化し,ブート・ディスク上のその他のボリューム (/usr および /var ファイル・システムなどのボリューム) をミラー化しない場合は,-a オプションは指定しません。

注意

この手順では,ルート・ボリュームやスワップ・ボリュームにログ・プレックス (DRL) は追加されません。 ロギングはルート・ボリュームではサポートされません。 また,スワップ・ボリュームではログを取る必要がありません。 ログ・プレックスを追加すると,rootvolswapvol の性能が低下しますし,システム復旧ではログが使用されないため何の利点もありません。

3.4.1.4    システム・ボリュームの情報の表示

3.4.1.3 項の手順に従って,エラー・メッセージが表示されなかった場合は,操作は成功したと考えられますが,次のコマンドを実行すると,さらに操作の結果を表示できます。

3.4.2    クラスタ・ドメインでの LSM ボリュームの使用

TruCluster Server環境では,クラスタ単位のルート,/usr,および /var ファイル・システム・ドメイン (cluster_rootcluster_usr,および cluster_var) と,クラスタ・メンバのスワップ・デバイスなどの AdvFS ドメインに,LSM ボリュームを使用することができます。 クォーラム・ディスクやメンバのプライベート・ブート・ディスク上のパーティションには,LSM ボリュームは使用できません。

注意

cluster_root ドメインに LSM ボリュームを使用しても,障害後のクラスタ復旧には役立たないため,耐災害性クラスタは作成できません。 クラスタは cluster_root ファイル・システムからはブートできません。

LSM はデータの可用性を高めますが,クラスタ全体の高可用性や,クラスタ障害後の復旧時間の短縮には対応していません。 LSM は耐災害性のソリューションではありません。

LSM は,クラスタの AdvFS ドメインとスワップ・デバイスを LSM の制御下に置くために,次の方法を提供しています。

表 3-2 に,これらのコマンドをいつ使用できるかを示します。

表 3-2:  クラスタの冗長性を提供する LSM コマンド

ドメインまたはパーティション volmigrate コマンド volencap コマンド
cluster_root, cluster_usrcluster_var 使用可能 (3.4.2.1 項) 使用不可
その他の AdvFS ドメイン (アプリケーション・データ) 使用可能 (4.6.2 項)
メンバのスワップ・パーティション 使用不可 使用可能 (3.4.3 項)
メンバのプライベート・ブート・パーティション (rootmemberID_domain#root) 使用不可 使用不可

3.4.2.1    AdvFS ドメインの LSM ボリュームへの移行

クラスタでは,個々のメンバのルート・ドメイン (rootmemberID_domain#root) を除くすべての AdvFS ドメインを,volmigrate コマンドを使用して,LSM ボリュームに移行できます。 たとえば,クラスタ単位のルート,/usr,および /var ファイル・システム・ドメインを LSM ボリュームに移行して,ボリュームを高可用性のためにミラー化できます。

volmigrate コマンドは,AdvFS ドメイン名を使用して動作します。 ここで説明する手順では,クラスタ単位のファイル・システムを,AdvFS の省略時のドメイン名 cluster_rootcluster_usr,および cluster_var で参照します。

volmigrate コマンドは,シェル・スクリプトです。 以下の作業のために別のコマンドを呼び出します。

3.4.2.1.1    ディスク・スペースについての留意事項

使用可能なディスクが限られているときにミラーリングを使用したい場合には,移行が完了した後に,AdvFS ドメインのボリュームをオリジナル・ディスクにミラー化できます。 ただし,オリジナル・ディスクを LSM 制御下に配置すると,LSM プライベート・メタデータ用に,使用可能な領域が 4096 ブロック (2 MB) 減ります。 このため,オリジナル・ディスクのサイズと利用状況によっては,いくつかのドメインを,AdvFS ドメインより小さなボリュームに移行する必要があります。

特に指定しなければ,volmigrate コマンドは,AdvFS ドメインと同じサイズの LSM ボリュームを作成します。 ただし,ボリュームのサイズは, volmigrate(8) で説明されている制約の範囲内で,小さく指定することができます。 その場合,ドメインも小さくなります。

指定するボリューム・サイズは,ドメインの使用中の部分より,10% 以上大きくなければなりません。 ボリュームを 2 MB だけ小さくする必要があります。 LSM と AdvFS のいずれを使用している場合でも,LSM ボリュームまたは AdvFS ドメインに後で領域を追加できます。

3.4.2.1.2    AdvFS ドメインの移行

AdvFS ドメインを LSM ボリュームに移行するコマンドの,一般的な構文は,次のとおりです。

volmigrate [-g disk_group] [-m num_mirrors] [-s num_stripes] \
domain_name disk_media_name...

volmigrate コマンドは任意のクラスタ・メンバから実行できます。 ドメインのサイズによっては,移行に数分かかることもあります。 エラー・メッセージが表示されなければ,移行は正常に行われています。

オリジナル・ディスクまたはディスク・パーティションをミラー用に再使用するつもりであれば,ドメインをミラー化されていないボリュームに移行し (3.4.2.1.1 項 で説明しているように,オプションでボリューム・サイズが指定できます),オリジナルのディスクを LSM 制御下に置いてから,別のステップでボリュームのミラー化を行います。

可能ならば,複数のボリュームをサポートするために,同じディスクを使用しないでください。 ディスクが故障した場合にリスクがあるボリュームの数が増えるからです。 ボリュームのミラーリングとホット・スペア・ディスクを構成することによって,このリスクは減ります。 使用可能なディスクがある場合は,各 AdvFS ドメインを別々のディスクに移行することを考えてください。 そして,オリジナル・ディスクはドメインのボリュームをミラー化するために使用し,その他のディスクは,その他のドメインのボリュームをミラー化するために使用します。

ドメインの移行時に,以下の項目を指定できます。

以下の手順は,ドメイン cluster_rootcluster_usr,および cluster_var の移行の説明ですが,その他の移行可能な AdvFS ドメインについても適用できます。

AdvFS ドメインを LSM ボリュームに移行するには,以下の手順を実行します。

  1. AdvFS ドメインの属性 (特に,サイズと名前) を表示します。

    # cd /etc/fdmns
    # showfdmn *
    

    以下のような情報が表示されます。 ここでは,簡潔にするため,ドメイン cluster_rootcluster_usr,および cluster_var だけを表示しています。

                   Id              Date Created  LogPgs  Version  Domain Name
    3c7d2bd9.0001fe4b  Wed Feb 27 13:56:25 2002     512        4  cluster_root
     
      Vol   512-Blks        Free  % Used  Cmode  Rblks  Wblks  Vol Name
       1L     401408      211072     47%     on    256    256  /dev/disk/dsk3b
     
                   Id              Date Created  LogPgs  Version  Domain Name
    3c7d2bdb.0004b3c9  Wed Feb 27 13:56:27 2002     512        4  cluster_usr
     
      Vol   512-Blks        Free  % Used  Cmode  Rblks  Wblks  Vol Name
       1L    1787904      204480     89%     on    256    256  /dev/disk/dsk3g
     
                   Id              Date Created  LogPgs  Version  Domain Name
    3c7d2bdd.0008401f  Wed Feb 27 13:56:29 2002     512        4  cluster_var
     
      Vol   512-Blks        Free  % Used  Cmode  Rblks  Wblks  Vol Name
       1L    1790096     1678608      6%     on    256    256  /dev/disk/dsk3h
     
    

    cluster_root ドメインは,196 MB (401408 ブロック) です。 Tru64 UNIX システムでは 1 ブロックは 512 バイトです。 3 つのドメインの合計は 3979408 ブロック (約 2 GB) です。 3 つのすべてのドメインを同じ LSM ディスクに移行する場合は,ディスクにはそのサイズの空きスペースが必要です。

  2. rootdg ディスク・グループ内のディスクを表示し,シンプル・ディスクとスライス・ディスクを探します。

    # voldisk -g rootdg list
    

    DEVICE       TYPE      DISK         GROUP        STATUS
    dsk2         sliced    dsk2         rootdg       online
    dsk8         sliced    dsk8         rootdg       online
    dsk9         sliced    dsk9         rootdg       online
    dsk10        sliced    dsk10        rootdg       online
    dsk11        sliced    dsk11        rootdg       online
    dsk12        sliced    dsk12        rootdg       online
    dsk13        sliced    dsk13        rootdg       online
    dsk14        sliced    dsk14        rootdg       online
    dsk20        sliced    dsk20        rootdg       online
    dsk21        sliced    dsk21        rootdg       online
    dsk22        sliced    dsk22        rootdg       online
    dsk23        sliced    dsk23        rootdg       online
    dsk24        sliced    dsk24        rootdg       online
    dsk25        sliced    dsk25        rootdg       online
    

  3. rootdg ディスク・グループの空きスペースを表示します。

    # voldg -g rootdg free
    

    DISK         DEVICE       TAG          OFFSET    LENGTH    FLAGS
    dsk2         dsk2         dsk2         0         4106368   -
    dsk8         dsk8         dsk8         0         4106368   -
    dsk9         dsk9         dsk9         0         4106368   -
    dsk10        dsk10        dsk10        0         4106368   -
    dsk11        dsk11        dsk11        0         4106368   -
    dsk12        dsk12        dsk12        0         35552277  -
    dsk13        dsk13        dsk13        0         35552277  -
    dsk14        dsk14        dsk14        0         35552277  -
    dsk20        dsk20        dsk20        0         35552277  -
    dsk21        dsk21        dsk21        0         35552277  -
    dsk22        dsk22        dsk22        0         35552277  -
    dsk23        dsk23        dsk23        0         35552277  -
    dsk24        dsk24        dsk24        0         35552277  -
    dsk25        dsk25        dsk25        0         35552277  -
    

  4. ミラーまたはストライプのような,必要な特性を持ったボリュームを作成するために,十分な空きスペースを持ったスライス・ディスクまたはシンプル・ディスクを選択します。

    可能ならば,オフセットが 0 のディスクを選択します。 オフセットのあるディスクは,他のボリュームが使用しているため,使用しないでください。

  5. 使用する各ディスクが,すべてのクラスタ・メンバからアクセス可能であることを確認します。

    # hwmgr view devices -cluster
    

    以下のような情報が表示されます (ここでは,簡潔にするため,編集してあります)。

     HWID: Device Name          Mfg      Model            Hostname   Location
    --------------------------------------------------------------------------------
      
    .
    .
    .
    68: /dev/disk/dsk3c DEC RZ28D (C) DEC moe bus-2-targ-1-lun-0 68: /dev/disk/dsk3c DEC RZ28D (C) DEC larry bus-2-targ-1-lun-0 68: /dev/disk/dsk3c DEC RZ28D (C) DEC curly bus-2-targ-1-lun-0
    .
    .
    .
    73: /dev/disk/dsk8c DEC RZ28D (C) DEC moe bus-3-targ-10-lun-0 73: /dev/disk/dsk8c DEC RZ28D (C) DEC larry bus-3-targ-10-lun-0 73: /dev/disk/dsk8c DEC RZ28D (C) DEC curly bus-3-targ-10-lun-0 74: /dev/disk/dsk9c DEC RZ28D (C) DEC moe bus-3-targ-11-lun-0 74: /dev/disk/dsk9c DEC RZ28D (C) DEC larry bus-3-targ-11-lun-0 74: /dev/disk/dsk9c DEC RZ28D (C) DEC curly bus-3-targ-11-lun-0 75: /dev/disk/dsk10c DEC RZ28D (C) DEC moe bus-3-targ-12-lun-0 75: /dev/disk/dsk10c DEC RZ28D (C) DEC larry bus-3-targ-12-lun-0 75: /dev/disk/dsk10c DEC RZ28D (C) DEC curly bus-3-targ-12-lun-0 76: /dev/disk/dsk11c DEC RZ28D (C) DEC moe bus-3-targ-13-lun-0 76: /dev/disk/dsk11c DEC RZ28D (C) DEC larry bus-3-targ-13-lun-0 76: /dev/disk/dsk11c DEC RZ28D (C) DEC curly bus-3-targ-13-lun-0 77: /dev/disk/dsk12c DEC HSG80 moe bus-4-targ-0-lun-1 77: /dev/disk/dsk12c DEC HSG80 larry bus-4-targ-0-lun-1 77: /dev/disk/dsk12c DEC HSG80 curly bus-4-targ-0-lun-1 78: /dev/disk/dsk13c DEC HSG80 moe bus-4-targ-0-lun-2 78: /dev/disk/dsk13c DEC HSG80 larry bus-4-targ-0-lun-2 78: /dev/disk/dsk13c DEC HSG80 curly bus-4-targ-0-lun-2 79: /dev/disk/dsk14c DEC HSG80 moe bus-4-targ-0-lun-3 79: /dev/disk/dsk14c DEC HSG80 larry bus-4-targ-0-lun-3 79: /dev/disk/dsk14c DEC HSG80 curly bus-4-targ-0-lun-3
    .
    .
    .
    85: /dev/disk/dsk20c DEC HSG80 moe bus-4-targ-0-lun-9 85: /dev/disk/dsk20c DEC HSG80 larry bus-4-targ-0-lun-9 85: /dev/disk/dsk20c DEC HSG80 curly bus-4-targ-0-lun-9 86: /dev/disk/dsk21c DEC HSG80 moe bus-4-targ-0-lun-10 86: /dev/disk/dsk21c DEC HSG80 larry bus-4-targ-0-lun-10 86: /dev/disk/dsk21c DEC HSG80 curly bus-4-targ-0-lun-10 87: /dev/disk/dsk22c DEC HSG80 moe bus-4-targ-0-lun-11 87: /dev/disk/dsk22c DEC HSG80 larry bus-4-targ-0-lun-11 87: /dev/disk/dsk22c DEC HSG80 curly bus-4-targ-0-lun-11 88: /dev/disk/dsk23c DEC HSG80 moe bus-4-targ-0-lun-12 88: /dev/disk/dsk23c DEC HSG80 larry bus-4-targ-0-lun-12 88: /dev/disk/dsk23c DEC HSG80 curly bus-4-targ-0-lun-12 89: /dev/disk/dsk24c DEC HSG80 moe bus-4-targ-0-lun-13 89: /dev/disk/dsk24c DEC HSG80 larry bus-4-targ-0-lun-13 89: /dev/disk/dsk24c DEC HSG80 curly bus-4-targ-0-lun-13 90: /dev/disk/dsk25c DEC HSG80 moe bus-4-targ-0-lun-14 90: /dev/disk/dsk25c DEC HSG80 larry bus-4-targ-0-lun-14 90: /dev/disk/dsk25c DEC HSG80 curly bus-4-targ-0-lun-14
    .
    .
    .

    この例では,次のことがわかります。

  6. ミラーの数や,ストライプ・カラムの数などのオプションを指定して,ドメインを移行します。

    注意

    volmigrate コマンドを使用してミラー・ボリュームを作成した場合,LSM が自動的に DRL を追加します (cluster_rootvol を除く)。 ただし,DRL 用に別のディスクは指定できません。 十分な領域がある場合,指定したディスクの 1 つに LSM が DRL を作成します (ミラー用と DRL 用に十分な領域がない場合,コマンドは十分な領域がないというメッセージを表示して,失敗します)。

    必要以上のディスクをミラーの作成に指定しても,LSM は余分なディスクには DRL を作成しません。

    構成を改善するために,ドメインの移行が終わった後で,ボリュームのログを削除し,新しいログを追加できます。 以下の手順に従ってください。

3.4.2.1.3    移行したドメイン・ボリュームのオリジナル・ディスクへのミラー化 (オプション)

volmigrate コマンドでボリュームに指定した属性 (たとえば,長さや,ストライプするかどうか) は,そのボリュームのミラー化を行う場合,ミラーにも適用されます。

複数のディスクにストライプ化されているボリュームをミラー化するには,ミラー用に同数の追加ディスクを指定することが必要です。 たとえば,ボリュームが 4 つのディスクにストライプ化されている場合には,ミラーを作成するのに 4 つの追加ディスクが必要で,そのうちの 1 つはオリジナル・ディスクでも構いません。

ボリュームをオリジナル・ディスクにミラー化する場合は,以下の手順に従ってください。

  1. オリジナル・ディスク (この例では,dsk6) のすべてのパーティションが未使用であることを確認します。

    # disklabel -r dsk6
    

  2. ディスクを LSM に追加します。

    # voldisksetup -i dsk6
    

  3. ディスクを rootdg ディスク・グループに追加します。 rootdg は省略時の値なので,ディスク・グループの指定は不要です。

    # voldg adddisk dsk6
    

  4. LSM ディスクの公用リージョンに,ボリュームをミラー化するのに十分な領域があることを確認します。

    # voldisk list dsk6 | grep public
    public:    slice=6 offset=16 len=8375968
    

  5. 次のステップで正しい名前を指定するために,クラスタ・ボリューム名を表示します。

    # volprint -vt | grep cluster
    

    v  cluster_rootvol fsgen     ENABLED  ACTIVE   557936  SELECT    -
    v  cluster_usrvol  fsgen     ENABLED  ACTIVE   1684224 SELECT    -
    v  cluster_varvol  fsgen     ENABLED  ACTIVE   1667024 SELECT    -
    

  6. ボリュームのミラー化を行います。 各ボリュームは個別にミラー化する必要があります。

    # volassist mirror volume disk
    

  7. cluster_rootvol 以外のすべてのボリュームに DRL ログ・プレックスを追加します。

    # volassist addlog volume
    

3.4.3    クラスタ・メンバのスワップ・デバイスのカプセル化

クラスタ単位のルート,/usr,および /var ファイル・システム・ドメインに LSM ボリュームを使用しているかどうかにかかわらず,クラスタ・メンバのスワップ・デバイスに LSM を使用できます。

注意

スワップ・デバイスをカプセル化するためには,クラスタ・メンバは実行中である必要があります。

1 つのコマンドで,以下の対象をカプセル化できます。

volencap コマンドを使用すると,複数のメンバでカプセル化の設定を同時に行うことができます。 ただし,カプセル化手順は,volreconfig を各メンバに使用して,それぞれに行なう必要があります。

クラスタのスワップ・デバイスのカプセル化について詳細は, volencap(8) を参照してください。 また,追加 LSM スワップ・ボリュームの作成については,4.3.7 項を参照してください。

3.5    自動データ再配置機能 (ホット・スペアリング) の有効化

LSM ボリュームの可用性を高めるために,ホット・スペアリング機能を有効にして,ディスク・グループごとに 1 つ以上のホット・スペア・ディスクを構成できます。 これにより,LSM は故障したディスクからホット・スペア・ディスクに自動的にデータを再配置できるようになります。

ホット・スペアリング機能では冗長データ,つまり,ミラー・ボリュームまたは RAID 5 ボリューム内のデータを自動的に再配置しようとします。 RAID5 では,パリティの再同期を行います。 RAID5 ログ・プレックスに障害が発生すると,そのログ・プレックスがミラー化されている場合だけ,再配置が行われます。 この場合,ホット・スペアリング機能でも RAID5 ログ・プレックスを再同期化します。

ホット・スペアリングの操作は,以下のとおりです。

ホット・スペアリング機能は volwatch デーモンの一部です。 volwatch デーモンには,以下の 2 つのモードがあります。

ホット・スペアリング機能を有効にするには,次のコマンドを実行します。

# volwatch -s [mail-address...]

volwatch デーモンをメールのみのモードに戻すには,次のコマンドを実行します。

# volwatch -m [mail-address...]

注意

volwatch デーモンはシステムまたはクラスタ・メンバ上でいつでも,1 つだけ実行できます。 このデーモンの設定は,全体の LSM 構成に適用されます。 このため,一部のディスク・グループでホット・スペアリングを有効にして,残りのディスク・グループで無効にすることはできません。

クラスタの任意のメンバで volwatch -s コマンドを実行すると,クラスタ全体でホット・スペアリングが有効になり,volwatch -m コマンドを実行して無効にするまで有効です。 この設定は,クラスタやメンバをリブートしても変わりません。

3.5.1    ホット・スペア・ディスクの構成と構成解除

各ディスク・グループに少なくとも 1 つのホット・スペア・ディスクを構成します。 理想的には,ディスク・グループ内の冗長なミラー・ボリュームまたは RAID5 ボリュームで使用されている各ディスクに対して 1 つのホット・スペア・ディスクを構成します。 各ホット・スペア・ディスクは,ディスク・グループ内の冗長ボリューム内の任意のディスクの代わりをするのに十分な大きさが必要です。 特定のホット・スペア・ディスクを特定のボリュームに割り当てる機能はないからです。 ホット・スペア動作が行われた後で,ディスク・グループにディスクを追加して,それを代わりのホット・スペア・ディスクとして構成することができます。

スライス・ディスクとシンプル・ディスクのどちらもホット・スペア・ディスクとして構成することができますが,望ましいのはスライス・ディスクです。 シンプル・ディスクを使用する場合は,ディスクの c パーティション (ディスク全体のこと) で初期化したディスクを使用してください。 ディスク全体を包含するシンプル・ディスクはプライベート・リージョンが 1 つだけしかありません。 このため,LSM は最大限のディスク・スペースを使用できるので,ホット・スペア動作で,故障したディスクから冗長データを再配置する際の柔軟性が最も高くなります。

LSM は,特に指定しない限り,ホット・スペア・ディスクを (新しいボリュームを作成して) データ・ストレージとしては使用しません。

ディスク・グループ内のホット・スペア・ディスクを表示するには,voldisk list コマンドを使用します。 このコマンドの出力には,使用可能なホット・スペア・ディスクの STATUS 欄に online spare という状態が表示されます。

3.5.2    例外イベント時のメール通知例

ホット・スペアリング動作の際に,LSM は,root アカウント (および,指定されたアカウント) に,メールを送信します。 受信者に,故障の発生と,影響を受ける LSM オブジェクトを連絡するためです。 その後,LSM は実際の作業を行ったことを説明するメール・メッセージを送信します (実際に作業を行った場合)。

イベントが分析されて,メッセージを送信するまでに,15 秒の遅延があります。 この間に関連イベントがまとめられ,単一のメール・メッセージで報告されます。

例 3-1:  メール通知例

Failures have been detected by the Logical Storage Manager:
 
failed disks:   
disk     [1]

.
.
.
failed plexes: plex [2]
.
.
.
failed log plexes: plex [3]
.
.
.
failing disks: disk [4]
.
.
.
failed subdisks: subdisk [5]
.
.
.
The Logical Storage Manager will attempt to find spare disks, relocate failed subdisks and then recover the data in the failed plexes.  

メール通知の説明は,以下のとおりです。

  1. failed disks の下の disk には,完全に故障したと思われるディスクが示されます。 [例に戻る]

  2. failed plexes の下の plex には,プレックスに含まれるサブディスクに入出力操作が試みられたときに入出力障害が発生したため,切り離されたプレックスが示されます。 [例に戻る]

  3. failed log plexes の下の plex には,障害が発生した RAID5 プレックスまたはダーティ・リージョン・ログ (DRL) プレックスが示されます。 [例に戻る]

  4. failing disks の下の disk には,部分的に故障したディスク,または故障しかかっているディスクが示されます。 ディスクが完全に故障すると,同じ disk が,failed disksfailing disks に示されます。 [例に戻る]

  5. failed subdisks の下の subdisk には,入出力障害が発生したため切り離された RAID5 ボリュームのサブディスクが示されます。 [例に戻る]

例 3-2 には,ディスク disk02 が故障し,故障によって切り離され,プレックス home-02src-02 および mkting-01 も (おそらくディスク故障が原因で) 切り離されたことが示されています。

例 3-2:  完全にディスクが故障した場合のメール通知

To: root
Subject: Logical Storage Manager failures on hostname 
 
Failures have been detected by the Logical Storage Manager
 
failed disks:
 disk02
 
failed plexes:
  home-02
  src-02
  mkting-01
 
failing disks:
disk02

例 3-3:  部分的にディスクが故障した場合のメール通知

To: root
Subject: Logical Storage Manager failures on hostname 
 
Failures have been detected by the Logical Storage Manager:
 
failed disks:
 disk02
 
failed plexes:
  home-02
  src-02

例 3-4:  データ再配置が成功した場合のメール通知

Volume home Subdisk home-02-02 relocated to dsk12-02, 
but not yet recovered.

データ復旧が成功すると,以下のメッセージが送信されます。

Recovery complete for volume home in disk group dg03.

データ復旧が失敗すると,以下のメッセージが送信されます。

Failure recovering home in disk group dg03.

例 3-5:  ホット・スペア・ディスクまたは空きディスク・スペースが存在しない場合のメール通知

Relocation was not successful for subdisks on disk dsk3
in volume vol_02 in disk group rootdg. 
No replacement was made and the disk is still unusable. 
 
The following volumes have storage on dsk3:
 
vol_02

.
.
.
These volumes are still usable, but the redundancy of those volumes is reduced. Any RAID5 volumes with storage on the failed disk may become unusable in the face of further failures.

例 3-6:  データ再配置が失敗した場合のメール通知

Relocation was not successful for subdisks on disk dsk14 in
volume data02 in disk group data_dg. 
No replacement was made and the disk is still unusable.
 

.
.
.

実際のメール通知の出力では,エラー・メッセージの部分にデータ再配置が失敗した理由が示されます。

例 3-7:  使用できないボリュームの場合のメール通知

The following volumes:
 
finance

.
.
.
have data on dsk23 but have no other usable mirrors on other disks. These volumes are now unusable and the data on them is unavailable. These volumes must have their data restored.

例 3-8:  使用できない RAID 5 ボリュームの場合のメール通知

The following RAID5 volumes:
 
vol_query

.
.
.
have storage on dsk43 and have experienced other failures. These RAID5 volumes are now unusable and data on them is unavailable. These RAID5 volumes must have their data restored.

3.6    LSM のファイル,ディレクトリ,デバイス・ドライバ,およびデーモン

LSM をインストールして初期化した後,いくつかの新しいファイル,ディレクトリ,デバイス・ドライバ,およびデーモンがシステムに加わります。 これらについて,以下の項で説明します。

3.6.1    LSM ファイル

/dev ディレクトリには LSM がカーネルとの通信に使用するデバイス特殊ファイル (表 3-3) が含まれます。

表 3-3:  LSM のデバイス特殊ファイル

デバイス特殊ファイル 機能
/dev/volconfig vold デーモンがカーネルに構成要求を行うために使用します。
/dev/volevent voliotrace コマンドで使用され,イベントの表示と収集を行います。
/dev/volinfo volprint コマンドで使用され,LSM オブジェクトの状態情報の収集を行います。
/dev/voliod ボリューム拡張入出力デーモン (voliod) とカーネル間のインタフェースを提供します。

3.6.2    LSM ディレクトリ

/etc/vol ディレクトリには,LSM が使用する volboot ファイルとサブディレクトリ (表 3-4) が含まれます。

表 3-4:  LSM の /etc/vol サブディレクトリ

ディレクトリ 機能
reconfig.d 既存ファイル・システムをカプセル化するときの一時的なストレージです。 カプセル化処理の指示が作成され,再構成時に使用されます。
tempdb 起動時に構成データベースを作成するときと構成情報をアップデートするときに,ボリューム構成デーモン (vold) で使用されます。
vold_diag 診断コマンドが vold デーモンと通信するためのソケット・ポータルを作成します。
vold_request LSM コマンドが vold デーモンと通信するためのソケット・ポータル用です。

/dev ディレクトリには,ブロック型デバイスと文字型デバイスのボリューム用のサブディレクトリ (表 3-5) が含まれます。

表 3-5:  LSM のブロック型デバイスと文字型デバイスのサブディレクトリ

ディレクトリ 内容
/dev/vol LSM ボリューム用のブロック型デバイス・インタフェース。
/dev/rvol LSM ボリューム用の文字型デバイス・インタフェース。

3.6.3    LSM デバイス・ドライバ

LSM には 2 つのデバイス・ドライバがあります。

3.6.4    LSM デーモン

2 つの LSM デーモンがあります。