お金をかけずにサーバーの勉強をしよう

Baculaで Ubuntu Serverのバックアップ(その4)

2023年5月18日

メニューへ戻る

Baculaの設定に出てくる言葉をお勉強します。

Baculaで Ubuntu Serverのバックアップ(その1)」で Baculaをインストールをし、
Baculaで Ubuntu Serverのバックアップ(その2)」で WebGUIのBacularisをインストールし、
Baculaで Ubuntu Serverのバックアップ(その3)」で Baculaの構成要素につき復習しました。


バックアップソフトの設定を理解するにはテープドライブ一式を持っていれば良かったのですが、個人で所有している人も珍しいブツですので、ここでは特定のディレクトリ以下をバックアップ先として設定します。

皆さんのお家にテープチェンジャーと呼ばれる機械があれば更に理解が捗るのですが、あんな業務用機器を自宅に持つ人が今更こんな情報を欲しているとも思えず…。

テープチェンジャーというのは、複数のテープを収める棚・テープドライブ・テープを出し入れするロボットアームが1つの箱に入っている機械です。

テープの使用状況に合わせて、ロボットアームがテープをドライブから棚へ、棚からテープドライブへと物理的に移動する機械で、動作中に「ウィ〜〜〜ン、ガチャッ、ガチャッ、ガチャッ」と壊れやしないかと心配になる音がします。

で、実際に良く壊れます。物理的に動く機器だから。
運用では随分泣かされました。

甘酸っぱい思い出はさておき…、続きます。


ここから先に進む前に、Baculaのサーバープロセス・バックアップ対象データ・バックアップ先のストレージについて理解しておかないと設定自体が覚束ないので、私なりに頭に描いたイメージで説明します。

※(全部英語ですが)マニュアルにはちゃんと書いてありますので、気になる方はマニュアルを参照願います。

バックアップってこんなに多くのお勉強要素があったかな?と今になってちょっと不思議です。

先に説明したボリューム・プール・ラベルって観念はバックアップソフト共通で良いのですが、こちらは各ソフトで違っている箇所と思います。

ただ根っこでは同じ感じもするので、Baculaの在り方を知っていれば応用ができるものと思います。


1.Baculaのサーバープロセス

Ubuntu Serverで Baculaの常駐プロセスを見てみます。

subro@UbuntuServer2204-2:~$ ps -ef | grep bacula
root         906       1  0 10:27 ?        00:00:00 /opt/bacula/bin/bacula-fd -fP -c /opt/bacula/etc/bacula-fd.conf
bacula      1020       1  0 10:27 ?        00:00:00 /opt/bacula/bin/bacula-sd -dt -c /opt/bacula/etc/bacula-sd.conf
bacula      1281       1  0 10:28 ?        00:00:00 /opt/bacula/bin/bacula-dir -fP -c /opt/bacula/etc/bacula-dir.conf
subro       1574    1549  0 10:37 pts/0    00:00:00 grep --color=auto bacula
bacula-fdファイルデーモンバックアップ対象のデータを読む
bacula-sdストレージデーモンバックアップデータを作る
bacula-dirディレクターデーモン上の2つの仲介・データベース管理

図にするとこんな風です。
Bacularis 1
ネットワーク上にあるサーバーで bacula-fdを稼働させることで、バックアップ/リストアの対象機器とすることができます。

図では bacula-dirに全てが経由しているように描いていますが、実際のバックアップデータの流れは bacula-fd ⇔ bacula-sd と直接やっているようです。

上のプロセスの一覧で、引数でそれぞれが設定ファイル([.conf]ファイル)を読み込んでいることが分かりますが、それぞれの設定ファイルでどういう要素を設定する必要があるかが何となく分かるのではないでしょうか。

後ほど Bacularisを使って設定を行いますが、GUI上では 3つの設定ファイルを一緒くたに扱ってしまっているので、却って分かり辛くなっているように思いました。


2.クライアント・ファイルセット

「クライアント」というのは bacula-fdが稼働しているマシンのことです。

「ファイルセット」は具体的にバックアップ対象のディレクトリやファイルを指定したもので、バックアップはこのファイルセットを対象に行われます。

図にするとこんな風。
がファイルです。
Bacularis 2
Baculaのサーバーも自分のマシンのファイルをバックアップできるよう bacula-fdが稼働していますので、クライアントの 1つにもなっています。


3.ストレージ・デバイス・ボリューム

「ストレージ」というのは bacula-sdが稼働しているマシンのことです。
ただ bacula-sdは Baclulaサーバーで他のデーモンと一緒に動いていることが多いでしょう。

3つの要素の関係を図にするとこんな風。
Bacularis 3
「ボリューム」につき、左はファイルで右はテープのイメージです。


4.プール

「プール」は任意に指定したボリュームの集まりで、bacula-dirの設定になります。

この図のようになります。
Bacularis 4
検証はしてませんが、仕組みから、複数のデバイスにまたがってプールを作れるはずです。


以上の言葉を覚えたところで、次回「Baculaで Ubuntu Serverのバックアップ(その5)」でいよいよバックアップをしてみます。