5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MondoRescueでCentOS7のバックアップをした記録

Last updated at Posted at 2020-04-02

CentOS7のバックアップが取りたい。設定やログファイルだけではなくて、システムバックアップを保管しておきたい。
やれやれ。僕は検索した。

※なおこれは2020/03/31に実行した記録なので、この通りにいかない可能性は充分にあります。

検索

【参考】
https://enz0.net/software/linux_mondorescue/
https://qiita.com/KEINOS/items/95f8138a9907d86e78a7
https://blog.techlab-xe.net/install-mondorescue-centos7/

mondoの導入

ふむふむ、MondoRescueとかいうのを使うわけだな。
ひとまずftp://ftp.mondorescue.org/rhel/7/x86_64/mondorescue.repoからmondorescue.repoを落としてきた。

# cd /etc/yum.repos.d
# wget ftp://ftp.mondorescue.org/rhel/7/x86_64/mondorescue.repo
# yum --enablerepo=mondorescue install mondo

しかしインストール途中で失敗してしまった。

warning: /var/cache/yum/x86_64/7/mondorescue/packages/perl-ProjectBuilder-0.15.2-1.rhel7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 20ebfb0e: NOKEY
Retrieving key from ftp://ftp.mondorescue.org//rhel/7/x86_64/mondorescue.pubkey


The GPG keys listed for the "rhel 7 x86_64 - mondorescue Vanilla Packages" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: perl-ProjectBuilder-0.15.2-1.rhel7.noarch
 GPG Keys are configured as: ftp://ftp.mondorescue.org//rhel/7/x86_64/mondorescue.pubkey

perl-ProjectBuilder-0.15.2-1.rhel7.noarch.rpm が正しく落とせないようだ。
というわけで別のリポジトリhttp://www.mondorescue.org/ftp/centos/7/x86_64/mondorescue.repoから落とし直してみた。

# yum clean all
# rm mondorescue.repo
# wget http://www.mondorescue.org/ftp/centos/7/x86_64/mondorescue.repo
# yum install mondo
Installed:
  mondo.x86_64 0:3.2.2-1.rhel7                                                                                                                              

Dependency Installed:
  afio.x86_64 0:2.5-1.rhel7                         buffer.x86_64 0:1.19-4.rhel7                      gdbm-devel.x86_64 0:1.10-8.el7                      
  genisoimage.x86_64 0:1.1.11-25.el7                libdb-devel.x86_64 0:5.3.21-25.el7                libusal.x86_64 0:1.1.11-25.el7                      
  mindi.x86_64 0:3.0.2-1.rhel7                      mindi-busybox.x86_64 0:1.21.1-1.rhel7             mtools.x86_64 0:4.0.18-5.el7                        
  perl-CPAN-Meta.noarch 0:2.120921-5.el7            perl-CPAN-Meta-Requirements.noarch 0:2.122-7.el7  perl-CPAN-Meta-YAML.noarch 0:0.008-14.el7           
  perl-Digest.noarch 0:1.17-245.el7                 perl-Digest-MD5.x86_64 0:2.52-3.el7               perl-ExtUtils-CBuilder.noarch 1:0.28.2.6-294.el7_6  
  perl-ExtUtils-Install.noarch 0:1.58-294.el7_6     perl-ExtUtils-MakeMaker.noarch 0:6.68-3.el7       perl-ExtUtils-Manifest.noarch 0:1.61-244.el7        
  perl-ExtUtils-ParseXS.noarch 1:3.18-3.el7         perl-IO-Interface.x86_64 0:1.05-2.el7             perl-IPC-Cmd.noarch 1:0.80-4.el7                    
  perl-JSON-PP.noarch 0:2.27202-2.el7               perl-Locale-Maketext.noarch 0:1.23-3.el7          perl-Locale-Maketext-Simple.noarch 1:0.21-294.el7_6 
  perl-Module-Build.noarch 2:0.40.05-2.el7          perl-Module-CoreList.noarch 1:2.76.02-294.el7_6   perl-Module-Load.noarch 1:0.24-3.el7                
  perl-Module-Load-Conditional.noarch 0:0.54-3.el7  perl-Module-Metadata.noarch 0:1.000018-2.el7      perl-Module-ScanDeps.noarch 0:1.10-3.el7            
  perl-MondoRescue.noarch 0:3.2.2-1.rhel7           perl-Net-IPv4Addr.noarch 0:0.10-19.el7            perl-Params-Check.noarch 1:0.38-2.el7               
  perl-Parse-CPAN-Meta.noarch 1:1.4404-5.el7        perl-Perl-OSType.noarch 0:1.003-3.el7             perl-ProjectBuilder.noarch 0:0.15.2-1.rhel7         
  perl-YAML.noarch 0:0.84-5.el7                     perl-devel.x86_64 4:5.16.3-294.el7_6              perl-version.x86_64 3:0.99.07-3.el7                 
  pyparsing.noarch 0:1.5.6-9.el7                    syslinux.x86_64 0:4.05-15.el7                     systemtap-sdt-devel.x86_64 0:4.0-10.el7_7           
  wodim.x86_64 0:1.1.11-25.el7                     

Dependency Updated:
  libdb.x86_64 0:5.3.21-25.el7                                              libdb-utils.x86_64 0:5.3.21-25.el7                                             

Complete!

うまくいったようだ。

バックアップを取りたいサーバは2つあったので、同じ要領でmondoのインストールを試みた。
最初から後者のリポジトリ(http://www.mondorescue.org/ftp/centos/7/x86_64/mondorescue.repo)を指定して進めてみた。

# cd /etc/yum.repos.d
# wget http://www.mondorescue.org/ftp/centos/7/x86_64/mondorescue.repo
# yum install mondo
Retrieving key from ftp://ftp.mondorescue.org//centos/7/x86_64/mondorescue.pubkey


The GPG keys listed for the "centos 7 x86_64 - mondorescue Vanilla Packages" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: afio-2.5-1.centos7.x86_64
 GPG Keys are configured as: ftp://ftp.mondorescue.org//centos/7/x86_64/mondorescue.pubkey

……………。

今度はafio-2.5-1.centos7.x86_64のインストールで失敗してしまった。

c4e98097.jpg

逆順で、最初のリポジトリ(ftp://ftp.mondorescue.org/rhel/7/x86_64/mondorescue.repo)を設定し直した。

# yum clean all
# rm mondorescue.repo
# wget ftp://ftp.mondorescue.org/rhel/7/x86_64/mondorescue.repo
# yum --enablerepo=mondorescue install mondo
Installed:
  mondo.x86_64 0:3.3.0-1.centos7                                                                                                                            

Dependency Installed:
  afio.x86_64 0:2.5-1.centos7                       buffer.x86_64 0:1.19-8.centos7                    gdbm-devel.x86_64 0:1.10-8.el7                      
  genisoimage.x86_64 0:1.1.11-25.el7                libdb-devel.x86_64 0:5.3.21-25.el7                libusal.x86_64 0:1.1.11-25.el7                      
  mindi.x86_64 0:3.3.0-1.centos7                    mindi-busybox.x86_64 0:1.25.1-1.centos7           mtools.x86_64 0:4.0.18-5.el7                        
  perl-CPAN-Meta.noarch 0:2.120921-5.el7            perl-CPAN-Meta-Requirements.noarch 0:2.122-7.el7  perl-CPAN-Meta-YAML.noarch 0:0.008-14.el7           
  perl-Digest.noarch 0:1.17-245.el7                 perl-Digest-MD5.x86_64 0:2.52-3.el7               perl-ExtUtils-CBuilder.noarch 1:0.28.2.6-294.el7_6  
  perl-ExtUtils-Install.noarch 0:1.58-294.el7_6     perl-ExtUtils-MakeMaker.noarch 0:6.68-3.el7       perl-ExtUtils-Manifest.noarch 0:1.61-244.el7        
  perl-ExtUtils-ParseXS.noarch 1:3.18-3.el7         perl-IO-Interface.x86_64 0:1.05-2.el7             perl-IPC-Cmd.noarch 1:0.80-4.el7                    
  perl-JSON-PP.noarch 0:2.27202-2.el7               perl-Locale-Maketext.noarch 0:1.23-3.el7          perl-Locale-Maketext-Simple.noarch 1:0.21-294.el7_6 
  perl-Module-Build.noarch 2:0.40.05-2.el7          perl-Module-CoreList.noarch 1:2.76.02-294.el7_6   perl-Module-Load.noarch 1:0.24-3.el7                
  perl-Module-Load-Conditional.noarch 0:0.54-3.el7  perl-Module-Metadata.noarch 0:1.000018-2.el7      perl-Module-ScanDeps.noarch 0:1.10-3.el7            
  perl-MondoRescue.noarch 0:3.3.0-1.centos7         perl-Net-IPv4Addr.noarch 0:0.10-19.el7            perl-Params-Check.noarch 1:0.38-2.el7               
  perl-Parse-CPAN-Meta.noarch 1:1.4404-5.el7        perl-Perl-OSType.noarch 0:1.003-3.el7             perl-ProjectBuilder.noarch 0:0.15.2-1.centos7       
  perl-YAML.noarch 0:0.84-5.el7                     perl-devel.x86_64 4:5.16.3-294.el7_6              perl-version.x86_64 3:0.99.07-3.el7                 
  pyparsing.noarch 0:1.5.6-9.el7                    syslinux.x86_64 0:4.05-15.el7                     systemtap-sdt-devel.x86_64 0:4.0-10.el7_7           
  wodim.x86_64 0:1.1.11-25.el7                     

Dependency Updated:
  libdb.x86_64 0:5.3.21-25.el7                                              libdb-utils.x86_64 0:5.3.21-25.el7                                             

Complete!

今度はエラーにならなかった。

つまり

ftp://ftp.mondorescue.org/rhel/7/x86_64/mondorescue.repo
perl-ProjectBuilder-0.15.2-1.rhel7.noarch.rpm 落とせず

http://www.mondorescue.org/ftp/centos/7/x86_64/mondorescue.repo
afio-2.5-1.centos7.x86_64 落とせず

という結果になった。一方のリポジトリを指定しつつ、そこで足りないやつを追加で入れてあげるのが良さそうだ。

要するに

したがって https://qiita.com/KEINOS/items/95f8138a9907d86e78a7 にあるように

# cd ~/
# yum -y update
# wget ftp://ftp.mondorescue.org/rhel/7/x86_64/perl-ProjectBuilder-0.14.5-1.rhel7.noarch.rpm
# rpm -ivh perl-ProjectBuilder-0.14.5-1.rhel7.noarch.rpm

# cd /etc/yum.repos.d/
# wget ftp://ftp.mondorescue.org/rhel/7/x86_64/mondorescue.repo
# yum --enablerepo=mondorescue install mondo

の手順でやれば行けるのだと思う。(試してはいない)

そもそも上の2ケースについて、前者のサーバはrhelリポジトリ、後者はcentosリポジトリから持ってきているので、完全に同じものというわけではない。バックアップ対象は廃棄予定サーバだったので細かいことはどうでもいいが、運用で使うのであればきちんと統一すべきでしょうね。

lzopの導入

圧縮用に、追加でlzopを落とした。

# yum install lzop

mindi設定編集

バックアップ作成時にエラーを吐きよるので、mindi.confを編集した。

# vi /etc/mindi/mindi.conf
mindi.conf
EXTRA_SPACE=1500000
BOOT_SIZE=40960

バックアップ

つづいてバックアップ先を作成して実行。
上にも挙げた、こちらのサイトがよくまとまっているので、そのまま使わせて頂いた。
https://enz0.net/software/linux_mondorescue/

# mkdir /_backup
# mondoarchive -Oi -L -N -d /_backup -E /_backup -p `hostname`-`date +%Y-%m-%d`
    -O : バックアップ実行
    -i : ISO形式
    -L : lzo圧縮
    -N : ローカルディスクのみ対象
    -d : バックアップ出力先パス
    -E : バックアップ除外パス
    -p : ISOファイル名プレフィックス

↓こんな感じでログが出たらOK

Backup and/or verify ran to completion. Everything appears to be fine.
/var/cache/mindi/mindi.iso, a boot/utility CD, is available if you want it.
Data archived OK. 
Mondoarchive ran OK.
See /var/log/mondoarchive.log for details of backup run.
Execution run ended; result=0
Type 'less /var/log/mondoarchive.log' to see the output log
# ll /_backup
-rw-r--r-- 1 root root 680396800 Mar 31 12:04 hostname-2020-03-31-1.iso
-rw-r--r-- 1 root root 680368128 Mar 31 12:05 hostname-2020-03-31-2.iso
-rw-r--r-- 1 root root 678404096 Mar 31 12:05 hostname-2020-03-31-3.iso
...

バックアップが生成されている。めでたしめでたし。
システムによってはかなりのファイルサイズになるので、ちゃんと容量計算してあげよう。

5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?