Solaris8を搭載しているサーバがあります。このサーバにはテープライブラリが接続されており、現在ufsdumpを使用して/optと/varのバックアップを取っているのですが、今回、外付けディスク上の/dataと/appl(それぞれ別ディスク)からもテープにバックアップを取得する必要がでてきました。


しかし、ufsdumpではローカル接続以外のディスクには使用できません。そうするとtarで直接書き込むことになるのですが、テープにはufsdumpとtarの出力が混在することになります。

ufsdumpだけなら、
ufsrestore rvfs /dev/rmt/0 ディレクトリ名 
のように復元ディレクトリ名さえわかっていれば簡単に戻せますが、tarを複数実行した場合は、毎回テープをmt fsfで1ブロックずつ探しながら復元しなければならないように思えます。

復元が簡単にできるような方法はないでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:caramelmilk1028 No.1

回答回数53ベストアンサー獲得回数0

ポイント30pt

/data と /appl はテープ装置のついているサーバとは別のサーバにあるのかしら?

テープ装置の無いマシンからufsdumpでバックアップを取得する方法もあるようですので試してみて。

 

tarを使用したバックアップの場合は、/から複数ディレクトリをバックアップするように指定するとファイルの移動せずに全部復元できます

取得例:tar cvf /dev/rmt/0n ./data ./appl

復元例:tar xvf /dev/rmt/0n

 

ufsdumpの後にtarを実行した場合にtarで取得した/dataのみ復元したい場合はmtコマンドでファイルを進める必要があります。

 

バックアップ手法をufsdumpからtarに変える手もありますが、あまり現実的ではないでしょうね。

id:zero No.2

回答回数46ベストアンサー獲得回数0

ポイント10pt

一度gzipやらbzipやらpkzipやらlhaとかrarで固めてから、tarするというのはダメですか?

id:hempire

今回悩んでいる点は、ufsdumpを使ってバックアップが取得できないディスクがあるため、tarを使った効率的な復元方法を探しているのですが、なかなか見つからないことです。

ですので、tarを使用することを前提として、どれだけ簡単にテープから戻せるかをご教授願いたいと考えております。

今の状態は、以下のコマンドを実行してテープに書き出しております。

tar cvf /dev/rmt/0cn/ /data

tar cvf /dev/rmt/0cn/ /appl

さらにこの前後で/optなどをufsdumpでバックアップするコマンドを発行するため、テープには以下のようにデータが格納されます。

■dump(opt)■tar(/appl)■tar(/data)■dump(/var).....

復元する際はテープのどこに対象のtarが含まれているか分からないため、一つずつテープを進めて確認する必要があります。

復元するディレクトリ名は分かっているので、効率的に展開できるようなシェルがあればいいのですが。。。

2004/06/23 15:25:31
id:ozonepapa No.3

回答回数288ベストアンサー獲得回数0

ポイント20pt

URLはダミーです。

テープの内容が何かわからないので難しいですね。

たとえば、各ファイルの前に、data.lbl,appl.lbl、var.lblなどの次に来るファイルを識別するためのファイルを

tarで書き込んではどうでしょうか、

たとえば、以下のような感じです。■tar(var.lbl)■dump(var)■tar(appl.lbl)■tar(appl)■tar(opt.lbl)■dump(opt)

1番目、3番目、5番目、7番目と奇数番目には次のファイルが何かを記録しておきます。このファイル名を調べれば、次のファイルをどのように

処理すればよいかわかるので、スクリプトで処理できるのではないでしょうか。

ところで、バックアップしたファイルは、頻繁にリストアされるものなんでしょうか。

id:hempire

皆様、回答ありがとうございます。

一番最初の方にもコメントをつけたのですが、はてなの返信方法がうまく分からなかったので、2番目の方の返信と一緒にさせて頂きました。

テープにラベルファイルを挟むというのはいい案ですね。ただ、今回はできるだけ既存の形を崩さずに修正する必要があったので諦めました。

結局、設定ファイルを別で作成することにし、そこに対象ディレクトリを記述して、バックアップスクリプトに読み込ませる形にしました。

実行時には、一度引数のディレクトリを全て標準出力し、その後、各ディレクトリをバックアップする前にローカルディスクのものかどうかを判別させ、それによってtarもしくはufsdumpを使用することにしています。

標準出力は全てメールで別サーバに送信し、それを見ることで各データがテープのどのファイルナンバーに一致しているかを判断できるようにしたので、これでデータリストア時にも迅速な対応ができそうです。

ちなみに、部分的なリストアの頻度は月1回程度発生している上、作業者が他社の方なので、できるだけ手順を簡略化できるような工夫が必要とされていました。

みなさま、ありがとうございました。

2004/06/24 03:28:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません