この手順では、システムの動作中にマウント解除できるファイルシステムのミラー化を解除します。 ルート (/)、 /var、/usr、swap など、システムの動作中にマウント解除できないファイルシステムのミラー化を解除する場合は、 「マウント解除できないファイルシステムのミラー化を解除するには」を参照してください。
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
「RAID 1 ボリュームの背景情報」を確認します。
少なくとも 1 つのサブミラーが「正常 (Okay)」状態であることを確認します。
# metastat |
ファイルシステムをマウント解除します。
# umount /home |
サブミラーを切り離します。このサブミラーは、この後もこのファイルシステムのために使用されます。
詳細については、metadetach(1M) のマニュアルページを参照してください。
# metadetach d1 d10 |
詳細については、metaclear(1M) のマニュアルページを参照してください。
# metaclear -r d1 |
必要であれば、/etc/vfstab ファイルを編集して、手順1 で切り離したコンポーネントを使用するように指定します。
ファイルシステムを再びマウントします。
# metastat d4 d4: Mirror Submirror 0: d2 State: Okay Submirror 1: d3 State: Okay ... # umount /opt # metadetach d4 d2 d4: submirror d2 is detached # metaclear -r d4 d4: Mirror is cleared d3: Concat/Stripe is cleared (/opt のエントリが d4 の代わりにそのスライスまたはボリュームを指すように /etc/vfstab ファイルを編集する) # mount /opt |
この例の /opt ファイルシステムは 2 面ミラー d4 から構成されています。そのサブミラー d2 と d3 はそれぞれ、スライス /dev/dsk/c0t0d0s0 と /dev/dsk/c1t0d0s0 から構成されています。 metastat コマンドを使用して、少なくとも 1 つのサブミラーが「正常 (Okay)」状態であることを確認します。 (「正常 (Okay)」状態のサブミラーが存在しないミラーは、最初に修復する必要があります)。 次に、このファイルシステムのマウントを解除してから、サブミラー d2 を切り離します。 metaclear -r コマンドは、ミラーともう 1 つのサブミラー d3 を削除します。
次に、/opt のエントリが、該当するスライスを参照するように /etc/vfstab ファイルを編集します。 たとえば、d4 がミラーで、d2 がサブミラーであれば、次のように変更します。
/dev/md/dsk/d4 /dev/md/rdsk/d4 /opt ufs 2 yes - |
上記の行を次のように変更します。
/dev/md/dsk/d2 /dev/md/rdsk/d2 /opt ufs 2 yes - |
サブミラー名を使用することによって、ファイルシステムをボリュームにマウントしたままにできます。 最後に、/opt ファイルシステムを再びマウントします。
/etc/vfstab ファイル内で d4 の代わりに d2 を使用したことによって、このミラーのミラー化を解除しています。 d2 は 1 つのスライスから構成されているため、このデバイスでボリュームをサポートしたくなければ、ファイルシステムをスライス名 (/dev/dsk/c0t0d0s0) にマウントできます。
ルート (/)、 /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 を削除します。