ReaR (Relax-and-Recover) をマスターする:CentOS におけるベアメタルリカバリ(災対)ソリューション

CentOS tutorial - IT technology blog
CentOS tutorial - IT technology blog

備えあれば憂いなし:ファイルバックアップか、システムバックアップか?

ハードディスクの故障で、CentOSサーバーを一から再インストールするために徹夜した経験があるなら、すべてが消えてしまった時のあの無力感をご知でしょう。通常、私たちはデータの転送に rsynctar を使用します。この方法は、ハードウェアが完全に故障したり、カーネルエラーで起動できなくなったりしない限りは有効です。

そのような場合、復旧プロセスは非常に困難です。OSの再インストール、パーティションの再分割、ネットワーク設定、そしてようやくデータのリストアへと進みます。熟練した技術者でも、合計で少なくとも3〜4時間はかかります。ReaR (Relax-and-Recover) は、この時間を数分に短縮するために誕生しました。これは ベアメタルリカバリ (BMR) — つまり、たった一つのコマンドで、何もない状態から完全に動作するシステムへと復旧させることを実現します。

実際のバックアップ手法の比較

運用の経験に基づき、バックアップを3つのレベルに分類しました:

  • レベル1(ファイルレベル): rsync, Bacula。メリットは軽量で管理が容易な点です。しかし、データを流し込む前にOS環境を再構築する必要があり、一から設定し直す手間がかかります。
  • レベル2(スナップショット): VMware, Cloud Snapshot。非常に高速で安全ですが、仮想化プラットフォームに強く依存します。物理サーバー(ベアメタル)を運用している場合、この方法を柔軟に使うことはほぼ不可能です。
  • レベル3(ReaR): ドライバー、ブートローダー、データがすべて含まれた起動可能なISOファイルを作成します。iDRAC/IPMI経由でISOをマウントし、コマンドを実行するだけです。ファイルレベルの柔軟性と、スナップショットの網羅性を兼ね備えています。

なぜReaRはCentOSシステムの「救世主」なのか?

CentOS 8がEOLを迎える際、1週間で5台の重要なサーバーをRocky Linuxに急いで移行しなければなりませんでした。移行前にReaRでバックアップを作成しておいたのは、最良の判断でした。移行スクリプトがシステムを壊してしまった際、午後の時間をすべてコマンド入力に費やす代わりに、わずか15分で元の状態に戻すことができました。

最大のメリットは、ReaRが完全に無料で、非常に軽量であることです。バックグラウンドで動作してRAMやCPUを消費することはありません。このツールは、バックアップ作成のコマンドを実行した時のみ動作します。

CentOSでReaRを導入する3つのステップ

この例では、NFSプロトコルを介して別のサーバーにバックアップを保存します。これは、データの安全性を確保するためのデータセンターにおける標準的な手法です。

1. 必要なパッケージのインストール

まず、rear パッケージとISOファイル作成ツールの genisoimageインストールします。リモートストレージサーバーに接続するために nfs-utils も忘れずにインストールしてください。

sudo yum install rear genisoimage syslinux nfs-utils -y

2. local.conf ファイルの設定

メインの設定ファイルは /etc/rear/local.conf にあります。NFSサーバーのIPが 192.168.1.50 で、共有ディレクトリが /mnt/backups であると仮定します。以下の内容を追加してください:

OUTPUT=ISO
BACKUP=NETFS
BACKUP_URL=nfs://192.168.1.50/mnt/backups
BACKUP_PROG_EXCLUDE=("/tmp/*" "/dev/*" "/proc/*" "/sys/*" "/run/*" "/mnt/*" "/media/*")

簡単な解説: OUTPUT=ISO は起動可能なファイルを作成します。BACKUP=NETFS は組み込みのバックアッププログラムを使用します。BACKUP_PROG_EXCLUDE は、バックアップファイルのサイズを削減するために一時ディレクトリを除外します(設定次第で、数GBから数百MBまで削減可能です)。

3. 初回バックアップの作成

準備が整いました。以下のコマンドを実行して、ReaRによるシステムのパッケージングを開始します:

sudo rear -v mkbackup

完了すると、NFSサーバーにレスキューISOファイルと backup.tar.gz ファイルを含むディレクトリが作成されます。これがあなたの「命綱」となります。

災害時のシステム復旧手順

サーバーのハードディスクが完全に故障したと仮定します。新しいディスクに交換した後、以下の手順を実行します:

  1. USBやiDRAC/ILOの仮想メディア経由で、ReaRのISOファイルをサーバーにマウントします。
  2. ISOから起動し、表示されたメニューから “Relax-and-Recover” を選択します。
  3. root ユーザーでログインします(デフォルトはパスワードなし)。
  4. コマンドを入力します: rear -v recover

すると、ReaRが以前と全く同じようにパーティションを自動的に再分割します。ファイルシステム(XFS/EXT4)をフォーマットし、ディスクをマウントして、NFSからデータを展開します。最後に、Grubブートローダーを自動的に再インストールします。reboot と入力するだけで、サーバーは何事もなかったかのように再起動します。

トラブルを避けるための実践的な経験

実際の導入では、いくつか注意すべき点があります:

  • ネットワークカードの処理: ISOを起動した際、ネットワークカードが自動的にIPを取得しないことがあります。その場合は、サーバーがNFSストレージを認識できるように、手動でIPを割り当てる ip addr add コマンドを準備しておきましょう。
  • /tmp の容量: ReaRはISOをビルドするために空きスペースを必要とします。このパーティションがいっぱいになると、mkbackup コマンドはすぐにエラーを返します。
  • 「バックアップは疑い、リストアを信じよ」の原則: 仮想マシンでリストアテストに成功するまでは、バックアップファイルを信用してはいけません。私は常に、技術チームに3ヶ月に一度の定期的な復旧演習を求めています。

優れたシステム管理者は、システムを絶対に壊さない人ではありません。システムを最も速く復旧させることができる人です。ReaRは、あなたのCentOSインフラにとって最良の保険となるでしょう。

Share: