月: 2016年1月

CentOS7にMondo Rescureをインストール

CentOS7にMondo Rescureをインストール

Mondo Rescureを使ってみようと思いローカル環境で実験をすることに。

最終目標はさくらのVPSのリカバリディスクの作成。

今回の実験環境
ホスト:Windows10
VirtualBox:5.0.12
Vagrant:1.8.1
ゲスト:CentOS7.2

ゲストのCentOS7.2のリカバリディスクを作成する。

※Vagrant環境なんだからpackageにすればいいんだけど「Mondo Rescure」の実験なので・・・。

作業はゲストでのみ行う。
まずはCentOS7.2にログインしてインストールから。

■yumリポジトリをインストールして「Mondo Rescure」をインストールする。

Download Mondo Rescue

ミラーサイトからリポジトリを取得

# wget ftp://mondo.mirror.pclark.com/pub/mondorescue/rhel/7/x86_64/mondorescue.repo

# mv mondorescue.repo /etc/yum.repos.d/

■インストール

# yum --enablerepo=mondorescue search mondo
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.riken.jp
 * extras: www.ftp.ne.jp
 * remi-php70: mirrors.thzhost.com
 * remi-safe: mirrors.thzhost.com
 * updates: www.ftp.ne.jp
============================================================================================================ N/S matched: mondo =============================================================================================================
mondo.x86_64 : MondoRescue is a GPL Disaster Recovery and Cloning Solution
mondo-debuginfo.x86_64 : Debug information for package mondo
perl-MondoRescue.noarch : The perl-MondoRescue provides a set of functions for the MondoRescue project


# yum --enablerepo=mondorescue install mondo
・・・・
Complete!

以上でインストールは完了。

2つのコマンドが入った模様
mondoarchive
mondorestore

■バージョン確認

# mondoarchive -v
mondoarchive v3.2.1-r3456
See man page for help

■ISOイメージを作成してみる

オプションはこのページを参考にしました。

# mondoarchive -Oi -s 4480m -d /tmp
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
Done.
Making catalog of files to be backed up
---evalcall---1---          Making catalog of /       
---evalcall---2--- TASK:  [**..................]  10% done;  0:09 to go
---evalcall---E---
---evalcall---1---          Making catalog of /       
---evalcall---2--- TASK:  [**********..........]  48% done;  0:02 to go
---evalcall---E---
---evalcall---1---          Making catalog of /       
---evalcall---2--- TASK:  [***********.........]  53% done;  0:02 to go
---evalcall---E---
---evalcall---1---          Making catalog of /       
---evalcall---2--- TASK:  [***************.....]  71% done;  0:01 to go

・・・・・

---evalcall---1---             Verifying...           
---evalcall---2--- TASK:  [******..............]  28% done;  0:02 to go
---evalcall---E---
---evalcall---1---             Verifying...           
---evalcall---2--- TASK:  [**********..........]  50% done;  0:06 to go
---evalcall---E---
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.
rm: cannot remove ‘/tmp/mondo.tmp.OD9jow/mountpoint.29356’: Device or resource busy
Execution run ended; result=254
Type 'less /var/log/mondoarchive.log' to see the output log

こけた?

Mondo RescueをつかってのCentOs7のバックアップ

上記のページを参考に設定値を変更してみた。

# pwd
/etc/mindi

# diff mindi.conf.org mindi.conf
12,13c12,13
< # EXTRA_SPACE=80152           # increase if you run out of ramdisk space
< # BOOT_SIZE=32768 # size of the boot disk --- > EXTRA_SPACE=240000            # increase if you run out of ramdisk space
> BOOT_SIZE=100000              # size of the boot disk

なんとなく出力先も変更して再度実行

# mondoarchive -Oi -s 4480m -d /backup -E /backup
・・・

---progress-form---3--- Please wait. This may take some time.
---progress-form---E---
---progress-form---4--- TASK:  [********************] 100% done;  0:00 to go
Done.
Writing any remaining data to media         
Please be patient. Do not be alarmed by on-screen inactivity.
Call to mkisofs to make ISO (ISO #1) ...OK
Done.
Done.
Backup and/or verify ran to completion. Everything appears to be fine.
/var/cache/mindi/mondorescue.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

出来た!

# pwd
/backup
# ls -alh
total 1.2G
drwxr-xr-x   2 root root   30 Jan 28 06:40 .
dr-xr-xr-x. 19 root root 4.0K Jan 28 06:20 ..
-rw-r--r--   1 root root 1.2G Jan 28 06:40 mondorescue-1.iso

isoイメージは1.2GBになった。

そもそもこのサーバの使用容量はこちら↓

# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  8.3G  4.2G  4.1G  51% /
devtmpfs                 298M     0  298M   0% /dev
tmpfs                    308M     0  308M   0% /dev/shm
tmpfs                    308M  4.5M  304M   2% /run
tmpfs                    308M     0  308M   0% /sys/fs/cgroup
/dev/sda1                497M  230M  267M  47% /boot
tmpfs                     62M     0   62M   0% /run/user/1000

■isoが出来たのでリカバリの実験

これは参考サイト「Mondo rescueを用いたシステムリカバリの方法

と同様にVirtualBoxにisoイメージをセットして起動し、Automaticallyで実行した。
参考サイトの指示通りにやってたリカバリができた。
あとはネットワークの設定とかをやってみたらそっくりそのままの環境ができた。

ローカルでの実験ができたので稼働中のさくらVPSとかでも実行する予定。

■参考サイト
Mondo Rescue Home Page

Mondo rescueを用いたシステムリカバリの方法

Mondo Rescueを使ったVPSのマイグレーション

CentOS7でapacheユーザのumask値を変更する

CentOS7でapacheユーザのumask値を変更する

最初一生懸命「/etc/sysconfig/httpd」に「umask 002」を書いてて
反映されないなーっと思っていたら触っていたのがCnetOS7でsystemdだって
ことにしばらくたって気づいたので自戒を込めてメモ。

systemdの仕組み

実際にsystemd環境でumaskを変更するには以下の手順で。

ここに移動して

[root@localhost system]# pwd
/etc/systemd/system

このファイルを作成する

[root@localhost system]# cat httpd.service 
.include /lib/systemd/system/httpd.service
[Service]
UMask=002

これはもともとのhttpd.serviceを読み込んで、
umaskの設定だけ追加している。

systemdのリロード

[root@localhost system]# systemctl --system daemon-reload

systemdのログを確認

[root@localhost system]# journalctl -n

※参考
systemd のログを確認する journalctl

systemd のログを確認する journalctl

apache再起動

[root@localhost system]# systemctl restart httpd.service