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

第 15 章 RAID-5 ボリューム (作業)

この章では、RAID-5 ボリュームに関連する Solaris ボリュームマネージャの作業について説明します。これらの作業に関連する概念については、第 14 章「RAID-5 ボリューム (概要)」を参照してください。

RAID-5 ボリューム (作業マップ)

次の表に、Solaris ボリュームマネージャの RAID-5 ボリュームを管理するために必要な作業を示します。

作業 

説明 

参照先 

RAID-5 ボリュームの作成 

Solaris ボリュームマネージャの GUI か metainit コマンドを使って RAID-5 ボリュームを作成します。

「RAID-5 ボリュームを作成するには」

RAID-5 ボリュームの状態チェック 

Solaris ボリュームマネージャの GUI か metastat コマンドを使用して、RAID-5 ボリュームの状態をチェックします。

「RAID-5 ボリュームの状態をチェックするには」

RAID-5 ボリュームの拡張 

Solaris ボリュームマネージャの GUI か metattach コマンドを使って RAID-5 ボリュームを拡張します。

「RAID-5 ボリュームを拡張するには」

RAID-5 ボリュームのスライスの有効化 

Solaris ボリュームマネージャの GUI か metareplace コマンドを使って、RAID-5 ボリュームのスライスを有効にします。

「RAID-5 ボリューム内のコンポーネントを有効にするには」

RAID-5 ボリュームのスライスの交換 

Solaris ボリュームマネージャの GUI か metareplace コマンドを使用して、RAID-5 ボリュームのスライスを置き換えます。

「RAID-5 ボリューム内のコンポーネントを置き換えるには」

RAID-5 ボリュームの作成


注意 – 注意 –

32 ビットカーネルの Solaris ソフトウェアを実行する予定がある場合、または Solaris 9 4/03 リリースより前のバージョンの Solaris OS を使用する予定がある場合は、1T バイトを超えるボリュームを作成しないでください。Solaris ボリュームマネージャでサポートされる大容量ボリュームの詳細については、「Solaris ボリュームマネージャにおけるマルチテラバイトサポートの概要」を参照してください。


ProcedureRAID-5 ボリュームを作成するには

始める前に

「Solaris ボリュームマネージャコンポーネントを作成するための前提条件」「RAID-5 ボリュームを作成するための背景情報」を確認します。

    次のどちらかの方法で RAID-5 ボリュームを作成します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開きます。「アクション (Action)」、「ボリュームの作成 (Create Volume)」の順に選択します。さらに、ウィザードの手順に従います。詳細は、オンラインヘルプを参照してください。

    • 次の形式の metainit コマンドを使用します。


      # metainit wolume-name -r component component component -i interlace-value
      
      volume-name

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

      -r

      RAID-5 ボリュームを作成することを指定します。

      component

      RAID-5 ボリュームに含めるスライスまたはソフトパーティションを指定します。3 つ以上のコンポーネントが必要です。

      -i

      飛び越し値を指定します。

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


例 15–1 3 つのスライスから成る RAIDー5 ボリュームを作成する

この例では、-r オプションを使って 3 つのスライスから成る RAID-5 ボリューム d45 を作成します。飛び越し値が指定されていないため、d45 の飛び越し値にはデフォルトの 16K バイトを使用します。RAID-5 ボリュームが設定されて、ボリュームの初期化が開始されたことを示すメッセージが表示されます。

ボリュームの初期化が終わるまで RAID-5 ボリュームは使用できません。


# metainit d45 -r c2t3d0s2 c3t0d0s2 c4t0d0s2
d45: RAID is setup

参照

新たに作成した RAID-5 ボリュームにファイルシステムを作成する方法については、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 18 章「UFS、TMPFS、LOFS ファイルシステムの作成 (手順)」を参照してください。データベースなど、アプリケーションによってはファイルシステムを使用しません。これらのアプリケーションでは、代わりに raw デバイスを使用します。アプリケーションは独自の方法で ボリュームを認識できなければなりません。

ホットスペア集合とRAID-5 ボリュームを関連付ける手順については、「ホットスペア集合とボリュームを対応付けるには」を参照してください。

RAID-5 ボリュームの保守

ProcedureRAID-5 ボリュームの状態をチェックするには

RAID-5 ボリュームの状態をチェックする際、ボリュームの状態を完全に理解するには、RAID-5 とスライスの両方の状態をチェックする必要があります。さらに、ボリュームの状態が「正常 (Okay)」でない場合は、データが失われた可能性についても知る必要があります。詳細については、「RAID-5 ボリュームの状態のチェック (概要)」を参照してください。


注 –

RAID-5 ボリュームの初期化や再同期化を中断することはできません。


    次のどちらかの方法で RAID-5 ボリュームの状態をチェックします。

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

    • metastat コマンドを使って RAID-5 ボリュームの状態を表示します。


      # metastat [-s diskset] [volume]
      
      -s diskset

      コマンドの実行対象となるディスクセットの名前を指定します。

      volume

      表示するボリュームを指定します。

      metastat コマンドは、RAID-5 ボリュームのスライスごとに次の情報を表示します。

      Device

      ストライプ内のスライスのデバイス名

      Start Block

      スライスの開始ブロック

      Dbase

      スライスに状態データベースの複製が含まれているかどうか

      State

      スライスの状態。

      Hot Spare

      スライスが障害スライスのホットスペアとして使用されているかどうか


例 15–2 RAID 5-ボリュームの状態を表示する

次の例は、RAID-5 ボリュームに関する metastat コマンドの出力です。


# metastat d10
d10: RAID
    State: Okay        
    Interlace: 32 blocks
    Size: 10080 blocks
Original device:
    Size: 10496 blocks
        Device              Start Block  Dbase State        Hot Spare
        c0t0d0s1                 330     No    Okay        
        c1t2d0s1                 330     No    Okay        
        c2t3d0s1                 330     No    Okay 

metastat コマンドの出力には、ボリュームが RAID-5 ボリュームであることが示されています。この情報は、ボリューム名の後ろの「RAID」で識別できます。RAID-5 ボリューム内のスライスごとに、次のような出力が表示されます。


ProcedureRAID-5 ボリュームを拡張するには

一般に、コンポーネントの追加は、領域が不足している RAID-5 ボリュームに対する一時的な解決策です。性能上の理由から、「純粋な」RAID-5 ボリュームの使用をお勧めします。記憶領域を増やすために既存の RAID-5 ボリュームを拡張する必要がある場合は、この手順を使用してください。


注意 – 注意 –

32 ビットカーネルの Solaris ソフトウェアを実行する予定がある場合、または Solaris 9 4/03 リリースより前のバージョンの Solaris OS を使用する予定がある場合は、1T バイトを超えるボリュームを作成しないでください。Solaris ボリュームマネージャのマルチテラバイトボリュームサポートの詳細については、「Solaris ボリュームマネージャにおけるマルチテラバイトサポートの概要」を参照してください。


始める前に

「RAID-5 ボリュームを作成するための背景情報」を確認します。

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

  2. 次のどちらかの方法で RAID-5 ボリュームに他のコンポーネントを追加します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、次に RAID-5 ボリュームを開きます。「コンポーネント (Components)」区画を開きます。「コンポーネントの接続 (Attach Component)」を選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。

    • 次の形式の metattach コマンドを実行します。


      # metattach volume-name name-of-component-to-add
      
      volume-name

      拡張する RAID-5 ボリュームの名前を指定します。

      name-of-component-to-add

      RAID-5 ボリュームを接続するコンポーネントの名前を指定します。

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


例 15–3 RAID-5 ボリュームにコンポーネントを追加する

次の例では、スライスc2t1d0s2 を既存の RAID-5 ボリューム d2 に追加しています。


# metattach d2 c2t1d0s2
d2: column is attached

参照

UFS ファイルシステムの場合は、RAID-5 ボリュームに対して growfs コマンドを実行します。growfs コマンドによるボリュームとディスク領域の拡張」を参照してください。

データベースなど、アプリケーションによってはファイルシステムを使用しません。これらのアプリケーションでは、代わりに raw デバイスを使用します。この場合、アプリケーションは独自の方法で追加領域を拡張できなければなりません。

ProcedureRAID-5 ボリューム内のコンポーネントを有効にするには

ディスクドライブに障害が発生した場合は、そのドライブの代わりにシステム上のほかのディスク (およびそのスライス) を使用することができます (「RAID-5 ボリューム内のコンポーネントを置き換えるには」を参照)。または、ディスクを修復し、ラベルを付け、-e オプションを指定して metareplace コマンドを実行することによって、ディスクをもう一度有効化することもできます。

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

  2. 次のどちらかの方法で、RAIDー5 ボリューム内の、障害が発生したコンポーネントを有効にします。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、次に RAID-5 ボリュームを開きます。「コンポーネント (Components)」区画を開きます。障害の発生したコンポーネントを選択します。「コンポーネントの有効化 (Enable Component)」をクリックします。画面の指示に従います。詳細は、オンラインヘルプを参照してください。

    • 次の形式の metareplace コマンドを実行します。


      # metareplace -e volume-name component-name
      
      -e

      障害の発生したコンポーネントを使用可能な状態に戻し、そのコンポーネントに対して再同期を実行することを指定します。

      volume-name

      障害コンポーネントが含まれているボリュームの名前を指定します。

      component-name

      障害の発生したコンポーネントの名前を指定します。

      metareplace コマンドは、新しいコンポーネントと RAID-5 ボリュームの残りのコンポーネントとの再同期を自動的に開始します。


例 15–4 RAID-5 ボリューム内のコンポーネントを有効にする

次の例では、RAID-5 ボリューム d20 内のスライス c2t0d0s2 にソフトエラーがあります。metareplace コマンドに -e オプションを指定して、このスライスを有効にします。


# metareplace -e d20 c2t0d0s2

ProcedureRAID-5 ボリューム内のコンポーネントを置き換えるには

この作業では、1 つのスライスに障害が発生した RAID-5 ボリュームでそのスライスを交換します。


注意 – 注意 –

複数のスライスでエラーが発生している状態で、障害のあるスライスを 1 つだけ交換すると、不正なデータが生成されることがあります。この場合、データの整合性に疑問が生じます。


metareplace コマンドを障害が発生していないデバイス上で実行すれば、ディスクスライスなどのコンポーネントを交換できます。この方法は、RAID-5 ボリュームの性能を調整するときなどに便利です。

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

  2. 次のどちらかの方法で RAID-5 ボリュームのどのスライスを交換するか判断します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開きます。さらに RAID-5 ボリュームを開きます。「コンポーネント (Components)」区画を開きます。個々のコンポーネントの状態を調べます。詳細は、オンラインヘルプを参照してください。

    • metastat コマンドを使用します。


      # metastat volume
      
      volume

      RAID-5 ボリュームの名前を指定します。

    「保守が必要 (Needs Maintenance)」というキーワードを探して、RAID-5 ボリュームの状態を調べます。「保守 (Maintenance)」というキーワードを探して、障害のあるスライスを特定します。

  3. 次のどちらかの方法で、障害のあるスライスを別のスライスで置き換えます。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開きます。さらに RAID-5 ボリュームを開きます。「コンポーネント (Components)」区画を開きます。障害の発生したコンポーネントを選択します。「コンポーネントを置換 (Replace Component)」をクリックし、画面の指示に従います。詳細は、オンラインヘルプを参照してください。

    • 次の形式の metareplace コマンドを実行します。


      # metareplace volume-name failed-component new-component
      
      • volume-name は、障害コンポーネントが含まれている RAID-5 ボリュームの名前です。

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

      • new-component は、障害のあるコンポーネントの代わりにボリュームに追加するコンポーネントの名前です。

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

  4. 手順 2 のどちらかの方法で、新しいスライスの状態を確認します。

    スライスは、「再同期中 (Resyncing)」状態か「正常 (Okay)」状態になるはずです。


例 15–5 RAID-5 コンポーネントを置き換える


# metastat d1
d1: RAID
State: Needs Maintenance
    Invoke: metareplace d1 c0t14d0s6 <new device>
    Interlace: 32 blocks
    Size: 8087040 blocks
Original device:
    Size: 8087520 blocks
	Device              Start Block  Dbase State        Hot Spare
	c0t9d0s6                 330     No    Okay        
	c0t13d0s6                330     No    Okay        
	c0t10d0s6                330     No    Okay        
	c0t11d0s6                330     No    Okay        
	c0t12d0s6                330     No    Okay        
	c0t14d0s6                330     No    Maintenance
 
# metareplace d1 c0t14d0s6 c0t4d0s6
d1: device c0t14d0s6 is replaced with c0t4d0s6
# metastat d1
d1: RAID
    State: Resyncing
    Resync in progress: 98% done
    Interlace: 32 blocks
    Size: 8087040 blocks
Original device:
    Size: 8087520 blocks
	Device              Start Block  Dbase State        Hot Spare
	c0t9d0s6                 330     No    Okay        
	c0t13d0s6                330     No    Okay        
	c0t10d0s6                330     No    Okay        
	c0t11d0s6                330     No    Okay        
	c0t12d0s6                330     No    Okay
	c0t4d0s6                 330     No    Resyncing

この例では、metastat コマンドで RAID-5 ボリューム d1 内の障害の発生したスライスを表示します。交換用として使用可能なスライスを特定してから metareplace コマンドを実行します。このコマンドには、まず障害が発生したスライスを指定し、次に交換用のスライスを指定します。

使用可能なスライスがない場合は、metareplace コマンドに -e オプションを付けて実行し、障害のあるデバイスを再同期することによって、予想されるソフトエラーからの回復を試みます。この手順の詳細については、「RAID-5 ボリューム内のコンポーネントを有効にするには」を参照してください。複数のエラーがある場合は、まず「保守(Maintenance)」状態のスライスを交換するか有効にする必要があります。そのあとで、「最後にエラー (Last Erred)」状態のスライスを修理します。metareplace コマンドの実行後、 metastat コマンドを使用すると、再同期の進捗状況を監視できます。交換中は、ボリュームの状態と新しいスライスは「再同期中 (Resyncing)」状態となります。この状態の間は、ボリュームを使い続けることが できます。