.\" $NetBSD: ccdconfig.8,v 1.1.2.1 1995/11/11 02:43:33 thorpej Exp % .\" .\" Copyright (c) 1995 Jason R. Thorpe. .\" All rights reserved. .\" .\" 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. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\" .\" %FreeBSD: src/sbin/ccdconfig/ccdconfig.8,v 1.29 2004/07/03 00:13:43 ru Exp % .\" .\" $FreeBSD$ .Dd July 17, 1995 .Dt CCDCONFIG 8 .Os .Sh 名称 .Nm ccdconfig .Nd 結合ディスクドライバ用設定ユーティリティ .Sh 書式 .Nm .Op Fl cv .Ar ccd .Ar ileave .Op Ar flags .Ar dev .Op Ar .Nm .Fl C .Op Fl v .Op Fl f Ar config_file .Nm .Fl u .Op Fl v .Ar ccd .Op Ar .Nm .Fl U .Op Fl v .Op Fl f Ar config_file .Nm .Fl g .Op Ar ccd Op Ar ... .Sh 解説 .Nm ユーティリティは、 結合ディスクデバイス (concatenated disk device すなわち ccd) の動的な設定および 解除を行う場合に使用します。 ccd の詳細については、 .Xr ccd 4 を参照して下さい。 .Pp 以下のオプションが使用できます。 .Bl -tag -width indent .It Fl c ccd の設定を行います。 .Nm のデフォルトの動作です。 .It Fl C 設定ファイルに書かれている全てのデバイスの設定を行います。 .It Fl f Ar config_file 全てのデバイスの設定あるいは解除を行う時に、デフォルトの .Pa /etc/ccd.conf ではなく、 .Pa config_file から設定情報を読み込みます。 .It Fl g ccd の設定ファイルとして使用できる形式で、現在の ccd の設定を出力します。 引数が指定されていなければ、設定されている全ての ccd について出力します。 引数が指定されていれば、指定された ccd についてのみ出力します。 .It Fl u ccd の設定を解除します。 .It Fl U ccd 設定ファイルに書かれている全ての ccd デバイスの設定を解除します。 .It Fl v .Nm は、より冗長な出力を行います。 .El .Pp ccd は、コマンド行ないし ccd 設定ファイルにて、ccd の名前、 インタリーブファクタ、ccd 設定フラグ、ひとつ以上のデバイスのリストの情報により 定義されます。 フラグは、10 進数、16 進数、コンマで区切られた名前のリスト、 .Dq none のいずれかで表すことができます。 フラグには以下のものがあります。 .Bd -unfilled -offset indent CCDF_UNIFORM 0x02 ディスク間で均一なインタリーブを使います CCDF_MIRROR 0x04 データのミラーリングをサポートします .Ed .Pp 設定ファイルのフォーマットは、コマンド行から指定する場合と 同一の形式になります。 コマンド行から指定する場合も、設定ファイルから指定する場合も、 .Pa flags 引数はオプションです。 .Bd -unfilled -offset indent # # /etc/ccd.conf # Configuration file for concatenated disk devices # .Pp # ccd ileave flags component devices ccd0 16 none /dev/da2s1 /dev/da3s1 .Ed .Pp 構成要素のデバイスは、パーティションタイプが .Li FS_BSDFFS .Pf ( Xr disklabel 8 では .Dq 4.2BSD と表示されます) であることが必要です。 .Sh 使用例 .Nm の例をいくつか以下に示します。 .Nm に渡される引数は、 .Pa /etc/ccd.conf 設定ファイルに書けるものと正に同じものです。 1 番目の例は、 4 ディスクのストライプを 4 SCSI ディスクパーティションから作成します。 ストライプは 64 セクタインタリーブを使用します。 2 番目の例は、 複雑なストライプ/ミラーの組み合わせの例です。 これは、 da4 と da5 の 2 ディスクストライプを、 da6 と da7 の 2 ディスクストライプへミラーすると、解釈します。 最後の例は、単純なミラーです。 /dev/da8 の 2 番目のスライス は /dev/da9 の 3 番目のスライスへミラーされ、 ccd0 に割り当てられます。 .Pp .Bd -unfilled -offset # ccdconfig ccd0 64 none /dev/da0s1 /dev/da1s1 /dev/da2s1 /dev/da3s1 # ccdconfig ccd0 128 CCDF_MIRROR /dev/da4 /dev/da5 /dev/da6 /dev/da7 # ccdconfig ccd0 128 CCDF_MIRROR /dev/da8s2 /dev/da9s3 .Ed .Pp 新規 ccd ディスクを作成するとき、一般的には他のことに先駆けて .Xr fdisk 8 と .Xr disklabel 8 をしたいでしょう。 最初のラベルを作成した後は、 これを編集して、追加パーティションを追加可能です。 ラベル自身は、ccd ディスクの最初の 16 セクタを占めます。 ファイルシステムを newfs で作成するだけなら、 newfs がラベル領域を飛ばしますので、心配することはありません。 しかし、ccd パーティションからまたは ccd パーティション宛へ .Xr dd 1 するつもりなら、一般的には、 パーティションを作成してラベルデータに重ならないようにするのが良い考えです。 例えば、10000 セクタの ccd ディスクがある場合、 オフセット 16 大きさ 9984 のパーティション 'd' を作成するでしょう。 .Pp .Bd -unfilled -offset # disklabel ccd0 > /tmp/disklabel.ccd0 # disklabel -Rr ccd0 /tmp/disklabel.ccd0 # disklabel -e ccd0 .Ed .Pp ccd ディスクに対する disklabel 処理は 1 度の機会です。 マシンをリブートし ccd ディスクを再構成する場合、 以前作成したディスクラベルが残っているため再作成は不要です。 ccd パラメータの変更には注意してください。 インタリーブ、フラグ、ccd ディスクを構成するデバイスリストを変えると、 通常、ccd ディスク上にあったデータを壊してしまいます。 こうなってしまった場合、 ccd ディスクを (再) 初期化する前にラベルを再初期化するのは、 通常良い考えです。 .Sh 回復 ccd ディスク上のエラーは、 ミラーリングオプションを使用していない限り、通常は回復不可能です。 しかし、ミラーリングにはそれ自身の危険性があります。 これは、すべてのセクタの両方のコピーが同一であることを仮定していることです。 この仮定は、書き込みエラーが発生するか、 どちらかのミラーを交換するまでは、成り立ちます。 これは、貧者のミラーリング実装なのです。 ディスクエラーが発生し始めたら、 ccd ディスクのバックアップを取って、 壊れたハードウェアを交換して、 ccd ディスクを再作成可能である限りは、この実装は十分うまく働きます。 これ以上を望むなら、外部ハードウェア RAID SCSI ボックスや、 RAID コントローラ (GENERIC を参照して下さい) や、 RAIDframe .Xr raid 4 や .Xr vinum 8 等のソフトウェア RAID システムを検討すべきです。 .Sh 関連ファイル .Bl -tag -width /etc/ccd.conf -compact .It Pa /etc/ccd.conf デフォルトの ccd 設定ファイル .El .Sh 関連項目 .Xr dd 1 , .Xr ccd 4 , .Xr raid 4 , .Xr disklabel 8 , .Xr fdisk 8 , .Xr rc 8 , .Xr vinum 8 .Sh バグ .Xr ccd 4 が最初に返すディスクラベルは、3 個のパーティションしか指定しません。 .Dq Nm disklabel Fl e を使用し、 .Bx が期待するように、 パーティション数を 8 に変更する必要があります。 .Sh 歴史 .Nm ユーティリティは .Nx 1.0a から登場しました。