reiserfstune - ReiserFS
ファイルシステムのチューニングツール
reiserfstune [
-f ] [
-j |
--journal-device
FILE ] [
--no-journal-available ] [
--journal-new-device
FILE ] [
--make-journal-standard ] [
-s |
--journal-new-size N ] [
-o |
--journal-new-offset
N ] [
-t |
--max-transaction-size N ] [
-b
|
--add-badblocks file ] [
-B |
--badblocks
file ] [
-u |
--uuid UUID ] [
-l |
--label LABEL ]
device
reiserfstune は ReiserFS
を調整するために使われる。
このプログラムは
(ジャーナルサイズと最大トランザクションサイズという)
2
つのジャーナルパラメータを変更可能で、
ジャーナルの場所を指定された新しいブロックデバイスに移動できる
(以前の ReiserFS
ジャーナルを使用しないままにすることもできるし、
ユーザーオプションにより破棄することもできる)。
それに加え、
reiserfstune
は不正ブロックのリストを
ReiserFS に格納したり、UUID や
LABEL を設定できる。
注意:
これを書いている時点では、ジャーナルの再配置は
ReiserFS
の特別リリース用に実装されており、
Linux 2.5 あたりまでは、
メインストリームのカーネルに入れる予定はない。
つまり現在持っているカーネルに特別なパッチを適用する必要がある。
このパッチを適用しない場合、
カーネルは新しく修正されたファイルシステムのマウントを拒否する。
なぜこれが動作しないかを説明してほしければ、$25
いただきたい。
このコードのもっとも重要な応用としては、
ソリッドステートディスクにジャーナルを置くことが考えられる。
- device
- デバイスに対応するスペシャルファイル
(例えば、/dev/hdXX は IDE
ディスクパーティションで、
/dev/sdXX は SCSI
ディスクパーティションである)。
-
-j | --journal-device FILE
-
FILE
はファイルシステムが現在
(reiserfstune を実行する前に)
ジャーナルを置いているブロックデバイスのファイル名である。
このオプションは、メインデータデバイスとは別のデバイスに
既にジャーナルが置かれている場合に必要になる
( --no-journal-available
を指定すれば、使わないこともできる)。
このオプションでジャーナルデバイスを指定しない場合、
reiserfstune
はジャーナルがメインデバイスにあると仮定する。
- --no-journal-available
- 現在のジャーナルのブロックデバイスが既に使用不能な場合でも、
reiserfstune
に処理を実行させる。
このようなケースは、ディスクが故障してジャーナルを削除し
(その後に fsck
をしている)
といった場合に起る。
-
--journal-new-device FILE
-
FILE
はファイルシステムの新しいジャーナルを入れる
ブロックデバイスのファイル名である。
このオプションを指定しない場合、
reiserfstune
はジャーナルデバイスが以前と同じものであると仮定する。
-
-s | --journal-new-size N
-
N
は新しいジャーナルのサイズパラメータである。
ジャーナルが別のデバイスにある場合、
ジャーナルデバイスのブロック数がデフォルトサイズになる。
ジャーナルがファイルシステムと同じデバイスにある場合、
mkreiserfs
で作成されたジャーナルの総ブロック数がデフォルトになる。
どちらの場合でも最小値は
513 である。
-
-o | --journal-new-offset N
-
N
は、ジャーナルが別のデバイスにある場合の
ジャーナルの開始オフセット
(バイト単位)
である。
デフォルトは 0
である。
ジャーナルがファイルシステムと同じデバイスにある場合は何も影響しない。
ほとんどのユーザーには、この機能は必要ない。
このオプションは、
複数のファイルシステムのジャーナルを同じデバイス上に置きたいが、
そのデバイスをパーティション分割したくない、
または分割できないといった場合に使える。
-
-t | --maximal-transaction-size
N
-
N
は新しいジャーナルのトランザクションサイズパラメータの最大値である。
デフォルト値と指定可能な最大値は
1024 ブロックである。
ジャーナルサイズの半分以下にすべきである。
不正な値が指定された場合は調整される。
-
-b | --add-badblocks file
-
file
は、ファイルシステム上で不正とマークされる予定の
ブロックのリストが書かれたファイルの名前である。
このリストはファイルシステムの不正ブロックのリストに追加される。
-
-B | --badblocks file
-
file
は、ファイルシステム上で不正とマークされる予定の
ブロックのリストが書かれたファイルの名前である。
ファイルシステム上の不正ブロックのリストは、
file
で指定されたリストがファイルシステムに追加される前に削除される。
-
-f | --force
- 通常 reiserfstune
は、ジャーナルの再配置コードより以前に作成された
ファイルシステムのジャーナルの変更はしない。
これはジャーナルを変更すると、
(特別なオプション
--make-journal-standard を使わずに)
以前のカーネルに戻すことが出来なくなるためである。
以前のカーネルでは今ある機能が存在せず、
ファイルシステムが使うことができなくなる。
このオプションは強制的にジャーナルの変更を行う。
このオプションを 2
つ以上指定すると、
確認を行わないようにすることができる。
- --make-journal-standard
- 上で述べたように、ファイルシステムに標準的なジャーナルがない場合、
ジャーナルの再配置コードがないカーネルではマウントできない。
このような問題を解決することもできるが、
標準ジャーナルのメインデバイスの予約領域が
8193
ブロックがなければいけないという唯一の条件がある
(標準ジャーナルを非標準ジャーナルに変換する場合などに必要である)。
ジャーナルを以前のものに再配置し直す場合は、
単にこのオプションを指定すれば良い。
メインデバイスに既にジャーナルが存在する場合、再配置はしない。
-
-u | --uuid UUID
- ファイルシステムの
universally unique identifier ( UUID)
(汎システム的に他とは重ならない識別子)
を UUID に設定する。 (
uuidgen(8) を参照)。 UUID
のフォーマットはハイフンで区切った
16
進数の文字列であり、
"c1b9d5a2-f162-11cf-9ece-0020afc76f16"
のようなフォーマットである。
-
-l | --label LABEL
- ファイルシステムのボリュームラベルを設定する。
LABEL は最大 16
文字である。 17
文字以上の場合、mkreiserfs
は文字列を切り詰める。
1. ReiserFS が /dev/hda1 にあり、
デバイス /dev/journal
にジャーナルを置いて動作させたい場合。
-
特別な「ジャーナル再配置のサポート」パッチを適用した
カーネルでブートし、
reiserfstune /dev/hda1 --journal-new-device /dev/journal -f
mount /dev/hda1
として使用すること。
トランザクションサイズの最大値を 512 ブロックに変更する場合は、
以下のようにすること。
reiserfstune -t 512 /dev/hda1
再配置可能ジャーナルをサポートしていない別のカーネルで
ファイルシステムを使おうとする場合は、
umount /dev/hda1
reiserfstune /dev/hda1 -j /dev/journal \
--journal-new-device /dev/hda1 --make-journal-standard
mount /dev/hda1
として使用すること。
2. /dev/hda1 を ReiserFS にして、別のジャーナルに切り替えたい場合
(ファイルシステムがあるデバイスにジャーナルを置くことも含む)。
-
特別な「ジャーナル再配置のサポート」パッチを適用した
カーネルでブートし、
mkreiserfs /dev/hda1
を行う。
ソリッドステートディスクを使う
(SCSI ディスクと見なされるので、多分 /dev/sda などになる)。
reiserfstune --journal-new-device /dev/sda1 -f /dev/hda1
早朝 3 時に SCSI デバイスが死んで、
IDE デバイスが余っている場合は、
reiserfsck --no-journal-available /dev/hda1
または
reiserfsck --rebuild-tree --no-journal-available /dev/hda1
reiserfstune --no-journal-available \
--journal-new-device /dev/hda1 /dev/hda1
を実行して、パッチを適用したカーネルで /dev/hda1 を使用する。
このバージョンの
reiserfstune は、 Vladimir Demidov <
[email protected]>
と Edward Shishkin <
[email protected]>
によって書かれた。
バグは、できる限り多くの情報
(ハードウェア・カーネル・パッチ・設定・
表示された全てのメッセージ)
とともに、 ReiserFS
の開発者 <
[email protected]>
に報告してほしい。
関連する情報があるかもしれないので
syslog を調べてほしい。
reiserfsck(8),
debugreiserfs(8),
mkreiserfs(8)