本カテゴリでは、Linux サーバーにおけるバックアップの設計、取得、復旧、監視に関する内容を整理する。
バックアップは取得するだけでは不十分であり、
設計、実装、復旧、監視まで含めて管理することが重要である。
本ページでは、各ページへの入口をまとめる。
バックアップ構成、保存先、方式の考え方を整理する。
NAS を利用したバックアップ取得手順を整理する。
障害発生時の復旧手順と復元の流れを整理する。
バックアップ取得状況の確認方法と監視の考え方を整理する。
ReaR(Relax-and-Recover)の仕組みとバックアップ方式を整理する。
ReaR のインストールおよびバックアップ構築手順を整理する。
ReaR を用いた OS 復元手順および確認方法を整理する。
rsync を利用したファイルバックアップの構成および自動化手順を整理する。
本環境では、OS、ファイル、データベースの3つの観点でバックアップを取得する。
Linux サーバー上で取得したバックアップは NAS に保存する。
バックアップを用途ごとに分離することで、障害の種類に応じて必要なデータのみを復旧できる構成としている。
すべてのデータを単一方式でバックアップする構成では、復旧単位を細かく分けることができない。
この構成では、設定ファイルのみの修正で対応可能な障害であっても、システム全体の復旧が必要となる可能性がある。
単一バックアップ構成では、すべてのデータが一つのバックアップに依存する。
一方、本環境のようにバックアップを分離することで、
設定ファイルのみ、データベースのみといった単位で復旧が可能となる。
この構成により、復旧時間の短縮と運用負荷の軽減を実現している。
本環境では用途ごとにバックアップ方式を使い分ける。
| 方式 | 用途 |
|---|---|
| ReaR | OSバックアップ |
| rsync | ファイルバックアップ |
| DB Dump | データベースバックアップ |
| NAS | バックアップ保存先 |
ReaR は OS 全体の復旧を目的とする。
rsync は設定ファイルやアプリケーションデータを効率的にバックアップする。
データベースは dump を利用し、データを整合性のある状態で保存する。
ファイルバックアップでは、毎回すべてのデータをコピーするのではなく、変更された部分のみを取得する差分バックアップを採用する。
差分バックアップを使用することで、バックアップ時間の短縮とネットワーク負荷の軽減が可能となる。
rsync はこの差分転送を実現する代表的なツールであり、本環境ではファイルバックアップに採用している。
バックアップデータは NAS に集約して保存する。
/backup
├ WEB-SRV01
│ ├ current
│ ├ db
│ └ rear
└ MON-SRV01
├ current
├ db
└ rear
サーバーごとにディレクトリを分離し、さらにバックアップ種別ごとに管理することで、復旧時の判断を容易にしている。
ファイルバックアップでは、OS 再構築後に復元が必要となる設定ファイルやアプリケーションデータを対象とする。
/etc
/var/lib
/var/www
/opt
/home
これらはシステムの動作に直結するため、優先的にバックアップ対象とする。
データベースはファイルコピーではなく、専用の dump コマンドを利用してバックアップを取得する。
pg_dump dbname > dbname_$(date +%Y%m%d).sql
この方法により、データの整合性を保った状態でバックアップを取得することができる。
OS 障害に備え、システム全体を復旧できるバックアップを取得する。
OS バックアップは復旧時間の短縮を目的とし、設定ファイルやデータは別のバックアップで補完する構成とする。
バックアップは定期的に取得する。
| 処理 | 頻度 |
|---|---|
| ファイルバックアップ | 毎日 |
| データベースバックアップ | 毎日 |
| OSバックアップ | 週1回 |
バックアップは夜間に実行し、サーバー負荷が集中しないように調整する。
障害発生時は、OS、ファイル、データベースの順で復旧する。
障害の種類によっては、OS を復旧せずに一部のみ復元する場合もある。
本設計では、バックアップ取得そのものではなく、復旧できることを目的とする。
バックアップ方式は役割ごとに分離し、保存先は NAS に集約する。
また、復旧手順を明確にすることで、障害発生時に迷わず対応できる構成とする。