この手順では、既存のファイルシステムをミラー化します。このファイルシステムがマウント解除できる場合は、システムをリブートしなくても、ここに示すすべての手順を完了することができます。/usr や /swap のようなマウント解除できないファイルシステムの場合、手順を完了するには、システムをリブートする必要があります。
スライス上に構築された既存のファイルシステムから RAID-1 ボリュームを作成する場合は、そのスライスだけを一次 RAID-0 ボリューム (サブミラー) に含めるようにします。システムにとって重要なファイルシステムをミラー化する場合は、すべてのサブミラーが単一のスライスだけで構成されている必要があります。
ルート (/) ファイルシステムのミラー化に関連する手順については、「SPARC: ルート (/) ファイルシステムから RAID-1 ボリュームを作成するには」および 「x86: DCA を使ってルート (/) ファイルシステムから RAID-1 ボリュームを作成するには」を参照してください。
この手順の例では、既存スライスは c1t0d0s0 です。2 番目のスライス c1t1d0s0 はミラーの 2 番目として使用します。サブミラーは d1 と d2、ミラーは d0 です。
まず metainit コマンドで 1 面ミラーを作成してから、metattach コマンドで追加のサブミラーを接続します。metattach コマンドを使用しないと、再同期は実行されません。この場合、Solaris ボリュームマネージャはミラーの両側が同一であるとみなし、両方を区別なく使用するため、データが破壊されるおそれがあります。
「Solaris ボリュームマネージャコンポーネントを作成するための前提条件」 と 「RAID-1 ボリュームの作成と保守」を確認します。
ミラー化する既存ファイルシステムが格納されているスライスを特定します。この例では、スライス c1t0d0s0 を使用します。
次のどちらかの方法を使って、前の手順で特定したスライスに新しい RAID-0 ボリュームを作成します。
Solaris 管理コンソール内の「拡張ストレージ」から、「ボリューム (Volumes)」ノードを開き、「アクション (Action)」、「ボリュームの作成 (Create Volume)」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit -f volume-name number-of-stripes components-per-stripe component-name |
コマンド処理を強制的に続けます。スライスにマウントされたファイルシステムが含まれている場合は、このオプションを使用する必要があります。
作成するボリュームの名前を指定します。ボリュームの命名方式については、「ボリューム名」を参照してください。
作成するストライプの数を指定します。
各ストライプに与えるコンポーネントの数を指定します。
使用するコンポーネントの名前を指定します。この例では、ルートスライス c0t0d0s0 を使用します。
未使用のスライス (この例では c1t1d0s0) に 2 番目の RAID-0 ボリューム (連結) を作成します。これは、後で 2 番目のサブミラーとして使用します。2 番目のサブミラーのサイズは、最初のサブミラー以上でなければなりません。この手順では、次のどちらかの方法を使用します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、「アクション (Action)」、「ボリュームを作成 (Create Volume)」の順に選択し、画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name number-of-stripes components-per-stripe component-name |
オプションの説明については、手順 2 を参照してください。
次のどちらかの方法で 1 面ミラーを作成します。
Solaris 管理コンソール内の「拡張ストレージ」から、「ボリューム (Volumes)」ノードを開き、「アクション (Action)」、「ボリュームの作成 (Create Volume)」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name -m submirror-name |
作成するボリュームの名前を指定します。
ミラーを作成することを指定します。
ミラーの最初のサブミラーとして使用するコンポーネントの名前を指定します。この例では、ルートスライスが含まれる RAID-0 ボリュームです。
詳細は、metainit(1M) のマニュアルページを参照してください。
既存のファイルシステムからミラーを作成する場合は、データが破壊されないように、次の 2 つの手順に忠実に従ってください。
ファイルシステムのマウント手順が (ブロックデバイスではなく) ミラーを参照するように、/etc/vfstab ファイルを編集します。/etc/vfstab ファイルについての詳細は、『Solaris のシステム管理 (デバイスとファイルシステム)』の「ファイルシステムのマウント」を参照してください。
たとえば、/etc/vfstab ファイルにファイルシステム用の次のエントリが指定されているとします。
/dev/dsk/slice /dev/rdsk/slice /var ufs 2 yes - |
次のようにエントリを変更します。
/dev/md/dsk/mirror-name /dev/md/rdsk/mirror-name /var ufs 2 yes - |
次のどちらかの方法で、新たにミラー化したファイルシステムをマウントし直します。
マウント解除可能なファイルシステムをミラー化している場合は、ファイルシステムをマウント解除してから再びマウントします。
# umount /filesystem # mount /filesystem |
マウント解除できないファイルシステムをミラー化している場合は、システムをリブートします。
# reboot |
次の形式の metattach コマンドを使って、2 番目のサブミラーを追加します。
# metattach volume-name submirror-name |
サブミラーを追加する RAID-1 ボリュームの名前を指定します。
次にミラーに追加するサブミラーとなるコンポーネントの名前を指定します。
詳細は、metattach(1M) のマニュアルページを参照してください。
# 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 ファイルを編集します。/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 が接続されたことを示すメッセージが表示されます。
# 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 |
この例では、 /usr ファイルシステムが含まれるスライスを使用して、2 面ミラーを作成します。まず、-f オプションを使用して、最初の連結 d12 を強制的に作成します。これには、/dev/dsk/c0t3d0s6 にマウントされているファイルシステム /usr が含まれています。次に 2 番目の連結 d22 を /dev/dsk/c1t0d0s6 から作成します。このスライスは d12 と同じかそれ以上のサイズにする必要があります。そして、metainit コマンドに -m オプションを付けて実行し、/usr ファイルシステムを含む連結から1 面ミラー d2 を作成します。次に、/usr のエントリがミラーを参照するように /etc/vfstab ファイルを編集します。
/etc/vfstab ファイルには、/usr ファイルシステムに対応する次のエントリが指定されています。
/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 yes - |
次のようにエントリを変更します。
/dev/md/dsk/d2 /dev/md/rdsk/d2 /usr ufs 1 yes - |
リブートが終わると、2 番目のサブミラー d22 がミラーに接続され、ミラーの再同期が実行されます。
# 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 のエントリがある場合は、このエントリがミラーを参照するようにファイルを編集する必要があります。
/etc/vfstab ファイルには、swap 領域に対応する次のエントリが指定されています。
/dev/dsk/c0t0d0s1 - - swap - no - |
次のようにエントリを変更します。
/dev/md/dsk/d1 - - swap - no - |
リブートが終わると、2 番目のサブミラー d21 がミラーに接続され、ミラーの再同期が実行されます。
swap 領域をミラー化した場合、クラッシュダンプを保存するには、dumpadm コマンドを使ってダンプデバイスをボリュームとして構成する必要があります。たとえば、swap デバイスの名前が /dev/md/dsk/d2 であれば、dumpadm コマンドを使ってこのデバイスをダンプデバイスとして設定します。