• ベストアンサー

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

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

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

  • ベストアンサー
  • 3899
  • ベストアンサー率54% (65/119)
回答No.5

もともとリストアした場所が現在使用している/usrに上書きしたのが原因と思われます。 パッチなどの適用前の状態に戻すには、 今回のcd bootのように行い、/mntなどにマウントする必要があります。 /、/usr、/varはこんな感じでやったほうがいいですね。 あと、場合によってはinstallbootも必要。 パッチ適用なら、backout出来るように-dオプションを付けて実行しましょう。 (-dだったかな?solaris9ではpatchaddじゃなくなったんだっけ?) いづれにしろ、backout出来ないパッチもありますから、バックアップは正解ですね。

Apache2007
質問者

補足

そうですね、/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 細かい質問ですみません。

その他の回答 (5)

  • 3899
  • ベストアンサー率54% (65/119)
回答No.6

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

Apache2007
質問者

お礼

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

  • 3899
  • ベストアンサー率54% (65/119)
回答No.4

umountできないのは自分がそこにいるからです。busy使ってるよって言ってます。 cdで別のところに移動して下さい。 fsckはumountしてからがベストです。 まぁシングルユーザですから別にマウントしててもいいか。 mounted file system, ignored マウントしてるけど無視していいかな?みたいな感じだと思います。 色々ありましたが、これでdump、restoreのテスト出来ましたか? バックアップは別のところに置かないと意味ないので今後を検討しないといけないですね。

Apache2007
質問者

補足

なるほど、カレントディレクトリでumountしようとしたからなんですね。とてもよくわかりました。 とりあえず一旦もとの状態に復旧はできました。ありがとうございます。 思いがけず、本来の目的といいますか主題とは少しずれてしまいましたが・・・。 結局何をしたかったのかと言いますと、パッチを適用する前の状態をufsdumpでバックアップしておき、 パッチ適用後に障害が起こったという想定で、ufsrestoreでOS全体を復元する、という事がしたかったのです。 これからそれをやってみようとは思いますが、ポイントとしては/usrの復元をする場合は、前述のように /usrを/mntなど適当なマウントポイントへマウントさせてからでないとできないという結論でしょうか。

  • 3899
  • ベストアンサー率54% (65/119)
回答No.3

ufsrestoreコマンドはCD起動した/以下にあるはずですが… (solaris9はあまり触らないのですが、あると思いますよ。PATHも切られているはずですよ) さてusr.dmpファイルは/var領域を/aとしてマウントしていますから /a/var/temp以下にありませんか? # cd /mnt # ufsrestore rf /a/var/temp/usr.dmp でいきませんか?

Apache2007
質問者

補足

ありがとうございます。無事にufsrestoreで/mntに復元できたようです。 ちなみに、fsckを実行すると以下のエラーで実行できないのですが手順が違うのでしょうか? # fsck /dev/dsk/c1t0d0s4 /dev/dsk/c1t0d0s4 is a mounted file system, ignored アンマウント後でないとできないのかと思い、以下を試しましたがこれもまたエラーでした。 # umount /mnt umount: /mnt busy

  • 3899
  • ベストアンサー率54% (65/119)
回答No.2

シングルユーザで使用中の/usrに上書きしちゃった感じかな? テストで展開するなら/や/usrは/export/home以下とかに展開しないとダメじゃないかな? 再起動して起動NGならusr.dmpファイルから戻すことも考えておいて下さい。 boot cdromで起動する /usrのスライスを/mnt、usr.dmpファイルの領域を/aとかでマウントする ufsrestoreを実行する /usr以下にrestoresymableというログファイルが作られるので削除する(しなくてもいいけど) fsckを実行してディスクからboot

Apache2007
質問者

お礼

試行錯誤していたらなんとかできたようです。 /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

Apache2007
質問者

補足

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

  • 3899
  • ベストアンサー率54% (65/119)
回答No.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でどこかに展開してみる 今できるのはここまでかな?

Apache2007
質問者

補足

ご回答ありがとうございました。 お教えいただいた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を使えるように戻す方法はないでしょうか。

関連するQ&A