ReiserFSのバックアップ


*****************************************************
拡張パーティションジャーナリングファイルシステム
*****************************************************

カーネルオプションでReiserFSを指定してカーネル作成すること。
File systems --->
x x <*> Reiserfs support x x
x x [*] Have reiserfs do extra internal checking x x
x x [*] Stats in /proc/fs/reiserfs x x

ジャーナルファイルシステムを使う場合はliloのバージョン21.7以上を使用すること。
ftp://ftp.riken.go.jp/pub/Linux/vine/TestPkg/i386/

[root@happy ode]# /sbin/fdisk /dev/hdb

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
e
領域番号 (1-4): 1
最初 シリンダ (1-784, 初期値 1):
初期値 1 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-784, 初期値 784)
:
初期値 784 を使います

コマンド (m でヘルプ): p

ディスク /dev/hdb: ヘッド 255, セクタ 63, シリンダ 784
ユニット = シリンダ数 of 16065 * 512 バイト

バイス ブート 始点 終点 ブロック ID システム
/dev/hdb1 1 784 6297448+ 5 拡張領域

コマンド (m でヘルプ): n
コマンドアクション
l 論理 (5 以上)
p 基本領域 (1-4)
l
最初 シリンダ (1-784, 初期値 1):
初期値 1 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-784, 初期値 784)
: 770

コマンド (m でヘルプ): n
コマンドアクション
l 論理 (5 以上)
p 基本領域 (1-4)
l
最初 シリンダ (771-784, 初期値 771):
初期値 771 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (771-784, 初期値 78
4):
初期値 784 を使います

コマンド (m でヘルプ): p

ディスク /dev/hdb: ヘッド 255, セクタ 63, シリンダ 784
ユニット = シリンダ数 of 16065 * 512 バイト

バイス ブート 始点 終点 ブロック ID システム
/dev/hdb1 1 784 6297448+ 5 拡張領域
/dev/hdb5 1 770 6184962 83 Linux
/dev/hdb6 771 784 112423+ 83 Linux

コマンド (m でヘルプ): t
領域番号 (1-6): 6
16進数コード (L コマンドでコードリスト表示): 82
領域のシステムタイプを 6 から 82 (Linux スワップ) に変更しました

コマンド (m でヘルプ): p

ディスク /dev/hdb: ヘッド 255, セクタ 63, シリンダ 784
ユニット = シリンダ数 of 16065 * 512 バイト

バイス ブート 始点 終点 ブロック ID システム
/dev/hdb1 1 784 6297448+ 5 拡張領域
/dev/hdb5 1 770 6184962 83 Linux
/dev/hdb6 771 784 112423+ 82 Linux スワップ

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: DOS 6.x 領域を作成、または変更してしまった場合は、
fdisk マニュアルページにある追加情報を参照してください。
ディスクを同期させます。

*************
フォーマット
*************

[root@happy ode]# /sbin/mkreiserfs -h r5 /dev/hdb5<-----------MKREISERFS, 2000----------->
ReiserFS version 3.5.29
Block size 4096 bytes
Block count 1546240
First 16 blocks skipped
Super block is in 16
Bitmap blocks are :
17, 32768, 65536, 98304, 131072, 163840, 196608, 229376, 262144, 294912,
327680, 360448, 393216, 425984, 458752, 491520, 524288, 557056, 589824, 622592,
655360, 688128, 720896, 753664, 786432, 819200, 851968, 884736, 917504, 950272,
983040, 1015808, 1048576, 1081344, 1114112, 1146880, 1179648, 1212416, 1245184,
1277952, 1310720, 1343488, 1376256, 1409024, 1441792, 1474560, 1507328, 1540096
Journal size 8192 (blocks 18-8210 of device 0x3:0x45)
Root block 8211
Used 8259 blocks
Hash function "r5"
ATTENTION: ALL DATA WILL BE LOST ON '/dev/hdb5'! (y/n)y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..

ReiserFS core development sponsored by SuSE Labs (suse.com)

Journaling sponsored by MP3.com.

To learn about the programmers and ReiserFS, please go to
http://www.devlinux.com/namesys

Have fun.

[root@happy ode]# /sbin/mkswap /dev/hdb6
スワップ空間バージョン 0 を設定します、サイズ = 115113984 バイト

**************************
マウント&ファイルコピー
**************************

[root@happy /]# mkdir /new-disk

[root@happy /]# mount -t reiserfs /dev/hdb5 /new-disk
[root@happy /]# df
ファイルシステム 1k-ブロック 使用済 使用可 使用率% マウント場所
/dev/hda1 2047696 1816304 127376 94% /
/dev/hda3 2015964 1539936 373616 81% /vine1.1
/dev/hdb5 6184764 32840 6151924 1% /new-disk

ハードコピー用シェルスクリプトを作成
[root@happy /root]# pwd
/root
[root@happy /root]# cat hdcopy.sh
cd / && echo cp -a `/bin/ls -1Ab | egrep -v "^new-disk$|^proc$"` /new-disk | sh

シングルユーザーへ
/sbin/init s

ファイルコピー実行
sh hdcopy.sh

/proc ディレクトリ作成
[root@happy /new-disk]# mkdir /new-disk/proc

**************************
fstabの修正
**************************

[root@happy etc]# pwd
/new-disk/etc

[root@happy etc]# cat fstab
/dev/hda5 / reiserfs defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /proc/bus/usb usbdevfs defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda6 swap swap defaults 0 0

**************************
liloの修正
**************************

[root@happy etc]# cat lilo.conf
disk=/dev/hdb bios=0x80 # 2 つ目のハードディスクを 1 つ目のハードディスク
boot=/dev/hdb # 2 つめのハードディスクに LILO をインストール
map=/new-disk/boot/map
install=/new-disk/boot/boot.b

#boot=/dev/hda
#map=/boot/map
#install=/boot/boot.b
prompt
timeout=50
message=/boot/message
append="apm=on"
default=linux2.4.18

#image=/boot/vmlinuz
image=/new-disk/boot/vmlinuz
label=linux2.4.18
read-only
root=/dev/hda5

image=/boot/vmlinuz-2.2.18-0vl4.2
label=Vine2.1.5
read-only
root=/dev/hda5

新しい HD にLILO をインストール
[root@happy etc]# /sbin/lilo -C /new-disk/etc/lilo.conf
Added linux2.4.18 *
Added Vine2.1.5

**************************
再度liloの修正
**************************

[root@happy /etc]# cat lilo.conf
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
append="apm=on"
default=linux2.4.18

image=/boot/vmlinuz
label=linux2.4.18
read-only
root=/dev/hda5

# ReiserFS Not Boot
#image=/boot/vmlinuz-2.2.18-0vl4.2
# label=Vine2.1.5
# read-only
# root=/dev/hda5

[root@happy /etc]# /sbin/lilo
Added linux2.4.18 *