EN JA
CCDCONFIG(8)
CCDCONFIG(8) FreeBSD System Manager's Manual CCDCONFIG(8)

名称

ccdconfig連結ディスクドライバのための設定ユーティリティ

書式

ccdconfig [ -cv] ccd ileave [ flags] dev ...

ccdconfig -C [ -v][ -f config_file]

ccdconfig -u [ -v] ccd ...

ccdconfig -U [ -v][ -f config_file]

ccdconfig -g [ ccd ...]

解説

ccdconfig ユーティリティは、連結したディスクデバイス、または ccd を動的に設定して設定解除するために使用されます。 ccd に関する詳細については、 ccd(4) を参照してください。

オプションは、次の通りです:

-c
ccd の設定を行います。 ccdconfig のデフォルトの動作です。
-C
設定ファイルに書かれている全てのデバイスの設定を行います。
-f config_file
全てのデバイスの設定あるいは解除を行う時に、デフォルトの /etc/ccd.conf ではなく、 config_file から設定情報を読み込みます。
-g
ccd の設定ファイルとして使用できる形式で、現在の ccd の設定を出力します。引数が指定されていなければ、設定されている全ての ccd について出力します。引数が指定されていれば、指定された ccd についてのみ出力します。
-u
ccd の設定を解除します。
-U
ccd 設定ファイルに書かれている全ての ccd デバイスの設定を解除します。
-v
ccdconfig は、より冗長な出力を行います。

ccd は、コマンド行ないし ccd 設定ファイルにて、ccd の名前、インタリーブファクタ、ccd 設定フラグ、ひとつ以上のデバイスのリストの情報により定義されます。フラグは、10 進数、16 進数、コンマで区切られた名前のリスト、“none”のいずれかで表すことができます。フラグは、次の通りです:

CCDF_UNIFORM 0x02  均一なインタリーブを使用 
CCDF_MIRROR 0x04  ミラーリングをサポート 
CCDF_NO_OFFSET 0x08  オフセットを使用しない 
CCDF_LINUX 0x0A  Linux md(4) 互換性

設定ファイルのフォーマットは、コマンド行から指定する場合と同一の形式になります。コマンド行から指定する場合も、設定ファイルから指定する場合も、 flags 引数はオプションです。

# 
# /etc/ccd.conf 
# 連結されたディスクデバイスのための設定ファイル 
# 
 
# ccd           ileave  フラグ  構成デバイス 
ccd0            16      none    /dev/da2s1 /dev/da3s1

構成要素のデバイスは、パーティションタイプが FS_BSDFFS ( disklabel(8) では“4.2BSD”と表示されます) であることが必要です。

Linux md(4) 互換性モードを使用したいなら、 ccd(4) の注意事項を必ず読んでください。

関連ファイル

/etc/ccd.conf
デフォルトの ccd 設定ファイル

使用例

ccdconfig の例をいくつか以下に示します。 ccdconfig に渡される引数は、 /etc/ccd.conf 設定ファイルに書けるものと正に同じものです。 1 番目の例は、 4 ディスクのストライプを 4 SCSI ディスクパーティションから作成します。ストライプは 64 セクタインタリーブを使用します。 2 番目の例は、複雑なストライプ/ミラーの組み合わせの例です。これは、 da4 と da5 の 2 ディスクストライプを、 da6 と da7 の 2 ディスクストライプへミラーすると、解釈します。最後の例は、単純なミラーです。 /dev/da8 の 2 番目のスライスは /dev/da9 の 3 番目のスライスへミラーされ、 ccd0 に割り当てられます。

# 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

次は、 Linux で RAID-0 を作成し、 FreeBSD からそれを読み込むための Linux と FreeBSD のコマンドに適合しています。

# Linux で RAID-0 を作成: 
mdadm --create --chunk=32 --level=0 --raid-devices=2 /dev/md0 \ 
   /dev/hda1 /dev/hdb1 
# FreeBSD で利用可能な RAID-0 だけを作成する: 
ccdconfig -c /dev/ccd0 32 linux /dev/ada0s1 /dev/ada0s2

新規 ccd ディスクを作成するとき、一般的には他のことに先駆けて fdisk(8)disklabel(8) をしたいでしょう。最初のラベルを作成した後は、これを編集して、追加パーティションを追加可能です。ラベル自身は、ccd ディスクの最初の 16 セクタを占めます。ファイルシステムを newfs で作成するだけなら、 newfs がラベル領域を飛ばしますので、心配することはありません。しかし、ccd パーティションからまたは ccd パーティション宛へ dd(1) するつもりなら、一般的には、パーティションを作成してラベルデータに重ならないようにするのが良い考えです。例えば、10000 セクタの ccd ディスクがある場合、オフセット 16 大きさ 9984 のパーティション 'd' を作成するでしょう。

# disklabel ccd0 > /tmp/disklabel.ccd0 
# disklabel -Rr ccd0 /tmp/disklabel.ccd0 
# disklabel -e ccd0

ccd ディスクに対する disklabel 処理は 1 度の機会です。マシンをリブートし ccd ディスクを再構成する場合、以前作成したディスクラベルが残っているため再作成は不要です。 ccd パラメータの変更には注意してください。インタリーブ、フラグ、ccd ディスクを構成するデバイスリストを変えると、通常、ccd ディスク上にあったデータを壊してしまいます。こうなってしまった場合、 ccd ディスクを (再) 初期化する前にラベルを再初期化するのは、通常良い考えです。

回復

ccd ディスク上のエラーは、ミラーリングオプションを使用していない限り、通常は回復不可能です。しかし、ミラーリングにはそれ自身の危険性があります。これは、すべてのセクタの両方のコピーが同一であることを仮定していることです。この仮定は、書き込みエラーが発生するか、どちらかのミラーを交換するまでは、成り立ちます。これは、貧者のミラーリング実装なのです。ディスクエラーが発生し始めたら、 ccd ディスクのバックアップを取って、壊れたハードウェアを交換して、 ccd ディスクを再作成可能である限りは、この実装は十分うまく働きます。これ以上を望むなら、外部ハードウェア RAID SCSI ボックスや、 RAID コントローラ (GENERIC を参照して下さい) や、 geom(8)gvinum(8) 等のソフトウェア RAID システムを検討すべきです。

歴史

ccdconfig ユーティリティは、 NetBSD 1.0a ではじめて登場しました。

バグ

ccd(4) が最初に返すディスクラベルは、3 個のパーティションしか指定しません。“ disklabel -e”を使用し、 BSD が期待するように、パーティション数を 8 に変更する必要があります。
October 1, 2013 FreeBSD