次のどちらかの方法でトランザクションボリュームの状態をチェックします。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、ボリュームの状態を表示します。トランザクションボリュームを右クリックし、「プロパティ (Properties)」を選択して、さらに詳しい状態情報を表示します。詳細は、オンラインヘルプを参照してください。
metastat コマンドを使用します。
詳細は、metastat(1M) のマニュアルページを参照してください。
metastat コマンドを使って表示したトランザクションボリュームの出力例を以下に示します。
# metastat d20: Trans State: Okay Size: 102816 blocks Master Device: c0t3d0s4 Logging Device: c0t2d0s3 Master Device Start Block Dbase c0t3d0s4 0 No c0t2d0s3: Logging device for d0 State: Okay Size: 5350 blocks Logging Device Start Block Dbase c0t2d0s3 250 No |
metastat コマンドを使用して、マスターデバイスとログデバイスの情報を表示します。デバイスごとに次の情報が表示されます。
「デバイス (Device)」はスライスまたはボリュームのデバイス名です。
「開始ブロック (Start Block)」はデバイスの開始ブロックです。
「Dbase」は、デバイスに状態データベースの複製が含まれているかどうかを示します。
次の表に、トランザクションボリュームの状態と実行可能な処置を示します。
表 18–1 トランザクションボリュームの状態
状態 |
説明 |
処置 |
---|---|---|
正常 (Okay) |
デバイスは正常に機能している。マウントされているファイルシステムに対してはロギングが実行されているため、起動時にファイルシステムのチェックは行われません。 |
必要ない |
接続中 (Attaching) |
ログデバイスは、トランザクションボリュームが閉じられるかマウント解除されたときに、トランザクションボリュームに接続されます。接続されると、デバイスは「正常 (Okay)」状態に移行します。 |
必要ない |
切断済み (Detached) |
トランザクションボリュームにはログデバイスがない。UFS ロギングの利点は無効になっています。 |
起動時に fsck コマンドがデバイスを自動的にチェックする。詳細は、fsck(1M) のマニュアルページを参照。 |
切断中 (Detaching) |
ログデバイスは、トランザクションボリュームが閉じられるかマウント解除されたときに、トランザクションボリュームから切断されます。切断されると、デバイスは「切断済み (Detached)」状態になります。 |
必要ない |
ハードウェアエラー (Hard Error) |
デバイスの使用中にデバイスエラーまたはパニックが発生した。デバイスが閉じられるかマウント解除されるまで、すべての読み取りと書き込みに対して入出力エラーが返されます。デバイスは、最初に開かれたときに「エラー (Error)」状態に移行します。 |
トランザクションボリュームを修復します。詳細は、パニックした場合のトランザクションボリュームを回復するにはか ハードウェアエラー状態のトランザクションボリュームを回復するにはを参照。 |
エラー (Error) |
デバイスは読み書き可能。ファイルシステムを読み取り専用でマウントできるが、実際には読み取りや書き込みを行うたびに入出力エラーが返されます。読み取りや書き込みはデバイスエラーを受け取ります。この後でデバイスエラーが起っても、デバイスは「ハードウェアエラー (Hard Error)」 状態には戻りません。 |
トランザクションボリュームを修復します。詳細は、パニックした場合のトランザクションボリュームを回復するにはか ハードウェアエラー状態のトランザクションボリュームを回復するにはを参照。fsck または newfs コマンドが正常に終了すると、デバイスは「正常 (Okay)」状態に戻る。デバイスが「ハードウェアエラー (Hard Error)」か「エラー (Error)」状態にある場合は、システムの起動時に fsck コマンドがファイルシステムを自動的にチェックし、修復する。newfs コマンドを実行すると、デバイスのデータは破棄される。 |
ロギングを有効にする UFS ファイルシステムのマウントを解除します。
次のどちらかの方法でトランザクションボリュームにログデバイスを接続します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。ボリュームを右クリックし、「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metattach コマンドを実行します。
metattach master-volume logging-volume |
master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。
logging-volume は、ログが格納されているボリュームまたはスライスの名前です。
詳細は、metattach(1M) のマニュアルページを参照してください。
# metattach d1 d23 |
ファイルシステムを再びマウントします。
この例では、ログデバイス、つまりスライス (c1t1d0s1) を、/fs2 にマウントされているトランザクションボリューム d1 に接続します。
# umount /fs2 # metattach d1 c1t1d0s1 d1: log device d0c1t1d0s1 is attached # mount /fs2 |
ロギングを無効にしたり、ログデバイスを変更したい UFS ファイルシステムのマウントを解除します。
次のどちらかの方法でトランザクションボリュームからログデバイスを切り離します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。ボリュームを右クリックし、「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metadetach コマンドを使用します。
metadetach master-volume |
master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。
詳細は、metadetach(1M) のマニュアルページを参照してください。
ファイルシステムを再びマウントします。
この例では、ログデバイス、つまりスライス (c1t1d0s1) を、/fs2 にマウントされているトランザクションボリューム d1 から切り離します。
# umount /fs2 # metadetach d1 d1: log device c1t1d0s1 is detached # mount /fs2 |
トランザクションボリューム内のマスターデバイスを拡張するためには、マスターデバイスがボリューム (RAID 0、RAID 1、または RAID 5) でなければなりません。
マスターデバイスがボリューム (基本スライスではなく) の場合は、次のどちらかの方法でマスターデバイスに他のスライスを追加します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。ボリュームを右クリックし、「プロパティ (Properties)」を選択してから、「コンポーネント (Components)」パネルを選択します。詳細は、オンラインヘルプを参照してください。
次の形式の metattach コマンドを実行します。
metattach master-volume component |
master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。
component は、接続するボリュームまたはスライスの名前です。
詳細は、metattach(1M) のマニュアルページを参照してください。
マスターデバイスがミラーの場合は、個々のサブミラーにスライスを追加する必要があります。
マスターデバイスがスライスの場合は、そのスライスを直接拡張することはできません。その場合は、次のようにします。
現在のトランザクションボリュームを削除します。
マスターデバイスのスライスをボリュームに含めます。
トランザクションボリュームを再び作成します。
この処理が終わったら、上記の手順に従ってマスターデバイスを拡張します。
# metastat d10 d10: Trans State: Okay Size: 102816 blocks Master Device: d0 Logging Device: d1 d0: Mirror Submirror 0: d11 State: Okay ... Submirror 1: d12 State: Okay ... # metattach d11 c0t2d0s5 d11: component is attached # metattach d12 c0t3d0s5 d12: component is attached |
この例では、トランザクションボリューム d10 を拡張します。このマスターデバイスは 2 面の RAID 1 ボリューム d0 で、サブミラー d11 と d12 を含んでいます。そのため、サブミラーごとに metattach コマンドを実行します。スライスが追加されたことを示すメッセージが表示されます。
UFS の場合は、マスターデバイスではなくトランザクションボリュームに対して growfs コマンドを実行します。詳細は、ファイルシステムを拡張するにはを参照してください。
データベースなど、raw ボリュームを使用するアプリケーションは、独自の方法で領域を拡張できなければなりません。
トランザクションボリュームを削除し、ロギングを無効にしたい UFS ファイルシステムのマウントを解除します。
# umount /filesystem |
次のどちらかの方法でトランザクションボリュームからログデバイスを切り離します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。ボリュームを右クリックし、「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metadetach コマンドを使用します。
metadetach master-volume |
master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。
詳細は、metadetach(1M) のマニュアルページを参照してください。
次のどちらかの方法でトランザクションボリュームを削除 (クリア) します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。ボリュームを右クリックし、「削除 (Delete)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metaclear コマンドを実行します。
metaclear master-volume |
詳細は、metaclear(1M) のマニュアルページを参照してください。
必要であれば、/etc/vfstab ファイルを編集して、上記の手順で削除したトランザクションボリュームではなく、トランザクションボリュームを構成するボリュームをマウントします。
ファイルシステムを再びマウントします。
この例では、 /fs2 にマウントされているトランザクションボリューム d1 を削除します。 この処理が終わると、トランザクションボリュームを構成するスライス c1t1d0s1 が直接マウントされます。
# umount /fs2 # metadetach d1 d1: log device d2 is detached # metaclear d1 d1: Trans is cleared (/etc/vfstab を編集して、/fs2 に c1t1d0s1 (d1 ではなく)をマウントする 。) # mount /fs2 |
この手順は、トランザクションボリュームとそのボリュームを構成するデバイスが共に Solaris ボリュームマネージャの論理ボリュームである場合にのみ有効です。
トランザクションボリュームを削除し、ロギングを無効にしたい UFS ファイルシステムのマウントを解除します。
次のどちらかの方法でトランザクションボリュームからログデバイスを切断します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。ボリュームを右クリックし、「プロパティ (Properties)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metadetach コマンドを使用します。
metadetach master-volume |
master-volume は、ロギングするファイルシステムが格納されているトランザクションボリュームの名前です。
詳細は、metadetach(1M) のマニュアルページを参照してください。
トランザクションボリュームの名前とマスターデバイスの名前を交換します。
次のどちらかの方法でトランザクションボリュームを削除 (クリア) します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、リストからトランザクションボリュームを選択します。ボリュームを右クリックし、「削除 (Delete)」を選択します。 詳細は、オンラインヘルプを参照してください。
次の形式の metaclear コマンドを実行します。
metaclear master-volume |
詳細は、metaclear(1M) のマニュアルページを参照してください。
マスターデバイスに対して fsck コマンドを実行します。
スーパーブロック内のファイルシステムの状態を修正するかどうかの問い合わせに対して y を入力します。
ファイルシステムを再びマウントします。
この例では、まず、マウントされたファイルシステムが格納されているトランザクションボリューム d1 の状態を調べ、最後に、トランザクションボリューム内のマスターデバイス d1 にファイルシステムをマウントします。
# metastat d1 d1: Trans State: Okay Size: 5600 blocks Master Device: d21 Logging Device: d0 d21: Mirror Submirror 0: d20 State: Okay Submirror 1: d2 State: Okay ... d0: Logging device for d1 State: Okay Size: 5350 blocks # umount /fs2 # metadetach d1 d1: log device d0 is detached # metarename -f -x d1 d21 d1 and d21 have exchanged identities # metastat d21 d21: Trans State: Detached Size: 5600 blocks Master Device: d1 d1: Mirror Submirror 0: d20 State: Okay Submirror 1: d2 State: Okay # metaclear 21 # fsck /dev/md/dsk/d1 ** /dev/md/dsk/d1 ** Last Mounted on /fs2 ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups FILE SYSTEM STATE IN SUPERBLOCK IS WRONG; FIX? y 3 files, 10 used, 2493 free (13 frags, 310 blocks, 0.5% fragmentation) # mount /fs2 |
最初に metastat コマンドを実行して、トランザクションボリューム d1 が「正常 (Okay)」状態であることを確認します。トランザクションボリュームのログデバイスを切断する前に、ファイルシステムのマウントを解除します。-f (強制) フラグを指定して、トランザクションボリュームとそのミラー化されたマスターデバイスを交換します。metastat コマンドを再び実行して、交換が実際に行われたことを確認します。次に、トランザクションボリューム d21 とログデバイス d0 (必要な場合)を削除します。fsck コマンドをミラー d1 に対して実行し、プロンプトの問い合わせに対して y を入力します。 fsck コマンドの実行が終わったら、ファイルシステムを再びマウントします。/fs2 のマウントデバイスは変更されていないため、/etc/vfstab ファイルを編集する必要はありません。