Mondo RescueでカゴヤVPS(Ubuntu)を丸ごとバックアップ リカバリディスク・ISOイメージ作成

環境

カゴヤVPS KVM CPU1コア メモリ1GB SSD20GB
Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-116-generic x86_64)
・rootユーザー



Mondo Rescueをインストール

リポジトリを追加
# wget http://www.mondorescue.org/ftp/ubuntu/16.04/mondorescue.sources.list
# sh -c "cat mondorescue.sources.list >> /etc/apt/sources.list"
# wget http://www.mondorescue.org/ftp/test/ubuntu/16.04/mondorescue-test.sources.list
# sh -c "cat mondorescue-test.sources.list >> /etc/apt/sources.list"


リポジトリが追加されているか確認
# tail /etc/apt/sources.list
(略)
# mondorescue
deb ftp://ftp.project-builder.org//ubuntu 16.04 contrib
deb-src ftp://ftp.project-builder.org//ubuntu 16.04 contrib
deb ftp://ftp.mondorescue.org/test/ubuntu 16.04 contrib
deb-src ftp://ftp.mondorescue.org/test/ubuntu 16.04 contrib


必要なパッケージをインストール
# apt-get install afio gzip mkisofs genisoimage xorriso isolinux lzop


aptを更新してインストール
# apt-get update
# apt-get install mondo=3.2.2-1 mindi=3.0.2-1 mindi-busybox=1.25.1-1
W: GPG エラー: ftp://ftp.mondorescue.org 8 Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 6BA8C2D220EBFB0E

公開鍵エラーがでるが問題なくインストールできる。

インストールされたか確認
# mondoarchive --version
mondoarchive v3.2.2-r3580
# mindi --version
Mindi v3.0.2-r3580
#mkisofs --version
mkisofs 2.01 is not what you see here. This line is only a fake for too clever
GUIs and other frontend applications. In fact, this program is:
genisoimage 1.1.11 (Linux)
# apt-cache policy mindi mindi-busybox mondo
mindi:
  Installed: 3.0.2-1
  Candidate: 3.3.1-0.20180123124656.s3697M
  Version table:
     3.3.1-0.20180123124656.s3697M 500
        500 ftp://ftp.mondorescue.org/test/ubuntu 16.04/contrib amd64 Packages
 *** 3.0.2-1 500
        500 ftp://ftp.project-builder.org//ubuntu 16.04/contrib amd64 Packages
        100 /var/lib/dpkg/status
mindi-busybox:
  Installed: 1.25.1-1
  Candidate: 1.25.1-1
  Version table:
 *** 1.25.1-1 500
        500 ftp://ftp.mondorescue.org/test/ubuntu 16.04/contrib amd64 Packages
        100 /var/lib/dpkg/status
mondo:
  Installed: 3.2.2-1
  Candidate: 3.3.1-0.20180123124656.s3697M
  Version table:
     3.3.1-0.20180123124656.s3697M 500
        500 ftp://ftp.mondorescue.org/test/ubuntu 16.04/contrib amd64 Packages
 *** 3.2.2-1 500
        500 ftp://ftp.project-builder.org//ubuntu 16.04/contrib amd64 Packages
        100 /var/lib/dpkg/status


インストール成功後、追加したリポジトリを削除
# vi /etc/apt/sources.list

以下を削除

# mondorescue
deb ftp://ftp.project-builder.org//ubuntu 16.04 contrib
deb-src ftp://ftp.project-builder.org//ubuntu 16.04 contrib
deb ftp://ftp.mondorescue.org/test/ubuntu 16.04 contrib
deb-src ftp://ftp.mondorescue.org/test/ubuntu 16.04 contrib


Mondo Rescueでシステムバックアップ・ISOイメージ作成

EXTRA_SPACEを大きめのサイズに変更

筆者の環境では320000に設定するとエラーがでなかった。

# vi /etc/mindi/mindi.conf
EXTRA_SPACE=320000

EXTRA_SPACEのサイズが小さいと、バックアップ中に以下のエラーがでて失敗する。

Mindi failed to create your boot+data disks.
Fatal error... Failed to generate boot+data disks
---FATALERROR--- Failed to generate boot+data disks
If you require technical support, please contact the mailing list.
See http://www.mondorescue.org for details.
The list's members can help you, if you attach that file to your e-mail.
Log file: /var/log/mondoarchive.log
Mondo has aborted.


ISOイメージ作成
# mondoarchive -O -i -N -G -s ISOファイルサイズ -d 出力先path -E "除外path1|除外path2"

# mkdir /home/backup
# mondoarchive -O -i -N -G -s 4500m -d /home/backup -E "/home/backup|/home/ignore"

オプション1の説明

-O: バックアップを行う。
-i: ISO形式で出力する。
-N: マウントされているネットワークドライブを除外する。
-L: lzoで圧縮する。
-s 4500m: ISOファイルサイズは最大4500MBとする。
-d /home/backup: 出力先は 「/home/backup」 とする。
-E "/home/backup|/home/ignore" :除外ディレクトリは、「/home/backup」「/home/ignore」 とする。除外したいディレクトリがない場合は必要なし。


ログの確認方法
# less /var/log/mondoarchive.log


ハマった点

ftp://ftp.mondorescue.org/ubuntu/16.04にある mindi-busybox_1.21.1-1 では依存関係エラーがでて実行できなかった。
ftp://ftp.mondorescue.org/test/ubuntu/16.04にある mindi-busybox_1.25.1-1 を試したところ解決した。2