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

Procedureファイルシステムから RAID 1 ボリュームを作成するには

この手順では、既存のファイルシステムをミラー化します。 このファイルシステムがマウント解除できる場合は、システムを再起動しなくても、ここに示すすべての手順を完了することができます。 ルート (/) など、マウント解除できないファイルシステムの場合は、手順の中でシステムの再起動が必要になります。

スライス上に構築された既存のファイルシステムから RAID 1 ボリュームを作成する場合は、そのスライスだけを一次 RAID 0 ボリューム (サブミラー) に含めるようにします。 ルートなど、システムにとって重要なファイルシステムをミラー化する場合は、すべてのサブミラーが単一のスライスで構成されていなければなりません。


ルート (/) をミラー化するときは、一次サブミラーに障害が発生し、システムを再起動しなければならない場合に備えて、二次ルートスライスの名前を記録しておく必要があります。 この情報は、システム上に記録するのではなく、書き留めておきます。システムは常に使用可能であるとは限りません。 代替起動デバイスの記録と代替起動デバイスからの起動については、第26章「Solaris ボリュームマネージャの障害追跡 (作業) 」を参照してください。

x86 システムでルートをミラー化する場合は、RAID 0 や RAID 1 デバイスを作成する前に、起動情報を代替起動ディスクに記録する必要があります。 『Solaris のシステム管理 (基本編)』の第 10 章「システムのブート (手順)」を参照してください。


この手順では、既存のデバイスを c1t0d0s0 とします。 2 番目のデバイス c1t1d0s0 はミラーの 2 番目として使用します。 サブミラーは d1d2、ミラーは d0 です。


注意  注意

まず metainit コマンドで 1 面ミラーを作成してから、metattach コマンドで追加のサブミラーを接続します。 metattach コマンドを使用しないと、再同期は実行されません。 この場合、Solaris ボリュームマネージャはミラーの両側が同一であるとみなし、両方を区別なく使用するため、データが破壊されるおそれがあります。


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

  2. ミラー化するファイルシステムが含まれているスライスを特定します (この例では c1t0d0s0)。

  3. 次のどちらかの方法を使って、前の手順で特定したスライスに新しい RAID 0 ボリュームを作成します。

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

    • metainit -f raid-0-volume-name 1 1 ctds-of-slice コマンドを実行します。


      # metainit -f d1 1 1 c1t0d0s0
      
  4. 未使用のスライス (この例では c1t1d0s0) に 2 番目の RAID 0 ボリューム (連結) を作成します。これは、後で 2 番目のサブミラーとして使用します。 2 番目のサブミラーのサイズは、最初のサブミラー以上でなければなりません。 この手順では、次のどちらかの方法を使用します。

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

    • metainit second-raid-0-volume-name 1 1 ctds-of-slice コマンドを実行します。


      # metainit d2 1 1 c1t1d0s0
      
  5. 次のどちらかの方法で 1 面ミラーを作成します。

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

    • metainit mirror-name -m raid-0-volume-name コマンドを実行します。


      # metainit d0 -m d1
      

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


    既存のファイルシステムからミラーを作成する場合は、データが破壊されないように、次の 2 つの手順に忠実に従ってください。


    ルート (/) 以外のファイルシステムをミラー化する場合は、そのファイルシステムのマウント手順がミラー (ブロックデバイスではなく) を参照するように /etc/vfstab ファイルを編集する必要があります。

    /etc/vfstab ファイルの詳細については、『Solaris のシステム管理 (デバイスとファイルシステム)』「ファイルシステムのマウント」を参照してください。

  6. 次のいずれかの方法で、新たにミラー化したファイルシステムをマウントし直します。

    • ルート (/) ファイルシステムをミラー化している場合は、metaroot d0 コマンドを実行します (d0 には、先ほど作成したミラーの名前を指定する)。次にシステムを再起動します。

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

    • マウント解除可能なファイルシステムをミラー化している場合は、ファイルシステムをマウント解除してから再びマウントします。

    • マウント解除できない、ルート (/) 以外のファイルシステムをミラー化している場合は、システムを再起動します。

  7. metattach コマンドを使用して、2 番目のサブミラーを接続します。


    # metattach d0 d2
    

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

  8. ルートファイルシステムをミラー化した場合は、代替起動パスを記録しておきます。

    「代替起動デバイスへのパスを記録するには」を参照してください。


例 113 2 面ミラーを作成する (マウント解除できるファイルシステム)


# metainit -f d1 1 1 c1t0d0s0
d1: Concat/Stripe is setup
# metainit d2 1 1 c1t1d0s0
d2: Concat/Stripe is setup
# metainit d0 -m d1
d0: Mirror is setup
# umount /master
(ファイルシステムがミラーを参照するように /etc/vfstab ファイルを編集する)
# mount /master
# metattach d0 d2
d0: Submirror d2 is attached

まず、-f オプションを使用して、最初の連結 d1 を強制的に作成します。これには、/dev/dsk/c1t0d0s0 にマウントされているファイルシステム /master が含まれています。 次に 2 番目の連結 d2/dev/dsk/c1t1d0s0 から作成します。 (このスライスのサイズは d1 以上である必要があります)。 そして、metainit コマンドに -m オプションを付けて実行し、d1 から1 面ミラー d0 を作成します。

次に、このファイルシステムのエントリがミラーを参照するように /etc/vfstab ファイルを編集します。 たとえば、次の行を見てください。


/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 /var ufs 2 yes -

上記の行を次のように変更します。


/dev/md/dsk/d0 /dev/md/rdsk/d0 /var ufs 2 yes -

最後に、ファイルシステムをマウントし直し、サブミラー d2 をミラーに接続して、ミラーの同期を取り直します。 RAID 0 と RAID 1 ボリュームが設定され、サブミラー d2 が接続されたことを示すメッセージが表示されます。



例 114 ルート (/) からミラーを作成する


# metainit -f d1 1 1 c0t0d0s0
d1: Concat/Stripe is setup
# metainit d2 1 1 c0t1d0s0
d2: Concat/Stripe is setup
# metainit d0 -m d1d0: Mirror is setup
# metaroot d0
# lockfs -fa
# reboot
...
# metattach d0 d2
d0: Submirror d2 is attached
# ls -l /dev/rdsk/c0t1d0s0
lrwxrwxrwx   1 root     root          88 Feb  8 15:51 /dev/rdsk/c1t3d0s0 ->
../../devices/iommu@f,e0000000/vme@f,df010000/SUNW,pn@4d,1080000/ipi3sc@0,0/i
d@3,0:a,raw

システムを再起動する前に、2 番目のサブミラーを接続しないでください。 metaroot コマンドを実行した後、2 番目のサブミラーを接続する前に、システムを再起動する必要があります。

まず、-f オプションを使って最初の RAID 0 ボリューム d1 を強制的に作成します。これには、/dev/dsk/c0t0d0s0 にマウントされているファイルシステム、ルート (/) が含まれています。 次に 2 番目の連結 d2/dev/dsk/c0t1d0s0 から作成します。 (このスライスのサイズは d1 以上でなければなりません。) そして、metainit コマンドに -m オプションを付けて実行し、ルート (/) を含む連結から1 面ミラー d0 を作成します。

次に、metaroot コマンドを使用して、/etc/vfstab ファイルと /etc/system ファイルを編集し、システムがボリューム上のルート (/) ファイルシステムから起動されるように指定します。 (再起動を行う前に lockfs -fa コマンドを実行するようにします)。 再起動が終わると、サブミラー d2 がミラーに接続され、ミラーの再同期が実行されます (連結とミラーが設定され、サブミラー d2 が接続されたことを示すメッセージが表示されます)。 最後に、ルート raw デバイスに対して ls-l コマンドを実行して、代替ルートデバイスへのパスを表示します。このパスは、このデバイスからシステムを起動しなければならない状況が発生したときに必要になります。



例 115 2 面ミラーを作成する (マウント解除できないファイルシステム /usr)


# metainit -f d12 1 1 c0t3d0s6
d12: Concat/Stripe is setup
# metainit d22 1 1 c1t0d0s6
d22: Concat/Stripe is setup
# metainit d2 -m d12
d2: Mirror is setup
(/usr がミラーを参照するように /etc/vfstab ファイルを編集する)
# reboot
...
# metattach d2 d22
d2: Submirror d22 is attached

まず、-f オプションを使用して、最初の連結 d12 を強制的に作成します。これには、/dev/dsk/c0t3d0s6 にマウントされているファイルシステム /usr が含まれています。 次に 2 番目の連結 d22/dev/dsk/c1t0d0s6 から作成します。 (このスライスのサイズは d12 以上である必要があります)。 metainit コマンドに -m オプションを付けて実行し、/usr を含む連結から 1 面ミラー d2 を作成します。 次に、/usr のエントリがミラーを参照するように /etc/vfstab ファイルを編集します。 たとえば、次の行を見てください。


/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 yes -

上記の行を次のように変更します。


/dev/md/dsk/d2 /dev/md/rdsk/d2 /usr ufs 1 yes -

再起動が終わると、2 番目のサブミラー d22 がミラーに接続され、ミラーの再同期が実行されます。 (連結とミラーが設定され、サブミラー d22 が接続されたことを示すメッセージが表示されます。)



例 116 swap からミラーを作成する


# metainit -f d11 1 1 c0t0d0s1
d11: Concat/Stripe is setup
# metainit d21 1 1 c1t0d0s1
d21: Concat/Stripe is setup
# metainit d1 -m d11
d1: Mirror is setup
(swap がこのミラーを参照するように /etc/vfstab ファイルを編集する)
# reboot
...
# metattach d1 d21
d1: Submirror d21 is attached

まず、-f オプションを指定して最初の連結 d11 を強制的に作成します。これには、/dev/dsk/c0t0d0s1 にマウントされているファイルシステム swap が含まれています。 次に 2 番目の連結 d21/dev/dsk/c1t0d0s1 から作成します。 (このスライスのサイズは d11 以上である必要があります)。 metainit コマンドに -m オプションを付けて実行し、swap を含む連結から 1 面ミラー d1 を作成します。 次に、/etc/vfstab ファイルにswap のエントリがある場合は、このエントリがミラーを参照するようにファイルを編集する必要があります。 たとえば、次の行を見てください。


/dev/dsk/c0t0d0s1 - - swap - no -

上記の行を次のように変更します。


/dev/md/dsk/d1 - - swap - no -

再起動が終わると、2 番目のサブミラー d21 がミラーに接続され、ミラーの再同期が実行されます。 (連結とミラーが設定され、サブミラー d21 が接続されたことを示すメッセージが表示されます。)

swap をミラー化した場合、クラッシュダンプを保存するためには、dumpadm コマンドを使ってダンプデバイスをボリュームとして構成する必要があります。 たとえば、swap デバイスの名前が /dev/md/dsk/d2 であれば、dumpadm コマンドを使ってこのデバイスをダンプデバイスとして設定します。