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

別のシステムからの記憶領域の回復

Solaris ボリュームマネージャ構成を元のシステムから別のシステムに回復できます。

Procedureローカルディスクセットから記憶領域を回復するには

システムの障害時には、記憶領域を別のシステムに接続し、ローカルディスクセットから完全な構成を回復できます。 たとえば、6 つのディスクからなる外部ディスクパックと Solaris ボリュームマネージャ構成のシステムがあるとします。これらのディスクには、少なくとも 1 つの状態データベースの複製があります。 システムの障害時には、そのディスクパックを新しいシステムに物理的に移動して、新しいシステムがその構成を認識できるように設定します。 ここでは、ディスクを別のシステムに移動して、ローカルディスクセットから構成を回復する方法を示します。

手順
  1. Solaris ボリュームマネージャ構成が含まれている 1 つまたは複数のディスクを、Solaris ボリュームマネージャ構成が存在していないシステムに追加します。

  2. 再起動してシステムを再構成し、新たに追加したディスクをシステムが認識できるようにします。


    # reboot -- -r
    
  3. 状態データベースの複製が含まれている (新たに追加したディスク上の) スライスのメジャー/マイナー番号を特定します。

    ls -lL 出力のグループ名と日付の間にある 2 つの数字が このスライスのメジャー/マイナー番号です。


    # ls -Ll /dev/dsk/c1t9d0s7
    brw-r-----   1 root     sys       32, 71 Dec  5 10:05 /dev/dsk/c1t9d0s7
  4. 必要であれば、/etc/name_to_major 内のメジャー番号を調べ、そのメジャー番号に対応するメジャー名を特定します。


    # grep " 32" /etc/name_to_major  sd 32
    
  5. 2 つのコマンドを使って /kernel/drv/md.conf ファイルを更新します。 最初のコマンドでは、有効な状態データベースの複製が新しいディスク上のどこにあるのかを Solaris ボリュームマネージャに指示します。 次のコマンドでは、新しい複製を優先して使用し、矛盾するデバイス ID がシステム上にあってもそれを無視するように Solaris ボリュームマネージャに指示します。

    たとえば、mddb_bootlist1 で始まる行にある sd を、手順 4 で特定したメジャー名で置き換えます。また、同じ行の 71 を、手順1 で特定したマイナー番号で置き換えます。


    #pragma ident   "@(#)md.conf    2.1     00/07/07 SMI"
    #
    # Copyright (c) 1992-1999 by Sun Microsystems, Inc.
    # All rights reserved.
    #
    name="md" parent="pseudo" nmd=128 md_nsets=4;
    #
    #pragma ident   "@(#)md.conf    2.1     00/07/07 SMI"
    #
    # Copyright (c) 1992-1999 by Sun Microsystems, Inc.
    # All rights reserved.
    #
    name="md" parent="pseudo" nmd=128 md_nsets=4;
    # Begin MDD database info (do not edit)
    mddb_bootlist1="sd:71:16:id0";  md_devid_destroy=1; \
    # End MDD database info (do not edit)
  6. システムを再起動して、Solaris ボリュームマネージャに構成を再ロードさせます。

    次のようなメッセージがコンソールに表示されます。


    volume management starting.
    Dec  5 10:11:53 lexicon metadevadm: Disk movement detected
    Dec  5 10:11:53 lexicon metadevadm: Updating device names in 
    Solaris Volume Manager
    The system is ready.
  7. 構成を確認します。 metadb コマンドを実行して、状態データベースの複製の状態を確認します。 各ボリュームの状態を表示するには、metastat コマンドを使用します。


    # metadb
            flags           first blk       block count
         a m  p  luo        16              8192            /dev/dsk/c1t9d0s7
         a       luo        16              8192            /dev/dsk/c1t10d0s7
         a       luo        16              8192            /dev/dsk/c1t11d0s7
         a       luo        16              8192            /dev/dsk/c1t12d0s7
         a       luo        16              8192            /dev/dsk/c1t13d0s7
    # metastat
    d12: RAID
        State: Okay         
        Interlace: 32 blocks
        Size: 125685 blocks
    Original device:
        Size: 128576 blocks
            Device              Start Block  Dbase State        Reloc  Hot Spare
            c1t11d0s3                330     No    Okay         Yes    
            c1t12d0s3                330     No    Okay         Yes    
            c1t13d0s3                330     No    Okay         Yes    
    
    d20: Soft Partition
        Device: d10
        State: Okay
        Size: 8192 blocks
            Extent              Start Block              Block count
                 0                     3592                     8192
    
    d21: Soft Partition
        Device: d10
        State: Okay
        Size: 8192 blocks
            Extent              Start Block              Block count
                 0                    11785                     8192
    
    d22: Soft Partition
        Device: d10
        State: Okay
        Size: 8192 blocks
            Extent              Start Block              Block count
                 0                    19978                     8192
    
    d10: Mirror
        Submirror 0: d0
          State: Okay         
        Submirror 1: d1
          State: Okay         
        Pass: 1
        Read option: roundrobin (default)
        Write option: parallel (default)
        Size: 82593 blocks
    
    d0: Submirror of d10
        State: Okay         
        Size: 118503 blocks
        Stripe 0: (interlace: 32 blocks)
            Device              Start Block  Dbase State        Reloc  Hot Spare
            c1t9d0s0                   0     No    Okay         Yes    
            c1t10d0s0               3591     No    Okay         Yes    
    
    
    d1: Submirror of d10
        State: Okay         
        Size: 82593 blocks
        Stripe 0: (interlace: 32 blocks)
            Device              Start Block  Dbase State        Reloc  Hot Spare
            c1t9d0s1                   0     No    Okay         Yes    
            c1t10d0s1                  0     No    Okay         Yes    
    
    
    Device Relocation Information:
    Device       Reloc    Device ID
    c1t9d0       Yes      id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3487980000U00907AZ
    c1t10d0      Yes      id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3397070000W0090A8Q
    c1t11d0      Yes      id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3449660000U00904NZ
    c1t12d0      Yes      id1,sd@SSEAGATE_ST39103LCSUN9.0GLS32655400007010H04J
    c1t13d0      Yes      id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3461190000701001T0
    # 
    # metadb         
            flags           first blk       block count
         a m  p  luo        16              8192            /dev/dsk/c1t9d0s7
         a       luo        16              8192            /dev/dsk/c1t10d0s7
         a       luo        16              8192            /dev/dsk/c1t11d0s7
         a       luo        16              8192            /dev/dsk/c1t12d0s7
         a       luo        16              8192            /dev/dsk/c1t13d0s7
    # metastat 
    d12: RAID
        State: Okay         
        Interlace: 32 blocks
        Size: 125685 blocks
    Original device:
        Size: 128576 blocks
            Device              Start Block  Dbase State        Reloc  Hot Spare
            c1t11d0s3                330     No    Okay         Yes    
            c1t12d0s3                330     No    Okay         Yes    
            c1t13d0s3                330     No    Okay         Yes    
    
    d20: Soft Partition
        Device: d10
        State: Okay
        Size: 8192 blocks
            Extent              Start Block              Block count
                 0                     3592                     8192
    
    d21: Soft Partition
        Device: d10
        State: Okay
        Size: 8192 blocks
            Extent              Start Block              Block count
                 0                    11785                     8192
    
    d22: Soft Partition
        Device: d10
        State: Okay
        Size: 8192 blocks
            Extent              Start Block              Block count
                 0                    19978                     8192
    
    d10: Mirror
        Submirror 0: d0
          State: Okay         
        Submirror 1: d1
          State: Okay         
        Pass: 1
        Read option: roundrobin (default)
        Write option: parallel (default)
        Size: 82593 blocks
    
    d0: Submirror of d10
        State: Okay         
        Size: 118503 blocks
        Stripe 0: (interlace: 32 blocks)
            Device              Start Block  Dbase State        Reloc  Hot Spare
            c1t9d0s0                   0     No    Okay         Yes    
            c1t10d0s0               3591     No    Okay         Yes    
    
    
    d1: Submirror of d10
        State: Okay         
        Size: 82593 blocks
        Stripe 0: (interlace: 32 blocks)
            Device              Start Block  Dbase State        Reloc  Hot Spare
            c1t9d0s1                   0     No    Okay         Yes    
            c1t10d0s1                  0     No    Okay         Yes    
    
    
    Device Relocation Information:
    Device         Reloc    Device ID
    c1t9d0         Yes     id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3487980000U00907AZ1
    c1t10d0        Yes     id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3397070000W0090A8Q
    c1t11d0        Yes     id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3449660000U00904NZ
    c1t12d0        Yes     id1,sd@SSEAGATE_ST39103LCSUN9.0GLS32655400007010H04J
    c1t13d0        Yes     id1,sd@SSEAGATE_ST39103LCSUN9.0GLS3461190000701001T0
    # metastat -p
    d12 -r c1t11d0s3 c1t12d0s3 c1t13d0s3 -k -i 32b
    d20 -p d10 -o 3592 -b 8192 
    d21 -p d10 -o 11785 -b 8192 
    d22 -p d10 -o 19978 -b 8192 
    d10 -m d0 d1 1
    d0 1 2 c1t9d0s0 c1t10d0s0 -i 32b
    d1 1 2 c1t9d0s1 c1t10d0s1 -i 32b
    #

既知のディスクセットから記憶領域を回復する

Solaris ボリュームマネージャのディスクセットにデバイス ID サポートを導入すると、既知のディスクセットから記憶領域を回復できます。 metaimport コマンドを使用すると、あるシステムから別のシステムに既知のディスクセットをインポートできます。 両方のシステムにおいて、既存の Solaris ボリュームマネージャ構成でデバイス ID がサポートされている必要があります。 デバイス ID サポートの詳細については、「ディスクセット内で非同期的に共有される記憶領域」を参照してください。

ディスクセットをインポートする前に、/kernel/drv/md.conf ファイルにある nmd フィールドの値が、インポートするボリュームの名前空間を含むように設定されていることを確認します。 ディスクセットが持つボリュームの名前が nmd フィールドで設定された範囲外である場合、インポートは失敗します。 nmd フィールドの値をボリュームの名前空間を含むように設定し、システムを再起動してから、インポートを実行します。 たとえば、ディスクセットに d200 という名前のボリュームがある場合、nmd が 128 に設定されていると、インポートは失敗します。このインポートを成功させるには、nmd フィールドの値を少なくとも 201 まで増やす必要があります。 nmd フィールドの値を変更する方法については、「デフォルトのボリューム数を増やすには」を参照してください。

Procedureインポートに利用できるディスクセットのレポートを出力するには

手順
  1. スーパーユーザーになります。

  2. インポートに利用できるディスクセットについてのレポートを取得します。


    # metaimport -r -v
    
    -r

    システム上にあってインポートに利用できる未構成のディスクセットのレポートを提供します。

    -v

    状態データベースの複製の場所についての詳細な情報と、システム上にあってインポートに利用できる未構成のディスクセットのディスクの状態についての詳細な情報を提供します。


例 263 インポートに利用できるディスクセットを報告する

次の例では、インポートに利用できるディスクセットについてのレポートを出力する方法を示します。


# metaimport -r
Drives in diskset including disk c1t2d0:
  c1t2d0
  c1t3d0
  c1t8d0
More info:
  metaimport -r -v c1t2d0
Import:
  metaimport -s newsetname> c1t2d0

# metaimport -r -v c1t2d0
Import: metaimport -s newsetname> c1t2d0
Last update: Mon Dec 29 14:13:35 2003
Device       offset       length replica flags
c1t2d0           16         8192      a        u     
c1t3d0           16         8192      a        u     
c1t8d0           16         8192      a        u     

Procedureあるシステムから別のシステムにディスクセットをインポートするには

手順
  1. スーパーユーザーになります。

  2. ボリューム名が nmd 値の範囲内であるかどうかを確認します。 必要であれば、/kernel/drv/md.conf 内の nmd フィールドを変更します。 nmd フィールドの値を変更する方法については、「デフォルトのボリューム数を増やすには」を参照してください。

  3. ディスクセットがインポートに利用できることを確認します。


    # metaimport -r -v
    
  4. 利用できるディスクセットをインポートします。


    # metaimport -s diskset-name drive-name
    
    - s diskset-name

    作成するディスクセットの名前です。

    drive-name

    インポートするディスクセットの状態データベースの複製を含むディスク (c#t#d#) を指定します。

  5. ディスクセットがインポートされたことを確認します。


    # metaset -s diskset-name
    

例 264 ディスクセットをインポートする

次の例では、ディスクセットをインポートする方法を示します。


# metaimport -s red c1t2d0
Drives in diskset including disk c1t2d0:
  c1t2d0
  c1t3d0
  c1t8d0
More info:
  metaimport -r -v c1t2d0
# metaset -s red


Set name = red, Set number = 1

Host                Owner
  lexicon            Yes

Drive    Dbase

c1t2d0   Yes  

c1t3d0   Yes  

c1t8d0   Yes