ストレージ
この章では
この章では、FreeBSD におけるディスクの使用方法を説明します。
これにはメモリディスク、ネットワークに接続されたディスク、
および標準的な SCSI/IDE 記憶デバイスが含まれます。
この章では、以下の分野について説明します。
物理ディスク上のデータ構成
について記述するために FreeBSD が使用する用語
(パーティションおよびスライス)
システムにハードディスクを追加する方法
メモリディスクのような仮想ファイルシステムを設定する方法
使用できるディスク容量を制限するためにクォータを設定する方法
攻撃者から保護するためにディスクを暗号化する方法
FreeBSD で CD や DVD を作成する方法
バックアップのためのさまざまな記憶メディアオプション
FreeBSD で利用できるバックアッププログラムの使用方法
フロッピーディスクにバックアップする方法
スナップショットとは何か、そしてそれを効果的に使用する方法
デバイス名
以下は、FreeBSD で対応している物理記憶デバイスとそれに対応するデバイス名のリストです。
物理ディスクへの名前付け
ドライブの種類
ドライブのデバイス名
IDE ハードドライブ
ad
IDE CD-ROM ドライブ
acd
SCSI ハードドライブおよび USB 大容量記憶デバイス
da
SCSI CD-ROM ドライブ
cd
その他の非標準的 CD-ROM ドライブ
ミツミ CD-ROM は mcd,
Sony CD-ROM は scd,
松下/パナソニック CD-ROM は matcd
&man.matcd.4; ドライバは 2002 年 10 月 5 日に
FreeBSD 4.X ブランチから削除されました。
また、FreeBSD 5.0 および 5.1 リリースには存在しませんが、
2003 年 6 月 16 日に
FreeBSD 5.X ブランチに復帰しました。
フロッピードライブ
fd
SCSI テープドライブ
sa
IDE テープドライブ
ast
フラッシュドライブ
&diskonchip; フラッシュデバイスは
fla
RAID ドライブ
&adaptec; AdvancedRAID は aacd, &mylex;
は mlxd および mlyd,
AMI &megaraid; は amrd,
Compaq Smart RAID は idad,
&tm.3ware; RAID はtwed
David
O'Brien
原作:
ディスクの追加
ディスク
追加
現在一つしかドライブがない計算機に新しく SCSI
ディスクを追加したいとしましょう。まずコンピュータの電源を切り、
コンピュータやコントローラ、
ドライブの製造元の説明書に従ってドライブを取り付けます。
このあたりの手順は非常に多岐にわたるため、
詳細はこの文書の範囲外です。
root ユーザでログインします。
ドライブの取り付け後は /var/run/dmesg.boot
を調べて新しいディスクが見つかっていることを確認しておきます。
この例では、新しく付けたドライブは da1 で、
我々はそれを /1 にマウントしたいとしましょう
(もし IDE ドライブを付けようとしているのなら、デバイス名は
4.0 以前のシステムでは wd1, ほとんどの 4.x
システムでは ad1 になるでしょう)。
パーティション
スライス
fdisk
FreeBSD は IBM-PC 互換のコンピュータで動くため、
PC BIOS のパーティションを考慮に入れる必要があります。
これは従来の BSD パーティションとは異なります。PC ディスクは 4 つまでの
BIOS パーティションエントリを持つことができます。
もしそのディスクを本当に FreeBSD 専用にしたい場合には
専用 モードで用いることもできます。
そうでない場合には、FreeBSD は PC BIOS
パーティションのどれか一つの中に入れることになります。
FreeBSD では、従来の BSD パーティションと混乱しないように
PC BIOS パーティションのことをスライスと呼びます。
また、別の OS がインストールされていたコンピュータで使われていたが
FreeBSD 専用にするディスク上でもスライスを用いることができます。
これは、他の OS の fdisk
ユーティリティを混乱させないためです。
スライスの場合、ドライブは /dev/da1s1e
として加えられるでしょう。これは、SCSI ディスクでユニット番号は 1
(二つめの SCSI ディスク), スライスは 1 (PC BIOS のパーティションが 1) で
BSD パーティション e, と読みます。
専用ディスクの場合だと単純に /dev/da1e
として加えられるでしょう。
&man.sysinstall.8; の利用
sysinstall
ディスクの追加
su
sysinstall の操作
sysinstall の使い易いメニューを利用して、
新しいディスクのパーティション分けやラベル付けを行なうことができます。
root ユーザでログインするか
su コマンドを用いるかして root 権限を取得します。
/stand/sysinstall を実行して Configure
メニューに入ります。FreeBSD Configuration Menu
の中でスクロールダウンして Fdisk
の項目を選びます。
fdisk パーティションエディタ
fdisk では、ディスク全体を
FreeBSD で使うために A を入力します。
remain cooperative with any future possible operating systems
と聞かれたら YES と答えます。
W で変更をディスクに書き込みます。ここで
q と入力して FDISK エディタを抜けます。
次にマスタブートレコードについて聞かれます。
ここでは既に動いているシステムにディスクを追加しようとしているので
None を選びます。
ディスクラベルエディタ
BSD パーティション
次に sysinstall を終了し、
もう一度起動する必要があります。同じ手順を踏んで今度は
Label オプションを選択し、
Disk Label Editor に入ります。
ここでは従来の BSD パーティションを作成します。
一つのディスクは a から h までのラベルがついた最大
8 つのパーティションを持つことができます。
いくつかのパーティションラベルは特別な用途に用いられます。
a パーティションはルートパーティション
(/) です。したがって、システムディスク
(つまり起動ディスク) のみに a
パーティションがあるべきです。b
パーティションはスワップパーティションに用いられ、
複数のディスクにスワップパーティションを作ることができます。
c は専用モードにおけるディスク全体、
もしくはスライスモードにおけるスライス全体を指します。
他のパーティションは汎用的に用いられます。
sysinstall のラベルエディタ
は、ルートパーティションでもスワップパーティションでもないパーティションには、e
パーティションを採用しようとします。ラベルエディタでファイルシステムを作成するには
C を入力してください。
FS (ファイルシステム) かスワップかを聞かれたら
FS を選びマウントポイント
(たとえば /mnt) を入力します。
インストール後のモードでディスクを追加する場合、
sysinstall は
/etc/fstab にエントリを追加しないため、
ここで指定するマウントポイントはそれほど重要ではありません。
さて、ディスクに新しいラベルを書き込み、
そこにファイルシステムを作る準備が整いました。早速
W を叩いて実行しましょう。
sysinstall からの、
新しいパーティションをマウントできない、
というエラーは無視してください。Label Editor から抜け、
sysinstall を終了します。
終了
最後に /etc/fstab を編集し、
新しいディスクのエントリを追加します。
コマンドラインユーティリティの利用
スライスの利用
このセットアップ方法では、
すでにコンピュータに他のオペレーティングシステムがインストールされていても
正しく協調動作することが可能で、他のオペレーティングシステムの
fdisk ユーティリティを混乱させることもありません。
新しいディスクにインストールする場合は、
この方法を用いることが推奨されています。
後述する 専用モード は、
そうしなければならない理由がある時にのみ、
利用するようにしてください。
&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; fdisk -BI da1 # 新しいディスクの初期化
&prompt.root; disklabel -B -w -r da1s1 auto # ディスクにラベルを付ける
&prompt.root; disklabel -e da1s1 # 作成したディスクラベルを編集し、パーティションを追加する
&prompt.root; mkdir -p /1
&prompt.root; newfs /dev/da1s1e # 作成したすべてのパーティションに対してこれを繰り返す
&prompt.root; mount /dev/da1s1e /1 # パーティションをマウントする
&prompt.root; vi /etc/fstab # /etc/fstab に適切なエントリを追加する
IDE ディスクを使う場合は da の部分を
ad とします。4.X より前のシステムでは、
(訳注: ad ではなく)
wd としてください。
専用モード
OS/2
新しいドライブを他の OS と共有しない場合には
専用 モードを用いることもできます。
このモードはマイクロソフトの OS
を混乱させることを憶えておいてください
(しかし、それらによって壊されることはありません)。 一方、IBM の &os2;
はどんなパーティションでも見つけたら理解できなくても
専有
します。
&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; disklabel -Brw da1 auto
&prompt.root; disklabel -e da1 # `e' パーティションの作成
&prompt.root; newfs -d0 /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # /dev/da1e エントリの追加
&prompt.root; mount /1
もう一つの方法は次の通り。
&prompt.root; dd if=/dev/zero of=/dev/da1 count=2
&prompt.root; disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # /dev/da1e エントリの追加
&prompt.root; mount /1
&os; 5.1-RELEASE から、従来の &man.disklabel.8;
プログラムは &man.bsdlabel.8;
ユーティリティに置き換えられました。&man.bsdlabel.8; では、
使用されていない数多くのオプションやパラメタが削除されました。
たとえば オプションは &man.bsdlabel.8;
では取り除かれました。詳細については &man.bsdlabel.8;
のマニュアルページを参照してください。
RAID
ソフトウェア RAID
Christopher
Shumway
原作:
Jim
Brown
改訂:
RAID
ソフトウェア
RAID
CCD
Concatenated Disk Driver (CCD) の設定
大容量記録に関する解決法を選択する際にもっとも重視すべき要素は、
速度、信頼性、そして費用です。
三つを同時にバランスよく実現することは稀です。
通常、速くて信頼性のある大容量記録装置は高価であり、
費用を抑えようとすると速度または信頼性のどちらかが犠牲になります。
ここで例にあげるシステムの設計においては、
費用が最も重要な要素として、次に速度、最後に信頼性が選択されています。
このシステムでのデータ転送速度は結局のところネットワークによって制限されます。
信頼性は大変重要です。ただし、以下で説明する CCD ドライブは、
データ自体はすでに CD-R に完全にバックアップしてあるもの
(したがって交換は簡単にできます)
の、オンラインデータの役割をさせています。
あなた自身の要求事項を決定することは、
大容量記録に関する解決法を選択することの最初の段階です。
もしあなたの要求事項が費用より速度または信頼性を優先するなら、
解決法はこのシステムとは違うものになるでしょう。
ハードウェアのインストール
IDE システムディスクに加えて、Western Digital 製の
30GB, 5400RPM の IDE ディスク三台を使って、
以下に説明されているような約 90GB のオンラインストレージとなる
CCD ディスクを作成しました。各 IDE ディスクがそれぞれの
IDE コントローラとケーブルをもっていることが理想的ですが、
費用を最低限にするために、
IDE コントローラを追加していません。その代わり、それぞれの IDE
コントローラがマスタデバイスを一つ、
スレーブデバイスを一つ持つように、
ディスクはジャンパを使って設定されています。
再起動の際に、システム BIOS
が接続されたディスクを自動的に検出するように設定されました。
より重要なことは、FreeBSD が再起動の際にそれらを検出することです。
ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33
ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33
ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33
FreeBSD がディスクをすべて検出しないときは、
ジャンパを正しく設定してあるか確認してください。多くの IDE
ドライブは ケーブルセレクト
ジャンパを持っています。
これはマスタ/スレーブの関係を設定するジャンパでは
ありません。ドライブの文書を参照して、
正しいジャンパ設定を見つけてください。
次に、ファイルシステムの一部分として、
それらをどのように接続するのかを考慮します。&man.vinum.8;
および &man.ccd.4;
の両方を検討すべきでしょう。この設定では、&man.ccd.4;
を選択しました。
CCD の設定
&man.ccd.4; ドライバは、いくつかの同じディスクを使って、
一つの論理的ファイルシステムに連結することができます。
&man.ccd.4; を使用するためには、カーネルが &man.ccd.4;
に対応している必要があります。
次の行をカーネルコンフィギュレーションファイルに追加して、
カーネルを再構築し、再インストールしてください。
pseudo-device ccd 4
5.X システムでは、
上記の代わりに次の行を追加しなければなりません。
device ccd
FreeBSD 5.X では &man.ccd.4;
デバイスの数を指定する必要はありません。&man.ccd.4;
デバイスドライバは自己複製するようになりました —
新しいデバイスインスタンスは、
必要に応じてその都度自動的に作成されます。
FreeBSD 3.0 以降では、
カーネルモジュールを読み込んで
&man.ccd.4; に対応することもできます。
&man.ccd.4; を設定するために、まず &man.disklabel.8;
を使用してディスクにラベルを書き込まなくてはなりません。
disklabel -r -w ad1 auto
disklabel -r -w ad2 auto
disklabel -r -w ad3 auto
このコマンドはディスク全体を示す
ad1c,
ad2c および
ad3c に対するディスクラベルを作成します。
&os; 5.1-RELEASE から、従来の &man.disklabel.8;
プログラムは &man.bsdlabel.8;
ユーティリティに置き換えられました。&man.bsdlabel.8; では、
使用されていない数多くのオプションやパラメタが削除されました。
たとえば オプションは &man.bsdlabel.8;
では取り除かれました。詳細については &man.bsdlabel.8;
のマニュアルページを参照してください。
次に、ディスクラベルのタイプを変更します。
&man.disklabel.8; を使用してディスクラベルを編集してください。
disklabel -e ad1
disklabel -e ad2
disklabel -e ad3
このコマンドは EDITOR
環境変数に設定されているエディタ (一般的には &man.vi.1;)
でそれぞれのディスクの現在のディスクラベルを開きます。
変更されていないディスクラベルは以下のようになります。
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
&man.ccd.4; で使用する e
パーティションを作成します。通常では c
パーティションの行をコピーすれば良いでしょう。しかし、
は 4.2BSD
でなければ なりません。
ディスクラベルは以下のようになるでしょう。
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)
ファイルシステムの構築
ccd0c
デバイスノードはまだ存在していないかも知れません。
そのときは、次のコマンドを実行して作成してください。
cd /dev
sh MAKEDEV ccd0
FreeBSD 5.0 では &man.devfs.5; が
/dev 以下のデバイスノードを自動的に管理するので、
MAKEDEVを使用する必要はありません。
すべてのディスクにラベルを書き込んだので、
&man.ccd.4; を構築してください。
これを行うためには、以下のようなオプションで
&man.ccdconfig.8; を使います。
ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e
各オプションの使用法と意味は以下の通りです。
一番目の引数は設定するデバイスです。この例の場合は
/dev/ccd0c です。
/dev/ の部分はオプションです。
ファイルシステムに対するインタリーブです。インタリーブは、
ディスクブロック内のストライプサイズを定義します。
ディスクブロックは通常 512 バイトです。したがって 32
インタリーブは 16,384 バイトとなります。
これは &man.ccdconfig.8; に対するフラグです。
ドライブミラーリングを有効にしたい場合、
ここにフラグを指定します。
この設定では &man.ccd.4; に対するミラーリングは提供しませんので、
0 (ゼロ) を指定しています。
この &man.ccdconfig.8; に対する最後の引数は、
アレイ内に置くデバイスです。
それぞれのデバイスに対する完全なパス名を使用します。
&man.ccdconfig.8; を実行すると &man.ccd.4; が設定されます。
これでファイルシステムをインストールすることが可能です。
オプションについて &man.newfs.8; を参照するか、
次のように実行してください。
newfs /dev/ccd0c
自動的に設定する
一般的に、再起動するたびに &man.ccd.4;
をマウントしたいと思うでしょう。これを行うために、
まず設定をしなければなりません。次のコマンドを用いて、
現在の設定を /etc/ccd.conf に書き出します。
ccdconfig -g > /etc/ccd.conf
/etc/ccd.conf が存在すると、
再起動の際に /etc/rc スクリプトが
ccdconfig -C を実行します。これにより、
&man.ccd.4; は自動的に設定された後、マウントされます。
シングルユーザモードで起動している場合には、
&man.ccd.4; を &man.mount.8; する前に、
アレイを設定するために次のコマンドを実行する必要があります。
ccdconfig -C
自動的に &man.ccd.4; をマウントするには、
/etc/fstab に &man.ccd.4;
のエントリ追加します。このように設定すると起動時にマウントされます。
/dev/ccd0c /media ufs rw 2 2
Vinum ボリュームマネージャ
RAID
ソフトウェア
RAID
Vinum
Vinum ボリュームマネージャは、
仮想ディスクドライブを実装したブロックデバイスドライバです。
Vinum は、ディスクハードウェアをブロックデバイスインタフェースから
分離し、データを配置します。
その結果、ディスク記憶装置を従来のスライスで扱うのと比較して、
柔軟性、性能および信頼性が向上しています。
&man.vinum.8; は RAID-0, RAID-1 および RAID-5 モデル、
そしてそれぞれの組合せを実装しています。
&man.vinum.8; の詳細については Vinum ボリュームマネジャ
を参照してください。
ハードウェア RAID
RAID
ハードウェア
FreeBSD は、さまざまなハードウェア RAID
コントローラにも対応しています。これらのデバイスはアレイを制御するための
特別なソフトウェアを FreeBSD で必要することなく、
RAID サブシステムを制御します。
カード上の BIOS を使用して、
カードはそれ自身でディスク操作のほとんどを制御します。以下は
Promise IDE RAID
コントローラを使用した設定の簡単な説明です。
このカードがインストールされ、システムが起動したときには、
情報の入力を促すプロンプトを表示します。
指示にしたがってカードの設定画面に進んでください。
接続されたドライブを組み合わせるように設定することができます。
設定後、ディスクは FreeBSD に対して単一のドライブのように見えます。
他の RAID レベルは適宜設定できます。
ATA RAID1 アレイの再構築
FreeBSD はアレイ内の障害ディスクを動作中に交換できます。
ただし、再起動前にそれを検知していることが必要です。
/var/log/messages または &man.dmesg.8;
の出力に次のような行があるでしょう。
ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11) status=59 error=40
ar0: WARNING - mirror lost
&man.atacontrol.8; を使用して詳細を調べてください。
&prompt.root; atacontrol list
ATA channel 0:
Master: no device present
Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED
ディスクを安全に取り外すために、
まずアレイから切り離します。
&prompt.root; atacontrol detach 3
ディスクを取り外します。
スペアのディスクを取り付けます。
&prompt.root; atacontrol attach 3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
アレイを再構築します。
&prompt.root; atacontrol rebuild ar0
再構築コマンドは完了するまで他の操作を受け付けません。しかし、
もう一つ別のターミナルを
(Alt
Fn
を押して) 開き、
次のコマンドを実行すると進行状態を確認することができます。
&prompt.root; dmesg | tail -10
[output removed]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed
操作が完了するまでお待ちください。
Mike
Meyer
寄稿:
光メディア (CD & DVD) の作成と使用
CDROM
作成
はじめに
CD は他の一般的なディスクと異なる様々な特徴を持っています。
そもそもユーザが書き込むことができません。
また遅延なしで連続的に読み出せるように、
トラック間をヘッドが移動しないですむようにデザインされています。
さらにこのサイズのメディアの中ではシステムをまたぐデータの
移動が比較的簡単でもあります。
CD はトラックの概念を持っていますが、
これはデータを連続的に読み出すためのものであってディスクの物理特性ではありません。
FreeBSD で CD を作成するには、まず CD
のトラックとなるデータファイルを用意し、
そのトラックを CD に書き込みます。
ISO 9660
ファイルシステム
ISO 9660
ISO 9660 ファイルシステムはこの様な差異を扱うべく設計されました。
その結果、ファイルシステムは一般的に使用するのに差しつかえない程度に
制限されて標準化されています。幸いなことに、ISO 9660
ファイルシステムには拡張機構が提供されています。適切に書かれた CD は、
拡張機構に対応したシステムでは拡張を利用して、そうでないシステムでは
拡張機構を使用しない範囲で動作するようになっています。
sysutils/mkisofs
sysutils/mkisofs プログラムは
ISO 9660 ファイルシステムを含むデータファイルを作成するのに使われます。
これには様々な拡張をサポートするオプションがあり、
以下で説明します。 このソフトウェアは、ports の
sysutils/mkisofs
からインストールすることができます。
CD ライタ
ATAPI
CD に書き込むためのツールは、お使いの CD ライタが ATAPI
接続か否かにも依存します。ATAPI CD ライタなら、ベースシステムの一部である
burncd
プログラムを使います。SCSI や USB の CD ライタなら、ports の
sysutils/cdrecord
をインストールして
cdrecord
プログラムを使うべきでしょう。
burncd
が対応しているドライブは限定されています。
ドライブが対応されているかどうかを確認するには、
CD-R/RW supported
drives にある一覧を見てください。
CD ライタ
ATAPI/CAM ドライバ
&os; 5.X または &os; 4.8-RELEASE
以降のバージョンを使用している場合、
ATAPI/CAM モジュール を使用すると
ATAPI ハードウェア上で SCSI ドライブ用の
cdrecord
および他のツールを使用できるようになります。
mkisofs
sysutils/mkisofs は &unix;
ファイルシステムの名前空間におけるディレクトリツリーのイメージとして
ISO 9660 ファイルシステムを作成します。
最も簡単な使い方は以下の通りです。
&prompt.root; mkisofs -o imagefile.iso /path/to/tree
ファイルシステム
ISO 9660
このコマンドは /path/to/tree
以下のディレクトリツリーのコピーである ISO 9660
ファイルシステムを含んだ imagefile.iso
ファイルを作成します。この過程において、ファイル名は標準的な ISO 9660
ファイルシステムの制限に適合するようなファイル名に対応づけられ、
ISO ファイルシステムでファイル名を文字化できないファイルは除外されます。
ファイルシステム
HFS
ファイルシステム
Joliet
この制限を回避するために利用できるオプションはいくつもあります。
特に オプションは &unix; システムで標準的な Rock Ridge
拡張を有効にします。 オプションは Microsoft
のシステムで標準的な Joliet 拡張を有効にし、
オプションは &macos; で使用されている
HFS ファイルシステムを作成するために使われます。
FreeBSD でしか使わないのであれば、
オプションを使用するとあらゆるファイル名制限を無効にできます。
さらに オプションとともに使うことで
FreeBSD と同一のファイルシステムイメージを作成できますが、
これは ISO 9660 標準の多くを無視しています。
CDROM
ブータブル (起動可能な) CDROM の作成
一般的に使われる最後のオプションは オプションです。
これは El Torito
ブータブル CD
を作成するのに使う起動イメージのありかを指定します。
このオプションは引数として起動イメージへのパスを、
CD に書き込まれるディレクトリツリーの頂点からの相対位置で取ります。
したがって /tmp/myboot がブート可能な
FreeBSD システムで /tmp/myboot/boot/cdboot
にブートイメージがあるならば、以下のようにすることで ISO 9660
ファイルシステムのイメージを /tmp/bootable.iso
に作成することができます。
&prompt.root; mkisofs -U -R -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
この後、カーネルで vn (FreeBSD 4.X)
または md (FreeBSD 5.X)
が設定されていれば、
ファイルシステムを以下のようにしてマウントすることができます。
&prompt.root; vnconfig -e vn0c /tmp/bootable.iso
&prompt.root; mount -t cd9660 /dev/vn0c /mnt
FreeBSD 4.X および FreeBSD 5.X に対しては以下の通りです。
&prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mnt
/mnt と
/tmp/myboot が同一かどうか確認してください。
sysutils/mkisofs
には挙動を細かく制御するために他にもたくさんのオプションがあります。
特に、ISO 9660
レイアウトの変更や Joliet および HFS ディスク作成などの
詳細は &man.mkisofs.8; のマニュアルページをご覧ください。
burncd
CDROM
書き込み
あなたが持っているのが ATAPI CD ライタなら、CD に ISO
イメージを書き込むために burncd コマンドが使えます。
burncd はベースシステムの一部で
/usr/sbin/burncd としてインストールされています。
使い方はとても単純でオプションも少ししかありません。
&prompt.root; burncd -f cddevice data imagefile.iso fixate
以上のコマンドは imagefile.iso
のコピーを cddevice に書き込みます。
デフォルトのデバイスは /dev/acd0c です。
書き込み速度や操作完了後に CD を自動的に取り出す方法、
オーディオデータの書き込みなどのオプションについては &man.burncd.8;
を見てください。
cdrecord
あなたが持っている CD ライタが ATAPI ではなければ、
CD を書き込むのに cdrecord を使う必要があります。
cdrecord はベースシステムの一部ではなく、
sysutils/cdrtools の port または
適切な package を利用してインストールしなければなりません。
なお、ベースシステムを変更するとバイナリに矛盾が発生し、
コースター
を作ってしまうおそれがあります。
したがって、システムをアップグレードする度にこの port も作り直すか、
あるいはFreeBSD の安定版を追いかけているのならば、
新しいバージョンが利用できるようになった時に ports
をアップグレードする必要があります。
cdrecord にはたくさんのオプションがありますが、
基本的な使い方は burncd よりもさらに簡単です。
ISO 9660 イメージを書き込むには以下のようにします。
&prompt.root; cdrecord dev=device imagefile.iso
cdrecord のトリッキーな部分は、使用する
を見つけるところにあります。
適切な設定を見つけるためには cdrecord の
フラグを使います。
たとえば、以下のような結果が出力されるでしょう。
CDROM
書き込み
&prompt.root; cdrecord -scanbus
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *
リストにあるデバイスに対する適切な
の値がここに示されています。あなたの CD ライタをこのリストから見つけ、
カンマで区切られた 3 つの数値を
の値として使ってください。この例では CRW デバイスは 1,5,0
なので、適切な入力は となります。
値を明示するもっと簡単な方法もあります。詳細は &man.cdrecord.1;
を見てください。そこにはオーディオトラックを書き込む方法や、
書き込み速度その他を操作する方法も書かれています。
オーディオ CD の複製
CD からオーディオデータを連続したファイルに展開し、ブランク CD
にこれらのファイルを書き込むことで、オーディオ CD
を複製することができます。
この手順は ATAPI および SCSI ドライブの間で少し異なります。
SCSI ドライブ
cdda2wav を使用してオーディオを展開します。
&prompt.user; cdda2wav -v255 -D2,0 -B -Owav
cdrecord を使用して
.wav ファイルに書き出します。
&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav
に説明されているように
2.0
が適切に指定されていることを確かめてください。
ATAPI ドライブ
ATAPI CD ドライバでは、それぞれのトラックを
/dev/acddtnn のように利用できます。
ここで d はドライブ番号であり、
nn は二桁十進のトラック番号です。
一桁の場合 0 を前に付加する必要があります。
したがって、一番目のディスクの一番目のトラックは
/dev/acd0t01、二番目のトラックは
/dev/acd0t02、三番目のトラックは
/dev/acd0t03 などとなります。
適切なデバイスファイルが /dev
に存在することを確かめてください。
存在しなければ、たとえば次のようにして作成します。
&prompt.root; cd /dev
&prompt.root; sh MAKEDEV acd0t99
FreeBSD 5.0 では &man.devfs.5; が
/dev にエントリを自動的に作成、
管理するので、MAKEDEV
を使用する必要はありません。
&man.dd.1; を使用して各トラックを展開します。
ファイルを展開する際、ブロックサイズを指定しなければなりません。
&prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352
&prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
burncd を使用して、
展開したファイルをディスクに書き込みます。
これらがオーディオファイルであること、
そして書き込みが終了したときに burncd
がディスクを固定 (fixate) することを明示しなければなりません。
&prompt.root; burncd -f /dev/acd0c audio track1.cdr track2.cdr ... fixate
データ CD の複製
データ CD を、sysutils/mkisofs
を用いて作成されたイメージファイルと機能的に等価なイメージファイルにコピーできます。
これを使用して、すべてのデータ CD を複製することができます。
ここでの例は CDROM デバイスが acd0
であるとしています。あなたの CDROM デバイスに読み替えてください。
CDROM の場合には、パーティション全体またはディスク全体
を指定するために c
をデバイス名の後に追加しなければなりません。
&prompt.root; dd if=/dev/acd0c of=file.iso bs=2048
これでディスクイメージを取り出すことができました。
すでに説明した方法を用いて CD に書き込むことができます。
データ CD の使用
さて、標準的なデータ CDROM を作成したので、
おそらく次はそれをマウントしてデータを読み出したいと思うでしょう。
デフォルトでは &man.mount.8; は、ファイルシステムタイプを
ufs としています。
次のように実行しようとすると、
&prompt.root; mount /dev/cd0c /mnt
Incorrect super block
というエラーが返されてマウントできないでしょう。
CDROM は UFS ファイルシステムではないために、
このような手順でマウントしようすると失敗します。
ファイルシステムのタイプが ISO9660 であると
&man.mount.8; に教えさえすれば、すべてはうまく動作します。
&man.mount.8; に
オプションを指定することでこれを行います。
たとえば /dev/cd0c の CDROM デバイスを
/mnt にマウントしたい場合は、
以下のように実行します。
&prompt.root; mount -t cd9660 /dev/cd0c /mnt
使用している CDROM インタフェースによっては、
デバイス名
(この例では /dev/cd0c)
が異なるかもしれないことに注意してください。
また、 オプションは、単に
&man.mount.cd9660.8; を実行します。
この例を以下のように短縮することもできます。
&prompt.root; mount_cd9660 /dev/cd0c /mnt
一般的にこの方法では、すべてのメーカの データ CDROM
を使用することができます。しかしながら、特定の ISO 9660
拡張が施されたディスクでは奇妙な動作をするかもしれません。
たとえば Joliet ディスクは、
すべてのファイル名を 2 バイトの Unicode 文字で格納します。
FreeBSD カーネルは (まだ) Unicode を理解できないので、
非英語文字はクエスチョンマークで表示されます
(FreeBSD 4.3 以降を使用している場合、CD9660 ドライバには適切な Unicode
変換表を読み込むための急ごしらえのフックが含まれています。
いくつかの共通のエンコードに対するモジュールは
sysutils/cd9660_unicode port
から利用可能です)。
CDROM をマウントしようとする時に、
Device not configured
と表示されるかもしれません。これは、ディスクがトレーにないと
CDROM ドライブが判断しているか、
ドライブがバス上に認識できないことを通常意味します。
ディスクが挿入されたことを CDROM ドライブが認識するには数秒かかりますので、
辛抱強く待ってください。
バスのリセットに返答するためのタイムアウトが短いために、時々 SCSI
CDROM は認識に失敗するかもしれません。SCSI CDROM を持っている場合は、
次のオプションをカーネルコンフィギュレーションファイルに追加して、
カーネルを再構築してください。
options SCSI_DELAY=15000
これより、SCSI バスを起動時に 15 秒間停止させて、
CDROM ドライブがバスリセットに応答する機会を与えます。
Raw データ CD の書き込み
ISO 9660 ファイルシステムを作成すること無く、
ファイルを直接 CD に書き込むこともできます。
この方法をバックアップ目的に使用している人もいます。
これは、標準 CD を書き込むよりもさらに速く実行することができます。
&prompt.root; burncd -f /dev/acd1c -s 12 data archive.tar.gz fixate
このように CD に書き込まれたデータを取得するには、
raw デバイスノードからデータを読み込まなくてはなりません。
&prompt.root; tar xzvf /dev/acd1c
このディスクを通常の CDROM としてマウントすることはできません。
このような CDROM は FreeBSD を除いて、
他のすべてのオペレーティングシステムでは読み込むことはできません。
CD をマウントしたいか、
その他のオペレーティングシステムとデータを共有したい場合は、
上記に説明したように
sysutils/mkisofs
を使用しなくてはなりません。
CD ライタ
ATAPI/CAM ドライバ
ATAPI/CAM ドライバの使用
このドライバは、ATAPI デバイス (CD-ROM, CD-RW, DVD ドライブなど)
へ SCSI サブシステムを通じてアクセスすることを可能にします。
これにより、sysutils/cdrdao または
&man.cdrecord.1; のようなアプリケーションが使用できるようになります。
このドライバを使用するためには、
カーネルコンフィギュレーションファイルに次の行を追加する必要があります。
device atapicam
device scbus
device cd
device pass
次の行もカーネルコンフィギュレーションファイルに必要です。
device ata
device atapicd
両方がすでに存在しなければなりません。
それから再構築し、新しいカーネルをインストールし、
コンピュータを再起動します。
起動プロセス中にディスクライタは以下のように表示されるでしょう。
acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
ドライブは /dev/cd0
デバイスを通じてアクセスすることが可能となります。
たとえば、次のようにして CD-ROM を /mnt
にマウントします。
&prompt.root; mount -t cd9660 /dev/cd0c /mnt
root 権限で次のコマンドを実行して、
ライタの SCSI アドレスを得ることができます。
&prompt.root; camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)
したがって、1,0,0 が &man.cdrecord.1;
およびその他の SCSI アプリケーションで使用する SCSI アドレスです。
ATAPI/CAM および SCSI システムの詳細は &man.atapicam.4; および
&man.cam.4; マニュアルページを参照してください。
Julio
Merino
原作:
Martin
Karlsson
改訂:
フロッピーディスクの作成と使用
フロッピーディスクにデータを格納することはしばしば役にたちます。
たとえば、ある人が他のリムーバブル記録メディアを何も持っていないときや、
小さなデータを他のコンピュータに移動させる必要があるときです。
この節では、FreeBSD におけるフロッピーディスクの使用方法を説明します。
主に 3.5 インチの DOS フロッピーのフォーマットと操作方法を扱いますが、
他のフロッピーディスクの形式についても概念は似ています。
フロッピーのフォーマット
デバイス
他のデバイスと同様に、フロッピーディスクは
/dev にあるエントリを通じてアクセスされます。4.X
およびそれ以前のリリースにおいて raw
フロッピーディスクにアクセスするには
/dev/fdN
または /dev/fdNX
を使用します。N はドライブ番号を表し、
大抵は 0 です。X は文字を表します。
5.0 およびそれ以降のリリースでは、単に
/dev/fdN を使用します。/para>
4.X およびそれ以前のリリースでのディスクサイズ
/dev/fdN.size というデバイスもあります。
size
はフロッピーディスクのサイズをキロバイトで示したものです。
これらのエントリは低レベルフォーマットの際に、
ディスクサイズを決定するのに使用されます。
1440kB は以下の例で使用されるサイズです。
時々 /dev 下のエントリは (再)
作成されなければなりません。次のコマンドでこれを行います。
&prompt.root; cd /dev && ./MAKEDEV "fd*"
5.X およびそれ以降のリリースでのディスクサイズ
FreeBSD 5.0 では &man.devfs.5; が
/dev 内のエントリを自動的に管理するので、
MAKEDEVを使用する必要はありません。
所望のディスクサイズは &man.fdformat.1; に
フラグを通して渡されます。対応しているサイズは &man.fdcontrol.8;
のマニュアルページに掲載されていますが、最良に動作するのは
1440kB だと助言しておきます。
フォーマット
フロッピーディスクは、
使用前に低レベルフォーマットをする必要があります。
通常、ベンダは低レベルフォーマット済みのディスクを出荷していますが、
フォーマットはメディアの品質を確認するよい方法です。
より大きな (または小さな) ディスクサイズにすることも可能ですが、
ほとんどのフロッピーディスクのサイズは 1440kB で動作するように設計されています。
フロッピーディスクを低レベルフォーマットするには
&man.fdformat.1; を使用する必要があります。
このユーティリティは引数としてデバイス名を指定します。
ディスクが良好かあるいは不良であるかを決定するのに役立つので、
エラーメッセージをすべてメモに取っておいてください。
4.X 以前のリリースでのフォーマット
/dev/fdN.size デバイスを使ってフロッピーをフォーマットします。
新しい 3.5 インチフロッピーディスクをドライブに挿入し、
以下のコマンドを実行してください。
&prompt.root; /usr/sbin/fdformat /dev/fd0.1440
5.0 以降のリリースでのフォーマット
/dev/fdN
デバイスを使用してフロッピーをフォーマットします。
新しい 3.5 インチフロッピーディスクをドライブに挿入し、
以下のコマンドを実行してください。
&prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0
ディスクラベル
ディスクを低レベルフォーマットしたら、
次にディスクラベルを作成する必要があります。
ディスクラベルは後で破棄されますが、
システムがディスクのサイズとジオメトリを決定するのに必要になります。
新しいディスクラベルはディスク全体を引き継ぎ、
フロッピーのジオメトリに関する適切な情報のすべてが含まれます。
ディスクラベルに対するジオメトリの値は
/etc/disktab に掲載されています。
次のように &man.disklabel.8; を実行できます。
&prompt.root; /sbin/disklabel -B -r -w /dev/fd0 fd1440
&os; 5.1-RELEASE から、従来の &man.disklabel.8;
プログラムは &man.bsdlabel.8;
ユーティリティに置き換えられました。&man.bsdlabel.8; では、
使用されていないオプションおよびパラメタの数多くが削除されました。
たとえば オプションは &man.bsdlabel.8;
では取り除かれました。詳細については &man.bsdlabel.8;
マニュアルページを参照してください。
ファイルシステム
これでフロッピーを高レベルフォーマットする準備ができました。これは
FreeBSD がディスクを読み書きする新しいファイルシステムを作成します。
新しいファイルシステムを作成するとディスクラベルは破棄されます。
したがって、ディスクを再フォーマットするときには、
ディスクラベルを再作成しなくてはなりません。
フロッピーのファイルシステムには UFS または FAT を使用できます。
フロッピーに対しては FAT が一般的によりよい選択です。
フロッピー上に新しいファイルシステムを作成するには次のようにします。
&prompt.root; /sbin/newfs_msdos /dev/fd0
これでディスクが使用できるようになりました。
フロッピーの使用
フロッピーを使用するために、&man.mount.msdos.8;
(4.X 以前のリリース) または &man.mount.msdosfs.8;
(5.0 以後のリリース) を用いてマウントします。
Ports Collection から
emulators/mtools
を使用することもできます。
データテープの作成と使用
テープメディア
主要なテープメディアは 4mm, 8mm, QIC, ミニカートリッジ および DLT です。
4mm (DDS: Digital Data Storage)
テープメディア
DDS (4mm) テープ
テープメディア
QIC テープ
4mm テープはワークステーションのバックアップメディアの選択として
QIC に取って代わりつつあります。Conner が QIC
ドライブの主要なメーカである Archive を買収し、
QIC ドライブの製造を中止した時にこの傾向は非常に強まりました。4mm
ドライブは小さくて静かですが、8mm
ドライブが持っている信頼性ほど、その評判は良くありません。
また、4mm カートリッジは 8mm カートリッジに比べて安価でより小さくなっています
(3 x 2 x 0.5 インチ、76 x 51 x 12 mm)。
ただし、8mm と同様に、4mm のヘッドはヘリカルスキャン方式
(訳注: VTR と同様の回転ヘッドの方式)
を採用しているため、比較的短寿命です。
ドライブのデータスループットは、150 kB/s から
最大で 500 kB/s 程度です。 データ容量は 1.3 GB から 2.0
GB です。ドライブのほとんどで利用可能なハードウェア圧縮を使用すると、
容量が約二倍になります。
複数ドライブのテープライブラリユニットは単一のキャビネットに 6 つのドライブを収容可能で、自動的にテープの交換ができます。ライブラリの容量は
240 GB に達します。
DDS-3 標準は現在では 12 GB (圧縮により 24 GB)
までの容量に対応しています。
8mm ドライブと同様に 4mm ドライブはヘリカルスキャンを使用します。
ヘリカルスキャン方式の利点および欠点はすべて 4mm および 8mm
ドライブの両方に当てはまります。
テープは 2,000 回のパスあるいは 100
回のフルバックアップした後には交換するべきです。
8mm (Exabyte)
テープメディア
Exabyte (8mm) テープ
8mm テープはもっとも一般的な SCSI テープドライブです。
これらは交換型テープの最良の選択です。ほとんどすべてのサイトが Exabyte
2 GB 8mm テープドライブを所有しています。8mm
ドライブは信頼性があり、便利で静かです。カートリッジは安価で小型です
(4.8 x 3.3 x 0.6 インチ、122 x 84 x 15 mm)。8mm
テープの欠点の一つは、ヘッドを横切るテープの高い相対動作率により、
ヘッドとテープは比較的短寿命ということです。
データのスループットは 250 kB/s から 500 kB/s 程度です。
データサイズは 300 MB から 7 GB までです。
ほとんどのドライブで利用可能なハードウェア圧縮を利用すると、
容量が約二倍になります。
これらのドライブは単一のユニット、または 6 つのドライブと 120 のテープを一つのキャビネットに収容可能な複数のドライブのテープライブラリとして利用可能です。
テープはユニットによって自動的に取り換えられます。
ライブラリの容量は 840 GB 強に達します。
Exabyte の Mammoth
モデルは
一つのテープで 12 GB (圧縮により 24 GB) に対応し、
従来のテープドライブと比べ費用は約二倍になります。
データはヘリカルスキャンを用いてテープに記録されます。
ヘッダはメディアに対してある角度 (約 6 度) で配置されます。
テープはヘッドのある円筒の周の 270 度に渡って接触します。
テープが円筒面を走行する間、円筒は回転しています。
この結果、高密度のデータのつまったトラックは、
狭い間隔でテープの上端と下端の間を斜めに横切ります。
QIC
テープメディア
QIC-150
QIC-150 テープとドライブは、
おそらく最も一般的に使われているドライブとメディアでしょう。
QIC テープドライブは 現実的な
バックアップ
ドライブとして少なくとも高価なものではありません。
欠点はメディアのコストです。QIC テープは 8mm や 4mm テープと比較して
GB あたりのデータの保存で 5 倍ほど高価です。
しかし、あなたの必要とする量が半ダース程のテープで十分であれば、
QIC は正しい選択となるかもしれません。QIC は
最も 一般的なテープドライブです。
すべてのサイトに QIC ドライブのどれかの容量のものがあります。問題は、
QIC は同じようなテープ (まったく同じ場合もある)
に多様な記録密度があることです。QIC ドライブは静かではありません。
これらのドライブはデータ記録を開始する前に音をたててシークしますし、
リード、ライト、シークの時にはっきりと聞こえる音を出します。
QIC テープの大きさは (6 x 4 x 0.7 インチ、152 x 102 x 17 mm) です。
1/4 インチ幅のテープも使用している
ミニカートリッジ
は別に議論します。テープライブラリやチェンジャは利用できません。
データスループットは 150kB/s から 500kB/s の範囲です。
データ容量の範囲は 40MB から 15GB です。
ハードウェア圧縮が最近のドライブの多くで使用できます。
QIC ドライブは DAT ドライブに置き換えられつつあり、
あまり頻繁には利用されなくなっています。
データは複数のトラックに分かれてテープに記録されます。
トラックはテープメディアの長さ方向の一端からもう一方の端までです
(訳注: 1 トラックの read/write が終わるとテープの走行方向を反転させ
次のトラックの read/write を行います)。トラックの数と、
それに対応するトラックの幅はテープの容量によって変わります。
すべてではありませんが、
ほとんどの最近のドライブは少なくとも読み出しについては
(場合によっては書き込みも) 下位互換性があります。
QIC はデータの安全性についてはよいといわれています
(ヘリカルスキャンドライブに比べて機構は単純でより丈夫です)。
テープは 5000 回のバックアップで寿命となるでしょう。
XXX* ミニカートリッジ
DLT
テープメディア
DLT
DLT はここに示したドライブのタイプの中で最高速のデータ転送レートを発揮します。
1/2 インチ (12.5mm) テープが単リールのカートリッジ
(4 x 4 x 1 インチ、100 x 100 x 25 mm) に入っています。
カートリッジのひとつの側面全体がスイングゲートになっています。
ドライブの機構がこのゲートを開け、テープリーダを引き出します。
テープリーダには楕円形の穴があり、
ドライブがテープを 引っ掛ける
のに使います。
巻き取りのためのリールはドライブの中にあります。
ここに挙げた他のカートリッジはすべて
(9 トラックテープはただ 1 つの例外です)
送りだしリールと巻き取りリールの両方がカートリッジの中にあります。
データスループットは約 1.5 MB/s で、4mm, 8mm, QIC
テープドライブの 3 倍です。データ容量は単一のドライブで 10 GB
から 20 GB の範囲です。マルチテープチェンジャ、
マルチテープドライブ、5 から 900 巻のテープを 1 から
20 ドライブで扱うマルチドライブテープライブラリがあり、
50 GB から 9 TB の容量が得られます。
圧縮によって、DLT タイプ 4 フォーマットは
70 GB の容量まで対応しています。
データは (QICテープのように) テープの走行方向と平行に複数ある
トラックへ記録されます。2 つのトラックに同時書き込みを行います。
read/write ヘッドの寿命は比較的長いと言えます。
テープの走行が止まればヘッドとテープの間の相対運動は無いからです。
AIT
テープメディア
AIT
AIT は、テープ一巻あたり (圧縮を用いて) 50 GB まで格納できる
Sony が開発した新しい形式です。
テープにはメモリチップが搭載されており、
テープの内容のインデックスを保持しています。
他のテープではテープ上のファイルの位置を把握するのに数分必要とするのですが、
このテープドライブではインデックスを読んで直ちに決定することができます。
SAMS:Alexandria
のようなソフトウェアは、テープのメモリチップと直接通信して、
スクリーンに内容を表示し、
どのファイルがどのテープにバックアップされたかを判断し、
正しいテープを見つけ、読み込み、
テープからデータを復元することができます。このソフトウェアを使うと、
40 以上の AIT テープライブラリを制御できます。
このようなライブラリは大体 $20,000 くらいするので、
愛好家が購入できる価格帯からは外れてしまいますが。
新品のテープを初めて使う場合
全く新品の空テープを読もうとしたり書き込もうとすると、
処理は失敗するでしょう。次のようなメッセージがコンソールに出力されるでしょう。
sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0): Logical unit is in process of becoming ready
テープに識別ブロック (Identifier Block:block number 0)
がありません。QIC-525 標準を採用したすべての QIC
テープドライブは識別ブロックをテープに書き込みます。
2 つの解決方法があります。
mt fsf 1
によりテープドライブはテープに識別ブロックを書き込みます。
フロントパネルのボタンを押してテープを取り出します。
再びテープを挿入し、データをテープに dump
します。
dump は
DUMP: End of tape detected と報告し、
コンソールには
HARDWARE FAILURE info:280 asc:80,96
と表示されるでしょう。
mt rewind を使ってテープを巻戻します。
次からはテープの操作はうまくいくでしょう。
フロッピーへのバックアップ
データをバックアップするのにフロッピーは使えますか?
バックアップフロッピー
フロッピーディスク
フロッピーディスクは以下の理由によって、
実際にバックアップをつくるための適切なメディアではありません。
メディアの信頼性が (特に長期間の場合) 低い。
バックアップとリストアがとても遅い。
容量が非常に小さい
(ハードディスク全体の日々のバックアップに 1 ダース、
長期間なら本当にたくさん)。
しかしながら、データをバックアップするのに他の方法がないのなら、
バックアップを取らないよりもフロッピーディスクを使う方がよいでしょう。
フロッピーディスクを使用せざるを得ないときは、
品質のよいディスクを使用してください。
事務所のその辺に数年転がっていたフロッピーは使わない方が良いでしょう。
評判のよいメーカからの新しいディスクを使用することが理想です。
それではどうやってデータをフロッピーにバックアップするのですか?
フロッピーにバックアップする一番の方法は
(マルチボリューム) オプション付きで &man.tar.1;
コマンドを使用することです。これにより、
複数のフロッピーにわたってバックアップすることが可能になります。
カレントディレクトリとサブディレクトリのすべてのファイルをバックアップするには以下のコマンドを (root 権限で) 使用します。
&prompt.root; tar Mcvf /dev/fd0 *
始めのフロッピーが一杯になったときには、
&man.tar.1; は次のボリュームを挿入するように要求します
(&man.tar.1; はさまざまなメディアを扱えるので、
ボリューム (この場合フロッピーディスク) と表記します)。
Prepare volume #2 for /dev/fd0 and hit return:
指定したファイルがすべて保存されるまで
(ボリューム番号を増やしながら) 繰り返されます。
バックアップを圧縮できますか?
tar
gzip
圧縮
残念なことに &man.tar.1; はマルチボリュームアーカイブに対して、
オプションを使うことができません。
もちろん、すべてのファイルを &man.gzip.1; で圧縮し、
それらを &man.tar.1; を用いてフロッピーに保存して、
それから再び &man.gunzip.1; を用いることは可能です。
どのようにしてバックアップをリストアしたらいいのでしょうか?
すべてのアーカイブをリストアするには以下のようにします。
&prompt.root; tar Mxvf /dev/fd0
特定のファイルだけをリストアするには二つの方法があります。
まず始めに、一番目のフロッピーを用いて以下のようにします。
&prompt.root; tar Mxvf /dev/fd0 filename
&man.tar.1; ユーティリティは、必要なファイルを見つけるまで次のディスクを挿入するように要求します。
二つ目の方法は、
必要なファイルがどのフロッピーに保存されているか分かっている場合、
単純にそのフロッピーを挿入して上記と同じコマンドを使用します。
あるフロッピー上にある一番目のファイルが、
その前のフロッピーから続いている場合は、
そのファイルのリストアを要求していなくても &man.tar.1;
はそれをリストアできないと警告することに注意してください!
バックアップの基本
主要なバックアッププログラムは
&man.dump.8;, &man.tar.1;, &man.cpio.1; の三つです。
ダンプとリストア
バックアップソフトウェア
ダンプ / リストア
dump
restore
伝統的な &unix; のバックアッププログラムは
dump および restore です。
これらはファイルシステムによって作成されたファイル、リンク、
ディレクトリの下位の抽象的概念であるディスクブロックの集合としてドライブを操作します。dump
はデバイス上のすべてのファイルシステムをバックアップします。
ファイルシステムの一部分だけ、または二つ以上のファイルシステムにわたるディレクトリツリーをバックアップすることはできません。dump
はファイルおよびディレクトリをテープに書き込みませんが、
ファイルおよびディレクトリを含んだ raw データブロックを書き込みます。
ルートディレクトリで dump を使用した場合、
/home, /usr
や他のディレクトリの多くをバックアップしなくてもよいでしょう。
通常これらは他のファイルシステムへのマウントポイントであるか、
シンボリックリンクであるからです。
dump には AT&T UNIX のバージョン 6
(およそ 1975 年) の初期から残る奇癖があります。
デフォルトのパラメタは、現在利用可能な高密度メディア (最大 62,182 ftpi)
ではなく、9 トラックテープ (6250 bpi) に最適な値となっています。
現在のテープドライブの容量を利用するために、
これらのデフォルトはコマンドライン上でオーバライドしなくてはいけません。
.rhosts
rdump および rrestore
を用いて他のコンピュータに接続されているテープドライブにネットワーク経由でデータをバックアップすることも可能です。
どちらのプログラムもリモートのテープドライブにアクセスするために
rcmd および ruserok
に依存しています。
したがって、バックアップを実行するユーザがリモートコンピュータの
.rhosts ファイルに書かれていなければなりません。
rdump および rrestore
の引数はリモートコンピュータに適切なものを用いなければなりません。
FreeBSD コンピュータから komodo と呼ばれる Sun
に接続されている Exabyte テープへ rdump
するには以下のようにします。
&prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
注意:
ここではセキュリティが確保されており、
.rhosts
ファイルによる認証が許可されているものと暗黙的に仮定しています。
あなたの状況がこれにあてはまるか注意深く調べてください。
さらなる安全のために ssh 上で
dump および restore
を使用することも可能です。
ssh 上で dump を使用する
&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz
tar
バックアップソフトウェア
tar
&man.tar.1; は AT&T UNIX の バージョン 6 (1975 年ごろ)
にまでさかのぼることができます。tar
はファイルシステムと協調して動作し、
ファイルとディレクトリをテープに書き込みます。tar
は &man.cpio.1;
で使用可能なフルレンジのオプションには対応していませんが、
tar は cpio
が使用するような奇妙なコマンドパイプラインを必要ありません。
tar
tar
の多くの版はネットワーク経由のバックアップには対応してません。
FreeBSD が使用している GNU 版の tar は、
rdump
と同様の構文でリモートデバイスに対応しています。
komodo と呼ばれる Sun に接続された Exabyte
テープドライブに tar
を実行するには以下のようにします。
&prompt.root; /usr/bin/tar cf komodo:/dev/nsa8 . 2>&1
リモートデバイスに対応していない版に対しては、パイプラインと
rsh
を使用してリモートテープドライブにデータを送ることができます。
&prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b
ネットワークを越えたバックアップのセキュリティを懸念しているなら、
rsh の代わりに ssh
を使用するべきです。
cpio
バックアップソフトウェア
cpio
&man.cpio.1; は本来 &unix;
ファイルを磁気メディアで交換するためのプログラムです。
cpio はバイトスワッピング、
多くの異なるアーカイブフォーマットの書き込みオプション
(他にも多数のオプションがあります) があり、
パイプで他のプログラムにデータを渡すこともできます。
この最後にあげた特徴により、cpio
はインストールメディアとしては優れた選択です。cpio
はディレクトリツリーの探索の機能はなく、ファイルリストは
stdin からの入力でなくてはなりません。
cpio
cpio
はネットワーク経由のバックアップには対応していません。
以下のようにパイプラインと rsh
を用いてリモートテープドライブにデータを送ることができます。
&prompt.root; for f in directory_list; do
find $f >> backup.list
done
&prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"
directory_list
はバックアップしたいディレクトリのリストで、
user@host
はバックアップを実行したいユーザとホスト名の組であり、
backup_device
はバックアップを書き込みたいデバイスです
(たとえば /dev/nsa0)。
pax
バックアップソフトウェア
pax
pax
POSIX
IEEE
&man.pax.1; は tar と cpio
に対する IEEE/&posix; の答えです。長年の間、さまざまな版の
tar および cpio
は互いにわずかながら非互換性を有していました。
それらをしらみ潰しに標準化する代わりに、&posix;
は新しいアーカイブユーティリティを作りました。
pax は専用に開発された新しいフォーマットに加えて、
いくつもの cpio や tar
のフォーマットの読み書きに対応しようと試みています。コマンド群は
tar よりも cpio
の方にいくぶん似ています。
Amanda
バックアップソフトウェア
Amanda
Amanda
Amanda (Advanced Maryland
Network Disk Archiver) は単一のプログラムではなく、
クライアント/サーバ型のバックアップシステムです。
Amanda サーバは、
Amanda クライアントを有する
ネットワークに接続されたコンピュータからデータを受け取り、
備え付けられたテープドライブにバックアップします。
いくつもの大容量ディスクを備えたサイトでの共通の問題は、
データディレクトリをテープにバックアップするのに時間がかかりすぎることです。
Amanda はこの問題を解決します。
Amanda は
ホールディングディスク
を使用して、
同時に複数のファイルシステムのバックアップを行うことができます。
Amanda の設定ファイルにかかれたすべてのファイルシステムのフルバックアップを特定の間隔でとるために
アーカイブセット
と呼ばれるテープグループを作成します。
アーカイブセット
には
夜間に作成されるすべてのファイルシステムの増分 (または差分)
のバックアップも含まれます。
障害が起きたファイルシステムのリストアには、
最も新しいフルバックアップと増分のバックアップが必要です。
設定ファイルでバックアップの制御と
Amanda
によるネットワークトラフィック量を設定します。
Amanda は上記のバックアッププログラムのいずれかを使用してデータをテープに書き込みます。
Amanda は port または package
として利用可能です。デフォルトではインストールされていません。
何もしない
何もしない
というのはコンピュータのプログラムではありませんが、
バックアップの戦略として最も広く採用されています。
これには初期投資が必要ありません。
従わなければならないバックアップスケジュールもありません。
ただ何もしないだけです。データに何か起きたら苦笑いして耐えてください!
あなたにとって時間やデータの価値が少ないか、
あるいはまったくないのであれば 何もしない
のはあなたのコンピュータに最も適したバックアッププログラムでしょう。
しかし注意してください。&unix; は便利なツールです。6
ヵ月も使用していれば価値のあるファイルの山が出来上がっているでしょう。
何もしない
のはコンピュータによって正確に再作成される
/usr/obj
やその他のディレクトリツリーについては適切なバックアップ方法です。
HTML または &postscript; 版のこのハンドブックが一つの例です。
これらの文書形式は SGML ファイルから作成されたものです。
HTML または &postscript; ファイルのバックアップは必要ありません。
SGML ファイルは定期的にバックアップされます。
どのバックアッププログラムが最適ですか?
LISA
定期的に &man.dump.8; しましょう。
Elizabeth D. Zwicky
はここで検討したプログラムすべてについて拷問的なテストを行いました。
すべてのデータと &unix;
ファイルシステムの状態すべてを保存するのに最適なのは、明らかに
dump でしょう。
Elizabeth は大きく変化に富んだ異常な状態
(いくつかはあまり異常でない状態のものもあります)
のファイルシステムを作成し、それぞれのプログラムを用いてそれらのファイルシステムのバックアップとリストアのテストを行いました。特色のある状態には、
ホールを持つファイル、ホールとヌルブロックを持つファイル、
奇妙な文字をファイル名に持つファイル、読み込み不可、
書き込み不可のファイル、デバイスファイル、
バックアップ中のファイルのサイズ変更、
バックアップ中のファイルの作成および削除、などがあります。
彼女は 1991 年 10 月の LISA V で結果の発表をしています。
torture-testing Backup and Archive Programs を参照してください。
緊急時のリストア手順
惨事の起きる前に
起き得るどのような惨事に対しても、
必要な手順は以下の 4 ステップだけです。
disklabel
まず始めに、
各ディスクのディスクラベルとファイルシステムテーブル
(/etc/fstab)、
すべてのブートメッセージをそれぞれ 2 枚ずつ印刷します
(たとえば disklabel da0 | lpr)。
fix-it フロッピー
次に、ブートフロッピーと fix-it フロッピー
(boot.flp および fixit.flp)
にそのシステムのデバイスがすべて含まれているか確認します。
最も簡単に確認する方法は、フロッピーをドライブに入れてマシンをリブートしてブートメッセージを確認することです。
あなたのシステムのデバイスのすべてが含まれ、
機能していれば次のステップに進んでください。
そうでないなら、あなたのディスクのすべてをマウントでき、
テープドライブにもアクセスできるカスタムブートフロッピーを二つ作成する必要があります。
これらのフロッピーは fdisk,
disklabel, newfs,
mount
および利用したいバックアッププログラムを含んでいなければなりません。
これらのプログラムをスタティックリンクされていなければなりません。
dump を使用するのなら、このフロッピーに
restore も含まれていなければなりません。
続いて、定期的にバックアップテープを作成します。
最後のバックアップの後で行われた変更は回復することができないかもしれません。
バックアップテープにライトプロテクトをしてください。
最後に、フロッピー (boot.flp と
fixit.flp
または上記で作成した二枚のカスタムブートフロッピーディスク)
およびバックアップテープのテストをします。手順のメモを作りましょう。
このメモはブートフロッピーとバックアップテープにいれておき、
印刷しておきます。
リストアを行うときはおそらく取り乱しているでしょうから、
このメモはバックアップテープを壊すようなことを防ぐのに役立つでしょう
(どのように破壊してしまうのでしょう?
tar xvf /dev/sa0 とする代わりに、偶然
tar cvf /dev/sa0
と入力してバックアップテープを上書きしてしまうかもしれません)。
訳注
上書きはライトプロテクトをしておけば防げますが、
何らかの原因でプロテクトがはずれているかもしれません。
ちなみに訳者の経験から言えば、
上のようなミスタイプは結構起きます。
安全性を増すために、
ブートフロッピーと二巻のバックアップテープを毎回とります。
一方を離れた場所に保管します。
離れた場所は同じ事務所の建物の地下室ではいけません。
世界貿易センタービルにあった数多くの会社は、
苦い経験によりこの教訓を得ました。
離れた場所とは、コンピュータやディスクドライブからかなり離れて、
物理的に分離されされていなければなりません。
ブートフロッピーを作成するスクリプト
/mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# create the devices nodes
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV da0
./MAKEDEV da1
./MAKEDEV da2
./MAKEDEV sa0
./MAKEDEV pty0
cd /
#
# create minimum file system table
#
cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd <
惨事の後は
重要な問題は、ハードウェアが生き残ったかどうかです。
定期的にバックアップを取っていれば、
ソフトウェアについて心配する必要はありません。
ハードウェアに障害があれば、
コンピュータを使用する前にその部品を交換してください。
ハードウェアに問題が無ければ、フロッピーを確認してください。
カスタムブートフロッピーディスクを使用しているのであれば、
シングルユーザモードでブートしてください (boot:
プロンプトで -s を入力します)。
それから次の項に進んでください。
boot.flp と fixit.flp
を使用しているのであればこのまま読み進めてください。
boot.flp
フロッピーをフロッピードライブに入れて、
コンピュータを起動してください。
本来のインストールメニューが画面に表示されます。
Fixit--Repair mode with CDROM or floppy.
オプションを選択します。指示された通り
fixit.flp をいれてください。
restore と必要となるその他のプログラムは
/mnt2/stand にあります。
そして、ファイルシステムを一つずつ回復します。
mount
root パーティション
disklabel
newfs
最初のディスクのルートパーティションを mount
してみてください (たとえば mount /dev/da0a /mnt)。
ディスクラベルが破壊されている場合は、disklabel
を用いてあらかじめ印刷して保存しておいた通りにパーティションを作り直し、ディスクラベルを作成してください。
newfs を使用してファイルシステムを作り直します。
ルートパーティションを読み書き可能にマウントし直します
(mount -u -o rw /mnt)。
バックアッププログラムとバックアップテープを使用して、
このファイルシステムのデータを回復します
(たとえば restore vrf /dev/sa0)。
ファイルシステムをアンマウントします
(たとえば umount /mnt)。
障害を受けたファイルシステムそれぞれについて繰り返してください。
システムが動き出したら、
新しいテープにデータをバックアップしてください。
どのような理由で再び事故が起きたり、データが失われるかわかりません。
これに数時間を費すことで、後々の災難から救われます。
* I Did Not Prepare for the Disaster, What Now?
]]>
Marc
Fonvieille
再構成および追記:
ネットワーク、メモリ、そしてファイルベースのファイルシステム
仮想ディスク
ディスク
仮想
FreeBSD にはフロッピーや CD,
ハードディスクなどの手元の計算機に取り付けたディスクの他に、
別の形態のディスク、仮想ディスク、もあります。
NFS
Coda
ディスク
メモリ
これには、Network File System
のようなネットワークファイルシステムや Coda,
メモリベースのファイルシステムおよびファイルベースのファイルシステムがあります。
稼働させている FreeBSD のバージョンによって、
ファイルベースおよびメモリベースのファイルシステムを作成したり操作するために、異なるツールを使用しなければならないでしょう。
FreeBSD 4.X の使用者は必要なデバイスを作成するために
&man.MAKEDEV.8; を使用しなければならないでしょう。FreeBSD 5.0
以降では、&man.devfs.5; がデバイスノードを自動的に割り当ててくれるので、
使用者が意識する必要はありません。
FreeBSD 4.X でファイル中に構築されるファイルシステム
ディスク
ファイルベース (4.X)
&man.vnconfig.8;
ユーティリティを使えば擬似ディスクデバイスを設定し、
有効にすることができます。
vnode とはファイルの内部的な表現方法であり、
ファイルに関する操作の中心となるものです。つまり、&man.vnconfig.8;
はファイルシステムを生成したり操作したりするためにファイルを用いるのです。
一つ例を挙げると、
ファイルに収められたフロッピーや CD-ROM のイメージをマウントするために用いることができます。
&man.vnconfig.8; を使用するためには、
カーネルが &man.vn.4; デバイスに対応している必要があります。
そうでなければ、カーネルコンフィギュレーションファイルに
次の行を追加してカーネルを再構築し、システムを再起動してください。
pseudo-device vn
既にあるファイルシステムイメージのマウント
FreeBSD 4.X での vnconfig を用いた既存のファイルシステムイメージのマウント
&prompt.root; vnconfig vn0 diskimage
&prompt.root; mount /dev/vn0c /mnt
&man.vnconfig.8; を用いたファイルシステムイメージの新規作成
vnconfig を用いたファイルベースディスクの新規作成
&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; vnconfig -s labels -c vn0 newimage
&prompt.root; disklabel -r -w vn0 auto
&prompt.root; newfs vn0c
Warning: 2048 sector(s) in last cylinder unallocated
/dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
super-block backups (for fsck -b #) at:
32
&prompt.root; mount /dev/vn0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/vn0c 4927 1 4532 0% /mnt
FreeBSD 5.X でファイル中に構築されるファイルシステム
ディスク
ファイルベース (5.X)
&man.mdconfig.8; ユーティリティは FreeBSD 5.X において
メモリディスク (&man.md.4;) を設定し、有効にするために使用されます。
&man.mdconfig.8; を使用するためには &man.md.4; モジュールを読み込むか、
カーネルコンフィギュレーションファイルに &man.md.4;
デバイスを追加してカーネルを再構築し、システムを再起動してください。
device md
&man.mdconfig.8; コマンドは、
三つのタイプのメモリベース仮想ディスクに対応しています。
&man.malloc.9; を用いて割り当てられたメモリディスク、
ファイルをベースにしたメモリディスク、
およびスワップ領域をベースにしたメモリディスクです。
想定される使用法は、ファイル内に保持されたフロッピーイメージまたは
CD イメージをマウントすることです。
既にあるファイルシステムイメージのマウント
FreeBSD 5.X での mdconfig を用いた既存のファイルシステムイメージのマウント
&prompt.root; mdconfig -a -t vnode -f diskimage -u 0
&prompt.root; mount /dev/md0c /mnt
&man.mdconfig.8; を用いたファイルシステムイメージの新規作成
mdconfig を用いたファイルシステムイメージの新規作成
&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdconfig -a -t vnode -f newimage -u 0
&prompt.root; disklabel -r -w md0 auto
&prompt.root; newfs md0c
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4846 2 4458 0% /mnt
オプションを用いて
ユニット番号を指定しない場合、&man.mdconfig.8;
は未使用のデバイスを自動的に選択するために
&man.md.4; デバイスの auto-unit 機能を使用します。
割り当てられたユニットの名前は md4
のように標準出力に出力されます。&man.mdconfig.8;
の詳細についてはマニュアルページを参照してください。
&os; 5.1-RELEASE から、従来の &man.disklabel.8;
プログラムは &man.bsdlabel.8;
ユーティリティに置き換えられました。&man.bsdlabel.8; では、
使用されていないオプションおよびパラメタの数多くが削除されました。
たとえば オプションは &man.bsdlabel.8;
では取り除かれました。詳細については &man.bsdlabel.8;
マニュアルページを参照してください。
&man.mdconfig.8; ユーティリティは大変役に立ちますが、
ファイルベースのファイルシステムを作成するために、
多くのコマンドの入力が必要となります。FreeBSD 5.0 では
&man.mdmfs.8; と呼ばれるツールも用意されています。このプログラムは
&man.mdconfig.8; を用いて &man.md.4; ディスクを設定し、&man.newfs.8;
を用いて UFS ファイルシステムを作成し、&man.mount.8;
を用いてマウントします。たとえば、上記と同じファイルシステムを作成し、
マウントしたい場合は、下記のように入力するだけです。
&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records in
5120+0 records out
&prompt.root; mdmfs -F newimage -s 5m md0 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0 4846 2 4458 0% /mnt
ユニット番号を指定せずに
オプションを使用した場合、&man.mdmfs.8;
は未使用のデバイスを自動的に選択するために &man.md.4; デバイスの
auto-unit 機能を使用します。&man.mdmfs.8;
についての詳細はマニュアルページを参照してください。
FreeBSD 4.X でのメモリベースのファイルシステム
ディスク
メモリファイルシステム (4.X)
&man.md.4; ドライバは FreeBSD 4.X
においてメモリファイルシステムを作成するために単純で効果的な手段です。
メモリを割り当てるために &man.malloc.9; 関数が使用されます。
&man.vnconfig.8; を用いて作成したファイルシステムを例に取ると、
以下のようにします。
FreeBSD 4.X での md メモリディスク
&prompt.root; dd if=newimage of=/dev/md0
5120+0 records in
5120+0 records out
&prompt.root; mount /dev/md0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4927 1 4532 0% /mnt
詳細については &man.md.4; マニュアルページを参照してください。
FreeBSD 5.X でのメモリベースのファイルシステム
ディスク
メモリファイルシステム (5.X)
メモリベースおよびファイルベースのファイルシステムに対しても
同じツール (&man.mdconfig.8; または &man.mdmfs.8;) を使用できます。
メモリベースのファイルシステムに対する記憶領域は
&man.malloc.9; 関数を用いて割り当てられます。
mdconfig を用いたメモリベースディスクの新規作成
&prompt.root; mdconfig -a -t malloc -s 5m -u 1
&prompt.root; newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
with soft updates
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md1 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4846 2 4458 0% /mnt
mdmfs を用いたメモリベースディスクの新規作成
&prompt.root; mdmfs -M -s 5m md2 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mnt
&man.mdconfig.8; のコマンドラインの を
に置き換えることで、&man.malloc.9;
関数によるファイルシステムを使用する代わりに
スワップ領域を使用することが可能です。デフォルトでは &man.mdmfs.8;
ユーティリティはスワップベースのディスクを作成します
( なし)。詳細は &man.mdconfig.8; および
&man.mdmfs.8; マニュアルページを参照してください。
システムからメモリディスクを切り離す
ディスク
メモリディスクの切り離し
メモリベースまたはファイルベースのファイルシステムが使用されていない場合、
すべてのリソースをシステムに開放するべきです。
はじめにファイルシステムをアンマウントします。
次にシステムからディスクを切り離し、リソースを開放するために
&man.mdconfig.8; を使用します。
たとえば /dev/md4 によって使用されたすべてのリソースを切り離し、開放するには以下のようにします。
&prompt.root; mdconfig -d -u 4
mdconfig -l コマンドを使用することによって、
設定された &man.md.4; デバイスについての情報を表示することが可能です。
FreeBSD 4.X では &man.vnconfig.8; はデバイスを切り離すのに使用されます。たとえば /dev/vn4 によって使用されたすべてのリソースを切り離し、開放するには以下のようにします。
&prompt.root; vnconfig -u vn4
Tom
Rhodes
寄稿:
ファイルシステムのスナップショット
ファイルシステム
スナップショット
FreeBSD 5.0 は
Soft Updates
と協調するファイルシステムスナップショットという新しい機能を提供します。
スナップショットは指定したファイルシステムのイメージを作成し、
また、ファイルとして扱うことができるようになります。
スナップショットファイルはアクションが実行されるファイルシステム内で作成されなければなりません。
また、ユーザは一つのファイルシステムあたり 20
までスナップショットを作成することができます。
有効なスナップショットはスーパーブロック内に記録されるので、
リブートしてから永続的にアンマウントおよびリマウントを記録します。
スナップショットが必要無くなったときは、
標準の &man.rm.1; コマンドを用いて削除することができます。
スナップショットはどんな順番で削除してもよいのですが、
その他のスナップショットが開放されたブロックのうちいくらかをおそらく必要とするので、
使用されていたすべてのスペースを得られるとは限りません。
初めてスナップショットを作成すると、root
でさえも書き込めないように
フラグ (&man.chflags.1; のマニュアルページを参照) が設定されます。
&man.unlink.1; コマンドは、スナップショットに
フラグが設定されていてもそれらを削除することのできる例外です。
したがって、スナップショットファイルを削除する前に、
フラグをクリアする必要はありません。
スナップショットは &man.mount.8; コマンドを用いて作成されます。
/var のスナップショットを
/var/snapshot/snap に作成したいときは、
以下のコマンドを使用します。
&prompt.root; mount -u -o snapshot /var/snapshot/snap /var
スナップショットにはいくつかの利用法があります。
スナップショットをバックアップ目的に使用する管理者もいます。
なぜならスナップショットは CD やテープに転送できるからです。
ファイルの完全性を検証するために、
&man.fsck.8; をスナップショットに実行してもよいでしょう。
スナップショットをマウントしたときにそのファイルシステムがクリーンであったとすると、
そのスナップショットをマウントするときはいつでもクリーンな
(そして変更のない) 結果を得るでしょう。
これは本質的には バックグラウンド &man.fsck.8; が行うことです。
スナップショット上で &man.dump.8; ユーティリティを実行すると、
スナップショットのファイルシステムとタイムスタンプが一致するダンプが返されるでしょう。
&man.dump.8; は オプションを使用することで、
一つのコマンドでスナップショットをとり、ダンプイメージを作成して、スナップショットを削除することが可能です。
ファイルシステムの 凍結された
イメージとしてスナップショットを
&man.mount.8; します。
/var/snapshot/snap のスナップショットを
&man.mount.8; するには以下のようにします。
&prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4
&prompt.root; mount -r /dev/md4 /mnt
これで /mnt にマウントした
凍結状態の /var ファイルシステム構造を探索できます。
すべてがスナップショットが作成された時と同じ状態になるはずです。ただし、
以前に作成されたスナップショットがサイズ 0 のファイルとして現れることが唯一の例外です。
スナップショットの使用を終えた場合、以下のようにアンマウントできます。
&prompt.root; umount /mnt
&prompt.root; mdconfig -d -u 4
およびファイルシステムスナップショットに関する詳細については、
http://www.mckusick.com/
にある Marshall Kirk McKusick のウェブサイトを参照してください。
ここには技術的な論文もあります。
ファイルシステムクォータ
アカウンティング
ディスク領域
ディスククォータ
クォータは OS の持っているオプショナルな機能であり、
ファイルシステム毎にユーザやグループのメンバが使用するディスク容量やファイルの数を制限することができます。
この機能は、あるユーザやグループに割り当てられるリソースの量を制限することが望ましいようなタイムシェアリングシステムにおいてよく用いられます。
この機能を用いることによって使用可能なディスク容量の全てを一人のユーザやユーザのグループが使ってしまうことを防ぐことができます。
ディスククォータを使うためのシステム設定
ディスククォータの設定を始める前に、
まずはカーネルにクォータが組み込まれていることを確認しましょう。
カーネルのコンフィグレーションファイルに次の行を入れます。
options QUOTA
標準の GENERIC カーネルでは、
この機能は有効になっていませんので、
ディスククォータを利用するためには上記を設定後カーネルを構築しなおし、
作成されたカスタムカーネルをインストールしなければいけません。
カーネルのコンフィグレーションに関しては
をご覧ください。
次に /etc/rc.conf
でディスククォータを有効にする必要があります。
次の行を加えましょう。
enable_quotas="YES"
ディスククォータ
チェック
起動時の動作をさらに細かくコントロールするためにもう一つ設定用の変数があります。
通常、起動時には &man.quotacheck.8;
によりそれぞれのファイルシステムのクォータの整合性がチェックされます。
&man.quotacheck.8; の役割は、
クォータデータベースのデータが正しくファイルシステム上のデータを反映しているか確認することです。
これはかなり時間を食う処理であり、
起動にかかる時間に大きな影響を及ぼします。
このステップをとばしたい人のために
/etc/rc.conf に次の変数が用意されています。
check_quotas="NO"
もし 3.2-RELEASE よりも前の FreeBSD
を使っているならば設定はもっと単純で、一つの変数のみです。
次の行を /etc/rc.conf で設定してください。
check_quotas="YES"
最後に、ファイルシステム毎にディスククォータを有効にするために
/etc/fstab を編集する必要があります。
ここでユーザもしくはグループ、
あるいはその両方にクォータを設定することができるのです。
あるファイルシステム上にユーザ毎のクォータを有効にする場合には、
/etc/fstab
中でクォータを有効にしたいファイルシステムエントリのオプション部に
を加えます。
例えば次のようになります。
/dev/da1s2g /home ufs rw,userquota 1 2
同様に、グループクォータを有効にするには
キーワードの代わりに
を用います。
ユーザとグループの両方のクォータを有効にするには次のようにします。
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
デフォルトでは、
クォータファイルはそのファイルシステムのルートディレクトリに
ユーザ用、グループ用それぞれ
quota.user, quota.group
という名前で置かれます。さらに詳しい情報は &man.fstab.5;
をご覧ください。&man.fstab.5;
マニュアルには別の場所を指定することができると書いてはありますが、
あまり勧められません。なぜなら、
様々なクォータ関係のユーティリティがそれにうまく対処できるようにないためです。
この時点で、
一度システムを再起動して新しいカーネルで立ち上げましょう。
/etc/rc が自動的に適当なコマンドを実行し、
/etc/fstab
で有効にした全てのクォータ用に初期ファイルを作ってくれます。
従って、空のクォータファイルを手で作る必要は一切ありません。
通常の運用では &man.quotacheck.8; や
&man.quotaon.8;, &man.quotaoff.8;
といったコマンドを手で動かす必要はないのですが、
慣れるためにもこれらのマニュアルは読んでおきましょう。
クォータリミットの設定
ディスククォータ
制限
一旦クォータを有効にしたら本当に有効になっているのか確認しておきましょう。簡単な方法は次のコマンドを実行することです。
&prompt.root; quota -v
ディスクの使用状況と、クォータが有効になっているファイルシステムのクォータリミットが一行にまとめて出力されるでしょう。
さあ、&man.edquota.8; でクォータリミットを設定する準備ができました。
ユーザやグループが使用できるディスク容量や作成できるファイルの数に制限をかけるにはいくつかのオプションがあります。割り当てディスク容量を制限
(ブロッククォータ) することもファイル数を制限 (inode クォータ)
することも、両者を組み合わせることもできるのです。
これらの制限はそれぞれさらに二つのカテゴリ、
ハードリミットとソフトリミット、に分けることができます。
ハードリミット
ハードリミットを越えることはできません。
あるユーザが一旦ハードリミットにたっした場合、
そのファイルシステムではそれ以上の割り当ては望めません。
例えばあるファイルシステム上に
500 ブロックのハードリミットが設定されており現在
490 ブロックを使用している場合、さらに 10 ブロックしか使えないのです。
11 ブロックを使おうとすると失敗します。
ソフトリミット
一方、
ソフトリミットはある限られた時間内であれば越えることができます。
この時間は猶予期間として知られており、デフォルトでは 1 週間です。
あるユーザが自分のソフトリミットを猶予期間よりも長い間越えているとソフトリミットはハードリミットに変わり、それ以上使用することはできなくなります。
ユーザがソフトリミットよりも減らせば猶予期間はリセットされます。
以下は &man.edquota.8;
コマンドを実行した時に見ることになるであろう例です。
&man.edquota.8; コマンドが起動されると環境変数
EDITOR で指定されるエディタに入ります。
EDITOR が設定されていない場合には
vi が起動されます。
ここでクォータリミットを編集します。
&prompt.root; edquota -u test
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)
通常、クォータが有効になっているファイルシステム毎に 2 行あります。
一つはブロックリミット用でもう一つは inode リミット用です。
クォータリミットを変更したいところを書き変えるだけでかまいません。
たとえばこのユーザのブロックリミットを、ソフトリミットは 50 から 500
へ、ハードリミットは 75 から 600 に変更する場合、
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
から
/usr: blocks in use: 65, limits (soft = 500, hard = 600)
へ書き換えます。新しいクォータリミットはエディタを終了すれば設定されます。
ある範囲の UID
に対してクォータリミットを設定したい場合がありますが、このような時には
&man.edquota.8; コマンドの
オプションを使うといいでしょう。まず、
あるユーザに割り当てたいクォータリミットを設定し、次に
edquota -p protouser startuid-enduid
を実行するのです。例えばユーザ test
にお望みのクォータリミットが付いているとしましょう。
次のコマンドにより 10,000 から 19,999 の間の UID
に対して同じクォータリミットを付けることができるのです。
&prompt.root; edquota -p test 10000-19999
さらに詳しいことは &man.edquota.8; のマニュアルページをご覧ください。
クォータリミットとディスク使用状況のチェック
ディスククォータ
チェック
&man.quota.1; または &man.repquota.8;
といったコマンドを使ってクォータリミットやディスクの利用状況を確認することができます。
&man.quota.1; コマンドは個々のユーザやグループのクォータやディスク利用状況を確認するのに使えます。
ユーザは自身のクォータ、そして所属するグループのグループのみ確認することができます。
スーパーユーザのみが他のユーザや所属していないグループのクォータと利用状況を見ることができます。
&man.repquota.8; コマンドを使うと、クォータが有効になっているファイルシステム用の全てのクォータやディスク容量のサマリを得ることができます。
以下は二つのファイルシステムにクォータ制限がかけられているユーザに対するquota -v コマンドの出力例です。
Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60
猶予期間
上の例で、/usr
ファイルシステム上ではこのユーザは現在
50 ブロックというソフトリミットを 15 ブロックオーバーし
5 日間の猶予期間が残っています。アスタリスク *
はクォータリミットを越えているユーザを示していることに注意してください。
通常、そのユーザが全く使っていないファイルシステムは、
クォータリミットが付けられているとしても
&man.quota.1; コマンドの出力には現われません。
オプションを用いればそのようなファイルシステム、
上の例では /usr/var、
を表示することができます。
NFS 上の クォータ
NFS
クォータは NFS サーバ上のクォータサブシステムにより実行されます。
&man.rpc.rquotad.8; デーモンにより、NFS クライアント上の &man.quota.1;
コマンドは情報を得ることができ、クライアントマシン上のユーザが自分のクォータの統計を見ることができます。
/etc/inetd.conf において以下のように
rpc.rquotad を有効にしましょう。
rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
そして以下のように inetd を再起動します。
&prompt.root; kill -HUP `cat /var/run/inetd.pid`
Lucky
Green
寄稿:
shamrock@cypherpunks.to
ディスクパーティションの暗号化
ディスク
暗号化
FreeBSD
は無許可のデータアクセスに対する優れたオンライン保護機能を提供します。
ファイルのパーミッションおよび強制的アクセスコントロール
(MAC: Mandatory Access Control)
(Mandatory Access Control (MAC) を参照)
は、コンピュータが動作中で、OS が実行中であるときに、
無許可の第三者がデータにアクセスするのを防ぐことに役立ちます。
しかしながら、攻撃者がコンピュータに物理的にアクセスし、
機密データをコピーし分析するためにコンピュータのハードドライブを別のシステムに移動させることができれば、
OS によって強化された許可属性は意味をなさなくなります。
攻撃者が電源の落ちたコンピュータや
ハードドライブを手にいれる手段にかかわらず、
GEOM ベースのディスク暗号化 (gbde: GEOM Based Disk Encryption)
は、著しい資源を持ち本気で攻撃を仕掛けるつもりでやってきた攻撃者からさえもコンピュータのファイルシステム上にあるデータを保護することができます。
個々のファイルだけを暗号化する煩わしい方法と異なり、
gbde
は全ファイルシステムを透過的に暗号化します。
平文テキストは決してハードドライブのプラッタに関係しません。
カーネルで gbde を有効にする
root になる
gbde
の設定をするにはスーパユーザの権限が必要になります。
以下のコマンドを実行して、
root になってください。
&prompt.user; su -
Password:
オペレーティングシステムのバージョンを確かめる
&man.gbde.4; が動作するには FreeBSD 5.0 以降が必要です。
以下のコマンドを実行して、
オペレーティングシステムのバージョンを確認してください。
&prompt.root; uname -r
5.0-RELEASE
カーネルコンフィギュレーションファイルに &man.gbde.4;
対応を追加する
お好みのテキストエディタを使用して、
以下の行をカーネルコンフィギュレーションファイルに加えます。
options GEOM_BDE
FreeBSD カーネルを設定、再コンパイル、インストールします。
この手順は で説明されています。
新しいカーネルで再起動します。
暗号化されたハードドライブの準備
以下の例では、システムに新しいハードディスクを追加しようとしています。このシステムは単一の暗号化されたパーティションを保持することになります。
このパーティションは /private
としてマウントされます。gbde は
/home および /var/mail
を暗号化するのにも使用できますが、
より複雑な指示を必要となるのでこの解説の範疇を越えています。
新しいハードドライブを追加する
で説明されている通りに新しいドライブをシステムに設置します。
この例では、新しいハードドライブは
/dev/ad4s1c パーティションに
加えられたものとします。
/dev/ad0s1*
デバイスは、この例のシステム上に存在する標準的な
FreeBSD パーティションを表します。
&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4
gbde ロックファイルを保持するディレクトリを作成する
&prompt.root; mkdir /etc/gbde
gbde ロックファイルには、
暗号化されたパーティションにアクセスするのに必要となる情報が格納されています。
ロックファイルにアクセスしない場合、
gbde は
膨大な手動による介在なしには (ソフトウェアは対応していません)、暗号化されたパーティションに含まれるデータを解読することはできないでしょう。
それぞれの暗号化されたパーティションは別々のロックファイルを使用します。
gbde パーティションを初期化する
gbde
パーティションは使用する前に初期化されなければなりません。
この初期化は一度だけ実行される必要があります。
&prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c
エディタが開くので、
テンプレートをもとにさまざまなオプションを設定してください。
UFS1 または UFS2 で使用するには、sector_size を
2048 に設定してください。
$FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
#
# Sector size is the smallest unit of data which can be read or written.
# Making it too small decreases performance and decreases available space.
# Making it too large may prevent filesystems from working. 512 is the
# minimum and always safe. For UFS, use the fragment size
#
sector_size = 2048
[...]
&man.gbde.8;
はデータを保護するのに使用するパスフレーズを二度尋ます。
パスフレーズはそれぞれ同じでなければなりません。
データを保護する gbde の能力は、
あなたが選択したパスフレーズの品質にまったく依存します。
記憶するのが簡単で、
安全なパスフレーズを選択する方法については、
Diceware Passphrase
ウェブサイトを参照してください。
gbde init コマンドは
gbde
パーティションに対するロックファイルを作成します。この例では
/etc/gbde/ad4s1c に格納されます。
gbde ロックファイルは、
すべての暗号化されたパーティションの内容とともにバックアップされなければ なりません。
ロックファイルだけを削除している間、
ロックファイルなしでは信念の固い攻撃者が
gbde
パーティションを解読することを防ぐことができない一方で、
正当な所有者は、&man.gbde.8; およびこの設計者にまったく支持されない膨大な量の作業なしには、
暗号化されたパーティション上のデータにアクセスすることができないでしょう。
カーネルに暗号化されたパーティションを接続する
&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c
暗号化されたパーティションを初期化する際に選択したパスフレーズを入力するように求められます。
新しい暗号化デバイスは /dev に
/dev/device_name.bde
として現れます。
&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde
暗号化デバイス上にファイルシステムを作成する
カーネルに暗号化デバイスが接続されると、
デバイス上にファイルシステムを作成できます。
暗号化デバイス上にファイルシステムを作成するには &man.newfs.8;
を使用します。従来の UFS1 ファイルシステムで初期化するより、
新しい UFS2 ファイルシステムで初期化した方が高速なので、
オプションとともに &man.newfs.8;
を使用することが推奨されています。
&os; 5.1-RELEASE 以降では、
オプションはデフォルトです。
&prompt.root; newfs -U -O2 /dev/ad4s1c.bde
&man.newfs.8; は、デバイス名に
*.bde
拡張子によって認識される、
接続された gbde
パーティションに対して実行されなければなりません。
暗号化パーティションをマウントする
暗号化ファイルシステムに対するマウントポイントを作成します。
&prompt.root; mkdir /private
暗号化ファイルシステムをマウントします。
&prompt.root; mount /dev/ad4s1c.bde /private
暗号化ファイルシステムが利用可能か確かめる
これで暗号化ファイルシステムは &man.df.1; で見ることができ、
利用する準備ができました。
&prompt.user; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1037M 72M 883M 8% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 8.1G 55K 7.5G 0% /home
/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
/dev/ad4s1c.bde 150G 4.1K 138G 0% /private
存在する暗号化ファイルシステムをマウントする
システムを起動する度に、すべての暗号化ファイルシステムは
使用前にカーネルに接続し、
エラーの有無をチェックし、マウントする必要があります。
必要なコマンドは root
ユーザとして実行されなければなりません。
カーネルに gbde パーティションを接続する
&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c
パーティションの暗号化を初期化する際に選択したパスフレーズを入力するように求められるでしょう。
ファイルシステムのエラーをチェックする
暗号化ファイルシステムを自動的にマウントするために
/etc/fstab に設定を掲載することはまだできないため、
マウントする前に &man.fsck.8; を実行して、
ファイルシステムのエラーをチェックしなければなりません。
&prompt.root; fsck -p -t ffs /dev/ad4s1c.bde
暗号化ファイルをマウントする
&prompt.root; mount /dev/ad4s1c.bde /private
これで暗号化ファイルシステムが利用できるようになりました。
暗号化パーティションを自動的にマウントする
スクリプトを作成して、暗号化パーティションを自動的に接続、
チェック、マウントすることは可能です。しかしながら、
安全上の理由によりスクリプトに &man.gbde.8;
パスワードを含めるべきではありません。その代わりに、コンソールまたは
&man.ssh.1; による接続からパスワードを入力するようなスクリプトが手動で実行されることが推奨されます。
gbde が採用した暗号の保護
&man.gbde.8; は 128bit AES の
CBC モードを使用してセクタペイロードを暗号化します。
ディスク上のそれぞれのセクタは異なる AES 鍵で暗号化されます。
セクタ鍵がユーザが入力したパスフレーズからどのように導き出されるかを含め、
gbde の暗号手法の設計についての詳細は、
&man.gbde.4; を参照してください。
互換性に関する問題
&man.sysinstall.8; は
gbde 暗号化デバイスと互換性がありません。
&man.sysinstall.8; を実行する前に
*.bde
デバイスはすべてカーネルから切断されなければなりません。
そうしないと、&man.sysinstall.8; が初めにデバイスを走査する際にクラッシュしてしまうでしょう。
暗号化デバイスを切断するには、以下のコマンドを使用します。
&prompt.root; gbde detach /dev/ad4s1c
&man.vinum.4; は &man.geom.4; サブシステムを使用しないので、
vinum ボリュームと
gbde
を併用できないことにも注意してください。