こんにちは、ようこそ。Ubuntu15.10 / 16.04でのBacula(オープンソースネットワークバックアップソリューション)のインストールと構成に関する本日の記事です。これを使用して、さまざまな種類のコンピューターのネットワーク全体でコンピューターデータのバックアップ、回復、および検証を管理できます。 Baculaは比較的使いやすく効率的ですが、紛失または破損したファイルを簡単に見つけて回復できる高度なストレージ管理機能を多数提供しています。モジュール式の設計により、Baculaは、小さな単一のコンピューターシステムから、大規模なネットワーク上に配置された数百台のコンピューターで構成されるシステムまで拡張可能です。
Baculaは、バックアップサーバーやバックアップクライアントを含むいくつかのソフトウェアコンポーネントで構成されています。
「バックアップサーバー」と呼ぶBaculaサーバーには、次のコンポーネントがあります。
Bacula Director(DIR): ファイルデーモンとストレージデーモンによって実行されるバックアップと復元の操作を制御するソフトウェア
カタログ: バックアップされたファイルのデータベースを維持するサービス。データベースは、MySQLやPostgreSQLなどのSQLデータベースに保存されます
ストレージデーモン(SD): バックアップに使用されるストレージデバイスで読み取りと書き込みを実行するソフトウェア
Baculaコンソール: バックアップ管理者がBaculaDirectorと対話し、制御できるようにするコマンドラインインターフェイス
Baculaクライアント(バックアップクライアント)は、バックアップされ、ファイルデーモン(FD)コンポーネントを実行するサーバーです。ファイルデーモンは、バックアップされるデータへのBaculaサーバーアクセスを提供するソフトウェアです。
前提条件
Ubuntu 15.10サーバーにBaculaをインストールして構成しますが、Ubuntu 15.04など、以前と同じ手順に従うことができますが、Ubuntu16.04で互換性の問題が発生する可能性があります。
ルートクレデンシャルを使用してUbuntuサーバーにログインし、IPアドレスを指定してFQDNを構成しましょう。以下のコマンドでシステムを更新するためのインターネット接続があることを確認してください。
# apt-get update && apt-get upgrade
システムが最新のアップデートとセキュリティパッチで戻ったら、次のステップに進みます。
MySQLのインストール
BaculaはSQLデータベースを使用して情報を管理します。 MySQLまたはPostgreSQLデータベースのいずれかを使用できますが、この記事ではMySQLを使用します。 UbuntuサーバーにMySQLをインストールするには、コマンドラインターミナルで以下のコマンドを実行するだけです。
# apt-get install mysql-server
MySQLのインストール中に、データベース管理者のパスワードを設定するように求められます。パスワードを入力し、[OK]をクリックします。必須ではありませんが、MySQL管理者の「root」ユーザーのパスワードを設定してから、設定したものと同じパスワードを繰り返すことを強くお勧めします。
Baculaコンポーネントのインストール
それでは、次のコマンドを使用してBaculaサーバーとクライアントコンポーネントをインストールしましょう。
# apt-get install bacula-server bacula-client
インストールを続行すると、Baculaがデフォルトで使用するPostfixMTAを設定するために使用されるいくつかの情報の入力を求められます。 「インターネットサイト」を選択しましょう メール設定の一般的なタイプとして、「OK」をクリックします。ニーズに最適な他のメールサーバー構成タイプを自由に選択することもできます。
次に、完全修飾ドメイン名となるシステムメール名を設定するように求められます。
図のようにdbconfig-commonを使用してBaculaのデータベースを構成するには、「はい」を選択します。
次に、MySQLデータベース管理者のパスワードを入力し、[OK]キーをクリックします。
もう一度、bacula-director-mysqlのMySQLアプリケーションパスワードを設定して、データベースサーバーに登録します。空白のままにすると、ランダムなパスワードが生成されます。
同じパスワードを再確認します。
Baculaとそのコンポーネントのインストールが完了しました。次に、バックアップディレクトリと復元ディレクトリを作成します。
バックアップと復元のディレクトリを作成する:
Baculaには、バックアップアーカイブを保存するためのバックアップディレクトリと、復元されたファイルが配置される復元ディレクトリが必要です。したがって、システムに複数のパーティションがある場合は、必ず大きなパーティションの1つにディレクトリを作成してください。
以下のコマンドを実行して、バックアップポイントと復元ポイントの両方に新しいディレクトリを作成します。
# mkdir -p /b_backup/backup /b_backup/restore
以下のコマンドを使用して、所有権を設定してから、上記のディレクトリへのアクセス許可を設定します。
# chown -R bacula:bacula /b_backup/
# chmod -R 700 /b_backup/
Baculaの設定
Baculaのすべての設定ファイルは'/etc/bacula'ディレクトリにあります。 Baculaには、正しく機能するために独立して構成する必要のあるいくつかのコンポーネントがあります。
まず、以下のファイルを開いてBaculaDirectorの構成を更新します。
# vim /etc/bacula/bacula-dir.conf
構成ファイルで以下のパスを見つけて、復元パスを更新します。この場合、/ b_backup/restoreが復元場所です。
Job {
Name = "RestoreFiles"
Type = Restore
Client=k_ubuntu-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /b_backup/restore
}
次に、[バックアップするファイルのリスト]セクションまで下にスクロールし、バックアップするディレクトリのパスを設定します。
File = /home/
さらに下にスクロールすると、バックアップから除外するディレクトリのリストを設定する[除外]セクションが表示されます。
Exclude {
File = /var/lib/bacula
File = /nonexistant/path/to/file/archive/dir
File = /proc
File = /tmp
File = /.journal
File = /.fsck
File = /b_backup
}
}
上記の変更を行った後、ファイルを保存して閉じ、次の手順に進みます。
BaculaStorageDaemon設定の更新
以下の構成でエディターを使用して/etc/bacula/bacula-sd.confファイルを編集し、バックアップフォルダーの場所(この場合は/ mybackup / backup)を設定します。
# vim /etc/bacula/bacula-sd.conf
次に、以下に示すように、すべての構成が有効かどうかを確認します。
コマンドに何も表示されない場合、構成の変更は有効です。
# bacula-dir -tc /etc/bacula/bacula-dir.conf
# bacula-sd -tc /etc/bacula/bacula-sd.conf
すべての変更が完了したら、すべてのBaculaサービスを再起動します。
# systemctl restart bacula-director
# systemctl restart bacula-fd
# systemctl restart bacula-sd
それでおしまい。これで、Baculaが正常にインストールおよび構成されました。
バックアップジョブのテスト
サービスを再起動したら、バックアップジョブを実行して機能することをテストしましょう。
Baculaコンソールを使用して最初のバックアップジョブを実行します。問題なく動作する場合は、Baculaが正しく構成されていることがわかります。以下のコマンドでコンソールに入ります。
# bconsole
これにより、*プロンプトで示されるBaculaコンソールプロンプトが表示されます。 labelコマンドを発行してラベルを作成します。次に、ボリューム名を入力し、バックアップで使用するプールを選択するように求められます。 「2」と入力して、前に構成した「ファイル」プールを使用します。
この時点で、Baculaはバックアップ用のデータをどのように書き込むかを認識しています。これで、バックアップを実行して、「run」コマンドを使用して正しく機能することをテストできます。実行するジョブを選択するように求められます。 「BackupLocalFiles」ジョブを実行したいので、プロンプトで「1」と入力します。 「バックアップジョブの実行」確認プロンプトで詳細を確認し、「はい」と入力してジョブを実行します。以下に示すような新しいメッセージが表示されます。
ジョブを実行した後、Baculaはメッセージがあることを通知します。メッセージは、実行中のジョブによって生成された出力です。 'message'と入力してメッセージを確認します。
ジョブのステータスを確認するもう1つの方法は、ディレクターのステータスを確認することです。これを行うには、コンソールプロンプトでこのコマンドを入力します。
*status director
「OK」ステータスは、バックアップジョブが問題なく実行されたことを示します。おめでとう! Baculaサーバーの「フルセット」のバックアップがあります。
復元ジョブのテスト
バックアップが作成されたので、正しく復元できることを確認することが重要です。 restoreコマンドを使用すると、バックアップされたファイルを復元できます。実例を示すために、最後のバックアップですべてのファイルを復元します。
* restore all
選択メニューが表示され、復元元のバックアップセットを識別するために使用されるさまざまなオプションが表示されます。バックアップは1つしかないため、「最新のバックアップを選択」します。オプション5を選択します。復元の選択が終了したら、次に示すように「完了」と入力します。
バックアップジョブと同様に、復元ジョブを実行した後、メッセージとDirectorのステータスを確認する必要があります。 'message'と入力してメッセージをまとめましょう。
繰り返しになりますが、Directorのステータスを確認することは、復元ジョブの状態を確認するための優れた方法です。
*status director
コマンドラインを介したBaculaの管理と操作は、一部の管理者にとっては少し難しいかもしれませんが、その場合はWebminを使用するオプションがあります。したがって、すべてのコマンドを覚えたり、構成ファイルを手動で編集したりする必要はありません。
結論
この記事では、Baculaの基本的なセットアップと、ローカルファイルシステムをバックアップおよび復元する方法について学習しました。他のサーバーをバックアップクライアントとして追加して、データが失われた場合にサーバーを回復できるようにすることもできます。あなたのコメントや提案を共有してください。この記事を読んでいただきありがとうございます。