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

RAID-1 ボリュームのコンポーネント障害に対する処置

Procedureサブミラー内のスライスを交換するには

始める前に

「RAID-1 および RAID-5 ボリューム内のコンポーネントの交換と有効化の概要」および 「RAID-1 ボリュームの作成と保守」を確認します。

  1. すべてのデータの最新のバックアップを取っているか確認します。また、この操作には root 権限が必要です。

  2. metastat コマンドで RAID-1 ボリュームとそのサブミラーの状態を調べます。


    # metastat mirror-name
    
  3. 次のどちらかの方法でサブミラー内のスライスを交換します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開きます。ミラーを選択します。次に、「アクション (Action)」、「プロパティ (Properties)」の順に選択して、「サブミラー (Submirror)」タブをクリックします。画面の指示に従います。詳細は、オンラインヘルプを参照してください。

    • 次の形式の metareplace コマンドを使用して、サブミラーのスライスを交換します。


      # metareplace mirror-name component-name
      
      • mirror-name は、作成するボリュームの名前です。

      • component-name は、置き換えられるコンポーネントの名前です。

      mirror-name

      作成するボリュームの名前を指定します。

      component-name

      交換するコンポーネントの名前を指定します。

      詳細については、次の例と metainit(1M) のマニュアルページを参照してください。


例 11–18 ミラー内の障害が発生したスライスを交換する

次の例では、障害が発生したスライスを交換します。ただし、システムは、ホットスペア集合を使って障害が発生したディスクを自動的に交換するようには構成されていないものとします。ホットスペア集合については、第 16 章「ホットスペア集合 (概要)」を参照してください。


# metastat d6
d6: Mirror
    Submirror 0: d16
      State: Okay        
    Submirror 1: d26
      State: Needs maintenance
...
d26: Submirror of d6
    State: Needs maintenance
    Invoke: metareplace d6 c0t2d0s2 <new device>
...
# metareplace d6 c0t2d0s2 c0t2d2s2
d6: device c0t2d0s2 is replaced with c0t2d2s2

metastat コマンドを使用して、ミラー d6 にサブミラー d26 があり、そのスライスの状態が「保守が必要 (Needs maintenance)」であることを確認します。metareplace コマンドにより、metastat コマンドの出力中の「起動」行に従って、このスライスをシステム内の別のスライスで置き換えます。スライスが置き換えられ、サブミラーの再同期が開始されたことを示すメッセージが表示されます。


Procedureサブミラーを交換するには

始める前に

「RAID-1 および RAID-5 ボリューム内のコンポーネントの交換と有効化の概要」および 「RAID-1 ボリュームの作成と保守」を確認します。

  1. すべてのデータの最新のバックアップを取っているか確認します。また、この操作には root 権限が必要です。

  2. metastat コマンドで RAID-1 ボリュームとそのサブミラーの状態を調べます。


    # metastat mirror-name
    
  3. 次のどちらかの方法でサブミラーを交換します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開きます。ミラーを選択します。次に、「アクション (Action)」、「プロパティ (Properties)」の順に選択して、「サブミラー (Submirror)」タブをクリックします。画面の指示に従います。詳細は、オンラインヘルプを参照してください。

    • metadetachmetaclearmetatinit、および metattach コマンドを使って、サブミラー全体を交換します。

      1. metadetach コマンドを使ってミラーから障害のあるサブミラーを切り離します。


        # metadetach -f mirror-name submirror
        
        -f

        切り離しを強制的に実行します。

        mirror-name

        ミラー名を指定します。

        submirror

        切り離すサブミラーを指定します。

      2. metaclear コマンドを使用して、サブミラーを削除します。


        # metaclear -f submirror
        
        -f

        サブミラーの削除を強制的に実行します。

        submirror

        削除するサブミラーを指定します。

      3. metainit コマンドを使用して、新しいサブミラーを作成します。


        # metainit volume-name number-of-stripes components-per-stripe component-name
        
        volume-name

        作成するボリュームの名前を指定します。ボリュームの命名方式については、「ボリューム名」を参照してください。

        number-of-stripes

        作成するストライプの数を指定します。

        components-per-stripe

        各ストライプに与えるコンポーネントの数を指定します。

        component-names

        使用するコンポーネントの名前を指定します。この例では、ルートスライス c0t0d0s0 を使用します。

      4. metattach コマンドを使って新しいサブミラーを接続します。


        # metattach mirror submirror
        

例 11–19 ミラー内のサブミラーを交換する

次の例では、アクティブなミラー内のサブミラーを交換します。


# metastat d20
d20: Mirror
    Submirror 0: d21
      State: Okay        
    Submirror 1: d22
      State: Needs maintenance
...
# metadetach -f d20 d22
d20: submirror d22 is detached
# metaclear -f d22
d22: Concat/Stripe is cleared
# metainit d22 2 1 c1t0d0s2 1 c1t0d1s2
d22: Concat/Stripe is setup
# metattach d20 d22
d20: components are attached

この例では、metastat コマンドを使って、2 面ミラー d20 にサブミラー d22 があり、その状態が「保守が必要 (Needs maintenance)」であることを確認します。この例では、サブミラー全体を削除し、作成し直す必要があります。metadetach コマンドに -f オプションを指定して、障害のあるサブミラーを強制的にミラーから切り離します。metaclear コマンドは、サブミラーを削除します。metainit コマンドは、新しいスライスからサブミラー d22 を再作成します。最後に、metattach コマンドは、作成し直したサブミラーを接続します。ミラーの再同期が自動的に開始されます。

新しいボリューム d22 の構成は、置き換えるコンポーネントによって異なります。この場合は連結で十分に連結を置き換えることができます。しかし、ストライプの場合は性能に影響が出るので、連結が最適な置換とはなりません。

ミラーが1 面ミラーとなっている間は、データの冗長性が一時的に失われます。