• ベストアンサー

Redhatのフルバックアップをできればリモートで取りたいです。

サーバのハードウェアメンテナンスのため、ハード故障に備え、バックアップをとりたいです。できればリモートがいいですが、無理ならローカルもありです。 sshとddを組み合わせてできたように思うのですが、具体的にコマンドの 書式はどんな感じになりますでしょうか? 詳しくないのでどう書いたらいいのかよく分かりません。 よければご教示下さい。

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

  • ベストアンサー
  • k_izumo
  • ベストアンサー率50% (68/134)
回答No.4

やはり、先ほどのコマンドでディスクイメージバックアップが可能になるようです。 以下が実行したログになります。 前回指定したホスト名[ Earth ⇒ ynq16i ] [ Moon ⇒ r70efc ]に置き換えて下さい。 手順1 遠隔サーバの/rootにディスクをマウントし、ここをbackupディレクトリと仮定します。 念の為/rootをlsしてます。 [root@r70efc /]# df -k Filesystem      1K-ブロック  使用  使用可 使用% マウント位置 /dev/hda3       1423864  749508  600860 56% / /dev/hda1        93307   11129   77361 13% /boot tmpfs          95288     0   95288  0% /dev/shm /dev/hdd        126931   1612  118766  2% /root [root@r70efc /]# [root@r70efc /]# ls -l /root/ 合計 28 -rw------- 1 root root 1066 11月 10 20:42 anaconda-ks.cfg -rw-r--r-- 1 root root 8639 11月 10 20:42 install.log -rw-r--r-- 1 root root 1155 11月 10 20:42 install.log.syslog drwx------ 3 root root 12288 11月 26 08:03 lost+found [root@r70efc /]# 手順2 主にバックアップしたいサーバから/mntを仮にマウント(ディスクにデータを書き込む為) 参考となるデータを入れてからはumountし、例のコマンドを実行。 [root@ynq16i root]# mount /dev/hdd /mnt/ [root@ynq16i root]# [root@ynq16i root]# df -k Filesystem      1K-ブロック  使用  使用可 使用% マウント位置 /dev/md2        7898008  2466128  5030680 33% / /dev/md0         98907   5955   87845  7% /boot none          128556     0  128556  0% /dev/shm /dev/hdd        126931    13  120365  1% /mnt [root@ynq16i root]# [root@ynq16i root]# cd /mnt/ [root@ynq16i mnt]# [root@ynq16i mnt]# ls -l /usr/local/c32/ 合計 57404 -rwxr-xr-x 1 c32zu4ax c32 58709752 11月 16 00:13 ci3.0_l.bin -rw-r--r-- 1 c32zu4ax c32   143 11月 16 00:25 errors.log -rw-r--r-- 1 c32zu4ax c32   1127 11月 16 00:25 jinstall.log [root@ynq16i mnt]# [root@ynq16i mnt]# ls -l 合計 57574 -rwxr-xr-x 1 root root 58709752 11月 25 22:59 ci3.0_l.bin -rw-r--r-- 1 root root   143 11月 25 22:59 errors.log -rw-r--r-- 1 root root   1127 11月 25 22:59 jinstall.log drwx------ 2 root root  12288 11月 25 22:57 lost+found [root@ynq16i mnt]# [root@ynq16i mnt]# df -k Filesystem      1K-ブロック  使用  使用可 使用% マウント位置 /dev/md2        7898008  2466128  5030680 33% / /dev/md0         98907   5955   87845  7% /boot none          128556     0  128556  0% /dev/shm /dev/hdd        126931   57575   62803 48% /mnt [root@ynq16i mnt]# [root@ynq16i mnt]# cd [root@ynq16i root]# [root@ynq16i root]# umount /mnt/ [root@ynq16i root]# [root@ynq16i root]# df -k Filesystem      1K-ブロック  使用  使用可 使用% マウント位置 /dev/md2        7898008  2466128  5030680 33% / /dev/md0         98907   5955   87845  7% /boot none          128556     0  128556  0% /dev/shm [root@ynq16i root]# [root@ynq16i root]# dd bs=1M if=/dev/hdd | gzip | ssh root@192.168.1.117 dd of=hdd.gz The authenticity of host '192.168.1.117 (192.168.1.117)' can't be established. RSA key fingerprint is c2:d9:10:e6:48:c0:67:76:02:ca:29:37:be:da:4c:06. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.117' (RSA) to the list of known hosts. root@192.168.1.117's password: 読み込んだブロック数は 128+0 書き込んだブロック数は 128+0 114726+387 records in 114919+1 records out 58838838 bytes (59 MB) copied, 32.1091 seconds, 1.8 MB/s [root@ynq16i root]# 手順3 遠隔サーバへUPされたかどうか確認します。 [root@r70efc /]# cd /root/ [root@r70efc /]# [root@r70efc ~]# ls -l 合計 57715 -rw------- 1 root root   1066 11月 10 20:42 anaconda-ks.cfg -rw-r--r-- 1 root root 58838838 11月 28 22:58 hdd.gz -rw-r--r-- 1 root root   8639 11月 10 20:42 install.log -rw-r--r-- 1 root root   1155 11月 10 20:42 install.log.syslog drwx------ 3 root root  12288 11月 26 08:03 lost+found [root@r70efc ~]# [root@r70efc ~]# file hdd.gz hdd.gz: gzip compressed data, from Unix, last modified: Tue Nov 28 22:58:45 2008 [root@r70efc ~]# ホストynq16iの/dev/hddに書き込んだ内容とほぼ同等のサイズでホストr70efcに保存され ddでのof指定ファイル名同様のgzファイルが出来たのですが 実際にはこのファイルは解凍できませんでした。 もしかしたらgzipコマンドはない方がいいのかも知れないですね。

milkldap
質問者

お礼

ありがとうございます。 わざわざ試していただいているなんて申し訳ないです。 理解できました。 ddの出力をパイプでわたしてリモートのホストでddを実行して出力を うけとるんですね。 でもなんで解凍できなかったんでしょうね??

その他の回答 (4)

  • k_izumo
  • ベストアンサー率50% (68/134)
回答No.5

何度かチャレンジしたのですが やはり解凍できなかったですね。 gzipを使わなければそのままバックアップしたファイルを mount -o loop /root/hdd /mnt で正常にマウントできました。 やはりgzipなしパターンがお勧めです。

milkldap
質問者

お礼

ありがとうございます。 それで試してみることにします。 ありがとうございました。

  • k_izumo
  • ベストアンサー率50% (68/134)
回答No.3

ディザスタリカバリって言うのはよく解らないので調べてみたのですが・・・ 遠隔でのイメージBackupとなると今までに実績もないし やったことはないのですが もしかして # dd bs=1M if=/dev/hda | gzip | ssh user@Moon dd of=hda.gz でしょうか? コマンドの正規表現だけで見ると Earthの/dev/hdaを遠隔Moonへbackupするようになってるように思います。 質問の「リモートで取りたい」には準じてませんし まだ、このコマンドの正当性を検証してないので確証はないのですが・・・

参考URL:
http://www.pixelbeat.org/cmdline_ja_JP.html
noname#208124
noname#208124
回答No.2

ddでまともにバックアップ取れるのはマウントしてないか、LVMのスナップショットに対してだけ でないとdd始めた時点でファイルシステムの一貫性無いし、ddの始めと終わりの間でも整合性取れない

milkldap
質問者

お礼

ありがとうございます。 ではddでシステムのイメージバックアップをとろうと思ったら ブータブルLinuxかなんかでやらないと無理そうでしょうか? ではハード故障にそなえた一回のみのバックアップでいいので、 イメージバックアップをとろうと思ったらどのコマンドが 一番向いてそうでしょうか? 詳しくないですがrsyncやdumpやtarでしょうか?

  • k_izumo
  • ベストアンサー率50% (68/134)
回答No.1

rsyncを使うのはどうでしょう? バックアップ元サーバをEarthとした場合 リモート操作するクライアントをMoonとします。(勝手ですが・・・) Moonで以下のコマンドを実行します。 rsync -avz -e ssh Earth:/home/pub/ Earth:/home/backup/ これでリモートのサーバからバックアップできますし 以下のようにすることで別サーバへのバックアップも可能になります。 rsync -avz -e ssh Earth:/home/pub/ Moon:/backup/Earth/ とは言えsshはセキュアな接続な為、やはりパスワードの要求は発生します。 自動起動をお考えであればRSAキーの作成(配置)をお勧めします。

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/432makesshkey.html
milkldap
質問者

お礼

ありがとうございます。 ディザスタリカバリ的なことを考えているので イメージバックアップなどリストアの早いものを考えているのですが rsyncはOS復旧なしでリストア可能でしょうか? ddはイメージバックアップ可能そうですが。 dd /dev/hda |ssh なんとか?? でできたような気がするのですが。

milkldap
質問者

補足

保存先はネットワーク共有上か、外付けHDDを考えています。

関連するQ&A