この節では、ミラーを最初から作成する方法、およびルート (/) を含めて既存のファイルシステムをミラー化する方法について説明します。
以前には、ファイルシステムのミラーを作成すると、マウント先が変化しました。現在では、特定の場合には、マウント先を変更することなくミラーを作成できます。詳細については、「既存の連結方式からミラーを作成する方法 (コマンド行)」を参照してください。
ミラーとは、1 つ以上のサブミラーで構成されるメタデバイスのことをいいます。サブミラーは、1 つ以上のストライプ方式メタデバイスまたは連結方式メタデバイスで構成されます。データをミラー化すれば、データのコピーを複数保持することによって、最大限のデータ可用性を実現できます。
ミラーを作成するためには、システムに状態データベースの複製が少なくとも 3 つ含まれていることが必要です。
ミラーを作成する前に、ミラーを構成するストライプ方式メタデバイスまたは連結方式メタデバイスを作成します。
ルート (/)、swap、/usr を始めとする任意のファイルシステム、またはデータベースなどのアプリケーションは、ミラーを使用できます。
既存のファイルシステムのミラーを作成するとき、最初のサブミラーにデータが含まれていることを確認してください。
ミラーを作成するときは、最初に 1 面のミラーを作成し、その後で 2 番目のサブミラーを接続してください。
これによって再同期操作が正しく起動され、データが破壊されることはありません。
既存のファイルシステムをミラー化する場合は、すでにミラーで使用されているスライス以上のサイズをもつ追加スライスを使用してください。
使用できるのは、ミラーを収めるだけの十分な領域をもつ複数のスライスから成る、連結方式メタデバイスまたはストライプ方式メタデバイスです。
将来、2 面または 3 面のミラーを作成するときのことを考えて、前もって 1 面ミラーを作成しておくことができます。
3 面ミラーまで作成できます。
しかし通常、2 面ミラーでも、大部分のアプリケーションに対して十分なデータ冗長性を提供でき、コストも 3 面より低く抑えられます。3 面ミラーを使用すれば、サブミラーをオフラインにしてバックアップを実行するときも、データの冗長性を得るために 2 面ミラーを維持できます。
サブミラーを作成するときは、同じサイズのスライスを使用してください。
異なるサイズのスライスを使用すると、ミラー内に未使用領域ができます。
同じディスクのスライスをサブミラーにもたせることは避けてください。
また、可能ならば、異なるコントローラに接続されたディスクを使用して、システムのアキレス腱となる部分が生まれないようにしてください。最大限の耐障害性とパフォーマンスを実現するには、各サブミラーを異なる物理ディスクに置き、さらに可能ならば、異なるディスク制御装置の配下に置きます。データの可用性をさらに高めるには、ミラーに対してホットスペアを関連付けてください。
ミラーを作成する前に状態データベースの複製を追加すると、ミラーのパフォーマンスを高めることができます。一般に、システムに追加するミラーごとに複製を 1 つ追加します。
可能ならば、ディスクの幾何学的配置が同じディスクからミラーを作成してください。
その歴史的な理由としては、UFS はディスクの幾何学的配置にもとづいてディスクブロックを使用することが挙げられます。今日では、この問題はパフォーマンスの向上に関連します。幾何学的配置の異なるディスクで構成されたミラーは、その最も遅いディスクと同じ速さになります。
この作業での手順を次に示します。
サブミラーとなる、2 つのストライプ方式メタデバイスまたは連結方式メタデバイスの作成。
「ストライプ方式メタデバイスの作成方法 (DiskSuite ツール)」、または 「連結の作成方法 (DiskSuite ツール)」を参照してください。
サブミラーの 1 つから 1 面のミラーを作成。
2 番目のサブミラーから 2 面のミラーを作成。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「ミラーを作成するための予備情報」) を読んでいることを確認する。
ミラーテンプレートをクリックする。
キャンバスには、未割り当てで未確定のミラーオブジェクトが表示されます。メタデバイス名は自動的に割り当てられます。
[オプション] デフォルトのメタデバイス名を変更する。
1 面のミラーを作成するには、オブジェクトリストから最初の連結方式オブジェクト (サブミラー) をミラーテンプレートにドラッグする。ミラーの先頭の矩形をクリックし、「確定」をクリックする。
2 面のミラーを作成するには、オブジェクトリストから 2 番目の連結方式オブジェクト (サブミラー) をミラーにドラッグする。ミラーの先頭の矩形をクリックし、「確定」をクリックする。
これで、2 番目のサブミラーの再同期が始まります。ミラーオブジェクトは、再同期の進捗状況を表示します。
コンフィグレーションログを表示して、ミラーが確定されたことを確認する。
この例では、2 つのストライプ方式メタデバイス (サブミラー) である d3 と d4 から成る、確定済みのミラーオブジェクト d5 を示します。
ファイルシステムに対して新しく作成されたミラーを準備するには、「メタデバイス上にファイルシステムを作成する方法 (ファイルシステムマネージャ)」を参照してください。データベースなど、raw メタデバイスを使用するアプリケーションには、メタデバイスを認識する独自の方法が必要です。
この作業での手順を次に示します。
サブミラーとなる、2 つのストライプ方式メタデバイスまたは連結方式メタデバイスの作成。
「ストライプ方式メタデバイスの作成方法 (コマンド行)」、または 「連結の作成方法 (コマンド行)」を参照してください。
metainit(1M) -m コマンドを使用して、サブミラーとなるメタデバイスのうちの 1 つを使用して 1 面ミラーを作成する。
作業を開始する前に、「DiskSuite オブジェクトを作成するための前提条件」の前提条件と 「ミラーを作成するための予備情報」の予備情報をチェックします。詳細は、metainit(1M) と metattach(1M) のマニュアルページを参照してください。
# metainit d51 1 1 c0t0d0s2 d51: Concat/Stripe is setup # metainit d52 1 1 c1t0d0s2 d52: Concat/Stripe is setup # metainit d50 -m d51 d50: Mirror is setup # metattach d50 d52 d50: Submirror d52 is attached |
この例では、2 面ミラー d50 を作成します。metainit(1M) コマンドは、実際には連結である、2 つのサブミラー (d51 と d52) を作成します。metainit -m コマンドは、d51 の連結から 1 面ミラーを作成します。metattach(1M) コマンドは、d52 を接続することによって、2 面ミラーを作成してミラーの再同期を行います (接続されたサブミラー上のデータは、再同期の間に他のサブミラーによって上書きされます)。システムは、オブジェクトが設定されていることを確認します。
ファイルシステムに対して新しく作成されたミラーを準備するには、「メタデバイス上にファイルシステムを作成する方法 (コマンド行)」を参照してください。データベースなど、raw メタデバイスを使用するアプリケーションには、メタデバイスを認識する独自の方法が必要です。
マウント解除可能なファイルシステムをミラー化するには、次の作業を使用します。
マウント解除可能なファイルシステムと、マウント解除不可能なファイルシステム (ルート (/)、/usr、/opt、swap など) があります。マウント解除不可能なファイルシステムをミラー化するには、「マウント解除不可能なファイルシステムからミラーを作成する方法 (DiskSuite ツール)」を参照してください。
この作業での手順を次に示します。
ミラー化される既存のファイルシステムを含んでいるスライスの特定
ファイルシステムの存在するスライスを連結方式オブジェクト (サブミラー 1 になる) に置く
2 番目の連結方式オブジェクト (サブミラー 2 になる) の作成
ミラーテンプレートに対してサブミラー 1 をドラッグしてミラーを確定する
ファイルシステムのマウント解除
ミラーオブジェクトに対してサブミラー 2 をドラッグしてミラーを確定する
ファイルシステムの再マウント
最初に、多面のミラーを作成しないでください。まず 1 面ミラーを確定し、ミラーテンプレートに追加のサブミラーをドラッグし、再びミラーを確定します。こうすることによってミラーの再同期が正しく行われるので、データは破壊されません。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「ミラーを作成するための予備情報」) を読んでいることを確認する。
スライスをクリックして、「スライスブラウザ」ウィンドウを表示する。
DiskSuite ツールは、マウントされているスライス名の横にファイルシステムの名前を表示します。DiskSuite ツールを起動した後でファイルシステムをマウントした場合、「ファイル」メニューから「構成の再走査」を選択します。
連結方式テンプレートをクリックする。
DiskSuite ツールは、未割り当てで未確定の連結方式オブジェクトをキャンバスに表示し、それにメタデバイス名を与えます。
[オプション] デフォルトのメタデバイス名を変更する。
ファイルシステムのスライスを、「スライスブラウザ」ウィンドウから連結方式オブジェクトにドラッグする。
スライスがドロップされると、スライスがマウントされたことを示す警告ダイアログボックスが表示されます。ここで「継続」をクリックします。
連結方式オブジェクトが選択されていることを確認し、「確定」をクリックする。
表示される警告ダイアログボックスで、「確定」をクリックします。これによって、最初のサブミラーとして使用されるファイルシステムを含んだメタデバイスが作成されます。
/etc/vfstab ファイルにファイルシステムのエントリが存在し、そのファイルシステムが現在マウントされている場合、DiskSuite ツールはこれを自動的に更新して、連結の名前を使用します。
連結方式テンプレートをクリックする。
DiskSuite ツールは、未割り当てで未確定の連結方式オブジェクトをキャンバスに表示し、それにメタデバイス名を与えます。
[オプション] デフォルトのメタデバイス名を変更する。
手順 4 を参照してください。
スライスを「スライスブラウザ」ウィンドウから連結方式オブジェクトにドラッグする。
未使用スライス、状態データベースの複製を含むスライス、または既存のファイルシステムのサイズ以上のサイズをもつ複数のスライスを選択します。
連結方式オブジェクトが選択されていることを確認し、「確定」をクリックする。
これによって、2 番目のサブミラーとして使用されるメタデバイスが作成されます。
ミラーテンプレートをクリックする。
DiskSuite ツールは、未割り当てで未確定のミラーオブジェクトをキャンバスに表示し、それにメタデバイス名を与えます。
[オプション] デフォルトのメタデバイス名を変更する。
手順 4 を参照してください。
手順 6 で作成されたファイルシステムを含む連結方式オブジェクトを、ミラーテンプレートにドラッグする。
警告ダイアログボックスが表示されます。ここで「継続」をクリックします。
/etc/vfstab ファイルにファイルシステムのエントリが存在し、そのファイルシステムが現在マウントされている場合、DiskSuite ツールはこれを自動的に更新し、ミラーのメタデバイス名を使用します。
ミラーオブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
これによって 1 面のミラーが作成されます。
ファイルシステムをマウント解除する。
たとえば、umount(1M) コマンドやファイルシステムマネージャを使用します。
「ファイル」メニューから「構成の再走査」を選択します。
DiskSuite ツールは、ファイルシステムの現在のマウント状態を更新します。
ファイルシステムをミラーに再マウントする。
たとえば、mount(1M) コマンドやファイルシステムマネージャを使用します (現在、マウント先はスライス名からミラー名に変化しています)。
「ファイル」メニューから「構成の再走査」を選択する。
DiskSuite ツールは、ファイルシステムのマウント先を更新します。ミラーオブジェクトは、ファイルシステムによって使用されていることを表示します。
2 番目の連結方式オブジェクト (手順 10 で作成) をミラーオブジェクトにドラッグする。ミラーオブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
最初のサブミラーからのデータは、自動的に 2 番目のミラーと再同期されます。
コンフィグレーションログを表示して、ミラーが確定されたことを確認する。
この例では、サブミラー d6 と d9 から成る、確定済みの 2 面ミラーを示します。d6 と d9 は同様に、それぞれスライス c4t0d1s0 と c5t1d0s0 から成ります。ファイルシステム /fs1 は、ミラー d7 にマウントされています。
この作業は、マウント解除可能な既存のファイルシステムをミラー化するために使用します。
コマンド行を使用して /usr、/opt、または swap をミラー化するには、「マウント解除不可能なファイルシステムからミラーを作成する方法 (コマンド行)」を参照してください。コマンド行を使用してルート (/) をミラー化するには、「SPARC: ルート (/) からミラーを作成する方法 (コマンド行)」または 「x86: ルート (/) からミラーを作成する方法 (コマンド行)」を参照してください。
この作業での手順を次に示します。
ミラー化される既存のファイルシステムを含むスライスの識別
metainit(1M) -f を使用して、マウントされたファイルシステムのスライスを連結方式 (サブミラー 1) に置く。
2 番目の連結方式 (サブミラー 2) の作成
metainit(1M) -m を使用して、サブミラー 1 で 1 面のミラーを作成
ファイルシステムのマウント解除
ファイルシステムがミラーを参照するよう、/etc/vfstab ファイルを編集
ファイルシステムの再マウント
作業を開始する前に、「DiskSuite オブジェクトを作成するための前提条件」の前提条件と 「ミラーを作成するための予備情報」の予備情報をチェックしてください。詳細は、metainit(1M) と metattach(1M) のマニュアルページを参照してください。
多面のミラーは作成しないでください。まず metainit(1M) コマンドで 1 面ミラーを作成してから、metattach(1M) コマンドで追加のサブミラーを接続します。metattach(1M) コマンドを使用しない場合、再同期の動作が行われず、データが破壊されることがあります。また、ファイルシステムの 2 面ミラーを作成する場合、最初にファイルシステムのマウントを解除し、2 番目のサブミラーを接続する前に /etc/vfstab ファイルを編集して、ミラーメタデバイスを参照するようにしてください。
# metainit -f d1 1 1 c1t0d0s0 d1: Concat/Stripe is setup # metainit d2 1 1 c2t0d0s0 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 オプションによって、マウントされたファイルシステム /master を /dev/dsk/c1t0d0s0 にもつ、最初の連結 d1 が作成されます。2 番目の連結 d2 は、/dev/dsk/c2t0d0s0 から作成されます (このスライスのサイズは、d1 のサイズ以上でなければなりません)。-m オプションを付けた metainit コマンドは、d1 から 1 面ミラー d0 を作成します。
次に、/master がマウント解除され、ミラーを参照するように /etc/vfstab ファイル内で変更されます。たとえば、次の行は、
/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 /master ufs 2 yes - |
次のように変更してください。
/dev/md/dsk/d0 /dev/md/rdsk/d0 /master ufs 2 yes - |
最後に、/master ファイルシステムが再マウントされ、サブミラー d2 がミラーに接続されるため、ミラーの再同期が行われます (システムは、連結とミラーが設定されたこと、およびサブミラー d2 が接続されたことを確認します)。
この作業は、通常のシステム使用中にはマウント解除が不可能であるルート (/)、/usr、/opt、swap などのファイルシステムをミラー化するために使用します。
この作業での手順を次に示します。
ファイルシステムのスライスを、単一スライスの連結方式オブジェクト (サブミラー 1) に置く
2 番目の連結方式オブジェクト (サブミラー 2) の作成
サブミラー 1 をミラーテンプレートにドラッグして、ミラーを確定
リブートする
サブミラー 2 をミラーオブジェクトにドラッグして、ミラーを確定
ルート (/) をミラー化する場合、代替ブートパスを記録
ルート (/) をミラー化するとき、一次サブミラーに障害が発生した場合にシステムをリブートするときのために、二次ルートのスライス名を記録しておくことが不可欠です。この情報は、動作できなくなるかもしれないシステム上に記録するのではなく、紙などに書き留めておきます。代替ブートデバイスの記録と代替ブートデバイスからのブート操作については、第 7 章「システムのトラブルシューティング」を参照してください。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「ミラーを作成するための予備情報」) を読んでいることを確認する。
連結方式テンプレートをクリックする。
DiskSuite ツールは、未割り当てで未確定の連結方式オブジェクトをキャンバスに表示し、それにメタデバイス名を与えます。
[オプション] デフォルトのメタデバイス名を変更する。
スライスをクリックし、「スライスブラウザ」ウィンドウを表示する。
ミラー化したいファイルシステムを含むスライスを、連結方式オブジェクトの先頭の矩形にドラッグする。
スライスをドロップすると、DiskSuite ツールは警告ダイアログボックスを表示します。そこで「継続」ボタンをクリックします。
連結方式オブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
警告ダイアログボックスが表示された場合、「確定」ボタンをクリックします。これによって、最初のサブミラーとして使用されるファイルシステムを含んだ、1 方向の連結が作成されます。
/etc/vfstab ファイルにファイルシステムの エントリが存在し、そのファイルシステムが現在マウントされている場合、DiskSuite ツールはこれを自動的に更新し、連結のメタデバイス名を使用します。
連結方式テンプレートをクリックする。
DiskSuite ツールは、未割り当てで未確定の連結方式オブジェクトをキャンバスに表示し、それにメタデバイス名を与えます。
[オプション] デフォルトのメタデバイス名を変更する。
手順 3 を参照してください。
「スライスブラウザ」ウィンドウからこの連結方式オブジェクトにスライスをドラッグする。
この 1 方向の連結方式メタデバイスを作成するとき、既存のファイルシステムのサイズ以上のサイズをもつ未使用スライスを使用してください。
連結方式オブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
これによって 2 番目のサブミラーが作成されます。
ミラーテンプレートをクリックする。
DiskSuite ツールは、未割り当てで未確定のミラーオブジェクトをキャンバスに表示し、それにメタデバイス名を与えます。
[オプション] デフォルトのメタデバイス名を変更する。
手順 3 を参照してください。
ファイルシステムを含む連結方式オブジェクトを、ミラーテンプレートにドラッグする。
警告ダイアログボックスが表示された場合は、「継続」ボタンをクリックします。
/etc/vfstab ファイルにファイルシステムのエントリが存在し、そのファイルシステムが現在マウントされている場合、DiskSuite ツールはこれを自動的に更新し、ミラーのメタデバイス名を使用します。
ミラーオブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
リブートする。
DiskSuite ツールを再起動する。
手順 10 で作成した 2 番目の連結方式オブジェクトをミラーオブジェクトにドラッグし、2 面ミラーを作成する。そして「確定」をクリックする。
最初のサブミラーからのデータは、2 番目のミラーに再同期されます。
ルート (/) をミラー化する場合は、代替ブートパスを記録する。
詳細については、第 7 章「システムのトラブルシューティング」を参照してください。
コンフィグレーションログを表示して、ミラーが確定されたことを確認する。
この例では、/usr ファイルシステムを含む確定済みのミラーを示します。
この作業は、通常のシステム使用中にはマウント解除が不可能な、/usr、/opt、 swap などのファイルシステムをミラー化するために使用します。
スワップをミラー化したときにクラッシュダンプを保存するには、dumpadm(1M) コマンドを使用し、ダンプデバイスをメタデバイスとして構成します‾。たとえば、スワップデバイスが /dev/md/dsk/d2 であれば、dumpadm を使用してこれをダンプデバイスとして設定します。
コマンド行を使用してルート (/) をミラー化するには、「SPARC: ルート (/) からミラーを作成する方法 (コマンド行)」、または 「x86: ルート (/) からミラーを作成する方法 (コマンド行)」を参照してください。
この作業での手順を次に示します。
metainit(1M) -f を使用して、ファイルシステムのスライスを単一スライス (1 面目) の連結方式 (サブミラー 1) に置く。
2 面目の連結方式 (サブミラー 2) の作成
metainit(1M) を使用して、サブミラー 1 から 1 面ミラーを作成
ファイルシステムがミラーを参照するよう、/etc/vfstab ファイルを編集
リブートする
metattach(1M) を使用してサブミラー 2 を接続
多面ミラーは作成しないでください。まず metainit(1M) コマンドで 1 面ミラーを作成してから、metattach(1M) コマンドで追加のサブミラーを接続します。 metattach(1M) コマンドを使用しない場合、ミラーの再同期が行われず、データが破壊されることがあります。
「DiskSuite オブジェクトを作成するための前提条件」の前提条件と 「ミラーを作成するための予備情報」の予備情報をチェックしてから、 metainit(1M) コマンドと metattach(1M) コマンドを使用して、ミラーを作成します。
# 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 (swap がミラーを参照するよう、/etc/vfstab ファイルを編集する) # reboot ... # metattach d2 d22 d2: Submirror d22 is attached |
-f オプションによって、マウントされたファイルシステム /usr を /dev/dsk/c0t3d0s6 にもつ、最初の連結 d12 が作成されます。2 番目の連結 d22 は、/dev/dsk/c1t0d0s6 から作成されます (このスライスのサイズは、d12 のサイズ以上でなければなりません)。-m オプションを付けた metainit コマンドは、/usr を含む連結を使用して 1 面ミラー d2 を作成します。次に、 /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 がミラーに接続され、ミラーの再同期が行われます (システムは、連結とミラーが設定されたこと、およびサブミラー 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 オプションによって、マウントされたファイルシステム swap を /dev/dsk/c0t0d0s1 にもつ、最初の連結 d11 が作成されます。2 番目の連結 d21 は、/dev/dsk/c1t0d0s1 から作成されます (このスライスのサイズは、d11 のサイズ以上でなければなりません)。-m オプションを付けた metainit コマンドは、swap を含む連結を使用して 1 面ミラー d1 を作成します。次に、 /etc/vfstab ファイルに swap 用のエントリがある場合、これを編集してミラーを参照するようにしなければなりません。たとえば、次の行は、
/dev/dsk/c0t0d0s1 - - swap - no - |
次のように変更してください。
/dev/md/dsk/d1 - - swap - no - |
リブートの後、2 番目のサブミラー d21 がミラーに接続され、ミラーの再同期が行われます (システムは、連結とミラーが設定されたこと、およびサブミラー d21 が接続されたことを確認します)。
この作業は、SPARC システム上でルート (/) をミラー化するために使用します。
x86 システム上でコマンド行を使用してルート (/) をミラー化する作業は、SPARC システムの場合とは異なります。x86 システム上でルート (/) をミラー化する方法については、「x86: ルート (/) からミラーを作成する方法 (コマンド行)」を参照してください。ルート (/) をミラー化するとき、一次サブミラーに障害が発生した場合にシステムをリブートするときのために、二次ルートのスライス名を記録しておくことが不可欠です。この情報は、動作できなくなるかもしれないシステム上に記録するのではなく、紙などに書き留めておきます。代替ブートデバイスの記録と代替ブートデバイスからのブート操作の詳細については、第 7 章「システムのトラブルシューティング」を参照してください。
metainit(1M) -f を使用して、ルート (/) スライスを単一スライス (1 面目) の連結 (サブミラー 1) に置く
2 面目の連結 (サブミラー 2) を作成する
metainit(1M) を使用して、サブミラー 1 で 1 面ミラーを作成する
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「ミラーを作成するための予備情報」) を読んでいることを確認します。詳細は、metainit(1M)、metaroot(1M)、metattach(1M) の各マニュアルページを参照してください。
# metainit -f d11 1 1 c0t3d0s0 d11: Concat/Stripe is setup # metainit d12 1 1 c1t3d0s0 d12: Concat/Stripe is setup # metainit d10 -m d11 d10: Mirror is setup # metaroot d10 # lockfs -fa # reboot ... # metattach d10 d12 d10: Submirror d12 is attached # ls -l /dev/rdsk/c1t3d0s0 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 |
-f オプションによって、マウントされたファイルシステムのルート (/) を /dev/dsk/c0t3d0s0 にもつ、最初の連結 d11 が作成されます。2 番目の連結 d12 は、/dev/dsk/c1t3d0s0 から作成されます (このスライスのサイズは、d11 のサイズ以上でなければなりません)。-m オプションを付けた metainit コマンドは、ルート (/) を含む連結を使用して 1 面ミラー d10 を作成します。次に、メタデバイス上のルートファイルシステム (/) でシステムをブートできるよう、metaroot コマンドは /etc/vfstab と /etc/system のファイルを編集します (リブートする前に、lockfs -fa を実行することをお勧めします)。リブートの後、サブミラー d12 がミラーに接続され、ミラーの再同期が行われます (システムは、連結とミラーが設定されていること、およびサブミラー d12 が接続されていることを確認します)。システムを代替ルートデバイスからブートする必要がある場合、ルート raw デバイス上で ls -l コマンドを実行して、代替ルートデバイスへのパスを調べます。
この作業は、x86 システム上でルート (/) をミラー化するために使用します。
ルート (/) をミラー化するとき、一次サブミラーに障害が発生した場合にシステムをリブートするときのために、二次ルートのスライス名を記録しておくことが不可欠です。この情報は、動作できなくなるかもしれないシステム上に記録するのではなく、紙などに書き留めておきます。代替ブートデバイスの記録と代替ブートデバイスからのブート操作の詳細については、第 7 章「システムのトラブルシューティング」を参照してください。
この作業での手順を次に示します。
ルート (/) ミラー用に十分な大きさをもつ Solaris パーティションを作成する
代替ブートディスクにブート情報をインストールする
metainit(1M) -f を使用して、ルート (/) スライスを単一スライス (1 面目) の連結 (サブミラー 1) に置く
2 面目の連結 (サブミラー 2) を作成する
metainit(1M) を使用して、サブミラー 1 で 1 面ミラーを作成する
リブートする
metattach(1M) を使用してサブミラー 2 を接続する
IDE ドライブ上にルート (/) があるときはミラー化することはできません。
次の作業では、代替ディスクは c0t1d0 であるとします。
次の手順は、x86 システム上に Solaris パーティションを作成するために使用します。
fdisk(1M) コマンドを使用して、ディスクパーティションを作成する。
# fdisk /dev/rdsk/c0t1d0p0 |
fdisk(1M) を初めて実行する場合は、次のように表示されます。
The recommended default partitioning for your disk is: a 100% "SOLARIS System" partition To select this, please type "y". To partition your disk differently, type "n" and the "fdisk" program will let you select other partitions. |
以前 fdisk(1M) を実行したことがある場合は、次のようなメニューが表示されます。
Total disk size is 1855 cylinders Cylinder size is 1110 (512 byte) blocks Partition Status Type Start End Length % ========= ====== ======== ===== === ====== === 1 Active SOLARIS 1 1854 1854 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Change Active (Boot from) partition 3. Delete a partition 4. Exit (Update disk configuration and exit) 5. Cancel (Exit without updating disk configuration) Enter Selection: |
メニュー項目を選択して、ルート (/) ミラー用に十分な大きさの Solaris パーティションがあることを確認する。
この Solaris パーティションは、ルート (/) スライスを保持するために必要なサイズより 5 シリンダ分大きくします。
Solaris パーティションがアクティブであることを確認します。そうでない場合、ここからブートすることはできません。
Solaris パーティション上で format(1M) コマンドを実行し、ルート (/) ミラー用のスライスを作成する。
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <DEFAULT cyl 2676 alt 2 hd 9 sec 85> /eisa/ncrs@8000,0/cmdk@0,0 1. c1t1d0 <DEFAULT cyl 1865 alt 2 hd 7 sec 80> /eisa/eha@1000,0/cmdk@1,0 2. c1t2d0 <DEFAULT cyl 1461 alt 2 hd 9 sec 64> /eisa/eha@1000,0/cmdk@2,0 3. c1t3d0 <DEFAULT cyl 1461 alt 2 hd 9 sec 64> /eisa/eha@1000,0/cmdk@3,0 4. c1t4d0 <DEFAULT cyl 1865 alt 2 hd 7 sec 80> /eisa/eha@1000,0/cmdk@4,0 Specify disk (enter its number): 1 selecting c1t1d0: ABCDEFG [disk formatted] FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk fdisk - run the fdisk program repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character volume name quit |
partition を選択して、パーティションを定義する。
format> partition PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk quit partition> 0 Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) Enter partition id tag [unassigned]: root Enter partition permission flags [wm]: wm Enter new starting cyl [0]: 4 Enter partition size [0b, 0c, 0.00mb]: 400mb partition> label Ready to label disk, continue? y partition> |
quit コマンドを 2 回入力して、partition メニューと format(1M) プログラムを終了する。
partition> quit FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk repair - repair a defective sector label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions inquiry - show vendor, product and revision volname - set 8-character volume name quit format> quit |
Solaris のルート (/) パーティションに関する次の重要な情報に注意してください。
I.D. タグは root でなければならない
サイズは元のルートパーティションのサイズ以上でなければならない
シリンダ 0 〜 2 を使用してはいけない
代替ブートディスクにブート情報をインストールするには、installboot コマンドを使用します。
# installboot /usr/lib/fs/ufs/pboot ¥ /usr/lib/fs/ufs/bootblk ¥ /dev/rdsk/c0t1d0s0 |
この例では、上の作業を使用して Solaris パーティションが作成され、ブート情報がインストールされているものと想定します。
# metainit -f d10 1 1 c0t0d0s0 d10:Concat/Stripe is setup # metainit d20 1 1 c1t0d0s0 d20: Concat/Stripe is setup # metainit d0 -m d10 d10: Mirror is setup # metaroot d0 # lockfs -fa # reboot ... # metattach d0 d20 d0: Submirror d20 is attached # ls -l /dev/rdsk/c1t0d0s0 lrwxrwxrwx 1 root root 55 Mar 5 12:54 /dev/rdsk/c1t0d0s0 -> ../. devices/eisa/eha@1000,0/cmdk@1,0:a |
-f オプションによって、マウントされたファイルシステムルート (/) を /dev/dsk/c0t0d0s0 にもつ、最初の連結 d10 が作成されます。2 番目の連結 d20 は、/dev/dsk/c1t0d0s0 から作成されます (このスライスのサイズは、d10 のサイズ以上でなければなりません)。-m オプションを付けた metainit コマンドは、ルート (/) を含む連結を使用して 1 面ミラー d0 を作成します。次に、メタデバイス上のルートファイルシステム (/) でシステムをブートできるよう、metaroot コマンドは /etc/vfstab と /etc/system のファイルを編集します。リブートの後、サブミラー d20 がミラーに接続され、ミラーの再同期が行われます (システムは、連結とミラーが設定されていること、およびサブミラー d20 が接続されていることを確認します)。システムを代替ルートデバイスからブートする必要がある場合、ルート raw デバイス上で ls -l コマンドを実行して、代替ルートデバイスへのパスを調べます。