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

トランザクションボリュームの保守

Procedureトランザクションボリュームの状態をチェックするには

手順

    次のどちらかの方法でトランザクションボリュームの状態をチェックします。

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

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

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


例 194 トランザクションボリュームの状態をチェックする

metastat コマンドで出力された、トランザクションボリュームの状態を以下に示します。


# metastat
d20: Trans
    State: Okay        
    Size: 102816 blocks
    Master Device: c0t3d0s4
    Logging Device: c0t2d0s3
 
        Master Device       Start Block  Dbase
        c0t3d0s4                   0     No  
 
c0t2d0s3: Logging device for d0
    State: Okay        
    Size: 5350 blocks
 
        Logging Device      Start Block  Dbase
        c0t2d0s3                 250     No 

Procedureトランザクションボリュームにログデバイスを接続するには

手順
  1. 「Solaris ボリュームマネージャコンポーネントを作成するための前提条件 」「トランザクションボリュームの背景情報」を確認します。

  2. ロギングを有効にする UFS ファイルシステムのマウントを解除します。

  3. 次のどちらかの方法でトランザクションボリュームにログデバイスを接続します。

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

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


      metattach master-volume logging-volume 
      

      master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。

      logging-volume は、ログが格納されているボリュームまたはスライスの名前です。

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


    # metattach d1 d23
    
  4. ファイルシステムを再びマウントします。


例 195 トランザクションボリュームにログデバイスを接続する

この例では、ログデバイス、つまりスライス (c1t1d0s1) を、/fs2 にマウントされているトランザクションボリューム d1 に接続します。


# umount /fs2
# metattach d1 c1t1d0s1
d1: log device d0c1t1d0s1 is attached
# mount /fs2

Procedureトランザクションボリュームからログデバイスを切断するには

手順
  1. 「Solaris ボリュームマネージャコンポーネントを作成するための前提条件 」「トランザクションボリュームの背景情報」を確認します。

  2. ロギングを無効にしたり、ログデバイスを変更したい UFS ファイルシステムのマウントを解除します。

  3. 次のどちらかの方法でトランザクションボリュームからログデバイスを切断します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。 ボリュームを右クリックし、「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。

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


      metadetach master-volume 
      

      master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。

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

  4. ファイルシステムを再びマウントします。


例 196 トランザクションボリュームからログデバイスを切断する

この例では、ログデバイス、つまりスライス (c1t1d0s1) を、/fs2 にマウントされているトランザクションボリューム d1 から切り離します。


# umount /fs2
# metadetach d1
d1: log device c1t1d0s1 is detached
# mount /fs2

Procedureトランザクションボリュームを拡張するには


トランザクションボリューム内のマスターデバイスを拡張するためには、マスターデバイスがボリューム (RAID 0、RAID 1、または RAID 5) でなければなりません。


手順
  1. 「Solaris ボリュームマネージャコンポーネントを作成するための前提条件 」「トランザクションボリュームの背景情報」を確認します。

  2. マスターデバイスがボリューム (基本スライスではなく) の場合は、次のどちらかの方法でマスターデバイスに他のスライスを追加します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。 ボリュームを右クリックし、「プロパティ (Properties)」を選択してから、「コンポーネント (Components)」パネルを選択します。 詳細は、オンラインヘルプを参照してください。

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


      metattach master-volume component
      

      master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。

      component は、接続するボリュームまたはスライスの名前です。

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


      マスターデバイスがミラーの場合は、個々のサブミラーにスライスを追加する必要があります。


  3. マスターデバイスがスライスの場合は、そのスライスを直接拡張することはできません。 その場合は、次のようにします。

    • 現在のトランザクションボリュームを削除します。

    • マスターデバイスのスライスをボリュームに含めます。

    • トランザクションボリュームを再び作成します。

    この処理が終わったら、上記の手順に従ってマスターデバイスを拡張します。


例 197 トランザクションボリューム内の RAID 1 マスターデバイスを拡張する


# metastat d10
d10: Trans
    State: Okay        
    Size: 102816 blocks
    Master Device: d0
    Logging Device: d1
d0: Mirror
    Submirror 0: d11
      State: Okay
...
    Submirror 1: d12
      State: Okay        
...
# metattach d11 c0t2d0s5
d11: component is attached
# metattach d12 c0t3d0s5
d12: component is attached

この例では、トランザクションデバイス d10 を拡張しています。このマスターデバイスは 2 面の RAID 1 ボリューム d0 で、サブミラー d11d12 から構成されています。 そのため、サブミラーごとに metattach コマンドを実行します。 スライスが追加されたことを示すメッセージが表示されます。


参照

UFS の場合は、マスターデバイスではなくトランザクションボリュームに対して growfs コマンドを実行します。 「ファイルシステムを拡張するには」を参照してください。

データベースなど、raw ボリュームを使用するアプリケーションは、独自の方法で領域を拡張できなければなりません。

Procedureトランザクションボリュームを削除するには

手順
  1. 「Solaris ボリュームマネージャコンポーネントを作成するための前提条件 」「トランザクションボリュームの背景情報」を確認します。

  2. トランザクションボリュームを削除し、ロギングを無効にしたい UFS ファイルシステムのマウントを解除します。


    # umount /filesystem
    
  3. 次のどちらかの方法でトランザクションボリュームからログデバイスを切断します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。 ボリュームを右クリックし、「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。

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


      metadetach master-volume 
      

      master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。

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

  4. 次のどちらかの方法でトランザクションボリュームを削除 (クリア) します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。 ボリュームを右クリックし、「削除 (Delete)」を選択します。 詳細は、オンラインヘルプを参照してください。

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


      metaclear master-volume  
      

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

  5. 必要であれば、/etc/vfstab ファイルを編集して、上記の手順で削除したトランザクションボリュームではなく、トランザクションボリュームを構成するボリュームをマウントします。

  6. ファイルシステムを再びマウントします。


例 198 トランザクションボリュームを削除する

この例では、 /fs2 にマウントされているトランザクションボリューム d1 を削除します。 この処理が終わると、トランザクションボリュームを構成するスライス c1t1d0s1 が直接マウントされます。


# umount /fs2
# metadetach d1
d1: log device d2 is detached
# metaclear d1 
d1: Trans is cleared

(/etc/vfstab を編集して、/fs2 に c1t1d0s1 (d1 ではなく) をマウントする。 )
# mount /fs2

Procedureマウントデバイスを保持しながらトランザクションボリュームを削除するには

この手順は、トランザクションボリュームとそのボリュームを構成するデバイスが共に Solaris ボリュームマネージャの論理ボリュームである場合にのみ有効です。

手順
  1. 「Solaris ボリュームマネージャコンポーネントを作成するための前提条件 」「トランザクションボリュームの背景情報」を確認します。

  2. トランザクションボリュームを削除し、ロギングを無効にしたい UFS ファイルシステムのマウントを解除します。

  3. 次のどちらかの方法でトランザクションボリュームからログデバイスを切断します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。 ボリュームを右クリックし、「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。

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


      metadetach master-volume 
      

      master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。

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

  4. トランザクションボリュームの名前とマスターデバイスの名前を交換します。

  5. 次のどちらかの方法でトランザクションボリュームを削除 (クリア) します。

    • Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。 ボリュームを右クリックし、「削除 (Delete)」を選択します。 詳細は、オンラインヘルプを参照してください。

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


      metaclear master-volume  
      

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

  6. マスターデバイスに対して fsck コマンドを実行します。

    スーパーブロック内のファイルシステムの状態を修正するかどうかの問い合わせに対して y を入力します。

  7. ファイルシステムを再びマウントします。


例 199 マウントデバイスを保持しながらトランザクションボリュームを削除する

この例では、まず、マウントされたファイルシステムが格納されているトランザクションボリューム d1 の状態を調べ、最後に、トランザクションボリューム内のマスターデバイス d1 にファイルシステムをマウントします。


# metastat d1
d1: Trans
    State: Okay        
    Size: 5600 blocks
    Master Device: d21
    Logging Device: d0
 
d21: Mirror
    Submirror 0: d20
      State: Okay        
    Submirror 1: d2
      State: Okay        
...
 
d0: Logging device for d1
    State: Okay        
    Size: 5350 blocks
# umount /fs2
# metadetach d1
d1: log device d0 is detached
# metarename -f -x d1 d21
d1 and d21 have exchanged identities
# metastat d21
d21: Trans
    State: Detached    
    Size: 5600 blocks
    Master Device: d1
 
d1: Mirror
    Submirror 0: d20
      State: Okay        
    Submirror 1: d2
      State: Okay
# metaclear 21
# fsck /dev/md/dsk/d1
** /dev/md/dsk/d1
** Last Mounted on /fs2
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
 
FILE SYSTEM STATE IN SUPERBLOCK IS WRONG; FIX? y
 
3 files, 10 used, 2493 free (13 frags, 310 blocks, 0.5%
fragmentation)
# mount /fs2

最初に metastat コマンドを実行して、トランザクションボリューム d1 が「正常 (Okay)」状態であることを確認します。 トランザクションボリュームのログデバイスを切断する前に、ファイルシステムのマウントを解除します。 -f (強制) フラグを指定して、トランザクションボリュームとそのミラー化されたマスターデバイスを交換します。 metastat コマンドを再び実行して、交換が実際に行われたことを確認します。 次に、トランザクションボリューム d21 とログデバイス d0 (必要な場合)を削除します。 fsck コマンドをミラー d1 に対して実行し、プロンプトの問い合わせに対して y を入力します。 fsck コマンドの実行が終わったら、ファイルシステムを再びマウントします。 /fs2 のマウントデバイスは変更されていないため、/etc/vfstab ファイルを編集する必要はありません。