rawデバイス スライスのufsdump
あの、教えてください。
ディスクのバックアップをufsdumpでDATにスライス単位で書き込みたいのですが
ufsファイルシステムにしてないスライス(ただのrawデバイスとして使用)もufsdumpで正しくバックアップされるのでしょうか?またリストアも同じようにufsrestoreで行えるのでしょうか?
ufsファイルシステムにしない、ただのRawデバイスのスライスを何に使っているかというと、ある一般的でないソフトのデータ領域で使っています。
そもそもufsdumpはrawデバイスを指定するので大丈夫なのかも知れませんが
よくわからないんです。m(__)m
よろしくお願いします。
投稿日時 - 2003-08-31 02:16:05
ufsdumpは、その名前の通りufsファイルシステムをバックアップするためのコマンドなので、ufsファイルシステムではない(mkfsしていない)rawデバイスには使用できません。ufsrestoreも同様です。(ファイル、ディレクトリ構成、iノード情報を取得するコマンドと理解していただければ、なぜダメなのか分かると思います)
そこで、rawファイルとして生データを格納している場合(Oracleなど)は、バイナリ形式で取得するddコマンドを使ってバックアップを取ります。
# dd if=バックアップ元 of=バックアップ先 [option]...
・c1t2d0s0をDATに取る場合
# dd if=/dev/rdsk/c1t2d0s0 of=/dev/rmt/0n bs=32k
リストアする際は、ifとofの指定を逆にすれば良いです。
# dd if=/dev/rmt/0n of=/dev/rdsk/c1t2d0s0 bs=32k
※バックアップ時とリストア時のbsサイズは同じにすること。
DATに取る場合、私の環境ではbs=32k指定していますが、bs指定無し(デフォルト)でも多分問題ないと思います。
#バックアップ時間との兼ね合いでチューニング、かな?
ちなみにufsdump、ddについては、他機種(HP-UX, Linuxなど)との互換性はありません。(ufsdumpはSolaris特有のため、ddはバイトオーダが変わっていたりするため)
※互換性があるのはtar、cpio、pax
投稿日時 - 2003-09-01 10:41:28
とてもわかりやすいご解説ありがとうございます。
もうひとつ教えていただけませんでしょうか?
当方solaris8なんですが、あるディスクの
s0はufs、s1、s3~s7まではrawデバイスとして
使用しています。
これを
s0はufsdumpでDAT巻き戻しせず
以降はddでs7までは巻き戻しせず
でバックアップをとって、この順番でリストア
も可能(混在で大丈夫か不安な為)でしょうか?
恐れ入ります。
投稿日時 - 2003-09-02 01:21:50
このQ&Aは役に立ちましたか?
3人が「このQ&Aが役に立った」と投票しています
回答(2)
#1です。
>s0はufs、s1、s3?s7まではrawデバイスとして
>使用しています。これを
> s0はufsdumpでDAT巻き戻しせず
> 以降はddでs7までは巻き戻しせず
>でバックアップをとって、この順番でリストア
>も可能(混在で大丈夫か不安な為)でしょうか?
可能です。動作的には問題ありません。こんな感じでしょうか。
# ufsdump 0uf /dev/rmt/0n /dev/c1t0d0s0
# dd if=/dev/rdsk/c1t0d0s3 of=/dev/rmt/0n bs=32k
# dd ...
あとはリストア時の順番を間違えないこと、ですね。
私は大きめの付箋にホスト名、取得日、取得内容、取得方法(ddとかtarとか)、取得デバイスと順番を記録しておき、DATに貼るようにしています。
なお、DATからリストアする際、ufsdumpで取ったものは取得日、取得デバイス名、取得内容が事前に確認できます。
# ufsrestore tfs /dev/rmt/0n N (NはDAT内EOFのskip数)
ddはバイナリのため、中身はリストアしてみないとわかりませんが、最初の数バイトで(人間が)判別できるなら、こんな方法で事前に確認することもできます。
# dd if=/dev/rmt/0n | od -x
投稿日時 - 2003-09-02 09:57:41
引き続き早速のご回答ありがとうございます。
気になっていたことが全て網羅されていて
とてもわかりやすいご解説で助かりました。
本当にありがとうございます。
投稿日時 - 2003-09-03 02:02:30