• お問い合わせ
  • ユーザー登録
ドキュメント
サポート案内
ユーザー登録
サポートセンター
ドキュメント
ダウンロード
セキュリティ
よくある質問とその回答
製品マニュアル
カタログ
収録パッケージ一覧


ブートとディスク管理 No. 362

ReiserFSの使い方


【解説】
ReiserFSは、ブロック割り当てにB-ツリーから派生したアルゴリズムを用いた新しいタイプ
のファイルシステムです。ジャーナリング機能も実装しているため、高い耐障害性を見込
むことが出来ます。

また、ext2ファイルシステムと比較すると、特に小さなファイルがたくさんある場合の
ディスク領域の使用効率が高くなります。これはi-nodeブロック空間を静的に確保して
おく方式ではなく、動的に確保する方式のためです。

また、日本語ファイル名も通常通りに使うことができます。

【インストール方法】
ReiserFSを使用するには、通常ReiserFSに対応したkernelにアップデートする必要があり
ますが、Turbolinux Advanced Server 6のカーネル2.2.18は、デフォルトでReiserFSに
対応しています。
また、ReiserFSを操作するためのコマンドも別途インストールされます。

また、ReiserFSからの起動をおこなうためには、ReiserFS対応のlilo-21.6以上が必要です
が、これもデフォルトでインストールされます。

カーネルがReiserFSをサポートしているかどうかは、ReiserFSカーネルモジュールをロード
してprocファイルシステムを参照することで確認できます。

# modprobe reiserfs
# cat /proc/filesystems

【設定方法】
Linux Nativeのディスクパーティションを用意します。
ファイルシステムの管理領域として32MB以上使うので、少なくともそれ以上のサイズを
確保してください。

ReiserFSファイルシステムを作成するために、
以下のコマンドを実行します。

# mkreiserfs デバイス名

例: 
# mkreiserfs /dev/hda4

幾つかのメッセージが表示された後、対象デバイス上のデータが消去される旨の警告
メッセージと以下の確認プロンプトが表示されます。

例:
ATTENTION: ALL DATA WILL BE LOST ON '/dev/hda4'! (y/n) y

ここで'y'を入力して[Enter]キーを押すと、ReiserFSファイルシステムが作成されます。

次に、ReiserFSのマウントポイントを作成するために、以下のコマンドを実行します。

# mkdir マウントポイントディレクトリ名

例:
# mkdir /data

次に、ReiserFSファイルシステムをマウントするために、以下のコマンドを実行します。

# mount -t reiserfs デバイス名 マウントディレクトリ名 

例:
# mount -t reiserfs /dev/hda4 /data

【ext2fsからReiserFSへの移行方法】
ファイルシステムをext2ファイルシステムからReiserFSへ移行する例を紹介します。

標準ではext2fsをReiserFSに変換したり、その逆を行なうツールはインストールされま
せん。そこで、ここでは以下のように新しいディスクパーティション用意して、その領域
をReiserFSに設定してシステムファイルすべてを移行させる例を示します。

/dev/hda3  既存の ext2fs ルートパーティション
/dev/hda4  新規の reiserfs ルートパーティション

最初に、ReiserFSのファイルシステムを作ります。
以下のコマンドを実行します。

# mkreiserfs /dev/hda4

ReiserFSのファイルシステムをマウントします。
以下のコマンドを実行します。

# mkdir /data
# mount -t reiserfs /dev/hda4 /data

/(ルート) 以下をReiserFSのファイルシステム上にコピーします。
以下のコマンドを実行します。

# (cd / && tar cvf - bin boot dev etc home lib misc mnt root sbin tmp usr var) | (cd /data && tar xf -)

procファイルシステム用ディレクトリを作成します。
以下のコマンドを実行します。

# mkdir /data/proc

ReiserFSのファイルシステムにchrootします。
以下のコマンドを実行します。

# chroot /data

/etc/fstab の該当行を以下のように書き換えます。

旧: /dev/hda3 / ext2 defaults 1 1
新: /dev/hda4 / reiserfs defaults 0 0

/etc/rc.d/rc.sysinitで /(ルート) に対してfsckが実行されるのを停止します。
最初に /(ルート) をマウントする際に自動的にデジャーナルが行なわれるので停止しても
問題ありません。
以下の行をコメントアウトします。

[/etc/rc.d/rc.sysinit]
-----------------------------------
#echo "Checking root filesystems."
#fsck -V -a $fsckoptions /
-----------------------------------

ReiserFS対応のkernel RPMは、ReiserFSがカーネルモジュール(reiserfs.o)として実装
されているため、/boot/initrd に ReiserFS のモジュールを入れておく必要があります。
以下のコマンドを実行します。

# mv /boot/initrd /boot/initrd.bak
# mkinitrd --with=reiserfs /boot/initrd 2.2.18

/etc/lilo.confを新しいディスク領域用に修正し、liloの再書き込みをおこないます。
/etc/lilo.confの /dev/hda3 と記述されている部分をすべて /dev/hda4 に置き換えます。

次に、liloの再書き込みをおこなうために、
以下のコマンドを実行します。

# lilo -v

chroot環境を終了してから再起動すれば完了です。
以下のコマンドを実行します。

# exit
# reboot

【ReiserFS用コマンド説明】
ReiserFS用コマンドの主な使用方法を示します。

○ ReiserFSファイルシステムの作成 - mkreiserfs

# mkreiserfs [-h hash方式] デバイス名

[hash方式]は、version 3.5.29の場合、"tea","r5","rupasov"を指定できます。
ただし、"rupasov"は version 3.5.29 現在 man に記述されていません。
このパラメータを指定しなかった場合に採用される方式は"r5"です。

○ ReiserFSファイルシステム整合性チェック - reiserfsck

# reiserfsck [デバイス名]

○ ReiserFSファイルシステムのサイズ変更 - resize_reiserfs

# resize_reiserfs -s[+|-]サイズ[M|K] デバイス名

+	ファイルシステムサイズを増加させる場合に用います。
	増加させたいサイズを指定してください。
	増加後のファイルシステムのサイズが
	パーティションサイズを越えることはできません。
-	ファイルシステムサイズを小さくする場合に用います。
M	指定サイズの単位をMBにする場合に用います。
K	指定サイズの単位をKBとする場合に用います。

各コマンドの詳細については、オンラインマニュアルをご参照ください。
キーワード
filesystem ReiserFS Journaling File System

関連文書
(none)

対象製品
  • Turbolinux Advanced Server 6
    Last modified : Wed Feb 28 JST 2001 # 1