【SYSTEM】環境そのものをまるごとバックアップ・リストア!非常に便利な「Mondo Rescue」使い方まとめ【CentOS6.4】

medium_8688630669
photo credit: hjl via photopin cc

もしもの時の為、バックアップは必ず取っておくべきですよね。こんにちはえんぞーです。

少し前にVagrantを使った仮想環境構築の話をさせて貰いましたが、今回は実際に動いている環境をまるごとバックアップするお話し。

いつ何時おかしくなってしまうか分からないから転ばぬ先の杖ってやつですね。

「データは」バックアップしてるから大丈夫!と考える人もいると思います。

HPのデータとかデータベースだけならそれでも良いのですが、VPSで一から環境を構築してたりする場合、その環境がおかしくなったりすると現実逃避したくなるくらい心に穴が空きます。

そんな穴を埋めてくれるのが環境そのものをデータごとバックアップしてくれるオープンソースのソフトウェア「Mondo Rescue」です!

今回はさくらVPS(CentOS6.4_64bit)にインストールしてバックアップしてみるまでの流れをまとめておこうかと思います。

インストール方法

まずはインストール。

#まずは移動してから
cd /etc/yum.repos.d/
#Centos6(64bit)用のリポジトリファイルをダウンロードします。
wget ftp://ftp.mondorescue.org/rhel/6/x86_64/mondorescue.repo
#あとはインストールコマンドコマンドを叩きます。
yum install mondo

途中↓このような警告が出てきますが、GPGキーをインポートするかどうかの質問なのでYesで先に進みます。

warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID ~~~~~~: NOKEY
Retrieving key from ftp://ftp.mondorescue.org//rhel/6/x86_64/mondorescue.pubkey
Importing GPG key ~~~~~~~~~:
 Userid: "Bruno Cornec (primary address) <bruno@victoria.frmug.org>"
 From  : ftp://ftp.mondorescue.org//rhel/6/x86_64/mondorescue.pubkey
Is this ok [y/N]: y

ここまででインストールは完了です。

次に圧縮速度が速いと言う事でLZO圧縮のソフトもインストールしておきます。

#CentOS6.4だとそのまま入れられるっぽい(?)
yum install lzop lzo

これで必要な物は全てインストールしました。後はバックアップするだけなのでバックアップファイルを保存する場所を作っておきます。

#わかりやすい様に今回ルートにディレクトリ作ります
mkdir /_backup

バックアップしてみましょう

準備が整ったのでバックアップを始めましょう。

#各オプションについては別途説明します
mondoarchive -Oi -L -N -s 5000m -d /_backup -E /_backup/ -p `hostname`-`date +%Y-%m-%d`

しばらく待つと「/_backup」ディレクトリにバックアップISOが出来ています。

今回の場合は2.8G位のファイルになりました。ローカルに保存しておきましょう。

mondorescueの各オプションについて

それぞれのオプションについてはこのようになります。

#基本となるコマンド
#-Oでバックアップの実行
mondoarchive -O

#-Vでバックアップデータの検証
mondoarchive -V
  • -i
    バックアップデータをISOで出力。
  • -c speed(2とか4とか)
    バックアップデータをCD-Rに出力。
  • -w speed(2とか4とか)
    バックアップデータをCD-RWに出力。
  • -r speed(2とか4とか)
    バックアップデータをDVDに出力。
  • -p prefix
    バックアップイメージ(ISO)のファイル名。
  • -n mount
    バックアップデータをNFSに出力する。
  • -D
    差分バックアップを行う。
  • -L
    lzo圧縮を使用する。一部バージョンでは不安定らしい。
  • -E “path”("|"で区切って複数パス可能)
    バックアップ対象から除外するディレクトリ
  • -I “path”
    バックアップ対象のディレクトリ。
  • -N
    ローカルディスクのみバックアップの対象とする。NFSなどは除外。
    ※GlusterFSを使用している場合は「-N」オプションを指定しても、ネットマウントディレクトリが除外されないとの事なので、-E オプションで明示的に除外します。
  • -d dir
    バックアップイメージの出力パス
  • -g
    バックアップの進行をGUIモードで表示する。
  • -s
    CD/DVD、ISOの最大サイズ。
    ここで指定したサイズで分割される。指定無しなら640M位のファイルで分割。

使ったことが無いオプションもありますが大体こんな感じのようです。

追記:ubuntuでの場合(Linux mintも)

ubuntuで使用した場合の流れはこの様になります。

#ソースリストを追加するので移動
cd /etc/apt/sources.list.d/
#ftp://ftp.mondorescue.orgからバージョンの合うlistダウンロードします。
sudo wget ftp://ftp.mondorescue.org/ubuntu/14.04/mondorescue.sources.list
sudo apt-get update
sudo apt-get install mindi
sudo apt-get install mindi-busybox
sudo apt-get install mondo
sudo mondoarchive -Oi -L -N -s 5000m -d /tmp/_bkup -E /tmp/_bkup/ -p hostname-date +%Y-%m-%d

ソースリストの取得が異なるくらいで後は一緒になります。

最近、自分のLinux mint 17.2の環境で試しているので同じ環境であれば上記のコマンドでそのまま行けるはず。(Ubuntuの場合は14.04)

 ローカルの仮想環境にリストアしてみる

ちなみに、さくらのVPSの場合はISOインストール対応しているのでこのバックアップISOをアップしてリストア可能です。前にやってみたけどバックアップしたデータとリストアしようとした環境のハードウェア構成が違っていて(NICが増えてたり)リストアは出来たけどその環境に合わせて設定変えるのが面倒で結局クリーンインストールしてしまいました。

今回はローカルのVirtualBoxでリストアします。

screenshot_22

こんな感じで適当に初期設定を済ます。

screenshot_23
ここで起動すると起動ディスクは?と聞かれるのでここで先ほどバックアップしたISOを選んであげます。

screenshot_24
おや?こんな画面でたんだっけかな・・・と思いつつも「interactive」を入力。

screenshot_25
これいつも目にしてた画面だな・・・「Interactively」を選択。

screenshot_26
ここでは「CD-R disks」を選択。

これ以降、パーティションの設定画面になるので、「/dev/vda」となっているところを「/dev/sda」に変更します。

設定を終えるとフォーマットが始まり、リストアするか聞いてきます。

screenshot_28
もちろん「Yes」を押してください。

screenshot_29
リストア中~。

これが完了すると「Initialize the boot loader?」と出てくると思うのでYesを選択。

すると「You will now be able to re-generate your~なんちゃら」といった文面が出てきます。

かまわずOKとか押していくとコマンドが打てるようになっているはずなのでそこで

cd /boot
mkinitrd -f -v initrd-2.x.y.img 2.x.y

このように打ち込みます。

すると、なにやら設定してくれているようなのでおとなしく待ちます。

終わったら「exit」を入力します。次にマウントリストを編集するかどうか聞かれるのでそこもYESします。

すると数ファイル編集することになるのですが、ここで先ほどのパーティション設定同様に「/dev/vda」となっているところを「/dev/sda」に編集します。

screenshot_30
こんな感じで何回かファイルを編集する事になります。

それが終わればリストアは完了です。

ISOイメージをマウントから外して再起動して下さい。

screenshot_31

ばっちりリストアされています。あまり詳しく見てないですが恐らく大丈夫でしょう。

とりとめのないまとめ

以上、mondorescueを使ったバックアップとリストアでしたが如何でしょうか。

丸ごとバックアップ出来るのは凄く安心感がありますね。しかし、いざっていう時にリストア出来ないのでは困りものです。

上記でも少し触れていますが、同じサービスの同じプランでも導入時期によってハードウェア構成が変わっていてリストアした設定では不具合が生じるっていう場合もあります。

私の場合は不具合と言うよりも「動いてるけどなんか気持ち悪い・」っていう理由でクリーンインストールにしてしまいましたけど・・・。

なので基本は丸ごとバックアップはそれが動いていた場所へのリストアが前提となりますね。今回の様にローカルの仮想環境にリストアしてテスト環境にするのも有りだと思います。

一番良いのはバックアップを使う日が来ないことなんですが・・・なかなかそうもいかない・・・(;´Д`)

-ソフトウェア
-, ,

© 2020 ENZO.NET(えんぞーどっとねっと)