この節では、トランスメタデバイスの作成方法について説明します (UFS ロギング)。
トランスメタデバイスを使用すると、UFS をロギングすることができます。UFS ロギングとは、UNIX ファイルシステムに更新を適用する前に UFS の更新内容をログに記録する手法のことです。トランスメタデバイスは、システムリブート時に fsck(1M) の実行時間の減少に寄与するので、リブート後のファイルシステム全体の可用性が高くなります。
トランスメタデバイスを作成するには、その前にシステムには状態データベースの複製が少なくとも 3 つなければなりません。
通常、トランスメタデバイスには、マスターデバイスとロギングデバイスという 2 つのデバイスがあります。マスターデバイスには、記録されるファイルシステムが収められています。ロギングデバイスにはログが収められており、複数のファイルシステムで共有できます。ログはレコードが連続したもので、それぞれのレコードがファイルシステムの変更を表わします。マスターデバイスとロギングデバイスには、いずれもスライスまたはメタデバイスを指定することができます。
ログはファイルシステム間で共有できます。ただし、使用頻度の高いファイルシステムにはそのファイルシステム専用のロギングデバイスが必要です。
小さなファイルシステムで、読み取り操作が中心である場合は、ログを取る必要はないでしょう。
ルート (/) を除く任意の UFS で (トランスメタデバイスを) 利用できます。
ロギングデバイスに使用できるスライスがない場合でも、ロギングデバイスなしでトランスメタデバイスを設定できます。エクスポートされたファイルシステムでロギングを有効にしたくても、この時点ではロギングデバイスに使用できるスライスがない場合、この方法が便利です。
トランスメタデバイスを作成する前に、マスターデバイスおよびロギングデバイスとして使用されるスライスやメタデバイスを識別します。
使用頻度の高いディスクには、ログを置かないでください。
RAID5 メタデバイスをロギングデバイスとして使用しないでください。代わりに、ミラーを使用してデータに冗長性をもたせてください。
ログ (ロギングデバイス) は、すでに状態データベースの複製が収められているスライスに置くことができます。
少なくとも 1 M バイトのログ領域を確保してください。ディスクの追加時に、100 M バイトのファイルシステムデータあたり 1 M バイトのログ領域を (最大ログサイズ 64 M バイトまで) 追加して使用するように計画を立ててください。ログ領域では、64 M バイトを超える部分は使用されません。
同じトランスメタデバイスを構成しているマスターデバイスとロギングデバイスは、別のドライブ (さらに、できる限り別のコントローラ) に配置します。
ロギングデバイスのミラー化を強くお勧めします。デバイスエラーによってロギングデバイス内のデータが失われると、ファイルシステムが不安定な状態に置かれることがあります。この場合、fsck(1M) ではユーザーの介入なしに修正することはできません。マスターデバイスにミラーを使用することによってデータの冗長性を保証することもできます。
作業を開始する前に、ファイルシステムが含まれるスライスやメタデバイスを識別します。マスターデバイスを作成するときには、この作業が必要です。また、ロギングデバイスをミラー化するかどうかも決定します。ミラー化する場合は、「ミラーを使用してトランスメタデバイスを作成する方法 (DiskSuite ツール)」を参照してください。ロギングデバイスをミラー化する場合、マスターデバイスもミラーとすることをお勧めします。
マスターデバイスにまだファイルシステムがない場合は、後からトランスメタデバイスにファイルシステムを作成できます。
通常のシステム操作中にマウント解除不可能な /usr などのファイルシステムのトランスメタデバイスを作成するには、「マウント解除不可能なファイルシステム用のトランスメタデバイスの作成方法 (DiskSuite ツール)」を参照してください。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「トランスメタデバイスを作成するための予備情報」) を読んでいることを確認する。
トランスメタデバイステンプレートをクリックする。
キャンバスには、未割り当てで未確定のトランスメタデバイスオブジェクトが表示されます。メタデバイス名は自動的に割り当てられます。
[オプション] デフォルトのメタデバイス名を変更する。
マスターデバイスが収められるスライスまたはメタデバイスを、トランスメタデバイステンプレートのマスター矩形にドラッグする。
「スライスブラウザ」ウィンドウからスライスをドラッグできる場合、またはオブジェクトリストからメタデバイスをドラッグできる場合には、警告ダイアログボックスが表示されます。ここで「継続」をクリックします。
/etc/vfstab ファイルにファイルシステムのエントリが存在し、そのファイルシステムが現在マウントされている場合、DiskSuite ツールはこれを自動的に更新し、トランスメタデバイスの名前を使用します。
ロギングデバイスが収められるスライスまたはメタデバイスを選択し、それをトランスメタデバイステンプレートのログ矩形にドラッグする。
ロギングデバイスがミラー化されていない場合、警告ダイアログボックスが表示されます。
トランスメタデバイスオブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
トランスメタデバイス上のファイルシステムをマウント解除してから、再マウントする。
システムを再マウントすると、ファイルシステムのロギングが有効になる。それ以降のリブートでは、ファイルシステムをチェックする代わりに、fsck(1M) が次のメッセージを表示します。
/dev/md/rdsk/dx: is logging. |
コンフィグレーションログを表示して、トランスメタデバイスが確定されたことを確認する。
この例では、マスターデバイス用のスライス c0t3d0s7 とロギングデバイス用のミラー d17 から成る、確定済みのトランスメタデバイス d9 を示します。トランスオブジェクトの内部でマスターデバイスとロギングデバイスがどう表示されるかに注目してください。
「DiskSuite オブジェクトを作成するための前提条件」の前提条件と 「トランスメタデバイスを作成するための予備情報」の予備情報をチェックしてから、metainit(1M) コマンドでトランスメタデバイスを作成します。詳細については、metainit(1M) のマニュアルページを参照してください。
# umount /home1 # metainit d63 -t c0t2d0s2 c2t2d0s1 d63: Trans is setup (ファイルシステムがトランスメタデバイスを参照するよう、/etc/vfstab ファイルを編集する) the trans metadevice) # mount /home1 |
スライス /dev/dsk/c0t2d0s2 には、/home1 にマウントされたファイルシステムが収められています。ロギングデバイスを収めるスライスは、/dev/dsk/c2t2d0s1 です。最初に、ファイルシステムがマウント解除されます。-t オプション付きの metainit コマンドは、トランスメタデバイス d63 を作成します。
次に、/etc/vfstab ファイルを編集し、トランスメタデバイスを参照するよう、ファイルシステムのエントリを変更しなければなりません。たとえば、次の行は、
/dev/dsk/c0t2d0s2 /dev/rdsk/c0t2d0s2 /home1 ufs 2 yes - |
次のように変更してください。
/dev/md/dsk/d63 /dev/md/rdsk/d63 /home1 ufs 2 yes - |
ファイルシステムが再マウントされると、ファイルシステムのロギングが有効になります。
それ以降、リブート時に fsck(1M) がファイルシステムをチェックする代わりにトランスメタデバイス用のロギングメッセージを表示します。
# reboot ... /dev/md/rdsk/d63: is logging |
# umount /home2 # metainit d40 -t d2 c1t2d0s0 d40: Trans is setup (ファイルシステムがトランスメタデバイスを参照するよう、/etc/vfstab ファイルを編集する) # mount /home2 |
d2 には、/home2 にマウントされたファイルシステムが収められています。ロギングデバイスを収めるスライスは、/dev/dsk/c1t2d0s0 です。最初に、ファイルシステムがマウント解除されます。-t オプション付きの metainit コマンドが、トランスメタデバイス d40 を作成します。
次に、/etc/vfstab ファイルを編集し、トランスメタデバイスを参照するよう、ファイルシステムのエントリを変更しなければなりません。たとえば、次の行は、
/dev/md/dsk/d2 /dev/md/rdsk/d2 /home2 ufs 2 yes - |
次のように変更してください。
/dev/md/dsk/d40 /dev/md/rdsk/d40 /home2 ufs 2 yes - |
ファイルシステムが再マウントされると、ファイルシステムのロギングが有効になります。
それ以降のリブートでは、ファイルシステムをチェックする代わりに、fsck(1M) はメタデバイス用のロギングメッセージを表示します。
# reboot ... /dev/md/rdsk/d40: is logging |
この作業は、通常のシステム操作中にはマウント解除が不可能な/usr などのファイルシステムを記録するために使用します。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「トランスメタデバイスを作成するための予備情報」) を読んでいることを確認する。
トランスメタデバイステンプレートをクリックする。
キャンバスには、未割り当てで未確定のトランスメタデバイスオブジェクトが表示されます。メタデバイス名は自動的に割り当てられます。
[オプション] デフォルトのメタデバイス名を変更する。
スライスをクリックして「スライスブラウザ」ウィンドウを開く。
ログに記録されるファイルシステムが収められているスライスまたはメタデバイスを選択し、それをトランスメタデバイスオブジェクト内のマスター矩形にドラッグする。
これは、ファイルシステムが収められているスライスまたはメタデバイスでなければなりません。
マスターとなるデバイスを確認する。
表示されるダイアログボックスの「継続」をクリックします。
ロギングデバイスが収められるスライスまたはメタデバイスを選択し、それをトランスメタデバイスオブジェクトのログ矩形にドラッグする。
ログとなるスライスを確認する。
表示されるダイアログボックスの「継続」をクリックします。
トランスメタデバイスオブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
表示される確認ダイアログボックスの「確定」をクリックします。
コンフィグレーションログを表示して、トランスメタデバイスが確定されたことを確認する。
リブートする。
リブートした後、ファイルシステムのロギングが有効になります。
この例では、/usr ファイルシステムが収められているトランスメタデバイスを示します。
「DiskSuite オブジェクトを作成するための前提条件」の前提条件と 「トランスメタデバイスを作成するための予備情報」の予備情報をチェックしてから、通常のシステム操作中にはマウント解除不可能な /usr などのファイルシステムのログを取るためにこの作業を使用します。詳細については、metainit(1M) のマニュアルページを参照してください。
# metainit -f d20 -t c0t3d0s6 c1t2d0s1 d20: Trans is setup (ファイルシステムがトランスメタデバイスを参照するよう、/etc/vfstab ファイルを編集する) # reboot |
スライス /dev/dsk/c0t3d0s6 には、/usr ファイルシステムが収められています。ロギングデバイスが収められるスライスは、/dev/dsk/c1t2d0s1 です。/usr はマウント解除できないため、-f オプションを付けて metainit コマンドを実行し、トランスデバイス d20 を作成します。次に、/etc/vfstab ファイル内でファイルシステムをマウントする行を変更して、トランスメタデバイスを参照するようにします。
たとえば、次の行は、
/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 no - |
次のように変更してください。
/dev/md/dsk/d20 /dev/md/rdsk/d20 /usr ufs 1 no - |
システムがリブートされると、ファイルシステムのロギングが有効になります。
トランスメタデバイスのデータ可用性を高めるには、マスターデバイスとロギングデバイスにミラーを使用します。ロギングスライスにエラーが発生した場合、ロギングデバイスをミラー化していなければ、重要なデータが失われることになります。ロギングデバイスをミラー化している場合、マスターデバイスもミラーとすることをお勧めします。
前提条件 (「DiskSuite オブジェクトを作成するための前提条件」) を満たし、予備情報 (「トランスメタデバイスを作成するための予備情報」) を読んでいることを確認する。
ミラーの作成に関する作業を参照する (「未使用スライスからミラーを作成する方法 (DiskSuite ツール)」 〜 「マウント解除不可能なファイルシステムからミラーを作成する方法 (コマンド行)」)。
マスターデバイスとロギングデバイスに 1 つずつ、合計 2 つのミラーを作成します。マスターデバイス用のミラーには、ファイルシステムが含まれていなければなりません。
「マウント解除可能なファイルシステム用のトランスメタデバイスの作成方法 (DiskSuite ツール)」を参照する。
マスターデバイスとロギングデバイスには、手順 2 で作成されたミラーを使用します。
「DiskSuite オブジェクトを作成するための前提条件」の前提条件と 「トランスメタデバイスを作成するための予備情報」の予備情報をチェックしてから、metainit(1M) を使用してトランスメタデバイスを作成します。
# umount /home1 # metainit d64 -t d30 d12 d64: Trans is setup (ファイルシステムがトランスメタデバイスを参照するよう、/etc/vfstab ファイルを編集する) # mount /home1 |
ミラー d30 には、/home1 にマウントされたファイルシステムが収められています。ロギングデバイスを収めるミラーは d12 です。最初に、ファイルシステムがマウント解除されます。-t オプションを付けた metainit コマンドは、トランスメタデバイス d64 を作成します。
次に、/etc/vfstab ファイル内でファイルシステムをマウントする 行を変更して、トランスメタデバイスを参照するようにします。たとえば、次の行は、
/dev/md/dsk/d30 /dev/md/rdsk/d30 /home1 ufs 2 yes - |
次のように変更してください。
/dev/md/dsk/d64 /dev/md/rdsk/d64 /home1 ufs 2 yes - |
ファイルシステムが再マウントされると、ファイルシステムのロギングが有効になります。
以降のファイルシステムの再マウントやシステムのリブートでは、ファイルシステムをチェックする代わりに、fsck(1M) がメタデバイス用のロギングメッセージを表示します。
# reboot ... /dev/md/rdsk/d64: is logging |