Solarisでテープからリストアする(ufsrestore - ヘッダ操作)




Solarisでufsdumpでテープにバックアップしてテープを巻き戻していない場合に
テープを巻き戻してリストアする方法を見ていく

ufsdumpでテープに1回しかバックアップしていない場合は、
テープを巻き戻していない場合でも、
単純に頭まで巻き戻せば良い。
ufsrestoreで簡単にアクセスすることができ、リストアできる。

ufsdumpでテープに複数回、追記のようにしてバックアップした場合は、
テープを巻き戻しただけでは、
テープの頭、つまり一番最初にバックアップしたものにしかアクセスできない。

そこで必要になる操作が「テープのヘッダの送り」

コマンドは次の通り
# ufsrestore tf /dev/rmt/0n
つまり、巻き戻さないようにして、中身を見ていくことでヘッダを送る。

1回目にバックアップを取ったものにアクセスしたければ、
頭まで巻き戻した状態でufsrestore
2回目に追記したものにアクセスしたければ、
「ufsrestore tf /dev/rmt/0n」を1回実行した後にufsrestore
3回目に追記したものにアクセスしたければ、
「ufsrestore tf /dev/rmt/0n」を2回実行した後にufsrestore

と、「ufsrestore tf /dev/rmt/0n」を繰り返してヘッダを目的の位置へ送る。

ちなみに、書き込みの最後に追記したい場合など
書き込みの最後の位置にヘッダを送りたい場合は、
「ufsrestore tf /dev/rmt/0n」をリードエラーが出るまで繰り返す。
その時出力されるエラーは次の通り
Mount volume 2
then enter volume name (default: /dev/rmt/0n)
[Ctrl]+[C]で強制終了。 さらに、続けるかどうか確認されるので、[n]
ufsrestore interrupted, continue?[yn] n

その状態で、ヘッダは書き込みの最後の位置にあるので、
ufsdumpで追記する。