超簡単なLinuxサーバーのバックアップ&復元テストメモ【ReaR/VirtualBox】

2024年7月24日

ReaRを使った、稼働中のAlmalinuxサーバーのフルバックアップと復元テストをするにあたって、バックアップエラーや復元方法などで詰まった点がいくつかあり手順にまとめたのでメモ

本記事の対象者

稼働中Linuxサーバーのフルバックアップを取りたい人
OSはReaRが動作すれば恐らくなんでも良い(Almalinux,Ubuntuで動作確認済み)

バックアップ (/etc/rear/local.conf 設定)

/etc/rear/local.confのファイルに必要な設定を記載する

以下私の環境での設定内容と要点
・1-4行目:起動ディスクとバックアップを1つのISOファイルに結合して保存
・5,7行目:snap,NAS関連のマウント/ディレクトリを除外 (/backup,/share,/dev/loopなど)
  →これをしないとPermission Denied等のエラーが出てバックアップができない
・6行目:バックアップ時に前回のバックアップを残す

OUTPUT=ISO
OUTPUT_URL=file:///backup/ReaR/
BACKUP=NETFS
BACKUP_URL=iso:///backup/ReaR
BACKUP_PROG_EXCLUDE=( '/backup/*' '/share/*' '/tmp/*' )
NETFS_KEEP_OLD_BACKUP_COPY=yes
EXCLUDE_MOUNTPOINTS=( "/dev/loop*" )

復元テスト(Oracle VM VirtualBoxを利用)

サーバー自体で復元のテストができれば良いが、わざわざサーバー用の物理PCを用意したり稼働中のサーバーを止めるのは面倒なのでVirtualBoxで仮想環境上での復元テストを行う

Windows上にVirtualBoxをインストールし、予め起動ディスクファイル(バックアップのISOファイル)を手元に用意する

仮想マシンの作成

用意した起動ディスクを使って仮想マシンを作成する VirtualBoxの使い方は割愛
※仮想マシン作成時の注意点
・AlmaLinuxのタイプ/バージョンは、Linux/Red Hat (64-bit)
・EFIを有効化する
・仮想ディスクサイズをサーバーと同じかそれ以上にする

ログインとリカバリーのコマンド実行

仮想環境が起動するとログイン画面が表示される
ユーザーはrootで、パスワードなしでログインできる
ログイン後は「rear recover」コマンドを実行する

ディスクのマッピング(nvme→sda)

バックアップしたサーバーのストレージのデバイス名が/dev/sdaとかでないと以下の選択肢が出るが、1) を選択することでnvme0n1(例)からsdaへデバイス名をマッピングしてくれるので1を入力

ディスク再作成

1)でディスクのフォーマットやら再作成やらをスクリプトでやってくれるので、
ここでも1を入力する すると復元作業が始まるので待つ

最後にinitrd再作成等の選択肢が出る
1かEnterで復元を完了する

エラーが出ずシェルまで戻ってくれば、復元テストおわり
「df -Th」とかコマンドを叩いてバックアップ元とストレージの構成が同じそうなら大丈夫だと思われる

物理のサーバーに復元する場合も、サーバー用ストレージにISOを直接焼いて起動した後は同じように復元作業をすれば良い

まとめ

バックアップは取るだけでなく、復元して使えるかまでちゃんと確認しよう

この記事が誰かの役にたてば幸いです