Relax-and-Recover (以前の略称「ReaR」を、この章ではRearと呼ぶ)は、障害復旧イメージを作成するための管理者用ツールセットです。障害復旧情報はネットワークを通して、またはローカルでハードディスク、USBデバイス、DVD/CD-R、テープなどのメディアに保存できます。バックアップデータはNFS (Network File System)に保存されます。
Rearでは、障害が発生する「前に」設定とテストを完了しておく必要があることにご注意ください。障害がすでに発生している場合、Rearは回復を行いません。
障害復旧メディアを作成する際は「常に」、「同一の」テストマシンで障害復旧をテストすることが重要です。テストで満足する結果が得られたら、障害復旧システムは適切および確実に設定されたことになります。
Rearはいくつかのバックアップツール(Tivoli Storage Manager、QNetix Galaxy、Symantec NetBackup、EMC NetWorker、HP DataProtector)をサポートしており、回復メディアをCDまたはPXE環境に出力できます。復元のステップは、NFS、CIFS、またはその他のネットワークファイルシステムによって実行できます。
Rearを使用するには、少なくとも2台の同一のシステム、運用環境が保存されるメインマシンとテストマシンが必要です。ここでの「同一」のコンテキストは、 たとえば、ネットワークカードを同じカーネルドライバを使用して他のものに置き換えられるということです。ハードウェアコンポーネントが同じドライバを使用していない場合、Rearは同じとみなしません。
SUSE Linux Enterprise Serverには、rearVERSIONパッケージの障害復旧システムが付属しています。
Rearは、次の方法で使用されます。
準備. ブート可能なCDバックアップシステムを作成します。
テスト. 障害が発生する前に、回復プロセスと、メインシステムと同一のハードウェアにバックアップしたプロセスを完全にテストします。
回復. 回復メディアからブートし、バックアップからシステムを復元します。
レスキューメディアを準備するには、Rearで次の手順を実行します。
ターゲットシステムからシステム情報を収集します。
ディスクレイアウト(パーティション、ファイルシステム、LVM、RAID、およびブートローダ)を保存します。
システム(カーネルのドライバとモジュール、デバイスドライバの設定、ネットワークの設定、システムソフトウェアおよびツール)のクローンを作成します。
システムおよびユーザデータをバックアップします。
システム設定でブート可能な回復メディアを作成します。
障害発生時の回復プロセスは、次のアクションで構成されます。
回復メディアからブートします。
ディスクレイアウト(パーティション、RAID設定、LVM、ファイルシステム)を復元します。
システムおよびユーザデータを復元します。
ブートローダを復元します。
システムを再起動します。
技術的および概念的な問題のため、RearおよびBtrfsツールには、いくつかの制限があることを認識しておく必要があります。
サブボリュームを持つが、スナップショットは持たないBtrfs. Rearバージョン1.15以上が必要です。このバージョンは、Btrfsサブボリューム構造の復元をサポートしているからです。データのバックアップおよび復元は正常に機能するはずです。
スナップショットを含むサブボリュームを持つBtrfs. 通常のバックアップおよび復元は、スナップショットのデータに対しては機能しません。通常のバックアップツール(たとえば、tar)は、データとBtrfsスナップショット構造を区別することができません。1つの回避策は、Btrfsスナップショットのデータを除外して、このデータと通常のデータを個別に保存する方法です。
最悪のシナリオが発生する前に、障害復旧プランによって対策を講じます。障害復旧プランは、すべてのリスク、インフラストラクチャ、予算が記述されているドキュメントです。すでにプランをお持ちかもしれませんが、一般的な概要は次のとおりです。
リスクの分析. インフラの確かなリスク分析を実施します。可能性のあるすべての脅威を一覧表示し、深刻度を評価します。これらの脅威が発生する可能性を判断し、優先順位を設定します。可能性と影響の簡単な分類を使用することを推奨します。
予算のプラニング. 分析結果には、どのリスクが耐えうるもので、どれがビジネスにとって致命的であるかを全般的に示します。リスクを最小化する方法と、かかるコストを自分自身で検討します。会社の規模に応じて、IT予算全体の2~15%を障害復旧に使用します。
障害復旧プランの作成. チェックリストの作成、手順のテスト、優先順位の設定と割り当て、ITインフラのインベントリ調査を行います。インフラのサービスが失敗した際、問題に対処する方法を定義します。
テスト. 念入りなプランを定義したら、それをテストします。最低でも1年に1度テストします。ご使用のメインITインフラと同じテストハードウェアを使用します。
Rearを設定するには、設定ファイル/etc/rear/local.confにオプションを追加します。以前のファイル/etc/rear/sites.confは、パッケージから削除されました。このファイルを前回のセットアップから引き継いでいる場合、Rearは依然としてそのファイルを使用します。
OUTPUT変数を使用して、 出力方法を
定義します。たとえば、回復メディアをISOイメージとして出力するには、次の設定を使用します。
OUTPUT=ISO
設定ファイルを変更したら、次のコマンドを実行して、すべてが正しいかどうかを確認します。
rear dump
出力を調べて、エラーを探します。
詳細については、Rear (man rear)のマニュアルページを参照してください。
Rearはさまざまなシナリオで使用できます。次の例では、NFSサーバをバックアップストレージとして使用します。
『SUSE Linux Enterprise Server 12 管理ガイド』の「NFSでのファイルシステムの共有」の章で説明されているとおり、YaSTでNFSサーバを設定します。http://www.suse.com/documentation/から入手できます。
NFSサーバが/etc/exportsファイルで適切に設定されていることを確認します。
/srv/nfs *(fsid=0,crossmnt,rw,no_root_squash,sync,no_subtree_check)
設定ファイル/etc/rear/local.confを適応させます。NETFS_URLを自分の値に置き換えます。
NFSホストがIPアドレスではないがホスト名である場合、バックアップが保存される際にDNSが作動する必要があります。その他のオプションは「設定」セクション(http://rear.github.com/documentation/のマニュアル内)でリストされています。
# Create rear rescue media as ISO image:
OUTPUT=ISO
# Store the backup file via NFS on an NFS server:
BACKUP=NETFS
# BACKUP_OPTIONS variable contains the NFS mount options and
# with 'mount -o nolock' no rpc.statd (plus rpcbind) are needed:
BACKUP_OPTIONS="nfsvers=3,nolock"
# If the NFS server is not an IP address but a hostname,
# DNS must work in the rear recovery system when the backup is restored.
BACKUP_URL=nfs://192.168.1.1/nfs/rear/
# Keep an older copy of the backup in a HOSTNAME.old directory
# provided there is no '.lockfile' in the HOSTNAME directory:
NETFS_KEEP_OLD_BACKUP_COPY=yes
# Files in btrfs subvolumes are excluded by 'tar --one-file-system'
# so that such files must be explictly included to be in the backup.
# Files in the following SLE12 default btrfs subvolumes are
# in the below example not included to be in the backup
# /.snapshots/* /var/tmp/* /tmp/* /var/crash/*
# but files in /home/* are included to be in the backup
# (one line!):
BACKUP_PROG_INCLUDE=( '/home/*' '/var/spool/*' '/var/opt/*' '/var/log/*'
'/var/lib/pgsql/*' '/var/lib/mailman/*' '/var/lib/named/*' '/usr/local/*'
'/srv/*' '/boot/grub2/x86_64-efi/*' '/opt/*' '/boot/grub2/i386-pc/*' )
# Avoid that "rear recover" is 'Creating btrfs-filesystem' by default
# also for every mounted btrfs subvolume by excluding the mountpoints
# of the mounted btrfs subvolumes from component recreation
# see /usr/share/doc/packages/rear/user-guide/06-layout-configuration.txt
# and /usr/share/rear/conf/default.conf
# When /home is a separated filesystem remove "fs:/home" from the list below
# (one line!):
EXCLUDE_RECREATE=( "${EXCLUDE_RECREATE[@]}" "fs:/home" "fs:/.snapshots"
"fs:/var/tmp" "fs:/var/spool" "fs:/var/opt" "fs:/var/log"
"fs:/var/lib/pgsql" "fs:/var/lib/mailman" "fs:/var/lib/named"
"fs:/usr/local" "fs:/tmp" "fs:/srv" "fs:/var/crash"
"fs:/boot/grub2/x86_64-efi" "fs:/opt" "fs:/boot/grub2/i386-pc" )
# This option defines a root password to allow SSH connection
# without a public/private key pair
#SSH_ROOT_PASSWORD="password_on_the_rear_recovery_system"次を実行してバックアップを準備します。
rear -v mkbackup
テストマシンで障害復旧を実行するには、次のとおり続行します。
/var/lib/rear/output/rear-HOSTNAME.isoとして保存される回復ISOイメージを見つけ、CDに書き込みます。
回復CDでテストマシンをブートします。
メニューの選択からを選択して、Enterを押します。
rootとしてログインします(パスワードは必要なし)。
rear recoverと入力し、回復プロセスを開始します。回復プロセスがマシンをインストールおよび設定し、NFSサーバからバックアップデータを取り出します。
この手順後、テストマシンが正常に設定され、メインマシンの代わりとして機能できることを確認します。この手順を定期的にテストし、すべてが想定通りに作動することを確認します。メディアが損傷した時に備えて、回復CDのコピーを保管します。
EMC Networkerをバックアップツールとして使用するには、次の設定ファイルを使用します(それに伴って、BACKUP_URLを変更します)。
BACKUP=NSR OUTPUT=ISO BACKUP_URL=nfs://dd990.example.com/data/col1/rear/backup OUTPUT_URL=nfs://dd990.example.com/data/col1/rear/output NSRSERVER=backupserver.example.com RETENTION_TIME="Month"
YaST Rearモジュールを使用して基本セットアップを開始できます。Rearは、回復イメージとデータをNFSバックエンドまたはフラッシュディスクに保存します。ただし、YaST Rearモジュールは障害からの復旧はサポートしていません。障害復旧には専門知識が必要なので、管理者が手動で実行する必要があります。
基本セットアップを開始するには、次の手順に従います。
回復システムの開始方法を決定します。フラッシュディスクから起動する場合は、CD-ROMから起動する場合はを選択します。
バックアップの保存先を決定します。またはのどちらかを選択します。
ネットワークファイルシステムを提供するサーバを使用する必要がある場合は、を選択します。場所にはnfs://hostname/directoryを指定します。
USBスティックにデータを保存する場合は、を選択します。USBデバイスが表示されない場合は、フラッシュディスクまたはUSBディスクを接続して、をクリックします。
以前のバックアップコピーを保存しておく必要がある場合は、をオンにします。
バックアップに含む必要があるディレクトリを追加する場合は、メニューでを選択します。
カーネルモジュールが見つからないためにレスキューシステムをブートできない場合は、メニューでを選択し、レスキューシステムに追加されたモジュールのリストにそれぞれのカーネルモジュールを追加します。
ボタンをクリックして、バックアッププロセスを開始します。
YaST Rearモジュールでバックアップが完了したら、バックアップが想定どおりに機能することを確認します。
rearマニュアルページ
/usr/share/doc/packages/rear/README