「Solaris ボリュームマネージャコンポーネントを作成するための前提条件 」と 「トランザクションボリュームの背景情報」を確認します。
可能であれば、ロギングを有効にする UFS ファイルシステムのマウントを解除します。
# umount /export |
ファイルシステムのマウントを解除できない場合は、後でトランザクションボリュームをアクティブにする前にシステムを再起動する必要があります。
次のどちらかの方法でトランザクションボリュームを作成します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、「アクション (Action)」、「ボリュームを作成 (Create Volume)」の順に選択し、ウィザードの指示に従います。 詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
metainit trans-volume -t master-device log-device |
trans-volume は、作成するトランザクションボリュームの名前です。
master-device は、ロギングするファイルシステムが格納されているデバイスの名前です。
log-device は、ログを格納するデバイスの名前です。
マスターデバイスとログデバイスは、スライスまたは論理ボリュームのどちらでもかまいません。 詳細は、metainit(1M) のマニュアルページを参照してください。
たとえば、スライス c0t0d0s6 にあるファイルシステムのログ格納先として c0t0d0s7 を指定し、トランザクションボリューム (d10) を作成するには、次のように指定します。
# metainit d10 -t c0t0d0s6 c0t0d0s7 |
同じログデバイス (この例では c0t0d0s7) をいくつかのマスターデバイスのために使用できます。 つまり、ログデバイスの共有が完全にサポートされています。
/etc/vfstab ファイルを編集して、UFS ファイルシステムの現在の情報を、作成したトランザクションボリュームの情報で置き換えます。
たとえば、/export が c0t0d0s6 にあり、新しいトランザクションボリュームが d10 であれば、 /etc/vfstab を次のように編集します。これによって、マウントは、raw ディスクスライスではなく、トランザクションボリュームをポイントします。
#/dev/dsk/c0t0d0s6 /dev/rdsk/c0t0d0s6 /export ufs 2 yes - /dev/md/dsk/d10 /dev/md/rdsk/d10 /export ufs 2 yes - |
可能であれば、ファイルシステムをマウントし直します。
/usrなど、マウント解除できないファイルシステムのトランザクションボリュームを作成する場合は、ここでシステムを再起動して、トランザクションボリュームをマウントし直し、ロギングを開始します。
# umount /home1 # metainit d63 -t c0t2d0s2 c2t2d0s1 d63: Trans is setup (ファイルシステムがトランザクションボリュームを参照するように /etc/vfstab ファイルを編集する) # mount /home1 |
スライス /dev/dsk/c0t2d0s2 には、/home1 にマウントされているファイルシステムが格納されています。 ログデバイスとして使用するスライスは /dev/dsk/c2t2d0s1 です。 最初にファイルシステムのマウントを解除します。 metainit コマンドに -t オプションを指定して、トランザクションボリューム 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 コマンドは、このファイルシステムをチェックする代わりに、トランザクションボリュームに対するログメッセージを表示します。
# reboot ... /dev/md/rdsk/d63: is logging |
# metainit -f d20 -t c0t3d0s6 c1t2d0s1 d20: Trans is setup (ファイルシステムがトランザクションボリュームを参照するように /etc/vfstab ファイルを編集する) # reboot |
スライス /dev/dsk/c0t3d0s6 にはファイルシステム /usr が格納されています。 ログデバイスとして使用されるスライスは /dev/dsk/c1t2d0s1 です。 /usr はマウント解除できないため、metainit コマンドに -f オプションを指定して、トランザクションボリューム 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 - |
ファイルシステムのロギングは、システムの再起動時に有効になります。
# umount /home1 # metainit d64 -t d30 d12 d64: Trans is setup (ファイルシステムがトランザクションボリュームを参照するように /etc/vfstab ファイルを編集する) # mount /home1 |
RAID 1 ボリューム d30 には、/home1 にマウントされているファイルシステムが格納されています。 ログデバイスが格納されるミラーは d12 です。 最初にファイルシステムのマウントを解除します。 metainit コマンドに -t オプションを指定して、トランザクションボリューム 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 はこのファイルシステムをチェックする代わりに、トランザクションボリュームに対するログメッセージを表示します。
# reboot ... /dev/md/rdsk/d64: is logging |
/etc/vfstab ファイルの編集を避けたい場合は、metarename(1M) コマンドを使って、元の論理ボリュームの名前と新しいトランザクションボリュームを入れ換えることができます。 詳細については、「ボリューム名の変更」を参照してください。