プロが教えるわが家の防犯対策術!

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

A 回答 (5件)

やはり、先ほどのコマンドでディスクイメージバックアップが可能になるようです。


以下が実行したログになります。




前回指定したホスト名[ 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コマンドはない方がいいのかも知れないですね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/11/27 00:36

何度かチャレンジしたのですが


やはり解凍できなかったですね。

gzipを使わなければそのままバックアップしたファイルを
mount -o loop /root/hdd /mnt
で正常にマウントできました。


やはりgzipなしパターンがお勧めです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/11/29 09:28

ディザスタリカバリって言うのはよく解らないので調べてみたのですが・・・


遠隔でのイメージ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
    • good
    • 0

ddでまともにバックアップ取れるのはマウントしてないか、LVMのスナップショットに対してだけ


でないとdd始めた時点でファイルシステムの一貫性無いし、ddの始めと終わりの間でも整合性取れない
    • good
    • 0
この回答へのお礼

ありがとうございます。
ではddでシステムのイメージバックアップをとろうと思ったら
ブータブルLinuxかなんかでやらないと無理そうでしょうか?

ではハード故障にそなえた一回のみのバックアップでいいので、
イメージバックアップをとろうと思ったらどのコマンドが
一番向いてそうでしょうか?
詳しくないですがrsyncやdumpやtarでしょうか?

お礼日時:2008/11/25 01:40

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/linuxtip …

この回答への補足

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

補足日時:2008/11/24 23:15
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/11/24 23:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!