diff options
Diffstat (limited to 'ja_JP.eucJP/man/man8/vinum.8')
-rw-r--r-- | ja_JP.eucJP/man/man8/vinum.8 | 2801 |
1 files changed, 0 insertions, 2801 deletions
diff --git a/ja_JP.eucJP/man/man8/vinum.8 b/ja_JP.eucJP/man/man8/vinum.8 deleted file mode 100644 index 700958c0a5..0000000000 --- a/ja_JP.eucJP/man/man8/vinum.8 +++ /dev/null @@ -1,2801 +0,0 @@ -.\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode -.\"- -.\" Copyright (c) 1997, 1998 -.\" Nan Yang Computer Services Limited. All rights reserved. -.\" -.\" This software is distributed under the so-called ``Berkeley -.\" License'': -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Nan Yang Computer -.\" Services Limited. -.\" 4. Neither the name of the Company nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" This software is provided ``as is'', and any express or implied -.\" warranties, including, but not limited to, the implied warranties of -.\" merchantability and fitness for a particular purpose are disclaimed. -.\" In no event shall the company or contributors be liable for any -.\" direct, indirect, incidental, special, exemplary, or consequential -.\" damages (including, but not limited to, procurement of substitute -.\" goods or services; loss of use, data, or profits; or business -.\" interruption) however caused and on any theory of liability, whether -.\" in contract, strict liability, or tort (including negligence or -.\" otherwise) arising in any way out of the use of this software, even if -.\" advised of the possibility of such damage. -.\" -.\" $Id: vinum.8,v 1.36 2004-04-24 16:05:05 kuriyama Exp $ -.\" %FreeBSD: src/sbin/vinum/vinum.8,v 1.67 2004/02/16 09:23:59 le Exp % -.\" -.\" $FreeBSD$ -.\" WORD: attach 結合 (する) -.Dd May 5, 2003 -.Dt VINUM 8 -.Sh 名称 -.Nm vinum -.Nd 論理ボリュームマネージャの制御プログラム -.Sh 書式 -.Nm -.Op Ar command -.Op Fl options -.Sh コマンド -.Bl -tag -width indent -.It Ic attach Ar plex volume Op Cm rename -.It Xo -.Ic attach Ar subdisk plex -.Op Ar offset -.Op Cm rename -.Xc -プレックスをボリュームに、またはサブディスクをプレックスに結合します。 -.It Xo -.Ic checkparity -.Op Fl f -.Op Fl v -.Ar plex -.Xc -RAID-4 または RAID-5 のプレックスのパリティブロックを検査します。 -.It Xo -.Ic concat -.Op Fl f -.Op Fl n Ar name -.Op Fl v -.Ar drives -.Xc -指定したドライブからコンカチネート化ボリュームを作成します。 -.It Xo -.Ic create -.Op Fl f -.Ar description-file -.Xc -.Ar description-file -の記述に従ってボリュームを作成します。 -.It Ic debug -ボリュームマネージャをカーネルデバッガに移行させます。 -.It Ic debug Ar flags -デバッグフラグを設定します。 -.It Xo -.Ic detach -.Op Fl f -.Op Ar plex | subdisk -.Xc -結合されていたボリュームやプレックスから、プレックスやサブディスクを分離します。 -.It Ic dumpconfig Op Ar drive ... -指定されたドライブに格納されている設定情報を表示します。 -ドライブ名を指定しないと、システムの全ドライブの情報を表示します。 -.It Xo -.Ic info -.Op Fl v -.Op Fl V -.Xc -ボリュームマネージャの状態を表示します。 -.It Xo -.Ic init -.Op Fl S Ar size -.Op Fl w -.Ar plex | subdisk -.Xc -.\" XXX -サブディスクまたはプレックスの全サブディスクの内容をすべて 0 に初期化します。 -.It Ic label Ar volume -ボリュームラベルを作成します。 -.It Xo -.Ic l | list -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar volume | plex | subdisk -.Xc -指定したオブジェクトの情報を表示します。 -.It Xo -.Ic ld -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar volume -.Xc -ドライブの情報を表示します。 -.It Xo -.Ic ls -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar subdisk -.Xc -サブディスクの情報を表示します。 -.It Xo -.Ic lp -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar plex -.Xc -プレックスの情報を表示します。 -.It Xo -.Ic lv -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar volume -.Xc -ボリュームの情報を表示します。 -.It Xo -.Ic mirror -.Op Fl f -.Op Fl n Ar name -.Op Fl s -.Op Fl v -.Ar drives -.Xc -指定したドライブからミラー化ボリュームを作成します。 -.It Xo -.Ic move | mv -.Fl f -.Ar drive object ... -.Xc -指定したドライブにオブジェクトを移動します。 -.It Ic printconfig Op Ar file -現在の設定のコピーを -.Ar file -へ書き込みます。 -.It Ic quit -対話モード時に、 -.Nm -ユーティリティを終了します。通常 -.Dv EOF -文字を入力することにより実現できます。 -.It Ic read Ar disk ... -指定したディスクから -.Nm -の設定を読み出します。 -.It Xo -.Ic rename Op Fl r -.Op Ar drive | subdisk | plex | volume -.Xc -指定したオブジェクトの名前を変更します。 -.\" XXX -.\".It Ic replace Ar drive newdrive -.\"指定したドライブから新しいドライブ上へすべてのサブディスクを移動します。 -.It Xo -.Ic rebuildparity -.Op Fl f -.Op Fl v -.Op Fl V -.Ar plex -.Xc -RAID-4 または RAID-5 のプレックスのパリティブロックを再構築します。 -.It Ic resetconfig -すべての -.Nm -の設定をリセットします。 -.It Xo -.Ic resetstats -.Op Fl r -.Op volume | plex | subdisk -.Xc -指定したオブジェクトの統計情報をリセットします。指定がない場合はすべての -オブジェクトが対象です。 -.It Xo -.Ic rm -.Op Fl f -.Op Fl r -.Ar volume | plex | subdisk -.Xc -オブジェクトを削除します。 -.It Ic saveconfig -設定失敗後に、 -.Nm -の設定をディスクへ保存します。 -.\" XXX -.\".It Xo -.\".Ic set -.\".Op Fl f -.\".Ar state -.\".Ar volume | plex | subdisk | disk -.\".Xc -.\"オブジェクトの状態を -.\".Ar state -.\"に設定します。 -.It Ic setdaemon Op Ar value -デーモンの設定を与えます。 -.It Xo -.Ic setstate -.Ar state -.Op Ar volume | plex | subdisk | drive -.Xc -他のオブジェクトに影響を与えずに状態を設定します。 -診断のためだけに使用します。 -.It Ic start -全 vinum ドライブから設定を読み込みます。 -.It Xo -.Ic start -.Op Fl i Ar interval -.Op Fl S Ar size -.Op Fl w -.Ar volume | plex | subdisk -.Xc -システムがオブジェクトへアクセスできるようにします。 -.It Xo -.Ic stop -.Op Fl f -.Op Ar volume | plex | subdisk -.Xc -オブジェクトへのアクセスを終了させます。 -パラメータを指定しないと、 -.Nm -を停止させます。 -.It Xo -.Ic stripe -.Op Fl f -.Op Fl n Ar name -.Op Fl v -.Ar drives -.Xc -指定したドライブからストライプ化ボリュームを作成します。 -.El -.Sh 解説 -.Nm -ユーティリティは、 -Vinum 論理ボリュームマネージャのカーネルコンポーネントと通信します。 -対話形式と、単独のコマンドを実行する形式のいずれも実行可能になっています。 -コマンドライン引数を伴わずに -.Nm -を起動すると対話形式になる一方、 -コマンドラインでコマンドを指定するとそのコマンド -だけを実行します。 -対話モードでは、 -.Nm -はコマンドラインヒストリを保持します。 -.Sh オプション -.Nm -のコマンドにはオプションを付加することができます。どのコマンドにも -下記オプションのどれでも指定することができますが、 -オプションが無視される場合があります。例えば、 -.Ic stop -コマンドは -.Fl v -オプションと -.Fl V -オプションを無視します。 -.Bl -tag -width indent -.It Fl f -.Fl f -.Pq Dq force: 強制 -オプションは安全性の確認を無効にします。細心の注意を払って -使用して下さい。 -このオプションは緊急時にのみ使用するものです。例えば、 -コマンド -.Pp -.Dl rm -f myvolume -.Pp -は -.Ar myvolume -がオープンされていたとしても削除します。以降、このボリュームに -アクセスすると、ほぼ確実にパニックを起こします。 -.It Fl i Ar millisecs -.Ic init -または -.Ic start -のコマンドを実行時、各ブロックのコピーの間に -.Ar millisecs -ミリ秒待ちます。 -これにより、システム負荷を軽減できます。 -.It Fl n Ar name -ボリューム名を指定するために -.Fl n -オプションを使用します。単純な設定コマンド -.Ic concat , -.Ic mirror , -.Ic stripe -用です。 -.It Fl r -.Fl r -.Pq Dq recursive: 再帰的 -オプションは表示系のコマンドで使い、 -指示したオブジェクト -だけでなく、下位のオブジェクトの情報も表示します。 -例えば、 -.Ic lv -コマンドとともに使われる場合、 -.Fl r -オプションは対象のボリュームに属するプレックスとサブディスクの情報も表示します。 -.It Fl s -.Fl s -.Pq Dq statistics: 統計 -オプションは表示系のコマンドで統計情報を表示するために使います。 -.Ic mirror -コマンドもこのオプションを使用し、 -ストライプ化プレックスを作成すべきことを示します。 -.It Fl S Ar size -.Fl S -オプションは、 -.Ic init -と -.Ic start -コマンドのための転送サイズを指定します。 -.It Fl v -.Fl v -.Pq Dq verbose: 冗長 -オプションは、 -さらに詳細な情報を要求するために使用します。 -.It Fl V -.Fl V -.Pq Dq Very verbose: とても冗長 -オプションは、 -.Fl v -オプションが提供するものよりもさらに詳細な情報を要求するために使用します。 -このフラグは -.Nm init -コマンドではベリファイを意味します。 -.It Fl w -.Fl w -.Pq Dq wait: 待ち -オプションは、 -.Ic init -のように通常はバックグラウンドで実行するコマンドの完了を、 -.Nm -に待たせます。 -.El -.Sh コマンドの詳細 -.Nm -コマンドは以下の機能を実行します。 -.Pp -.Bl -tag -width indent -compact -.It Ic attach Ar plex volume Op Cm rename -.It Xo -.Ic attach Ar subdisk plex -.Op Ar offset -.Op Cm rename -.Xc -.Nm Ic attach -は指定されたプレックスやサブディスクをそれぞれボリュームやプレックスに -組み込みます。サブディスクに -ついては、プレックス中の始点 (オフセット) を指定することができます。 -指定がない場合、 -サブディスクは有効な最初の位置に結合されます。空でないボリュームにプレックスが -結合されると、 -.Nm -はそのプレックスを再統合します。 -.Pp -.Cm rename -キーワードが指定されると、 -.Nm -はオブジェクトの (プレックスの場合には下位のサブディスクの) 名前を変更して -デフォルトの -.Nm -命名規則に合わせます。 -オブジェクトを他の名前に変更するには、 -.Ic rename -コマンドを使用します。 -.Pp -サブディスク結合に際しては、いくつか考慮すべきことがあります: -.Bl -bullet -.It -サブディスクの結合対象は、通常、コンカチネート化プレックスのみです。 -.It -ストライプ化プレックスおよび RAID-5 プレックスにおいて -サブディスクが失われた場合 (例えばドライブの故障後など)、 -当該サブディスクを置き換えられるのは同じ大きさのサブディスクだけです。 -.It -ストライプ化または RAID-5 のプレックスに更にサブディスクを追加するには、 -.Fl f -(強制) オプションを使用します。プレックス内のデータを破壊します。 -.\" ストライプ化および RAID-5 のプレックスに対しては、 -.\" 別のサブディスクを結合することは、現在許されていません。 -.It -コンカチネート化プレックスに対しては、 -.Ar offset -パラメータが、プレックスの先頭からのブロック単位のオフセットを指定します。 -ストライプ化プレックスおよび RAID-5 プレックスに対しては、 -本パラメータは、サブディスクの最初のブロックのオフセットを指定します。 -別の表現をするなら、オフセットは、 -サブディスクの数値指定による位置とストライプの大きさとの積になります。 -例えば、ブロックの大きさが 271k のプレックスでは、 -最初のサブディスクはオフセット 0 に、2 番目のオフセットは 271k に、 -3 番目は 542k に、などとなります。 -この計算では、RAID-5 プレックスのパリティブロックは無視されます。 -.El -.Pp -.It Xo -.Ic checkparity -.Op Fl f -.Op Fl v -.Ar plex -.Xc -指定した RAID-4 または RAID-5 プレックスのパリティブロックをチェックします。 -この操作はプレックス中のポインタを維持しますので、 -望むならば、一時停止して後で同じ場所から再開可能です。 -さらに、このポインタは -.Ic rebuildparity -コマンドも使用します。 -最初にパリティの問題が検出された箇所から、 -パリティブロックの再構築を開始可能です。 -.Pp -.Fl f -フラグが指定されると、 -.Ic checkparity -はプレックスの先頭からチェックを開始します。 -.Fl v -フラグが指定されると、 -.Ic checkparity -は進捗報告を表示します。 -.Pp -.It Xo -.Ic concat -.Op Fl f -.Op Fl n Ar name -.Op Fl v -.Ar drives -.Xc -.Ic concat -コマンドは、単一のコンカチネート化プレックスからなるボリュームを作成する -.Ic create -コマンドの、単純な代替手段です。 -各ドライブ中の最大の連続空間が、 -プレックスのサブディスク作成のために使用されます。 -.Pp -通常、 -.Ic concat -コマンドは任意の名前をボリュームと構成要素に付けます。 -名前はテキスト -.Dq Li vinum -および小さな整数からなり、例えば -.Dq Li vinum3 -となります。 -ボリュームに対して指定した名前を割り当てる -.Fl n Ar name -オプションで、上書きすることが可能です。 -プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 -.Pp -ドライブの名前には選択の余地はありません。 -ドライブが既に -.Nm -ドライブとして初期化されていた場合、名前はそのままになります。 -そうでない場合、ドライブにはテキスト -.Dq Li vinumdrive -と小さな整数から始まる名前が与えられ、例えば -.Dq Li vinumdrive7 -となります。 -.Ic create -コマンドと同様、 -.Fl f -オプションを使用して、以前の名前の上書きを指定可能です。 -.Fl v -オプションは、冗長な出力のために使用します。 -.Pp -このコマンドの例は、後述の -.Sx 単純な設定 -の節を参照してください。 -.Pp -.It Xo -.Ic create -.Op Fl f -.Ar description-file -.Xc -.Nm Ic create -はどのオブジェクトの作成にも使われます。相互の関連性が比較的複雑で -.Nm -オブジェクトの作成には潜在的に危険があることを考慮して、この機能には対話的な -インタフェースはありません。 -ファイル名を指定しないと、 -.Nm -は一時ファイルに対してエディタを起動します。 -環境変数 -.Ev EDITOR -が設定されている場合、 -.Nm -はこのエディタを起動します。設定されていない場合のデフォルトは -.Nm vi -です。 -詳細は後述の -.Sx 設定ファイル -の節を参照して下さい。 -.Pp -.Nm Ic create -機能は加法的であることに注意してください: -複数回実行すると、名前付けしていない全オブジェクトのコピーを、 -複数生成することになります。 -.Pp -通常 -.Ic create -は既存の -.Nm -ドライブの名前を変更しません。これは、誤って消去してしまうのを避けるためです。 -不要な -.Nm -ドライブを破棄する正しい方法は、 -.Ic resetconfig -コマンドで設定をリセットすることです。 -しかし、起動できない -.Nm -ドライブ上に新規データを生成する必要がある場合があります。 -この場合、 -.Ic create Fl f -を使用してください。 -.Pp -.It Ic debug -引数無しの -.Nm Ic debug -は、リモートカーネルデバッガに入るために使用します。これは -.Nm -が -.Dv VINUMDEBUG -オプション付きで作成されている場合にのみ実行可能です。 -このオプションはカーネルデバッガから抜け出るまでオペレーティング -システムの実行を停止させます。 -リモートデバッグが設定されており、 -カーネルデバッガへのリモートコネクションがないと、 -デバッガから抜け出るためにはシステムをリセットしてリブート -することが必要になります。 -.Pp -.It Ic debug Ar flags -内部デバッグフラグのビットマスクを設定します。 -本製品が改良されるにつれ、このビットマスクは警告無しに変更されるでしょう。 -確認のために、ヘッダファイル -.In sys/dev/vinumvar.h -を見てください。 -ビットマスクは次の値から構成されます: -.Bl -tag -width indent -.It Dv DEBUG_ADDRESSES Pq No 1 -リクエスト中のバッファ情報を表示します。 -.\".It Dv DEBUG_NUMOUTPUT Pq No 2 -.\".Va vp->v_numoutput -.\" の値を表示します。 -.It Dv DEBUG_RESID Pq No 4 -.Fn complete_rqe -においてデバッガに移行します。 -.It Dv DEBUG_LASTREQS Pq No 8 -最新のリクエストのリングバッファを保存します。 -.It Dv DEBUG_REVIVECONFLICT Pq No 16 -再生における衝突に関する情報を表示します。 -.It Dv DEBUG_EOFINFO Pq No 32 -ストライププレックスで -.Dv EOF -を返すとき、内部状態の情報を表示します。 -.It Dv DEBUG_MEMFREE Pq No 64 -最後にメモリアロケータが解放したメモリ領域に関する循環リストを管理します。 -.It Dv DEBUG_REMOTEGDB Pq No 256 -.Ic debug -コマンドが発行されたときに、リモート -.Nm gdb -に移行します。 -.It Dv DEBUG_WARNINGS Pq No 512 -実装内のミラーの問題に関する警告を表示します。 -.El -.Pp -.It Xo -.Ic detach Oo Fl f Oc Ar plex -.Xc -.It Xo -.Ic detach Oo Fl f Oc Ar subdisk -.Xc -.Nm Ic detach -は指定されたプレックスやサブディスクを、 -結合されているボリュームやプレックスから -分離します。分離するとボリュームのデータが欠ける可能性のある -場合、この操作は -.Fl f -オプションを指定しない限り実行されません。 -オブジェクトが上位のオブジェクトに従った名前になっている場合 -(例えば、プレックス -.Li vol1.p7 -に結合されているサブディスク -.Li vol1.p7.s0 -の場合)、 -その名前は頭に -.Dq Li ex- -がついたものに変更されます -(例えば -.Li ex-vol1.p7.s0 -に変更されます)。 -その後の処理で必要であれば、その名前から頭の部分が外されます。 -.Pp -ストライプ化プレックスおよび RAID-5 プレックスにおいては、 -.Ic detach -はサブディスク数を減らしません。 -その代わり、サブディスクには存在しないという印が付けられ、後で -.Ic attach -コマンドを使用して交換可能となります。 -.Pp -.It Ic dumpconfig Op Ar drive ... -.Nm Ic dumpconfig -は、指定されたドライブ上に保管された設定情報を表示します。ドライブ名が -指定されていない場合、 -.Ic dumpconfig -はシステム上にあるすべてのドライブから vinum パーティションを探し出し、 -その情報をダンプします。設定の更新を無効にしている場合、このコマンドが -返す情報と -.Ic list -コマンドが返す情報とが同じにならないことがあります。このコマンドは、 -主に保守およびデバッグ用に使用されるものです。 -.Pp -.It Ic info -.Nm Ic info -は -.Nm -のメモリ使用に関する情報を表示します。これは主にデバッグのためのものです。 -.Fl v -オプションを付けると、使用中のメモリ領域についての詳細な情報を表示します。 -.Pp -.Fl V -オプションを付けると、 -.Nm -ドライバが扱った最大 64 個までの最近の I/O リクエストに関する情報を、 -.Ic info -は表示します。 -この情報は、デバッグフラグ 8 が設定されているときのみ収集されます。 -書式は次のようになります: -.Bd -literal -vinum -> info -V -Flags: 0x200 1 opens -Total of 38 blocks malloced, total memory: 16460 -Maximum allocs: 56, malloc table at 0xf0f72dbc - -Time Event Buf Dev Offset Bytes SD SDoff Doffset Goffset - -14:40:00.637758 1VS Write 0xf2361f40 91.3 0x10 16384 -14:40:00.639280 2LR Write 0xf2361f40 91.3 0x10 16384 -14:40:00.639294 3RQ Read 0xf2361f40 4.39 0x104109 8192 19 0 0 0 -14:40:00.639455 3RQ Read 0xf2361f40 4.23 0xd2109 8192 17 0 0 0 -14:40:00.639529 3RQ Read 0xf2361f40 4.15 0x6e109 8192 16 0 0 0 -14:40:00.652978 4DN Read 0xf2361f40 4.39 0x104109 8192 19 0 0 0 -14:40:00.667040 4DN Read 0xf2361f40 4.15 0x6e109 8192 16 0 0 0 -14:40:00.668556 4DN Read 0xf2361f40 4.23 0xd2109 8192 17 0 0 0 -14:40:00.669777 6RP Write 0xf2361f40 4.39 0x104109 8192 19 0 0 0 -14:40:00.685547 4DN Write 0xf2361f40 4.39 0x104109 8192 19 0 0 0 -11:11:14.975184 Lock 0xc2374210 2 0x1f8001 -11:11:15.018400 7VS Write 0xc2374210 0x7c0 32768 10 -11:11:15.018456 8LR Write 0xc2374210 13.39 0xcc0c9 32768 -11:11:15.046229 Unlock 0xc2374210 2 0x1f8001 -.Ed -.Pp -.Ar Buf -フィールドは、ユーザバッファヘッダのアドレスを常に含みます。 -ユーザリクエストに関連付けられるリクエスト (複数可) を識別するために -使用できますが、100% 信頼できるものというわけではありません: -理論的には、シーケンス中の 2 個のリクエストが同じバッファヘッダを使い得ますが、 -これは一般的ではありません。 -リクエストの先頭は、イベント -.Ar 1VS -または -.Ar 7VS -で識別可能です。 -前述の 1 番目の例は、ユーザ要求に関連するリクエストを示しています。 -2 番目は、ロックを伴うサブディスク I/O リクエストです。 -前記の例では、複数のリクエストが単一のユーザリクエストに含まれています。 -.Pp -.Ar Event -フィールドは、 -リクエストチェーン中のイベントシーケンスに関連する情報を含みます。 -.Ar 1 -から -.Ar 6 -までの数字はイベントの大まかなシーケンスを示し、 -2 文字の省略形は位置のニーモニックです。 -.Bl -tag -width Lockwait -.It 1VS -(vinum の strategy) -.Fn vinumstrategy -の入口にある、ユーザリクエストに関する情報を表示します。 -デバイス番号は -.Nm -デバイスであり、オフセットと長さはユーザパラメータです。 -本ニーモニックは、常にリクエストシーケンスの先頭になります。 -.It 2LR -(リクエスト発行) 関数 -.Fn launch_requests -において低レベル -.Nm -リクエストを発行する直前の、ユーザリクエストを表示します。 -パラメータは -.Ar 1VS -の情報と同じはずです。 -.El -.Pp -ここから後のリクエストでは、利用可能である場合、 -.Ar Dev -は関連付けられたディスクパーティションのデバイス番号であり、 -.Ar Offset -はパーティションの先頭からのオフセットであり、 -.Ar SD -は -.Va vinum_conf -中のサブディスクインデックスであり。 -.Ar SDoff -はサブディスクの先頭からのオフセットであり、 -.Ar Doffset -は関連付けられたデータリクエストのオフセットであり、 -.Ar Goffset -は関連付けられたグループリクエストのオフセットです。 -.Bl -tag -width Lockwait -.It 3RQ -(リクエスト) 高レベルのリクエストを満たすために発行される、 -いくつかありうる低レベル -.Nm -リクエストのうちのひとつを表示します。 -この情報は、 -.Fn launch_requests -においても記録されます。 -.It 4DN -(完了) -.Fn complete_rqe -から呼ばれ、リクエストの完了を表示します。 -この完了は、ステージ -.Ar 4DN -において -.Fn launch_requests -から発行されたリクエストか、またはステージ -.Ar 5RD -か -.Ar 6RP -の -.Fn complete_raid5_write -から発行されたリクエストにマッチするはずです。 -.It 5RD -(RAID-5 データ) -.Fn complete_raid5_write -から呼ばれ、 -パリティ計算後に RAID-5 データストライプへ書き込まれたデータを表現します。 -.It 6RP -(RAID-5 パリティ) -.Fn complete_raid5_write -から呼ばれ、 -パリティ計算後に RAID-5 パリティストライプへ書き込まれたデータを表現します。 -.It 7VS -サブディスク I/O リクエストを表示します。 -通常、これらのリクエストは -.Nm -内部のものであり、プレックスの初期化や再構築といった操作に使用します。 -.It 8LR -サブディスク I/O リクエストのために生成した、低レベル操作を表示します。 -.It Lockwait -プロセスがレンジロックを待っていることを示します。 -パラメータは、リクエストに関連付けられたバッファヘッダと、 -プレックス番号と、ブロック番号です。 -内部的な理由で、ブロック番号は、 -ストライプ開始アドレスよりも 1 個大きくなっています。 -.It Lock -レンジロックを取得済みであることを示します。 -パラメータはレンジロックと同じです。 -.It Unlock -レンジロックを解放済みであることを示します。 -パラメータはレンジロックと同じです。 -.El -.\" XXX -.Pp -.It Xo -.Ic init -.Op Fl S Ar size -.Op Fl w -.Ar plex | subdisk -.Xc -.Nm Ic init -は指定したサブディスクに 0 を書き込んで初期化します。 -プレックスが指定された場合はプレックス内の全サブディスクを初期化できます。 -これはプレックス中のデータに矛盾のないことを確実にする唯一の方法です。 -RAID-5 プレックスの使用前には、この初期化が必要です。 -他の新規プレックスに対しても、この初期化を推奨します。 -.Nm -はプレックス中のすべてのサブディスクを並行して初期化します。 -この操作には長い時間が -かかるため、通常バックグラウンドで実行されます。 -このコマンドの完了を待ちたい場合、 -.Fl w -(待ち) オプションを使用してください。 -.Pp -.Fl S -オプションでデフォルト値の 16 kB と異なるサイズの書き込みブロックを -指定できます。 -.Nm -は初期化が完了するとコンソールメッセージを出力します。 -.Pp -.It Ic label Ar volume -.Ic label -コマンドは、ボリュームに -.Em ufs -形式のボリュームラベルを書き込みます。これは適切に -.Ic disklabel -を呼び出すことに対しての、単純な代替方法です。 -いくつかの -.Em ufs -コマンドはラベルを入手するために正規の -.Xr ioctl 2 -コールを使わず、依然としてラベルを捜してディスクの読み込みを行う -ため、このコマンドは必要になります。 -.Nm -はボリュームのデータとは別にボリュームラベルを保持しているため、この -コマンドは -.Xr newfs 8 -用には必要ありません。 -このコマンドの価値は低下しています。 -.Pp -.It Xo -.Ic list -.Op Fl r -.Op Fl V -.Op Ar volume | plex | subdisk -.Xc -.It Xo -.Ic l -.Op Fl r -.Op Fl V -.Op Ar volume | plex | subdisk -.Xc -.It Xo -.Ic ld -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar volume -.Xc -.It Xo -.Ic ls -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar subdisk -.Xc -.It Xo -.Ic lp -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar plex -.Xc -.It Xo -.Ic lv -.Op Fl r -.Op Fl s -.Op Fl v -.Op Fl V -.Op Ar volume -.Xc -.Ic list -は指定したオブジェクトの情報を表示するために使われます。引数が省略されると -.Nm -が認識しているすべてのオブジェクトについての情報が表示されます。 -.Ic l -コマンドは -.Ic list -と同じものです。 -.Pp -.Fl r -オプションはボリュームとプレックスに関連します。 -指定されると、そのオブジェクト下位のサブディスクと (ボリュームに対しては) -プレックスの情報を再帰的に表示します。 -.Ic lv , -.Ic lp , -.Ic ls , -.Ic ld -のコマンドは、それぞれボリューム、プレックス、サブディスク、そしてドライブの -情報だけを表示します。これはパラメータを指定しないで使う場合に特に有用です。 -.Pp -.Fl s -オプションで -.Nm -は装置の統計情報を出力するようになり、 -.Fl v -(verbose: 饒舌な) オプションはいくらかの付加情報を出力させ、 -そして -.Fl V -は数多くの付加情報を出力させます。 -.Pp -.It Xo -.Ic mirror -.Op Fl f -.Op Fl n Ar name -.Op Fl s -.Op Fl v -.Ar drives -.Xc -.Ic mirror -コマンドは、ミラー化ボリュームを作成する -.Ic create -コマンドの、単純な代替手段です。 -オプションを指定しないと、RAID-1 (ミラー化) ボリュームを、 -2 つのコンカチネート化ボリュームで作成します。 -各ドライブ中の最大の連続空間が、 -プレックスのサブディスク作成のために使用されます。 -1 番目のプレックスは、リストの奇数番号のドライブから構築され、 -2 番目のプレックスは、リストの偶数番号のドライブから構築されます。 -ドライブの大きさが異なる場合、プレックスの大きさは異なるでしょう。 -.Pp -.Fl s -オプションを指定すると、 -.Ic mirror -はストライプの大きさが 279 kB のストライプ化プレックスを構築します。 -各プレックスのサブディスクの大きさは、 -プレックスを構成するドライブの中で、最小の連続ストレージの大きさです。 -ここでもまた、プレックスの大きさは異なるかもしれません。 -.Pp -通常、 -.Ic mirror -コマンドは任意の名前をボリュームと構成要素に付けます。 -名前はテキスト -.Dq Li vinum -および小さな整数からなり、例えば -.Dq Li vinum3 -となります。 -ボリュームに対して指定した名前を割り当てる -.Fl n Ar name -オプションで、上書きすることが可能です。 -プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 -.Pp -ドライブの名前には選択の余地はありません。 -ドライブが既に -.Nm -ドライブとして初期化されていた場合、名前はそのままになります。 -そうでない場合、ドライブにはテキスト -.Dq Li vinumdrive -と小さな整数から始まる名前が与えられ、例えば -.Dq Li vinumdrive7 -となります。 -.Ic create -コマンドと同様、 -.Fl f -オプションを使用して、以前の名前の上書きを指定可能です。 -.Fl v -オプションは、冗長な出力のために使用します。 -.Pp -このコマンドの例は、後述の -.Sx 単純な設定 -の節を参照してください。 -.Pp -.It Ic mv Fl f Ar drive object ... -.It Ic move Fl f Ar drive object ... -指定したオブジェクトから新しいドライブへすべてのサブディスクを移動します。 -オブジェクトは、サブディスク、ドライブあるいはプレックスです。ドライブ -またはプレックスが指定された場合、オブジェクトに関係するすべての -サブディスクが移動されます。 -.Pp -この機能は現在サブディスク中のデータを保存しないため -.Fl f -オプションが必要です。 -この付加機能は、後日追加されます。しかしながら、この状態でも、故障した -ディスクドライブを復旧させるのには十分です。 -.Pp -.It Ic printconfig Op Ar file -現在の設定のコピーを、 -.Nm -設定を再生成可能な書式で、 -.Ar file -に書き込みます。 -ディスク上に保存された設定とは違い、ドライブの定義を含みます。 -.Ar file -を指定しないと、 -.Nm -は一覧を -.Dv stdout -へ書き込みます。 -.Pp -.It Ic quit -対話モードで実行中のときに、 -.Nm -ユーティリティを終了します。通常は、文字 -.Dv EOF -を入力することで実現できます。 -.Pp -.It Ic read Ar disk ... -.Ic read -コマンドは、指定したディスクを走査し、作成済の設定情報を含む -.Nm -パーティションを探します。 -そして、最近更新されたものから過去に更新されたものの順番で、 -設定を読み込みます。 -.Nm -ユーティリティは、 -最新のすべての設定情報を各ディスクパーティションに保持しています。 -このコマンドの -パラメータとして、設定の中の全スライスを指定する必要があります。 -.Pp -.Ic read -コマンドは、他の -.Nm -パーティションを持つシステム上で、 -.Nm -設定を選択的にロードすることを意図しています。 -システム上の全パーティションを起動したい場合、 -.Ic start -コマンドを使用する方が簡単です。 -.Pp -本コマンド実行時に -.Nm -がエラーになると、 -ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 -これは、ディスク上の設定が、設定エラーを示す -(例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 -再度更新をオンにするには、 -.Ic setdaemon -と -.Ic saveconfig -のコマンドを使用してください。 -デーモンオプションマスクのビット 2 をリセットして、 -設定保存を再度有効にしてください。 -.Pp -.It Xo -.Ic rebuildparity -.Op Fl f -.Op Fl v -.Op Fl V -.Ar plex -.Xc -指定した RAID-4 または RAID-5 プレックスのパリティブロックを再構築します。 -この操作はプレックス中のポインタを維持しますので、 -望むならば、一時停止して後で同じ場所から再開可能です。 -さらに、このポインタは -.Ic checkparity -コマンドも使用します。 -最初にパリティの問題が検出された箇所から、 -パリティブロックの再構築を開始可能です。 -.Pp -.Fl f -フラグが指定されると、 -.Ic rebuildparity -はプレックスの先頭から再構築を開始します。 -.Fl v -フラグが指定されると、 -.Ic rebuildparity -はまず既存のパリティブロックをチェックし、 -再構築前に、不整合情報を表示します。 -.Fl V -フラグが指定されると、 -.Nm rebuildparity -は進捗報告を表示します。 -.Pp -.It Xo -.Ic rename -.Op Fl r -.Ar [ drive | subdisk | plex | volume ] -.Ar newname -.Xc -指定したオブジェクトの名前を変更します。 -.Fl r -オプションが指定されると、下位のオブジェクトがデフォルトの規則に従って命名され -ます。プレックスの名前はボリューム名に -.Li .p Ns Ar number -を付加して作られ、 -サブディスクの名前はプレックス名に -.Li .s Ns Ar number -を付加して作られます。 -.\" .It Xo -.\" .Ic replace -.\" .Ar drive -.\" .Ar newdrive -.\" .Pp -.\" 指定したドライブから新しいドライブへすべてのサブディスクを移動します。 -.\" これは回復可能なサブディスクを回復しようとします。そして、回復不可能な -.\" サブディスクを最初から作ります。 -.\" もし、新しいドライブにこの操作のための容量が不足する時は、できるだけ -.\" 多くのサブディスクを新しいドライブ上に組み込み、残りを元のドライブに -.\" 残します。 -.Pp -.It Ic resetconfig -.Ic resetconfig -コマンドはシステム内の -.Nm -設定を完全に削除します。設定を完全に消去したい場合にだけ使って下さい。 -.Nm -は確認を求めます。 -.Li "NO FUTURE" -(前途なし) という語句を以下の通りに入力する必要が -あります。 -.Bd -unfilled -offset indent -.No # Nm Ic resetconfig - -WARNING! This command will completely wipe out your vinum -configuration. All data will be lost. If you really want -to do this, enter the text - -NO FUTURE -.No "Enter text ->" Sy "NO FUTURE" -Vinum configuration obliterated - -(訳注: ここから上記テキストの翻訳です) -警告! このコマンドはあなたの vinum 設定を完全に消し去ります。 -全データは失われます。本当にこれを実行したい場合は、語句 - -NO FUTURE -を入力して下さい。 -入力してください -> \f(BINO FUTURE\fP -vinum の設定は削除されました。 -(訳注: ここまで上記テキストの翻訳です) - -.Ed -.Pp -メッセージが示すように、どたん場のコマンドです。 -既存の設定をもう見たくもないとき以外は、このコマンドを使わないでください。 -.Pp -.It Xo -.Ic resetstats -.Op Fl r -.Op Ar volume | plex | subdisk -.Xc -.Nm -は各オブジェクトについて多数の統計カウンタを保持しています。詳細は -ヘッダファイル -.In sys/dev/vinumvar.h -を参照して下さい。 -.\" XXX 仕上がったらここに入れる -これらのカウンタをリセットするためには -.Ic resetstats -コマンドを使って下さい。 -.Fl r -オプションも共に指定すると、 -.Nm -は下位のオブジェクトのカウンタもリセットします。 -.Pp -.It Xo -.Ic rm -.Op Fl f -.Op Fl r -.Ar volume | plex | subdisk -.Xc -.Ic rm -はオブジェクトを -.Nm -設定から消去します。ひとたびオブジェクトが消去されるとそれを復旧する方法は -ありません。通常 -.Nm -はオブジェクトを消去する前に数多くの一貫性確認を行います。 -.Fl f -オプションを指定すると、 -.Nm -はこの確認を省略し、オブジェクトを無条件に消去します。このオプションは細心の -注意を払って使用して下さい。ボリューム上のすべてのデータを失うことも -あり得ます。 -.Pp -通常、 -.Nm -は下位にプレックスを持つボリュームや、下位にサブディスクを持つプレックスを -消去することを拒否します。 -.Fl f -フラグを指定すると、 -.Nm -は無条件にオブジェクトを消去します。または -.Fl r -(recursive: 再帰的) フラグを使うことで、同様に下位のオブジェクトを -消去することができます。 -.Fl r -フラグを付けてボリュームを消去すると、プレックスとそれに属するサブディスクも -消去します。 -.Pp -.It Ic saveconfig -現在の設定をディスクに保存します。 -.Nm -は自動的に設定変更を保存するので、通常これは不要です。 -起動時にエラーが発生した場合、更新は無効化されます。 -.Ic setdaemon -コマンドで再度有効化しても、 -.Nm -は設定を自動的にはディスクへ保存しません。 -このコマンドを使用して設定を保存してください。 -.\".It Xo -.\".Ic set -.\".Op Fl f -.\".Ar state -.\".Ar volume | plex | subdisk | disk -.\".Xc -.\".Ic set -.\"は指定したオブジェクトに、妥当な状態 (下記 -.\".Sx オブジェクト状態 -.\"参照) のひとつを -.\"セットします。 -.\"通常、 -.\".Nm -.\"は変更を加える前に非常に多くの一貫性の調査を実行します。 -.\".Fl f -.\"オプションを指定すると、 -.\".Nm -.\"はこの調査を省略し、無条件に変更を行います。このオプションは大いに注意して -.\"使って下さい。ボリューム上のすべてのデータを失うこともあり得ます。 -.Pp -.It Ic setdaemon Op Ar value -.Ic setdaemon -は -.Nm -デーモンの変数ビットマスクを設定します。 -本コマンドは一時的なものであり、将来置き換えられます。 -現在、ビットマスクにはビット 1 (全アクションを syslog へ記録する) と -ビット 4 (設定を更新しない) があります。 -オプションビット 4 はエラー回復時に有用かもしれません。 -.Pp -.It Xo -.Ic setstate Ar state -.Op Ar volume | plex | subdisk | drive -.Xc -.Ic setstate -は、指定したオブジェクトの状態を指定した状態に設定します。 -.Nm -の通常の一貫性機構はバイパスされます。回復の目的でのみ使用すべきです。 -このコマンドを誤って使用すると、システムを破壊する可能性があります。 -.Pp -.It Xo -.Ic start -.Op Fl S Ar size -.Op Fl w -.Op Ar plex | subdisk -.Xc -.Ic start -は 1 つまたはそれ以上の -.Nm -オブジェクトを起動します ( -.Em up -状態に移行させます)。 -.Pp -オブジェクト名を指定しないと、システムが -.Nm -ドライブであると知っているディスクを、 -.Nm -は走査します。その後、 -.Ic read -コマンドのところに書いてあるように、設定を読み込みます。 -.Nm -ドライブにはそのドライブ中のデータについてのすべての情報を持つヘッダが -入っており、その情報としてはプレックスとボリュームを表現するために必要な -他のドライブの名前を含んでいます。 -.Pp -本コマンド実行時に -.Nm -がエラーになると、 -ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 -これは、ディスク上の設定が、設定エラーを示す -(例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 -再度更新をオンにするには、 -.Ic setdaemon -と -.Ic saveconfig -のコマンドを使用してください。 -デーモンオプションマスクのビット 4 をリセットして、 -設定保存を再度有効にしてください。 -.Pp -オブジェクト名が指定されると、 -.Nm -はそれらを起動します。 -通常、この操作はサブディスクに対してのみ行います。 -動作はオブジェクトの現在の状態に依存します: -.Bl -bullet -.It -オブジェクトが既に -.Em up -状態の場合、 -.Nm -はなにもしません。 -.It -オブジェクトがサブディスクであり、 -.Em down -または -.Em reborn -の状態の場合、 -.Nm -は -.Em up -状態に変更します。 -.It -オブジェクトがサブディスクであり、 -.Em empty -状態の場合、変更はサブディスクに依存します。 -サブディスクがプレックスの一部であり -このプレックスが他のプレックスを含むボリュームの一部である場合、 -.Nm -はサブディスクを -.Em reviving -状態にし、データをボリュームからコピーしようとします。 -操作完了時に、サブディスクは -.Em up -状態に設定されます。 -サブディスクがプレックスの一部であり -このプレックスが他のプレックスを含まないボリュームの一部である場合、 -またはサブディスクがプレックスの一部ではない場合、 -.Nm -は即時にサブディスクを -.Em up -状態にします。 -.It -オブジェクトがサブディスクであり、 -.Em reviving -状態である場合、 -.Nm -は -再生 -操作をオフラインにて継続します。 -操作完了時に、サブディスクは -.Em up -状態に設定されます。 -.El -.Pp -サブディスクが -.Em up -状態になると、 -.Nm -は自動的に、 -サブディスクが属す可能性のあるプレックスとボリュームの状態をチェックし、 -これらの状態を適切に更新します。 -.Pp -オブジェクトがプレックスの場合、 -.Ic start -は下位のサブディスクの (ボリュームの場合にはこれに加えてプレックスの) 状態を -チェックし、起動可能なサブディスクを起動します。 -.Pp -マルチプレックスボリュームの中の 1 つのプレックスを起動するには、 -ボリューム中の他のプレックスからデータをコピーする必要があります。 -これにはしばしば長い時間がかかるため、バックグラウンドで実行されます。 -この操作が完了することを待ちたい場合 -(例えば、この操作をスクリプト中で実行している場合)、 -.Fl w -オプションを使用してください。 -.Pp -データのコピーにはたいして時間がかかりません。それは、さらに重大な負荷を -システムにかけ得ます。 -.Fl S -オプションで転送サイズを、 -.Fl i -オプションで各ブロックを転送する間隔を (ミリ秒で) 指定可能です。 -どちらもシステム負荷を軽減します。 -.Pp -.It Xo -.Ic stop -.Op Fl f -.Op Ar volume | plex | subdisk -.Xc -パラメータを指定しないと、 -.Ic stop -は -.Nm -kld を削除し、 -.Xr vinum 4 -を停止します。 -活動状態のオブジェクトが存在しない場合のみ、行うことが可能です。 -特に、 -.Fl f -オプションはこの要求に優先しません。 -通常、 -.Ic stop -コマンドは、終了前に現在の設定をディスクへ書き戻します。 -設定の更新が無効になっている場合にはこれはできませんので、 -設定の更新が無効になっている場合には -.Nm -は停止しません。 -これを上書きするには -.Fl f -オプションを指定します。 -.Pp -.Ic stop -コマンドは -.Nm -が kld としてロードされている場合のみ動作します。 -静的に構成されたドライバをアンロードすることはできないからです。 -.Nm -が静的に構成されている場合、 -.Nm Ic stop -は失敗します。 -.Pp -オブジェクト名が指定されると、 -.Ic stop -はそのオブジェクトへのアクセスを無効化します。 -オブジェクトに下位オブジェクトがある場合、 -それらのサブオブジェクトは既に非活動状態 (stop また error) となっているか、 -.Fl r -と -.Fl f -のオプションが指定されていることが必要です。 -このコマンドは、オブジェクトを設定から取り除きません。 -.Ic start -コマンドの後で再度アクセスができるようになります。 -.Pp -デフォルトでは -.Nm -は動作中のオブジェクトは停止しません。例えば、動作中のボリュームに結合 -されているプレックスは停止できないし、オープン中のボリュームは停止できません。 -.Fl f -オプションは -.Nm -にこの確認を省略して無条件に削除するよう指示します。このオプションは -大いに注意し、よく理解した上で使って下さい。もし間違って使うとひどい -データ破壊を起こすことがあります。 -.Pp -.It Xo -.Ic stripe -.Op Fl f -.Op Fl n Ar name -.Op Fl v -.Ar drives -.Xc -.Ic stripe -コマンドは、単一のストライプ化プレックスからなるボリュームを作成する -.Ic create -コマンドの、単純な代替手段です。 -サブディスクの大きさは、 -全ドライブで利用可能な最大の連続空間の大きさです。 -ストライプの大きさは 279 kB に固定されています。 -.Pp -通常、 -.Ic stripe -コマンドは任意の名前をボリュームと構成要素に付けます。 -名前はテキスト -.Dq Li vinum -および小さな整数からなり、例えば -.Dq Li vinum3 -となります。 -ボリュームに対して指定した名前を割り当てる -.Fl n Ar name -オプションで、上書きすることが可能です。 -プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 -.Pp -ドライブの名前には選択の余地はありません。 -ドライブが既に -.Nm -ドライブとして初期化されていた場合、名前はそのままになります。 -そうでない場合、ドライブにはテキスト -.Dq Li vinumdrive -と小さな整数から始まる名前が与えられ、例えば -.Dq Li vinumdrive7 -となります。 -.Ic create -コマンドと同様、 -.Fl f -オプションを使用して、以前の名前の上書きを指定可能です。 -.Fl v -オプションは、冗長な出力のために使用します。 -.Pp -このコマンドの例は、後述の -.Sx 単純な設定 -の節を参照してください。 -.El -.Sh 単純な設定 -この節では、 -.Ic concat , -.Ic mirror , -.Ic stripe -コマンドを使用する、 -.Nm -設定の単純なインタフェースを説明します。 -これらのコマンドは、大概の通常状況では便利な設定を作成しますが、 -.Ic create -コマンド程の柔軟性はありません。 -.Pp -コマンドの解説は前述を参照してください。 -ここでは例を示します。どれも同じディスクを使用しています。 -最初のドライブ -.Pa /dev/da1h -は他のドライブよりも小さいことに注意してください。 -各サブディスクの大きさに影響があります。 -.Pp -次に示す例ではすべて -.Fl v -オプションを使用することにより、システムに渡すコマンドを見せ、 -ボリュームの構造を列挙します。 -.Fl v -オプションを使用しないと、これらのコマンドは何も出力しません。 -.Ss 単一コンカチネート化プレックスのボリューム -単一コンカチネート化プレックスのボリュームを使用し、 -最大のストレージ容量を得ます。 -ただし、ドライブ故障への耐性はありません。 -.Bd -literal -vinum -> concat -v /dev/da1h /dev/da2h /dev/da3h /dev/da4h -volume vinum0 - plex name vinum0.p0 org concat -drive vinumdrive0 device /dev/da1h - sd name vinum0.p0.s0 drive vinumdrive0 size 0 -drive vinumdrive1 device /dev/da2h - sd name vinum0.p0.s1 drive vinumdrive1 size 0 -drive vinumdrive2 device /dev/da3h - sd name vinum0.p0.s2 drive vinumdrive2 size 0 -drive vinumdrive3 device /dev/da4h - sd name vinum0.p0.s3 drive vinumdrive3 size 0 -V vinum0 State: up Plexes: 1 Size: 2134 MB -P vinum0.p0 C State: up Subdisks: 4 Size: 2134 MB -S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB -S vinum0.p0.s1 State: up D: vinumdrive1 Size: 573 MB -S vinum0.p0.s2 State: up D: vinumdrive2 Size: 573 MB -S vinum0.p0.s3 State: up D: vinumdrive3 Size: 573 MB -.Ed -.Pp -この場合、4 ディスクすべての空間を使用し、 -ボリュームの大きさは 2134 MB になります。 -.Ss 単一ストライプ化プレックスのボリューム -単一ストライプ化プレックスのボリュームは -コンカチネート化プレックスよりも性能が良いかもしれません。 -しかし、ストライプ化プレックスの制約により、 -ボリュームは小さいかもしれません。 -これもまたドライブ故障の耐性はありません。 -.Bd -literal -vinum -> stripe -v /dev/da1h /dev/da2h /dev/da3h /dev/da4h -drive vinumdrive0 device /dev/da1h -drive vinumdrive1 device /dev/da2h -drive vinumdrive2 device /dev/da3h -drive vinumdrive3 device /dev/da4h -volume vinum0 - plex name vinum0.p0 org striped 279k - sd name vinum0.p0.s0 drive vinumdrive0 size 849825b - sd name vinum0.p0.s1 drive vinumdrive1 size 849825b - sd name vinum0.p0.s2 drive vinumdrive2 size 849825b - sd name vinum0.p0.s3 drive vinumdrive3 size 849825b -V vinum0 State: up Plexes: 1 Size: 1659 MB -P vinum0.p0 S State: up Subdisks: 4 Size: 1659 MB -S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB -S vinum0.p0.s1 State: up D: vinumdrive1 Size: 414 MB -S vinum0.p0.s2 State: up D: vinumdrive2 Size: 414 MB -S vinum0.p0.s3 State: up D: vinumdrive3 Size: 414 MB -.Ed -.Pp -この場合、サブディスクの大きさは利用できるディスクの最小に制限され、 -ボリュームの大きさは 1659 MB になります。 -.Ss 2 つのコンカチネート化プレックスのミラー化ボリューム -信頼性を向上するため、ミラー化およびボリューム化を使用します: -.Bd -literal -vinum -> mirror -v -n mirror /dev/da1h /dev/da2h /dev/da3h /dev/da4h -drive vinumdrive0 device /dev/da1h -drive vinumdrive1 device /dev/da2h -drive vinumdrive2 device /dev/da3h -drive vinumdrive3 device /dev/da4h -volume mirror setupstate - plex name mirror.p0 org concat - sd name mirror.p0.s0 drive vinumdrive0 size 0b - sd name mirror.p0.s1 drive vinumdrive2 size 0b - plex name mirror.p1 org concat - sd name mirror.p1.s0 drive vinumdrive1 size 0b - sd name mirror.p1.s1 drive vinumdrive3 size 0b -V mirror State: up Plexes: 2 Size: 1146 MB -P mirror.p0 C State: up Subdisks: 2 Size: 988 MB -P mirror.p1 C State: up Subdisks: 2 Size: 1146 MB -S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB -S vinum0.p0.s2 State: up D: vinumdrive2 Size: 414 MB -S vinum0.p0.s1 State: up D: vinumdrive1 Size: 414 MB -S vinum0.p0.s3 State: up D: vinumdrive3 Size: 414 MB -.Ed -.Pp -この例ではボリューム名を -.Ar mirror -と指定しています。 -1 つのドライブの大きさが他のドライブよりも小さいため、 -2 つのプレックスの大きさは異なり、 -ボリュームの最後の 158 MB には耐性がありません。 -このような状況で完全な信頼性を保証するためには、 -.Ic create -コマンドを使用して 988 MB のボリュームを作成します。 -.Ss 2 つのストライプ化プレックスのミラー化ボリューム -今度は、2 つのストライプ化プレックスのミラー化ボリュームを作成するために -.Fl s -オプションを使用します: -.Bd -literal -vinum -> mirror -v -n raid10 -s /dev/da1h /dev/da2h /dev/da3h /dev/da4h -drive vinumdrive0 device /dev/da1h -drive vinumdrive1 device /dev/da2h -drive vinumdrive2 device /dev/da3h -drive vinumdrive3 device /dev/da4h -volume raid10 setupstate - plex name raid10.p0 org striped 279k - sd name raid10.p0.s0 drive vinumdrive0 size 849825b - sd name raid10.p0.s1 drive vinumdrive2 size 849825b - plex name raid10.p1 org striped 279k - sd name raid10.p1.s0 drive vinumdrive1 size 1173665b - sd name raid10.p1.s1 drive vinumdrive3 size 1173665b -V raid10 State: up Plexes: 2 Size: 1146 MB -P raid10.p0 S State: up Subdisks: 2 Size: 829 MB -P raid10.p1 S State: up Subdisks: 2 Size: 1146 MB -S raid10.p0.s0 State: up PO: 0 B Size: 414 MB -S raid10.p0.s1 State: up PO: 279 kB Size: 414 MB -S raid10.p1.s0 State: up PO: 0 B Size: 573 MB -S raid10.p1.s1 State: up PO: 279 kB Size: 573 MB -.Ed -.Pp -この場合、使用可能なボリュームはより小さくなります。 -なぜなら、最小のドライブに適合するように、 -第 1 プレックスが小さくなったためです。 -.Sh 設定ファイル -.Nm -ユーティリティでは、 -.Ic create -コマンドに渡すすべての引数は設定ファイルに入っている必要があります。 -設定ファイルのエントリは、ボリュームやプレックスやサブディスクを定義します。 -エントリは 1 行に 1 つということ以外には決まった書式はありません。 -.Ss スケールファクタ -これらの値は、バイトで指定しても良いですし、 -次のスケールファクタのいずれか 1 つを後に付けても良いです: -.Bl -tag -width indent -.It s -値が 512 バイトのセクタ数であることを示します。 -.It k -値がキロバイト数であることを示します (1024 バイト)。 -.It m -値がメガバイト数であることを示します (1048576 バイト)。 -.It g -値がギガバイト数であることを示します (1073741824 バイト)。 -.It b -.Tn VERITAS -との互換性のために使用します。 -これは、512 バイトのブロック数を意味します。 -.Dq ブロック -という語を別の意味で使用していますので、 -この短縮形は混乱させるものです。 -この短縮形の価値は低下しています。 -代りにキーワード 's' を使用してください。 -.El -.Pp -例えば、16777216 バイトという値は、 -.Em 16m , -.Em 16384k , -.Em 32768s -のいずれの表記も可能です。 -.Pp -設定ファイルには以下のエントリを記述することができます。 -.Pp -.Bl -tag -width 4n -.It Ic drive Ar name devicename Op Ar options -ドライブを定義します。オプションは次の通りです: -.Bl -tag -width 18n -.It Cm device Ar devicename -ドライブが乗るデバイスを指定します。 -.Ar devicename -は、例えば -.Pa /dev/da1e -や -.Pa /dev/ad3s2h -といったパーティションである必要があり、タイプ -.Em vinum -である必要があります。 -.Dq Li c -パーティションを使用してはなりません。 -これはディスク全体のために予約されているからです。 -.It Cm hotspare -ドライブを -.Dq ホットスペア -ドライブであると定義します。 -これは、故障したドライブと自動的に交換するために管理されます。 -.Nm -ユーティリティはこのドライブを他の用途に使用することを許しません。 -特に、サブディスクをこの上に作成できません。 -この機能はまだ完全には実装されていません。 -.El -.It Ic volume Ar name Op Ar options -.Ar name -という名前でボリュームを定義します。 -オプションには次のものがあります。 -.Bl -tag -width 18n -.It Cm plex Ar plexname -指定したプレックスをボリュームに追加します。 -.Ar plexname -が -.Cm * -として指定されると、 -.Nm -は設定ファイル中のボリューム定義の後で、次の妥当なエントリとなり得るプレックス -の定義を捜します。 -.It Cm readpol Ar policy -ボリュームの -.Em read policy -(読み込み方針) を定義します。 -.Ar policy -は -.Cm round -か -.Cm prefer Ar plexname -のどちらかです。 -.Nm -ユーティリティは読み込み要求を、ただ 1 つのプレックスによって満たします。 -.Cm round -読み込み方針は、読み込みを別々のプレックスから -.Em ラウンドロビン -方式で -行うように指定します。 -.Ar prefer -読み込み方針では、指定したプレックスから毎回読み込みを行います。 -.It Cm setupstate -マルチプレックスボリュームを作成する際に、すべてのプレックスの内容に一貫性が -あると仮定します。通常こうなることはないため、デフォルトでは、 -最初のプレックスを除いたすべてのプレックスを -.Em faulty -状態に設定します。 -.Ic start -コマンドを使って、最初に一貫性のある状態にする必要があります。しかし -ストライプ化プレックスとコンカチネート化プレックスの場合には、普通は一貫性が -ないままでも問題にはなりません。ボリュームをファイルシステムや -スワップパーティションとして使う場合にはディスク上の以前の内容は -どうでもよいため、それは無視されます。この危険を受け入れる場合には、 -.Cm setupstate -キーワードを使って下さい。 -設定ファイル中でボリュームの直後で定義されるプレックスに対してのみ -適用されます。 -後でプレックスをボリュームに追加する場合には、 -これらのプレックスを -.Ic start -コマンドで統合する必要があります。 -.Pp -RAID-5 プレックスには -.Ic init -を使うことが -.Em 必要 -なことに注意して下さい。さもないと -1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 -.El -.It Ic plex Op Ar options -プレックスを定義します。ボリュームとは違い、名前の指定は不要です。 -オプションには次のものを指定可能です: -.Bl -tag -width 18n -.It Cm name Ar plexname -プレックスの名前を指定します。プレックスやサブディスクに名前をつける場合には -.Cm name -キーワードが必要になることに注意して下さい。 -.It Cm org Ar organization Op Ar stripesize -プレックスの編成を指定します。 -.Ar organization -は -.Cm concat -か -.Cm striped -か -.Cm raid5 -のいずれかです。 -.Cm striped -と -.Cm raid5 -のプレックスに対しては -.Ar stripesize -引数を指定する必要がありますが、 -.Cm concat -のプレックスに対しては省略する必要があります。 -.Ar striped -タイプについては各ストライプの幅を指定します。 -.Ar raid5 -については、グループの大きさを指定します。 -グループとはプレックスの一部分であり、 -同じサブディスクに入っているすべてのデータのパリティが入っています。 -それはプレックスの大きさの約数である必要があり -(つまり、プレックスの大きさをストライプの大きさで割ったものは -整数である必要があり)、 -ディスクセクタ長 (512バイト) の倍数である必要があります。 -.Pp -最適な性能のためには、ストライプの大きさは少なくとも 128kB であるべきです。 -これより小さくすると、 -個々のリクエストが複数のディスクに対して割り当てられることにより、 -I/O のアクティビティが非常に増加します。 -本マッピングによる並行転送数増加に起因する性能向上は、 -レイテンシ増加に起因する性能劣化を引き起しません。 -ストライプの大きさの目安は、256 kB から 512 kB の間です。 -2 の羃乗は避けるべきです。 -2 の羃乗を使用すると、すべてのスーパブロックを -最初のサブディスクに置く傾向があるからです。 -単純なコマンドでは、ストライプの大きさに 279 kB を使用するため、 -スーパブロックが適度に分散されます。 -.Pp -ストライプ化プレックスは最低 2 つのサブディスクを持つ必要がありますし -(そうでないとコンカチネート化プレックスになります)、 -それぞれは同じ大きさである必要があります。 -RAID-5 プレックスは最低 3 つのサブディスクを持つ必要があり、 -それぞれは同じ大きさである必要があります。 -実際には RAID-5 プレックスは最低 5 つのサブディスクから構成されるべきです。 -.It Cm volume Ar volname -プレックスを、指定したボリュームに追加します。 -.Cm volume -キーワードが指定されないと、プレックスは設定ファイル中の最後に記述された -ボリュームに追加されます。 -.It Cm sd Ar sdname offset -指定したサブディスクをプレックスの -.Ar offset -の位置に追加します。 -.El -.It Ic subdisk Op Ar options -サブディスクを定義します。オプションには次のものを指定可能です: -.Bl -hang -width 18n -.It Cm name Ar name -サブディスクの名前を指定します。これは必ずしも指定する必要は -ありません。 -上記の -.Sx オブジェクトの命名 -を参照してください。 -サブディスクに名前をつける場合には -.Cm name -キーワードを指定する必要があることに注意して下さい。 -.It Cm plexoffset Ar offset -プレックス内のサブディスクの始点を指定します。指定がないと、 -.Nm -はすでにサブディスクがあればその直後の領域を割り当て、なければ -プレックスの先頭から割り当てます。 -.It Cm driveoffset Ar offset -ドライブ内のサブディスクの始点を指定します。指定がないと、 -.Nm -はドライブ中で最初の -.Ar length -バイト連続の空き領域を割り当てます。 -.It Cm length Ar length -サブディスクの大きさを指定します。このキーワードは必須です。 -デフォルト値はありません。 -値 0 を指定すると、 -.Dq ドライブ上で最大限利用可能な連続空き領域を使用 -という意味になります。 -ドライブが空の場合、サブディスクとしてドライブ全体を使用することを意味します。 -.Cm length -は -.Cm len -と短縮することもできます。 -.It Cm plex Ar plex -サブディスクが属すプレックスを指定します。デフォルトでは、サブディスクは -最後に記述されたプレックスに属します。 -.It Cm drive Ar drive -サブディスクが乗るドライブを指定します。デフォルトでは最後に記述された -ドライブ上に位置します。 -.It Cm retryerrors -回復不能エラーが発生しても、サブディスクがダウンとみなさないように指定します。 -通常、 -.Nm -は、回復不能エラーが発生すると、サブディスク全体をアクセス不能とします。 -.El -.El -.Sh 設定ファイル例 -.Bd -literal -# vinum 設定ファイル例 -# -# ドライブ -drive drive1 device /dev/da1h -drive drive2 device /dev/da2h -drive drive3 device /dev/da3h -drive drive4 device /dev/da4h -drive drive5 device /dev/da5h -drive drive6 device /dev/da6h -# 1 つのストライプ化プレックスをもつボリューム -volume tinyvol - plex org striped 279k - sd length 64m drive drive2 - sd length 64m drive drive4 -volume stripe - plex org striped 279k - sd length 512m drive drive2 - sd length 512m drive drive4 -# 2 つのプレックス -volume concat - plex org concat - sd length 100m drive drive2 - sd length 50m drive drive4 - plex org concat - sd length 150m drive drive4 -# 1 つのストライプ化プレックスと 1 つのコンカチネート化プレックスを持つボリューム -volume strcon - plex org striped 279k - sd length 100m drive drive2 - sd length 100m drive drive4 - plex org concat - sd length 150m drive drive2 - sd length 50m drive drive4 -# 1 つの RAID-5 プレックスと 1 つのストライプ化プレックスを持つボリューム -# RAID-5 ボリュームの方が 1 つのサブディスク分だけ大きいことに注意 -volume vol5 - plex org striped 491k - sd length 1000m drive drive2 - sd length 1000m drive drive4 - plex org raid5 273k - sd length 500m drive drive1 - sd length 500m drive drive2 - sd length 500m drive drive3 - sd length 500m drive drive4 - sd length 500m drive drive5 -.Ed -.Sh ドライブレイアウト上の考慮点 -現在、 -.Nm -ドライブは -.Bx -ディスクパーティションです。それは -他の用途で使用されているデータの上書きを避けるために -.Em vinum -タイプである必要があります。 -.Nm disklabel Fl e -を使用して、パーティションタイプ定義を編集してください。 -次の表示は、 -.Xr disklabel 8 -が示す典型的なパーティションレイアウトです: -.Bd -literal -8 partitions: -# size offset fstype [fsize bsize bps/cpg] - a: 81920 344064 4.2BSD 0 0 0 # (Cyl. 240*- 297*) - b: 262144 81920 swap # (Cyl. 57*- 240*) - c: 4226725 0 unused 0 0 # (Cyl. 0 - 2955*) - e: 81920 0 4.2BSD 0 0 0 # (Cyl. 0 - 57*) - f: 1900000 425984 4.2BSD 0 0 0 # (Cyl. 297*- 1626*) - g: 1900741 2325984 vinum 0 0 0 # (Cyl. 1626*- 2955*) -.Ed -.Pp -この例では、パーティション -.Dq Li g -を -.Nm -パーティションとして使用可能です。パーティション -.Dq Li a , -.Dq Li e , -.Dq Li f -は、 -.Em UFS -ファイルシステムまたは -.Em ccd -パーティションとして使用可能です。パーティション -.Dq Li b -はスワップパーティションであり、パーティション -.Dq Li c -はディスク全体を表現するため他の用途に使用できません。 -.Pp -.Nm -ユーティリティは各パーティションの先頭から 265 セクタを設定情報に使用するため、 -サブディスクの最大の大きさはドライブよりも 265 セクタ小さくなります。 -.Sh ログファイル -.Nm -ユーティリティはログファイルを管理します。 -ログファイルは、デフォルトでは -.Pa /var/log/vinum_history -であり、 -.Nm -に対して発行したコマンドの履歴を保持します。 -環境変数 -.Ev VINUM_HISTORY -をファイルの名前に設定することにより、 -このファイルの名前をオーバライド可能です。 -.Pp -ログファイル中のメッセージの前には日付が付きます。 -デフォルトの書式は -.Qq Li %e %b %Y %H:%M:%S -です。書式の文字列に関するさらなる詳細については -.Xr strftime 3 -を参照してください。 -これは環境変数 -.Ev VINUM_DATEFORMAT -でオーバライド可能です。 -.Sh VINUM 設定法 -本節では、 -.Nm -システムの実装方法に関する、現実的なアドバイスを行います。 -.Ss データを何処に置くか -まず決定が必要な選択は、データを何処に置くかです。 -.Nm -専用のディスクパーティションが必要です。 -これらは、デバイスやパーティション -.Dq Li c -ではなく、パーティションであるべきです。 -例えば、適切な名前とは、 -.Pa /dev/da0e -や -.Pa /dev/ad3s4a -です。 -不適切な名前とは、パーティションではなくデバイスを表現する -.Pa /dev/da0 , -.Pa /dev/da0s1 -や、ディスク全体を表現しタイプ -.Em unused -であるべき -.Pa /dev/ad1c -です。 -前述の、 -.Sx ドライブレイアウト上の考察点 -下にある使用例を参照してください。 -.Ss ボリュームのデザイン -.Nm -ボリュームの設定方法は、あなたの意図に依存します。 -次のように多くの可能性があります: -.Bl -enum -.It -多くの小さなディスクを結合して、 -適切な大きさのファイルシステムを作成したいと考えるかもしれません。 -例えば、小さなディスクを 5 個持っていて、 -全空間を単一ボリュームとして使用したい場合、次のような設定ファイルを書きます: -.Bd -literal -offset indent -drive d1 device /dev/da2e -drive d2 device /dev/da3e -drive d3 device /dev/da4e -drive d4 device /dev/da5e -drive d5 device /dev/da6e -volume bigger - plex org concat - sd length 0 drive d1 - sd length 0 drive d2 - sd length 0 drive d3 - sd length 0 drive d4 - sd length 0 drive d5 -.Ed -.Pp -この場合、サブディスクの長さを 0 と指定します。 -これは、 -.Dq ドライブ上にある空き空間のうち、最大領域を使用する -ことを意味します。 -指定するサブディスクが、ドライブ上の唯一のサブディスクである場合、 -このサブディスクは使用可能な空間全体を使用します。 -.It -ディスク故障に対する追加の回復力 (レジリエンス; resilience) を -.Nm -に与えたい場合を考えます。 -選択肢としては、 -.Dq ミラーリング -とも呼ばれる RAID-1 か、 -.Dq パリティ -とも呼ばれる RAID-5 があります。 -.Pp -ミラーリングの設定のためには、 -単一ボリュームの中に複数のプレックスを作成する必要があります。 -例えば、 2 GB のミラー化ボリュームを作成するには、 -次のような設定ファイルを作成します: -.Bd -literal -offset indent -drive d1 device /dev/da2e -drive d2 device /dev/da3e -volume mirror - plex org concat - sd length 2g drive d1 - plex org concat - sd length 2g drive d2 -.Ed -.Pp -ミラー化ドライブを作成するときには、 -各プレックスからのデータが、 -違う物理ディスク上にあることを保証することが重要です。 -これにより、単一ドライブ故障においても、 -.Nm -はボリュームの完全なアドレス空間にアクセス可能となります。 -各プレックスが、 -完全なボリュームと同じだけのデータを必要とすることに注意してください: -この例では、ボリュームは 2 GB の大きさですが、各プレックス (と各サブディスク) -は 2 GB を必要としますので、全体のディスクストレージ要求は 4 GB となります。 -.Pp -RAID-5 の設定をするには、タイプ -.Cm raid5 -の単一プレックスを作成します。 -例えば、回復力を持つ 2 GB に相当するボリュームを作成するには、 -次のような設定ファイルを使用します: -.Bd -literal -offset indent -drive d1 device /dev/da2e -drive d2 device /dev/da3e -drive d3 device /dev/da4e -drive d4 device /dev/da5e -drive d5 device /dev/da6e -volume raid - plex org raid5 433k - sd length 512m drive d1 - sd length 512m drive d2 - sd length 512m drive d3 - sd length 512m drive d4 - sd length 512m drive d5 -.Ed -.Pp -RAID-5 プレックスは、最低 3 個のサブディスクを必要とします。 -これらのうち 1 個には、パリティ情報を格納するので、 -データストレージとしては使用しません。 -より多くのディスクを使用すると、 -より多くの割合のディスクストレージを、 -データストレージとして使用可能となります。 -この例では、総ストレージ使用量は 2.5 GB です。 -これに対し、ミラー設定での総ストレージ使用量は 4 GB です。 -最小の 3 個のディスクだけを使用する場合、 -情報格納のために次のように 3 GB を必要とします: -.Bd -literal -offset indent -drive d1 device /dev/da2e -drive d2 device /dev/da3e -drive d3 device /dev/da4e -volume raid - plex org raid5 433k - sd length 1g drive d1 - sd length 1g drive d2 - sd length 1g drive d3 -.Ed -.Pp -ミラー化ドライブを作成するときには、 -各サブディスクからのデータが、 -違う物理ディスク上にあることを保証することが重要です。 -これにより、単一ドライブ故障においても、 -.Nm -はボリュームの完全なアドレス空間にアクセス可能となります。 -.It -また、 -.Nm -の設定により、 -ファイルシステムへのアクセスの並行性を増したいと考えるかもしれません。 -多くの場合、単一のファイルシステムへのアクセスは、 -ディスク速度により制限されます。 -ボリュームを複数のディスクに分散することにより、 -複数アクセス環境でのスループットを増すことが可能です。 -この技術は、単一アクセス環境では、 -ほとんど効果がないかまったく効果がありません。 -.Nm -ユーティリティは -.Dq ストライピング -または RAID-0 とも呼ばれる技術を使用し、アクセスの並行性を増します。 -RAID-0 という名称は誤解を生じさせるものです: -なぜなら、ストライピングは冗長性も更なる信頼性も提供しないからです。 -実際、信頼性は低下します。 -なぜなら、単一ディスクの故障はボリュームを使用不可とし、 -多くのディスクを使うほどこれらのうち 1 個が故障する確率は増加するからです。 -.Pp -ストライピングの実装のためには、 -.Cm striped -(ストライプ化) プレックスを使用します: -.Bd -literal -offset indent -drive d1 device /dev/da2e -drive d2 device /dev/da3e -drive d3 device /dev/da4e -drive d4 device /dev/da5e -volume raid - plex org striped 433k - sd length 512m drive d1 - sd length 512m drive d2 - sd length 512m drive d3 - sd length 512m drive d4 -.Ed -.Pp -ストライプ化プレックスの最低サブディスク数は 2 個です。 -多くのディスクを使用するほど、性能が向上します。 -.It -両方の最良点を得ることにより、回復力と性能の両方を得ることを考えます。 -これは、RAID-10 (RAID-1 と RAID-0 の組み合わせ) と呼ばれることがあります。 -この名称もまた誤解を生じさせるものです。 -.Nm -では、次のような設定ファイルを使用可能です: -.Bd -literal -offset 4n -drive d1 device /dev/da2e -drive d2 device /dev/da3e -drive d3 device /dev/da4e -drive d4 device /dev/da5e -volume raid setupstate - plex org striped 433k - sd length 512m drive d1 - sd length 512m drive d2 - sd length 512m drive d3 - sd length 512m drive d4 - plex org striped 433k - sd length 512m drive d4 - sd length 512m drive d3 - sd length 512m drive d2 - sd length 512m drive d1 -.Ed -.Pp -ここでは、プレックスはストライプ化され、性能を向上しています。 -そして、このようなプレックスが 2 個あり、回復力を向上しています。 -この例で、2 番目のプレックスのサブディスクの順番が、 -1 番目のプレックスの逆になっていることに注意してください。 -これは性能のためであり、後で議論します。 -更に、ボリューム指定にキーワード -.Cm setupstate -を含み、全プレックスが作成後に -.Em up -となることを保証しています。 -.El -.Ss ボリュームの作成 -ひとたび設定ファイルを作成した後は、 -.Nm -を起動し、ボリュームを作成します。 -この例では、設定ファイルは -.Pa configfile -です: -.Bd -literal -offset 2n -# vinum create -v configfile - 1: drive d1 device /dev/da2e - 2: drive d2 device /dev/da3e - 3: volume mirror - 4: plex org concat - 5: sd length 2g drive d1 - 6: plex org concat - 7: sd length 2g drive d2 -Configuration summary - -Drives: 2 (4 configured) -Volumes: 1 (4 configured) -Plexes: 2 (8 configured) -Subdisks: 2 (16 configured) - -Drive d1: Device /dev/da2e - Created on vinum.lemis.com at Tue Mar 23 12:30:31 1999 - Config last updated Tue Mar 23 14:30:32 1999 - Size: 60105216000 bytes (57320 MB) - Used: 2147619328 bytes (2048 MB) - Available: 57957596672 bytes (55272 MB) - State: up - Last error: none -Drive d2: Device /dev/da3e - Created on vinum.lemis.com at Tue Mar 23 12:30:32 1999 - Config last updated Tue Mar 23 14:30:33 1999 - Size: 60105216000 bytes (57320 MB) - Used: 2147619328 bytes (2048 MB) - Available: 57957596672 bytes (55272 MB) - State: up - Last error: none - -Volume mirror: Size: 2147483648 bytes (2048 MB) - State: up - Flags: - 2 plexes - Read policy: round robin - -Plex mirror.p0: Size: 2147483648 bytes (2048 MB) - Subdisks: 1 - State: up - Organization: concat - Part of volume mirror -Plex mirror.p1: Size: 2147483648 bytes (2048 MB) - Subdisks: 1 - State: up - Organization: concat - Part of volume mirror - -Subdisk mirror.p0.s0: - Size: 2147483648 bytes (2048 MB) - State: up - Plex mirror.p0 at offset 0 - -Subdisk mirror.p1.s0: - Size: 2147483648 bytes (2048 MB) - State: up - Plex mirror.p1 at offset 0 -.Ed -.Pp -.Fl v -フラグは、設定に従ってファイルをリストするよう、 -.Nm -に指示します。その後、 -.Ic list Fl v -コマンドと同じ書式で、現在の設定をリストします。 -.Ss より多くのボリュームを作成する -ひとたび -.Nm -ボリュームを作成した後は、 -.Nm -はこれらの情報を内部の設定ファイルにて管理します。 -再度作成する必要はありません。 -特に、 -.Ic create -コマンドを再実行すると、追加のオブジェクトを作ることになります: -.Bd -literal -# vinum create sampleconfig -Configuration summary - -Drives: 2 (4 configured) -Volumes: 1 (4 configured) -Plexes: 4 (8 configured) -Subdisks: 4 (16 configured) - -D d1 State: up Device /dev/da2e Avail: 53224/57320 MB (92%) -D d2 State: up Device /dev/da3e Avail: 53224/57320 MB (92%) - -V mirror State: up Plexes: 4 Size: 2048 MB - -P mirror.p0 C State: up Subdisks: 1 Size: 2048 MB -P mirror.p1 C State: up Subdisks: 1 Size: 2048 MB -P mirror.p2 C State: up Subdisks: 1 Size: 2048 MB -P mirror.p3 C State: up Subdisks: 1 Size: 2048 MB - -S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB -S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB -S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB -S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB -.Ed -.Pp -この例では (今回は -.Fl f -フラグを付けています)、 -.Ic create -の再実行により 4 個の新規プレックスを作成し、 -それぞれが新規サブディスクを持ちます。 -他のボリュームを追加したい場合、これらのための新規設定ファイルを作成します。 -.Nm -が既に知っているドライブを参照する必要はありません。 -例えば、ボリューム -.Pa raid -を 4 個のディスク -.Pa /dev/da1e , -.Pa /dev/da2e , -.Pa /dev/da3e , -.Pa /dev/da4e -上に作成するには、他の 2 個についてのみ記述するだけで良いです: -.Bd -literal -offset indent -drive d3 device /dev/da1e -drive d4 device /dev/da4e -volume raid - plex org raid5 433k - sd size 2g drive d1 - sd size 2g drive d2 - sd size 2g drive d3 - sd size 2g drive d4 -.Ed -.Pp -この設定ファイルでは、次のようになります: -.Bd -literal -# vinum create newconfig -Configuration summary - -Drives: 4 (4 configured) -Volumes: 2 (4 configured) -Plexes: 5 (8 configured) -Subdisks: 8 (16 configured) - -D d1 State: up Device /dev/da2e Avail: 51176/57320 MB (89%) -D d2 State: up Device /dev/da3e Avail: 53220/57320 MB (89%) -D d3 State: up Device /dev/da1e Avail: 53224/57320 MB (92%) -D d4 State: up Device /dev/da4e Avail: 53224/57320 MB (92%) - -V mirror State: down Plexes: 4 Size: 2048 MB -V raid State: down Plexes: 1 Size: 6144 MB - -P mirror.p0 C State: init Subdisks: 1 Size: 2048 MB -P mirror.p1 C State: init Subdisks: 1 Size: 2048 MB -P mirror.p2 C State: init Subdisks: 1 Size: 2048 MB -P mirror.p3 C State: init Subdisks: 1 Size: 2048 MB -P raid.p0 R5 State: init Subdisks: 4 Size: 6144 MB - -S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB -S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB -S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB -S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB -S raid.p0.s0 State: empty PO: 0 B Size: 2048 MB -S raid.p0.s1 State: empty PO: 433 kB Size: 2048 MB -S raid.p0.s2 State: empty PO: 866 kB Size: 2048 MB -S raid.p0.s3 State: empty PO: 1299 kB Size: 2048 MB -.Ed -.Pp -RAID-5 プレックスの大きさに注意してください: -6 GB しかありませんが、 -これを構成するためにディスク空間を 8 GB 使用しています。 -これは、サブディスク 1 個分相当をパリティデータ格納に使用しているからです。 -.Ss Vinum の再起動 -システムのリブート時に、 -.Ic start -コマンドで -.Nm -を起動します: -.Pp -.Dl "# vinum start" -.Pp -これにより、システム中の全 -.Nm -ドライブが起動します。 -なんらかの理由で一部のドライブのみを起動したい場合、 -.Ic read -コマンドを使用してください。 -.Ss 性能関連 -最高性能の RAID アレイ設定に関する、多くの誤った考えが存在しています。 -特に、ほとんどのシステムで使用しているストライプの大きさは、小さ過ぎます。 -以降の議論は、 -.Nm -だけでなく、全 RAID システムにあてはまります。 -.Pp -.Fx -のブロック I/O システムは、.5 kB から 128 kB までの要求を発行します; -.\" mix = workload mix ? -典型的なミックスでは、ほぼ 8 kB です。 -どんなストライピングシステムにおいても、 -ある要求が 2 個の物理要求に分割されることを避けることはできませんし、 -ストライプを十分細かくするならばより多くに分割されてしまいます。 -これにより、甚大な性能劣化となります: -ディスクあたりの転送時間の削減は、 -より大きなオーダで増加するレイテンシによって相殺されてしまいます。 -.Pp -最近のディスクの大きさと -.Fx -のブロック I/O システムでは、 -ストライプの大きさを 256 kB から 512 kB にすると、 -適度に少数な要求に分割されることを期待できます; -正しい RAID の実装では、 -大きなディスクでのストライプの大きさを 2 または 4 MB に増さない -明確な理由はありません。 -.Pp -ストライプサイズを選択するときには、 -最新の UFS ファイルシステムのシリンダグループの大きさは 32 MB であることを -認識していてください。 -ストライプサイズとディスク数が共に 2 の累乗の場合、 -すべてのスーパブロックと inode が同一のサブディスクに置かれる可能性があります。 -これは、性能に重大な影響を与えます。 -代りに奇数、例えば 479 kB を選択してください。 -.Pp -複数アクセスシステムでの転送のインパクトを考えるためのもっとも容易な方法は、 -潜在的なボトルネック、すなわちディスクサブシステムの観点から見ることです: -つまり、転送に要するディスク時間の総計はいくらか?です。 -ほとんどすべてがキャッシュされているので、 -要求と完了との時間的な関係はそれほど重要ではありません: -重要なパラメータは、要求がディスクを活動状態にする総時間であり、 -この間ディスクは他の転送ができなくなります。 -この結果、転送が同時に発生しても違う時に発生しても、 -実際には問題とはなりません。 -実際的には、我々が見ている時間は、レイテンシの総和 (位置決定時間と回転遅延、 -言い替えるとデータがディスクヘッド下に来るまでの時間) と総転送時間です。 -同じ速度のディスクへの転送においては、 -転送時間は転送の大きさの合計のみに依存します。 -.Pp -24 kB の典型的なニュースの記事やウェブページを考えると、 -これは 1 回の I/O で読み込めます。 -ディスクが転送レート 6 MB/s で平均位置決定時間 8 ms であり、 -ファイルシステムを 4 kB ブロックであるとします。 -24 kB ですから、断片化を考慮する必要はなく、 -ファイルは 4 kB 境界から開始します。 -必要な転送回数はブロック開始位置に依存します: -式は (S + F - 1) / S となり、 -S はファイルシステムブロック数でのストライプの大きさ、 -F はファイルシステムブロック数でのファイルの大きさです。 -.Bl -enum -.It -ストライプの大きさは 4 kB。転送回数は 6 回。 -サブシステムの負荷: レイテンシ 48 ms、転送 2 ms、合計 50 ms。 -.It -ストライプの大きさは 8 kB。転送回数は 3.5 回。 -サブシステムの負荷: レイテンシ 28 ms、転送 2 ms、合計 30 ms。 -.It -ストライプの大きさは 16 kB。転送回数は 2.25 回。 -サブシステムの負荷: レイテンシ 18 ms、転送 2 ms、合計 20 ms。 -.It -ストライプの大きさは 256 kB。平均転送回数は 1.08 回。 -サブシステムの負荷: レイテンシ 8.6 ms、転送 2 ms、合計 10.6 ms。 -.It -ストライプの大きさは 4 MB。平均転送回数は 1.0009 回。 -サブシステムの負荷: レイテンシ 8.01 ms、転送 2 ms、合計 10.01 ms。 -.El -.Pp -ハードウェア RAID システムによっては、 -大きなストライプでは問題があるものがあるようです: -このようなシステムでは完全なストライプを常にディスクとの間で転送するようで、 -大きなストライプは性能に逆効果となります。 -.Nm -ユーティリティではこの問題の被害を受けません: -すべてのディスク転送を最適化し、不要なデータを転送しないからです。 -.Pp -良く知られたベンチマークプログラムで真の複数アクセス状態 -(100 を越える同時ユーザ) をテストするものはないので、 -この主張の正しさを証明することは困難であることに注意してください。 -.Pp -これらのことを考えると、次の事項が -.Nm -ボリュームの性能に影響します: -.Bl -bullet -.It -ストライピングは、複数アクセスのみの性能を向上します。 -各要求が違うディスク上にある確率が増加するからです。 -.It -複数ドライブにまたがるコンカチネート化 UFS ファイルシステムもまた、 -複数ファイルアクセスの性能を向上します。 -UFS は、ファイルシステムをシリンダグループに分割し、 -ファイルを単一のシリンダグループに置こうとするからです。 -一般的に、ストライピングほどは効果がありません。 -.It -ミラーリングは、読み込み複数アクセスの性能を向上可能です。 -デフォルトでは -.Nm -は、連続する複数の読み込みを、 -連続する複数のプレックスに対して発行するからです。 -.It -ミラーリングは、複数アクセスか単一アクセスかに関わらず、 -すべての書き込みの性能を劣化させます。 -両方のプレックスに対し、データを書き込む必要があるからです。 -これが、前述のミラーリング設定におけるサブディスクのレイアウトの説明です: -各プレックス中の対応するサブディスクが別の物理ディスクにある場合、 -書き込みコマンドは並列に発行可能です。 -しかし、同じ物理ディスクにある場合、逐次的に実行されてしまいます。 -.It -RAID-5 の読み込みは、 -ストライプ化の読み込みと本質的に同じ考慮すべき点があります。 -ただし、ストライプ化プレックスがミラー化ボリュームの一部である場合を除きます。 -この場合、ミラー化ボリュームの方が性能が良くなります。 -.It -RAID-5 の書き込みは、ストライプ化の書き込みの約 25% の速度です: -書き込みを行うには、 -.Nm -はまずデータブロックと対応するパリティブロックを読み込み、 -いくばくかの計算を行い、 -パリティブロックとデータブロックを書き戻す必要がありますので、 -ストライプ化プレックスに対する書き込みの 4 倍の転送回数となります。 -一方、これはミラーリングのコストにより相殺されますので、 -単一 RAID-5 プレックスのボリュームへの書き込みは、 -2 個のストライプ化プレックスからなる正しく設定されたボリュームへの -書き込み速度の半分となります。 -.It -.Nm -の設定が変わると -(例えば、オブジェクトの追加や削除、またはオブジェクトの状態変更)、 -.Nm -は 128 kB までの更新された設定を各ドライブに書き込みます。 -ドライブ数が増加すると、この時間が長くなります。 -.El -.Ss Vinum ボリューム上にファイルシステムを作成する -.Nm -ボリューム上にファイルシステムを作成する前に -.Xr disklabel 8 -を実行する必要はありません。 -.Xr newfs 8 -だけを実行してください。 -.Fl v -オプションを使用して、 -デバイスがパーティションに分割されないようにしてください。 -例えば、ボリューム -.Pa mirror -上にファイルシステムを作成するには、次のコマンドを入力します: -.Pp -.Dl "# newfs -v /dev/vinum/mirror" -.Pp -.Nm -の設定に関係する数個のその他のことがらがあります: -.Bl -bullet -.It -複数のドライブを単一ディスク上に作成しても、利益はありません。 -各ドライブは 131.5 kB のデータをラベルと設定情報に使用し、 -設定変更時に性能が劣化します。 -適切な大きさのサブディスクを使用してください。 -.It -コンカチネート化 -.Nm -プレックスの大きさを増すことはできますが、 -現在のところストライプ化プレックスと RAID-5 プレックスでは増せません。 -現在のところ既存の UFS ファイルシステムの大きさを増すこともできません。 -プレックスおよびファイルシステムを拡張可能とする計画はあります。 -.El -.Sh 状態管理 (STATE MANAGEMENT) -Vinum オブジェクトは -.Em state -の概念を持ちます。 -詳細は -.Xr vinum 4 -を参照して下さい。もしそれらの状態が -.Em up -なら、それらは完全にアクセス可能なだけです。 -オブジェクトの状態を -.Em up -に変更するには -.Ic start -コマンドを使います。オブジェクトの状態を -.Em down -に変更するには -.Ic stop -コマンドを使います。 -通常、他の状態はオブジェクト間の関係によって自動的に作られます。 -例えば、もしあなたがボリュームにプレックスを追加したら、プレックスの -サブディスクは、ハードウェアがアクセス可能であるけれども、サブディスク上の -データは不正であることを示す -.Em empty -状態に設定されるでしょう。この状態の結果として、プレックスは -.Em faulty -状態に設定されるでしょう。 -.Ss `reviving' 状態 -多くの場合、あなたがサブディスクを起動する時に、システムはサブディスクに -データをコピーしなければなりません。 -サブディスクの大きさによりますが、これは長い時間かかります。この間、 -サブディスクは -.Em reviving -状態に設定されます。コピー操作が正しく終了すれば、それは自動的に -.Em up -状態に設定されます。 -プロセスが、回復 (revive) を停止させ、そして再開させることがあります。 -システムはサブディスクの回復の進み具合を保持し、そして -.Ic start -コマンドが再発行された時、その時点からコピーを再開します。 -.Pp -ボリュームのプレックスが一つ以上が回復している間はボリュームの整合性を -保つために、 -.Nm -は書き込む場所まで回復させたサブディスクに書きます。もし読みとる領域が -すでに回復しているならば、プレックスから読み出すことができます。 -.Sh 分かりにくい仕様 (GOTCHAS) -次の事柄はバグではありませんし、存在する理由があるのですが、 -混乱を引き起こすものです。 -各項目は適切な節において議論されています。 -.Bl -enum -.It -.Nm -ドライブは -.Ux -ディスクパーティションであり、パーティションタイプ -.Em vinum -であることが必要です。 -これは、パーティションタイプが -.Em 4.2BSD -であることを期待する -ccd -とは異なります。 -この -.Nm ccd -の動作は、自分の足元をすくうことになります: -.Nm ccd -では、容易にファイルシステムを上書きできてしまいます。 -.Nm -ユーティリティではそのようなことは許しません。 -.Pp -同様の理由で、 -.Nm Ic start -コマンドは、パーティション -.Dq Li c -上のドライブを受け付けません。 -パーティション -.Dq Li c -は、ディスク全体を表現するためにシステムが使用し、タイプ -.Em unused -である必要があります。 -ここには明確な矛盾があるので、 -.Dq Li c -パーティションを使用しないことにより -.Nm -は問題を解決しています。 -.It -複数のプレックスからなるボリューム作成時に、 -.Nm -はプレックスを自動的には初期化しません。 -これは、内容については分からなくても、 -これらの間には確かに一貫性がないということを意味しています。 -その結果デフォルトでは、 -新規作成されたプレックスのうち最初のものを除いたすべての状態を、 -.Nm -は -.Em faulty -(誤り) 状態に設定します。 -これらを最初のプレックスと同期させるには、 -これらのサブディスクを -.Ic start -させる必要があります。 -これにより、 -.Em up -状態のプレックスから -.Nm -にデータをコピーさせます。 -関係するサブディスクの大きさに依存して、必要な時間は長くなり得ます。 -.Pp -実際上は、プレックス作成時にその内容に多大な興味を持つ人はいないので、 -他のボリュームマネージャはどんなときでも -.Em up -に設定して騙します。 -.Nm -ユーティリティは、新規作成されたプレックスが -.Em up -状態であることを保証するために、2 つの方法を提供します: -.Bl -bullet -.It -プレックスを作成し、それらを -.Nm Ic start -で同期します。 -.It -キーワード -.Cm setupstate -付きでボリューム (プレックスではありません) を作成します。 -このキーワードは、矛盾が存在しても無視してプレックスの状態を -.Em up -状態にするように、 -.Nm -に指示します。 -.El -.It -現在 -.Nm -がサポートしているコマンドには、実際には不要なものがあります。 -私には理解できない理由があるのでしょうが、 -.Ic label -および -.Ic resetconfig -のコマンドを使おうとするユーザをしばしば見掛けます。特に -.Ic resetconfig -は、あらゆる種類の恐しいメッセージを表示するにもかかわらずです。 -正当な理由無しに、これらのコマンドを使わないでください。 -.It -状態遷移には非常に分り難いものがあります。 -事実、これがバグであるのか仕様であるのかは明かではありません。 -.Em reborn -サブディスクなどの、奇妙な状態になったオブジェクトを起動できない場合には、 -.Ic stop -または -.Ic stop Fl f -のコマンドを使用して、まず -.Em stopped -状態に遷移させてください。 -これが上手くいけば、オブジェクトを起動できるはずです。 -簡単な方法では上手くいかなくて、これが唯一の回復手段である場合、 -その状況を報告してください。 -.It -カーネルモジュールを -.Fl D Ns Dv VINUMDEBUG -オプション付きで構築した場合、 -.Nm -もまた -.Fl D Ns Dv VINUMDEBUG -オプション付きで構築する必要があります。 -なぜなら、両方のコンポーネントで使用されるデータオブジェクトに、 -大きさが本オプションに依存しているものがあるからです。 -前記のようにしないと、対応するエラーメッセージを表示してコマンドが失敗します。 -.It -.Nm Ic read -コマンドの文法は、吐き気を催すものです。 -これが唯一の -.Nm -起動のためのコマンドでしたが、今の好ましい方法は -.Nm Ic start -です。 -.Nm Ic read -は整備のみに使用すべきです。 -文法が変更されたので、引数が -.Pa /dev/da0 -のようなディスクスライスであり -.Pa /dev/da0e -のようなパーティションではないことに注意してください。 -.El -.Sh 関連ファイル -.Bl -tag -width /dev/vinum/control -compact -.It Pa /dev/vinum -.Nm -オブジェクトのデバイスノードがあるディレクトリ -.It Pa /dev/vinum/control -.Nm -の制御デバイス -.It Pa /dev/vinum/plex -.Nm -プレックスのデバイスノードがあるディレクトリ -.It Pa /dev/vinum/sd -.Nm -サブディスクのデバイスノードがあるディレクトリ -.El -.Sh 環境変数 -.Bl -tag -width VINUM_DATEFORMAT -.It VINUM_HISTORY -ログファイルの名前です。デフォルトでは /var/log/vinum_history です。 -.It VINUM_DATEFORMAT -ログファイル中の日付の書式です。デフォルトは %e %b %Y %H:%M:%S です。 -.It EDITOR -設定ファイルの編集に使用するエディタの名前です。デフォルトは -.Nm vi -です。 -.El -.Sh 関連項目 -.Xr strftime 3 , -.Xr vinum 4 , -.Xr disklabel 8 , -.Xr newfs 8 -.Pp -.Pa http://www.vinumvm.org/vinum/ , -.Pa http://www.vinumvm.org/vinum/how-to-debug.html . -.Sh 作者 -.An Greg Lehey Aq grog@lemis.com -.Sh 歴史 -.Nm -ユーティリティは -.Fx 3.0 -から登場しました。 -.Nm -の RAID-5 コンポーネントは、 -NetMAX 製品のために -Cybernet Inc.\& -.Pq Pa www.cybernet.com -が開発しました。 -.Sh バグ -.Xr vinum 4 -は -.Xr geom 4 -サブシステムを使用しませんので、 -.Xr vinum 4 -ボリュームは GOEM ベースの機能、 -例えば -.Xr gbde 8 -では使用できません。 -.Pp -.Xr vinum 4 -は、ブロックサイズが -.Dv DEV_BSIZE -(512) ではないデバイス上では動作しないので、スワップが背後にある -.Xr md 4 -デバイスでは使用できません。 |