OSのバックアップ・リストアツールReaR(2):ReaRのオプション

ReaRの主要オプション Relax-and-Recover
ReaRの主要オプション

ReaRのオプションって分かり辛い

ReaR(Relax-and-Recover)って、オプションは多くはないものの似たようなオプションが多くて、よく分からん!! ということで基本的なオプションの意味を調べてみることにしました。

RearRの設定ファイルは/etc/rear/local.conf です。ReaRは、全てがbashで記述されているらしく /etc/local.confに定義するのはbash変数です。すなわち、オプションだと思っていたものはbash変数ということになります。コミュニティでのQAの例では、local.confの中にbashのif文が書いてある例も見かけます。なるほど、bashスクリプトが設定ファイルとなっている、ということですね。こういう考え方、とても好きです。
デフォルトの設定ファイルは /usr/share/rear/conf/default.conf であり、ここで定義されている変数の値を /etc/rear/local.conf で定義した変数の値で更新するという考えです。

OUTPUT変数とOUTPUT_URL変数

ReaRの公式サイトでは以下の説明があります(英語を日本語に翻訳しています)。

OUTPUT変数はブート可能なレスキューイメージをどこからブートするかを定義し、OUTPUT_URL変数はレスキューイメージをどこに送るかを定義します。

https://github.com/rear/rear/blob/master/doc/rear.8.adoc

OUTPUT変数って、レスキューイメージをどこに出力(output)するのかを定義するのだと思ってたら違うんですね。「どこからブートするか」という意味なんですね(これが分かりにくい理由のひとつか…)。ちなみに、レスキューイメージというのは、リカバリのためだけに起動する最小限のシステムを意味します。
もっとも簡単な例は、レスキューイメージをDVDから起動したい場合です。DVDに格納するISOイメージを作成する必要があるので、以下のように指定します。

OUTPUT=ISO

USBメモリから起動可能なレスキューイメージを作成したい場合は以下。
(詳細な手順は USBフラッシュメモリを使ったバックアップ を見てね..)

OUTPUT=USB

PXEで起動可能なレスキューイメージを作成したい場合は以下のように指定します。

OUTPUT=PXE

PXEブートを活用したバックアップ・リストアは、その環境を一度作ってしまえばとても便利です。PXEブートは難解ですが、以下で分かりやすく解説しているので興味のある方はご参考下さい。
犬でも分かるPXEブート

さて一方で、OUTPUT_URL変数が、作成するレスキューイメージの出力先を定義する変数となります。実はバックアップを行うと、レスキューイメージはデフォルトで /var/lib/rear/output/ディストリに作成されます。従ってOUTPUT_URL変数は、ここに作成したレスキューイメージをどこに転送(コピー)するのかを定義しているに過ぎません。レスキューイメージを同じマシンの中に転送する場合は、以下のように定義します。

OUTPUT_URL=file://<絶対パス>

例えば、/tmpを転送先に指定したい場合は以下です。

OUTPUT_URL=file:///tmp

このように指定すると、/tmp/<hostname>/ を作成して、その配下にレスキューイメージを作成します。しかし、前述のように、デフォルトで /var/lib/rear/output/ ディストリ配下に作成しているので、この指定はあまり意味がありません。レスキューイメージの転送を抑止したいのであれば、以下のようにnullを指定します(これが一番効率良いです)。

OUTPUT_URL=null

BACKUP変数とBACKUP_URL変数

ReaRは、サードパーティのバックアップソフトとReaRの内部バックアップ方式を区別しているらしく、そのバックアップ方法をBACKUP変数で指定します。サードパーティのバックアップソフトを使うつもりはないので、内部バックアップ方式を使うことになるのですが、2つのパラメタが指定できるみたいです。

BACKUP=NETFS

単純なバックアップ(tar+gzipアーカイブ)を作成するために使用できる内部バックアップメソッドです。NETFSという名前に混乱させられてしまいそうですが、要するにtar+gzipを使う、という指定と理解しましょう。今回も、NETFSを指定することにします。

BACKUP=RSYNC

rsyncを使用してデータをリストアします。私は使ったことはありません。

そして、ReaRのサイトの説明では、BACKUP=NETFSを使用する場合は、BACKUP_URL変数でバックアップ先の場所を指定する必要があります、と書いてあります。もう少し具体的に言うと、tar.gzファイルをどこに格納するかを指定してね、ということです。

file:でURLを記述した場合は、ローカル・ディスクにバックアップ(格納)します。以下のpathはディクトリを意味します。

BACKUP_URL=file:///directory/path

nfs:でURLを記述した場合は、NFSのリモートディスクにバックアップ(格納)します。以下のnfs-server-nameは、NFSサーバのホスト名またはIPアドレスです。pathはディクトリであり、NFSのexportパスと同じにしておく必要があります(そうしないとmountでエラーが発生します)。

BACKUP_URL=nfs://nfs-server-name/share/path

iso:でURLを記述した場合は、ISO イメージの中にバックアップ(格納)します。pathはISOイメージをiso9660でmountしたときのディクトリです。

BACKUP_URL=iso:///path

ここまで読むと、OUTPUT=ISO を指定した場合のOUTPUT_URLとBACKUP_URLの意味の違いを理解することができます。OUTPUT_URLは作成したISOファイルの出力先、BACKUP_URLは、ISOファイルの中のバックアップデータ(tar.gzファイル)の出力先ということです。

分かりやすく図示してみよう

具体的な /etc/rear/local.conf の定義例と、バックアップの仕様の図があると分かりやすいと思いますので、それを示します。以下のような定義があったとします。

OUTPUT=ISO
OUTPUT_URL=file:///tmp
BACKUP=NETFS
BACKUP_URL=iso:///backup

これらの変数の意味を図示すると以下の通りとなります。図にしてみると、それぞれの変数がどのような意味を持っているのか分かりやすいかと思います。

ReaRの主要オプション
ReaRの主要オプション

ReaRの実験には、おうちのサーバ(ミニPC)として、以下の機器を使っています(※GMKtec NucBox3は 2024/5時点では新しいモデルに変わっています)。

広告主へのリンク




このブログにおける関連リンク

OSのバックアップ・リストアツールReaR(1):ReaRを使ってみた
OSのバックアップ・リストアツールReaR(3):USBフラッシュメモリを使ったバックアップ
OSのバックアップ・リストアツールReaR(4): PXEを利用したOSのクローン
OSのバックアップ・リストアツールReaR(5):UbuntuでReaR
OSのバックアップ・リストアツールReaR(6):UbuntuでReaR(PXE編)
OSのバックアップ・リストアツールReaR(7): ReaRのトラブルシューティング

コメント

タイトルとURLをコピーしました