• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:rawデバイス スライスのufsdump)

rawデバイス スライスのufsdump

このQ&Aのポイント
  • ディスクのバックアップをufsdumpでDATにスライス単位で書き込みたいのですが
  • ufsファイルシステムにしてないスライスもufsdumpで正しくバックアップされるのでしょうか?またリストアも同じようにufsrestoreで行えるのでしょうか?
  • ufsファイルシステムにしない、ただのRawデバイスのスライスを何に使っているかというと、ある一般的でないソフトのデータ領域で使っています。そもそもufsdumpはrawデバイスを指定するので大丈夫なのかも知れませんがよくわからないんです。

質問者が選んだベストアンサー

  • ベストアンサー
  • gaktank
  • ベストアンサー率65% (23/35)
回答No.1

 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

esi
質問者

お礼

とてもわかりやすいご解説ありがとうございます。 もうひとつ教えていただけませんでしょうか? 当方solaris8なんですが、あるディスクの s0はufs、s1、s3~s7まではrawデバイスとして 使用しています。 これを  s0はufsdumpでDAT巻き戻しせず  以降はddでs7までは巻き戻しせず でバックアップをとって、この順番でリストア も可能(混在で大丈夫か不安な為)でしょうか? 恐れ入ります。

その他の回答 (1)

  • gaktank
  • ベストアンサー率65% (23/35)
回答No.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

esi
質問者

お礼

引き続き早速のご回答ありがとうございます。 気になっていたことが全て網羅されていて とてもわかりやすいご解説で助かりました。 本当にありがとうございます。

関連するQ&A