ルート (/)、 /usr、/opt、swap など、システムが通常に動作している間はマウント解除できないファイルシステムのミラー化を解除するには、次の手順を実行します。
metastat コマンドを実行して、少なくとも 1 つのサブミラーの状態が「正常 (Okay)」であることを確認します。
ルート (/)、/usr、/opt、または swap を含むミラーに対して metadetach コマンドを実行して、このミラーを 1 面ミラーにします。
/usr、/opt、 swap の場合は、 /etc/vfstab ファイルを編集して、このファイルシステムのエントリが Solaris ボリュームマネージャ以外のデバイス (スライス) を参照するようにします。
ルート (/) だけの場合は、 metaroot コマンドを実行します。
システムを再起動します。
metaclear コマンドを実行してミラーとサブミラーを削除します。
# metadetach d0 d20 d0: submirror d20 is detached # metaroot /dev/dsk/c0t3d0s0 # reboot ... # metaclear -r d0 d0: Mirror is cleared d10: Concat/Stripe is cleared # metaclear d20 d20: Concat/Stripe is cleared |
この例では、ルート (/) は d0 という名前の 2 面ミラーです。そのサブミラー d10 と d20 はそれぞれ、スライス /dev/dsk/c0t3d0s0 と /dev/dsk/c1t3d0s0 から構成されています。 metastat コマンドを使用して、少なくとも 1 つのサブミラーが「正常 (Okay)」状態であることを確認します。 (「正常 (Okay)」状態のサブミラーが存在しないミラーは、最初に修復する必要があります)。 次に、サブミラー d20 を切り離して、ミラー d0 を 1 面ミラーにします。 metaroot コマンドには、システムの起動に使用する rootslice を指定します。 このコマンドは、/etc/system と /etc/vfstab ファイルを編集して、ルート (/) のミラー化を指定する情報を削除します。 再起動後の metaclear -r コマンドは、ミラーともう 1 つのサブミラー d10 を削除します。 最後の metaclear コマンドは、サブミラー d20 を削除します。
# metastat d1 d1: Mirror Submirror 0: d11 State: Okay Submirror 1: d21 State: Okay ... # metadetach d1 d21 d1: submirror d21 is detached (/etc/vfstab ファイルを編集して、swap のエントリをメタデバイスからスライス名に変更する) # reboot ... # metaclear -r d1 d1: Mirror is cleared d11: Concat/Stripe is cleared # metaclear d21 d21: Concat/stripe is cleared |
この例では、swap は d1 という名前の 2 面ミラーです。そのサブミラー d11 と d21 はそれぞれ、スライス /dev/dsk/c0t3d0s1 と /dev/dsk/c1t3d0s1 から構成されています。 metastat コマンドを使用して、少なくとも 1 つのサブミラーが「正常 (Okay)」状態であることを確認します。 (「正常 (Okay)」状態のサブミラーが存在しないミラーは、最初に修復する必要があります)。 次に、サブミラー d21 を切り離して、ミラー d1 を 1 面ミラーにします。 次に、/etc/vfstab ファイルを編集して、swap のエントリが、サブミラー d21 のスライスを参照するように指定します。 たとえば、d1 がミラーで、d21 がスライス /dev/dsk/c0t3d0s1 を含むサブミラーであれば、次のように変更します。
/dev/md/dsk/d1 - - swap - no - |
上記の行を次のように変更します。
/dev/dsk/c0t3d0s1 - - swap - no - |
再起動後、metaclear -r コマンドは、このミラーともう 1 つのサブミラー d11 を削除します。 最後の metaclear コマンドは、サブミラー d21 を削除します。