※mondorescueのバックアップ/リストア手順を書きますが
※無償ソフトですので正常稼働する保障はありません。

さくらVPSの元データ確認

[bash]
[root@ ~]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda3 204105516 4783020 188954448 3% /
tmpfs 961116 0 961116 0% /dev/shm
/dev/vda1 247919 53700 181419 23% /boot
[root@ ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 195G 4.6G 181G 3% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/vda1 243M 53M 178M 23% /boot
[root@ ~]# fdisk -l

警告: GPT (GUID パーティションテーブル) が ‘/dev/vda’ に検出されました! この fdisk ユーティリティは GPT をサポートしません。GNU Parted を使ってください。

ディスク /dev/vda: 214.7 GB, 214748364800 バイト
ヘッド 256, セクタ 63, シリンダ 26006
Units = シリンダ数 of 16128 * 512 = 8257536 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

デバイス ブート 始点 終点 ブロック Id システム
/dev/vda1 1 26007 209715199+ ee GPT
[root@ ~]# ls -l /dev/disk/by-uuid/
合計 0
lrwxrwxrwx 1 root root 10 9月 30 10:54 2014 7b6c1df7-0ff1-43ac-acc8-fa5b6b9bb100 -> ../../vda3
lrwxrwxrwx 1 root root 10 9月 30 10:54 2014 7f16a2fa-ff1b-4c5e-83f0-fdf9f1849726 -> ../../vda2
lrwxrwxrwx 1 root root 11 11月 14 17:13 2014 9B5A-F48C -> ../../loop0
lrwxrwxrwx 1 root root 10 9月 30 10:54 2014 e2128ad6-c9d7-4a14-ac6b-50c87893b1d6 -> ../../vda1
[root@ ~]# pvdisplay
[root@ ~]# vgdisplay
No volume groups found
[root@ ~]# lvdisplay
No volume groups found
[/bash]

サービスの確認

[bash]
# service –status-all
[/bash]

サービスの停止

[bash]
# service httpd stop

# service mysqld stop

# service crond stop

# service qmail stop

# service nagios stop

# service spamassassin stop

# service clamd stop

# service turnserver stop
[/bash]

 

mondorescueのインストール

[bash]
# cd /usr/local/src
[/bash]

[bash]
# wget ftp://ftp.mondorescue.org/rhel/5/x86_64/mondorescue.repo
[/bash]

[bash]
# mv mondorescue.repo /etc/yum.repos.d/
[/bash]

[bash]
# yum -y install mkisofs
[/bash]

[bash]
# yum -y install mondo

Installed:
mondo.x86_64 0:3.0.4-1.rhel5

Dependency Installed:
afio.x86_64 0:2.5.1-1.el6.rf           buffer.x86_64 0:1.19-4.rhel5
genisoimage.x86_64 0:1.1.9-12.el6      mindi.x86_64 0:2.1.7-1.rhel5
mindi-busybox.x86_64 0:1.18.5-3.rhel5  mtools.x86_64 0:4.0.12-1.el6
syslinux.x86_64 0:4.04-3.el6           syslinux-nonlinux.noarch 0:4.04-3.el6
wodim.x86_64 0:1.1.9-12.el6
[/bash]

[bash]
# vi /etc/yum.repos.d/dag.repo

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
enabled=0
[/bash]

[bash]
# yum -y install lzop lzo –enablerepo=dag

Installed:
lzop.x86_64 0:1.02-0.9.rc1.el6
[/bash]

[bash]
# mkdir /backup
[/bash]

[bash]
# getenforce
Disabled
[/bash]

バックアップ開始

4.2GB(DVDサイズ)区切りでバックアップ

[bash]
# mondoarchive -Oi -L -N -s 4200m -d /backup -E /backup
[/bash]

100GB区切りでバックアップ

[bash]
# mondoarchive -Oi -L -N -s 100000m -d /backup -E /backup
[/bash]

[bash]
[root@ ~]# cd /backup
[root@ backup]# ls
mondorescue-1.iso
[/bash]

VMWwareでリストアして確認

mondorescueバックアップboot: interactiveを入力 > Enter

 

※boot: nukeで成功するならオートでリストア出来る。
同じハードウェアにリストアでもなければnukeは失敗する。

 

 

さくらVPSバックアップinterctiveを選択。

 

 

mondorescue interactiveDVD disksを選択。

 

 

さくらVPS バックアップvdaとなっているものをmondorescueが認識する
sdaに変えなければならない。
/dev/sdaに変更さくらVPSをバックアップする
mondorescue『Yes』を選択します。

mondorescue alert

mondorescue リストア

パーティショニングとフォーマット後に

リストアが始まります。

 

backup_mondrescue_sakuraVPS13

『Yes』を選択します。

 

mondorescue alert『Yes』を選択します。

 

 

boot『OK』を選択します。

 

backup_mondrescue_sakuraVPS16

[bash]
# cd /boot
[/bash]

[bash]
# mkinitrd -f -v initrd-2.x.y.img 2.x.y
[/bash]

 

先程の警告通りにコマンドを入力します。

 

mkinitrd bootインストールインストールが始まります。

 

backup_mondrescue_sakuraVPS18『Yes』を選択します。

 

mondorescue boot選択

boot変更

/dev/sdaに変更します。

 

 

backup_mondrescue_sakuraVPS21『OK』をクリックします。

 

/etc/fstab

/etc/fstab
Ctrl+x

 

 

/etc/mtabsdaに変更

backup_mondrescue_sakuraVPS25

/etc/mtab

/dev/vda3 / ext4 rw 0 0

 

↓変更

 

/dev/sda3 / ext4 rw 0 0

 

/dev/vda1 /boot ext4 rw 0 0

 

↓変更

 

/dev/sda1 /boot ext4 rw 0 0

 

Ctrl+w

 

Enter

 

Ctrl+x

 

 

 

y

Enter

 

/boot/grub/menu.lst

Ctrl+x

 

backup_mondrescue_sakuraVPS27

backup_mondrescue_sakuraVPS28

Ctrl+x

 

backup_mondrescue_sakuraVPS29

y

Enter

 

GRUB is now installed correctly『OK』を選択します。

 

backup_mondrescue_sakuraVPS31『Yes』を選択します。

 

 

backup_mondrescue_sakuraVPS32

[bash]
# exit
[/bash]

Enterを押します。

 

backup_mondrescue_sakuraVPS33ここで、画面を閉じます。
backup_mondrescue_sakuraVPS34mondorescueのisoを除去します。

 

 

backup_mondrescue_sakuraVPS35

起動します。

 

 

backup_mondrescue_sakuraVPS36

backup_mondrescue_sakuraVPS37

リストア成功。

これで一応はリストア出来ました。

この『一応は動いてはいる』感じで
不安で不安で・・^―^;
(開発者の人はリスペクトしてますよ!)

 

ddコマンドでのHDDのクローンは明快で信頼してますが
やっぱりmondorescueはあんまり好きじゃないです。
どこでエラーを起こしてるかわかりません。
dd以外にはrsyncがいいかなと。

リストアなんてする事がありませんように。

よくある問題

■ UUIDの違いによりネットワークインターフェイスが認識しない問題(eth0がない。)

 

Linuxではネットワークインターフェイスはudevで管理されており、
移行元とお引越し先のVPSのネットワークインターフェイスのUUIDが違う為におきる。
設定ファイル上は移行元のUUIDになっている。
この設定は/etc/udev/rules.dの70-persistent-net.rulesファイルに書いてあります。
udevadmを使う方法、ファイルを削除してマシンを再起動する方法。
設定ファイルはOS起動時に自動的に作成されます。

 

# cd /etc/udev/rules.d
# rm -f 70-persistent-net.rules
# reboot now

 

■ IPアドレスが取得できない問題

 

移行元で静的にIPアドレスを割り当てていた場合に起こる。
IPアドレスをDHCPで受け取るようにする。

 

 

優 ( エンジニア )
この記事を書いた人:優 ( エンジニア )

システムガーディアン爆弾処理班。アクセス負荷対策やNginxへの移行案件が多いこの頃。IBM SoftLayerやAWSなどクラウド案件も多くなってきました。