3 ReaRを使用したバックアップの管理

ReaRは、ローカル・データ・センターのOracle Linuxシステムで使用できる障害時リカバリ・ツールです。ReaRは、ブート可能なリカバリ環境と外部ファイルのバックアップを自動的に生成します。

Crontabを使用したReaRのスケジューリングでは、継続的なメンテナンスはほとんど必要ありません。ReaRを使用して、失われたユーザーおよびシステム・ファイルを元のディレクトリの場所にリストアできます。

ReaRの詳細は、https://relax-and-recover.org/を参照するか、rear(8)マニュアル・ページを参照してください。

ReaRのインストール

Oracle Linux yumサーバーからrearパッケージをインストールします。

sudo dnf install rear

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.confBACKUP設定がNETFSの場合は、ReaRを使用して3種類のバックアップを作成できます。

  • ファイル・バックアップなしでレスキュー・システムを作成します。

    sudo rear mkrescue
  • レスキュー・システムなしでファイル・バックアップを作成します。

    sudo rear mkbackuponly
  • レスキュー・システムおよびファイル・バックアップを作成します。

    sudo rear mkbackup

ReaRレスキュー・システムのテスト

システム・リカバリが可能であることを確認するには、バックアップからリストアできることを定期的にテストする必要があります。重要なデータを失うことなく安全にリカバリを実行できるテスト・システムをプロビジョニングし、次のステップを実行します。

  1. 「ReaRレスキュー・システムの作成」で生成されたレスキュー・システムのリカバリ・メディアからテスト・システムをブートします。

  2. テスト・システム上の「ReaRを使用したシステムのリカバリ」の手順に従います。診断情報の詳細は、-vパラメータをリカバリ・コマンドに追加します。次に例を示します。

    rear -v recover
  3. テスト・システムでリカバリが正しく実行されない場合は、ReaR構成を修正してレスキュー・システムを再生成します。

  4. リカバリ・プロセスが成功するまで、テスト・システムでこれらのステップを繰り返します。

ReaRを使用したシステムのリカバリ

Oracle Linuxインストールがブート不可になった場合は、ReaRを使用してシステムをリカバリし、データをリストアできます。このユーティリティは、そのデバイスに対して生成された専用のレスキュー環境で実行します。

  1. ReaRレスキュー・システムの作成で生成したレスキュー・システムでデバイスをブートします。

  2. ブート・ローダー・メニューからRecover localhostオプションを選択します。

  3. rootユーザーとしてレスキュー・システムにログインします。

    シェル環境では、/root/.ssh/authorized_keysファイルに格納されている資格証明(使用可能な場合)が使用されます。または、SSH_ROOT_PASSWORD環境変数を手動で設定できます。

  4. 自動リカバリ・プロセスを開始します。

    rear recover

    システムのファイル構造は、/mnt/localディレクトリにレプリケートされます。必要に応じて、そのディレクトリを外部ソースからファイルを回復するための出力ディレクトリとして使用できます。

  5. 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 .
  6. /mnt/localディレクトリに.autorelabelという空白のファイルを作成して、次のブート時にラベル変更するようにSELinuxを設定します。

    touch /mnt/local/.autorelabel
  7. システムをリブートしてリカバリ環境を終了します。

    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を使用してバックアップを作成するには、次を実行します。

  1. バックアップの実行方法を指定する適切なファイルを構成します。

    たとえば、/etc/rear/home_backup.confファイルに/homeディレクトリのみを含めるように指定するには、次の構成定義を追加します。

    BACKUP_ONLY_INCLUDE="yes"
    BACKUP_PROG_INCLUDE=( '/home/*' )
    BACKUP_PROG_ARCHIVE="backup-${this_file_name%.*}"
  2. 各バックアップを生成します。

    -Cオプションは、使用する構成ファイルを指定します。

    sudo rear -C basic_system mkbackup
    sudo rear -C home_backup mkbackuponly
    sudo rear -C opt_backup mkbackuponly
  3. レスキュー環境内から、同じラベルを使用してシステムをリカバリします。次に例を示します。

    rear -C basic_system recover
    rear -C home_backup restoreonly
    rear -C opt_backup restoreonly

    rearコマンド・パラメータおよびリカバリ・オプションの詳細は、rear(8)マニュアル・ページを参照してください。