こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ufsdump と ufsrestore でのバックアップと復元

スタンドアロンのサーバ(Solaris 9)があります。
障害に備えてOS全体のバックアップを取りたいのですが、具体的な方法がわかりません。(特定のFSではなくOS全体)
このサーバにはテープドライブなどの外部媒体はないので、バックアップの意味が
あまりないように思えますが、ひとまずバックアップデータはサーバ自体に保存しておく方向で考えています。

とりあえずバックアップから復元までを一度試したいので、ご教授いただければ幸いです。

投稿日時 - 2009-02-18 13:42:36

QNo.4727988

すぐに回答ほしいです

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

もともとリストアした場所が現在使用している/usrに上書きしたのが原因と思われます。
パッチなどの適用前の状態に戻すには、
今回のcd bootのように行い、/mntなどにマウントする必要があります。
/、/usr、/varはこんな感じでやったほうがいいですね。
あと、場合によってはinstallbootも必要。

パッチ適用なら、backout出来るように-dオプションを付けて実行しましょう。
(-dだったかな?solaris9ではpatchaddじゃなくなったんだっけ?)
いづれにしろ、backout出来ないパッチもありますから、バックアップは正解ですね。

投稿日時 - 2009-02-20 15:50:55

補足

そうですね、/usrや/などは注意する必要がありそうです。

ちなみにパッチのバックアウトですが、以下を見ると「-d」を指定した場合は
ファイルが復元されないと記述されてるように読めるのですが、どちらが正解でしょう?
パッチ適用自体はpatchaddでやってます。
http://docs.sun.com/app/docs/doc/816-3963/6ma76c5ag?l=Ja&a=view
http://home.t00.itscom.net/happy7/solaris/man/patchadd.htm

細かい質問ですみません。

投稿日時 - 2009-02-20 15:57:24

ANo.5

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

-dは不要ですね。失礼しました。

投稿日時 - 2009-02-23 10:42:25

お礼

そうでしたか、ありがとうございました。
再度本来の目的のテストをしてみようと思います。

投稿日時 - 2009-02-24 13:56:07

ANo.4

umountできないのは自分がそこにいるからです。busy使ってるよって言ってます。
cdで別のところに移動して下さい。

fsckはumountしてからがベストです。
まぁシングルユーザですから別にマウントしててもいいか。
mounted file system, ignored マウントしてるけど無視していいかな?みたいな感じだと思います。

色々ありましたが、これでdump、restoreのテスト出来ましたか?
バックアップは別のところに置かないと意味ないので今後を検討しないといけないですね。

投稿日時 - 2009-02-20 15:31:18

補足

なるほど、カレントディレクトリでumountしようとしたからなんですね。とてもよくわかりました。
とりあえず一旦もとの状態に復旧はできました。ありがとうございます。

思いがけず、本来の目的といいますか主題とは少しずれてしまいましたが・・・。
結局何をしたかったのかと言いますと、パッチを適用する前の状態をufsdumpでバックアップしておき、
パッチ適用後に障害が起こったという想定で、ufsrestoreでOS全体を復元する、という事がしたかったのです。

これからそれをやってみようとは思いますが、ポイントとしては/usrの復元をする場合は、前述のように
/usrを/mntなど適当なマウントポイントへマウントさせてからでないとできないという結論でしょうか。

投稿日時 - 2009-02-20 15:37:50

ANo.3

ufsrestoreコマンドはCD起動した/以下にあるはずですが…
(solaris9はあまり触らないのですが、あると思いますよ。PATHも切られているはずですよ)

さてusr.dmpファイルは/var領域を/aとしてマウントしていますから
/a/var/temp以下にありませんか?

# cd /mnt
# ufsrestore rf /a/var/temp/usr.dmp
でいきませんか?

投稿日時 - 2009-02-20 13:13:32

補足

ありがとうございます。無事にufsrestoreで/mntに復元できたようです。

ちなみに、fsckを実行すると以下のエラーで実行できないのですが手順が違うのでしょうか?
# fsck /dev/dsk/c1t0d0s4
/dev/dsk/c1t0d0s4 is a mounted file system, ignored

アンマウント後でないとできないのかと思い、以下を試しましたがこれもまたエラーでした。
# umount /mnt
umount: /mnt busy

投稿日時 - 2009-02-20 15:23:19

ANo.2

シングルユーザで使用中の/usrに上書きしちゃった感じかな?
テストで展開するなら/や/usrは/export/home以下とかに展開しないとダメじゃないかな?

再起動して起動NGならusr.dmpファイルから戻すことも考えておいて下さい。

boot cdromで起動する
/usrのスライスを/mnt、usr.dmpファイルの領域を/aとかでマウントする
ufsrestoreを実行する
/usr以下にrestoresymableというログファイルが作られるので削除する(しなくてもいいけど)
fsckを実行してディスクからboot

投稿日時 - 2009-02-20 10:59:01

補足

すみません、「/usrのスライスを/mnt、usr.dmpファイルの領域を/aとかでマウントする」の方法がわからずに止まっています。
あとusr.dmpファイルは/var/temp/においたのですがlsしてもNo such file or directoryと出てしまいます。
知識不足で申し訳ないです。

投稿日時 - 2009-02-20 11:49:17

お礼

試行錯誤していたらなんとかできたようです。
/usrを/mnt、/var(usr.dmpのある領域)を/aでマウントしました。で、
>ufsrestoreを実行する
なんですが、/usrがないのですがどういったコマンドラインにすればいいでしょうか。

# df -k
Filesystem kbytes used avail capacity Mounted on
/pci@1f,0/pci@1,1/ide@d/cdrom@0,0:b
625567 539009 30257 95% /
swap 466248 424 465824 1% /tmp
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
/tmp/devices 466248 424 465824 1% /devices
/tmp/dev 466248 424 465824 1% /dev
/devices/pci@1f,0/pci@1,1/ide@d/sd@0,0:a
452 452 0 100% /cdrom
fd 0 0 0 0% /dev/fd
/dev/dsk/c1t0d0s4 7056714 2310214 4675933 34% /mnt
/dev/dsk/c1t0d0s1 18145961 5852756 12111746 33% /a

投稿日時 - 2009-02-20 12:01:24

ANo.1

こんにちは
以下が参考になるでしょうか?既に知ってるって?
http://docs.sun.com/app/docs/doc/816-3963/6ma76c5fk?l=ja&a=view
http://docs.sun.com/app/docs/doc/816-3963/6ma76c5fv?l=ja&a=view
http://docs.sun.com/app/docs/doc/816-3963/6ma76c5g4?l=ja&a=view
http://docs.sun.com/app/docs/doc/816-3963/6ma76c5ge?l=ja&a=view
テープデバイスではなくファイル指定にしてファイルとして取ります。
パイプでつないでcompressしてもいいですね。
あと、2ndディスクがあるならそちらにファイルを置くとかddでコピーするとかミラーにしてしまうとか…
ネットにつないでリモート先のテープデバイスを使うとか
機器構成が不明なのでここまでとしますが、
とりあえずufsdump→ファイル出力→ufsrestoreでどこかに展開してみる
今できるのはここまでかな?

投稿日時 - 2009-02-19 14:20:21

補足

ご回答ありがとうございました。

お教えいただいたURLは全てではないですが読んだものもあります。

とりあえず、/、/usr/、/var、/home の4つのFSのバックアップ取得には
成功しました。
その際使ったコマンドの例が以下です。
# shutdown -y -is -g0
# ufsdump 0uf /var/temp/usr.dmp /usr

復元に関しては、/homeの復元には成功しました。しかし、/usrの復元時に、
「バスエラー (core dumped)」と表示されて復元が中断してしまいました。
その際使ったコマンドは以下です。
# shutdown -y -is -g0
# cd /usr
# ufsrestore rf /var/temp/usr.dmp

また、この異常終了後にufsrestoreコマンドが全く機能しなくなってしまいました。
/usrは上記手順ではできなかったのでしょうか。そしてufsrestoreを使えるように戻す方法はないでしょうか。

投稿日時 - 2009-02-20 09:11:50

あなたにオススメの質問