3 ReaRを使用したバックアップの管理
ReaRは、ローカル・データ・センターのOracle Linuxシステムで使用できる障害時リカバリ・ツールです。ReaRは、ブート可能なリカバリ環境と外部ファイルのバックアップを自動的に生成します。
Crontabを使用したReaRのスケジューリングでは、継続的なメンテナンスはほとんど必要ありません。ReaRを使用して、失われたユーザーおよびシステム・ファイルを元のディレクトリの場所にリストアできます。
ReaRの詳細は、https://relax-and-recover.org/を参照するか、rear(8)
マニュアル・ページを参照してください。
ReaRレスキュー・システムの作成
ReaRを使用して、基礎となるシステムをリストアし、外部ソースからデータをコピーするために使用できるブート可能なデバイスを作成します。
続行する前に、genisoimage
およびsyslinux
パッケージをインストールします。これらはどちらも、ISOイメージ・ファイルとしてブート可能なリカバリ環境を作成するために必要です。
sudo dnf install genisoimage syslinux
ReaRレスキュー・システムの構成
レスキュー・システム構成は、/etc/rear/local.conf
ファイルに格納されます。
ノート:
/etc/rear/local.conf
で使用できるすべての使用可能なパラメータの標準構成のガイドは、/usr/share/rear/conf/default.conf
ファイルを参照してください。
OUTPUT
パラメータとISOイメージ・ファイルの場所(OUTPUT_URL
パラメータで指定)を設定して、ストレージ・メディアを定義します。
OUTPUT=ISO
OUTPUT_URL=file:///mnt/rescue_system/
この構成では、ISOイメージ・ファイルが/var/lib/rear/output/
ディレクトリに/mnt/rescue_system/host_name/rear-localhost.iso
として生成されます。ネットワーク・ストレージ・マウントの場合、file:///
をnfs://
に置き換えることもできます。
ディスク領域が制限されている場合は、/mnt/rescue_system
ディレクトリに単一のISOイメージ・ファイルのみを生成するように、オプションで/var/lib/rear/output/
を省略するようにReaRを構成します。
OUTPUT=ISO
BACKUP=NETFS
OUTPUT_URL=null
BACKUP_URL=iso:///backup
ISO_DIR=/mnt/rescue_system
リカバリ・システムが生成されるたびにファイル・バックアップを自動的に生成するには、「ReaRを使用したファイルのバックアップ」を参照してください。
ReaRレスキュー・システムの生成
レスキュー・システムのベース設定を構成した後、mkrescue
コマンドを使用してISOイメージ・ファイルを生成します。
sudo rear mkrescue
dd
コマンドを使用してISOファイルからUSBインストール・メディアを作成する方法の詳細は、『Oracle Linux 8 Oracle Linuxのインストール』を参照してください。
ReaRレスキュー・システムの作成のスケジュール
ほとんどのコマンドライン・ツールと同様に、rear
は、crontab
ユーティリティを使用して自動的に実行するようにスクリプト化できます。
たとえば、次のように/etc/crontab
をスケジュールして、平日午後10時に新しいレスキュー・システムを自動的に生成します。
0 22 * * 1-5 root /usr/sbin/rear mkrescue
crontab
の詳細は、「Crontabユーティリティを使用したOracle Linuxでのタスクのスケジュール」を参照してください。
ReaRを使用したファイルのバックアップ
レスキュー・システムを作成する以外に、オプションで、完全ファイル・バックアップを同時に生成するようにReaRを構成できます。
tarballバックアップの作成
ファイル全体のバックアップを作成し、結果をtarballとして格納するには、/etc/rear/local.conf
ファイルを編集します。選択した定義可能なパラメータは次のとおりです。
-
BACKUP
およびBACKUP_URL
設定では、/srv/backup
ディレクトリに出力tarファイルが生成されます。次に例を示します。OUTPUT=ISO OUTPUT_URL=file:///mnt/rescue_system/ BACKUP=NETFS BACKUP_URL=file:///srv/backup/
-
NETFS_KEEP_OLD_BACKUP_COPY
設定では、次のような貴重なバックアップが保存されます。NETFS_KEEP_OLD_BACKUP_COPY=y
-
BACKUP_TYPE
設定では、バックアップを増分することによってディスク領域を節約します。次に例を示します。BACKUP_TYPE=incremental
-
FULLBACKUPDAY
では、バックアップが実行されるタイミングをスケジュールします。たとえば、週次バックアップを設定するには、次のように入力します。FULLBACKUPDAY=(Sun)
-
完全なISOイメージ・ファイルを作成するには、
BACKUP_URL
を次のように変更します。BACKUP_URL=iso:///backup/
ReaRを使用したバックアップの生成
最後にバックアップを生成してからファイル・システムが変更されたかどうかを確認するには、次のように入力します。
sudo rear checklayout
/etc/rear/local.conf
のBACKUP
設定がNETFS
の場合は、ReaRを使用して3種類のバックアップを作成できます。
-
ファイル・バックアップなしでレスキュー・システムを作成します。
sudo rear mkrescue
-
レスキュー・システムなしでファイル・バックアップを作成します。
sudo rear mkbackuponly
-
レスキュー・システムおよびファイル・バックアップを作成します。
sudo rear mkbackup
ReaRレスキュー・システムのテスト
システム・リカバリが可能であることを確認するには、バックアップからリストアできることを定期的にテストする必要があります。重要なデータを失うことなく安全にリカバリを実行できるテスト・システムをプロビジョニングし、次のステップを実行します。
-
「ReaRレスキュー・システムの作成」で生成されたレスキュー・システムのリカバリ・メディアからテスト・システムをブートします。
-
テスト・システム上の「ReaRを使用したシステムのリカバリ」の手順に従います。診断情報の詳細は、
-v
パラメータをリカバリ・コマンドに追加します。次に例を示します。rear -v recover
-
テスト・システムでリカバリが正しく実行されない場合は、ReaR構成を修正してレスキュー・システムを再生成します。
-
リカバリ・プロセスが成功するまで、テスト・システムでこれらのステップを繰り返します。
ReaRを使用したシステムのリカバリ
Oracle Linuxインストールがブート不可になった場合は、ReaRを使用してシステムをリカバリし、データをリストアできます。このユーティリティは、そのデバイスに対して生成された専用のレスキュー環境で実行します。
-
ReaRレスキュー・システムの作成で生成したレスキュー・システムでデバイスをブートします。
-
ブート・ローダー・メニューから
Recover localhost
オプションを選択します。 -
root
ユーザーとしてレスキュー・システムにログインします。シェル環境では、
/root/.ssh/authorized_keys
ファイルに格納されている資格証明(使用可能な場合)が使用されます。または、SSH_ROOT_PASSWORD
環境変数を手動で設定できます。 -
自動リカバリ・プロセスを開始します。
rear recover
システムのファイル構造は、
/mnt/local
ディレクトリにレプリケートされます。必要に応じて、そのディレクトリを外部ソースからファイルを回復するための出力ディレクトリとして使用できます。 -
tarballの内容を
/mnt/local
に抽出します。tar -xf backup.tar.gz -C /mnt/local
ノート:
このステップでは、バックアップtarballがリカバリするシステムと同じシステム上にあることを前提としています。tarballがリモートで格納されている場合は、最初にシステムに格納する必要があります。
たとえば、SSH接続経由でtarballを転送し、リモートtarballが
/mnt/backups/
にあると仮定するには、次を入力します。scp root@example.com:/mnt/backups/backup.tar.gz backup.tar.gz
ネットワーク共有からtarballを転送するには、次のように入力します。
rsync -avzh root@example.com:/mnt/backups/backup.tar.gz .
-
/mnt/local
ディレクトリに.autorelabel
という空白のファイルを作成して、次のブート時にラベル変更するようにSELinuxを設定します。touch /mnt/local/.autorelabel
-
システムをリブートしてリカバリ環境を終了します。
reboot
SELinuxによってファイル・システム全体のラベルが変更されると、リカバリされたホスト・システムはブート可能になります。
ReaRを使用した複数のバックアップの作成
様々なrear
コマンドを使用して、基礎となるシステムのファイルを使用してレスキュー・システムを作成し、/home
ディレクトリと/opt
ディレクトリの両方からデータをバックアップできます。
rear
の共通設定は/etc/rear/local.conf
ファイルで定義されますが、シナリオごとに別の構成ファイルで個々の値をオーバーライドできます。次に例を示します。
-
/etc/rear/basic_system.conf
-
/etc/rear/home_backup.conf
-
/etc/rear/opt_backup.conf
これらの構成ファイルで、バックアップに含めるフォルダを選択し、出力tarball名を定義します。より多くの一致を含めるには、指定したパス名にワイルドカード(*
)を指定できます。
詳細およびサンプル構成は、https://relax-and-recover.org/documentation/を参照してください。
rear
を使用してバックアップを作成するには、次を実行します。
-
バックアップの実行方法を指定する適切なファイルを構成します。
たとえば、
/etc/rear/home_backup.conf
ファイルに/home
ディレクトリのみを含めるように指定するには、次の構成定義を追加します。BACKUP_ONLY_INCLUDE="yes" BACKUP_PROG_INCLUDE=( '/home/*' ) BACKUP_PROG_ARCHIVE="backup-${this_file_name%.*}"
-
各バックアップを生成します。
-C
オプションは、使用する構成ファイルを指定します。sudo rear -C basic_system mkbackup sudo rear -C home_backup mkbackuponly sudo rear -C opt_backup mkbackuponly
-
レスキュー環境内から、同じラベルを使用してシステムをリカバリします。次に例を示します。
rear -C basic_system recover rear -C home_backup restoreonly rear -C opt_backup restoreonly
rear
コマンド・パラメータおよびリカバリ・オプションの詳細は、rear(8)
マニュアル・ページを参照してください。