stancel.add-job-to-bareos-director
バレオス・ディレクターにジョブを追加する
この役割は、企業向けのオープンソースバックアップ管理システムであるバレオスバックアップシステムを使用する方のために設計されています。バレオスには便利なWeb UIが付いており、バックアップの復元が非常に簡単です。バレオスを扱う際に最も時間がかかるのは、新しいマシンやファイルをシステムに追加することです。
この役割を使うことで、新しいマシンやバックアップするアイテムを迅速かつ簡単に追加することができます。この役割を実行するansibleホストは、バレオスサーバー(bareos-dirとbareos-sdファイルが保存されている場所)である必要があります。
バレオスはBaculaの派生版です。このAnsibleロールはBaculaでも動作する可能性がありますが、バレオスでのみテストされています。
バレオスは、静的IPアドレスが割り当てられていないノートパソコン(Mac、Linux、Windows)やその他のデバイスをバックアップすることもできますが、この役割ではそのケースには対応していません。この役割は、バックアップ時にシステムのバレオスディレクター(bareos-dir)がserver_fqdn
にアクセスし、バレオスファイルデーモン(bareos-fd)と連携して必要なファイルを取得し、バレオスストレージデーモン(bareos-sd)へ転送することができると仮定しています。
要件
バージョン17.x以上の完全にセットアップされたバレオスバックアップシステムを使用する必要があります。私はAnsibleを使う前にバレオスを始め、インスタンスのセットアップにAnsibleを使用しませんでしたが、最近こちらのAnsibleロールを見つけてバレオスシステムをインストールしました。
ロール変数
バックアップ対象のマシンのホスト名
add_job_to_bareos_director_host_name: "my-important-crm-server"
バックアップするために追加するマシンの完全修飾ドメイン名またはIPアドレス
add_job_to_bareos_director_server_fqdn: "crm.example.com"
あなたのバレオスストレージデーモン/サービスが実行されている完全修飾ドメイン名またはIPアドレス。多くの人にとって、これはバレオスディレクターデーモン/サービスが実行されているFQDNと同じである可能性がありますが、別のマシンでもかまいません。
add_job_to_bareos_director_bareos_storage_daemon_fqdn: "To Be Filled In"
これは非常に重要な項目です。バックアップしたいマシンにバレオスクライアントプログラムを追加した時に入力したclient_passwordと一致する必要があります。その目的のために私が書いたAnsibleロール(install-bareos-client)をここで確認したいでしょう。通常、この値は非常に長い文字列(47文字)で、以下のようなランダムな文字が含まれます。
add_job_to_bareos_director_client_password: "kAgt2SJTysbg5iRpcnj5XRexuEnDieGCetCXNQrYGuzNxCf"
ストレージディレクターパスワード変数は、バレオスサーバー上のbareos-dirパスワードです。この値を環境変数(以下のように)やAnsible Vaultに保存し、storage_director_password
変数に取り込むことが良いアイデアです。
add_job_to_bareos_director_storage_director_password: "{{ lookup('env', 'BAREOS_STORAGE_PASSWORD') }}"
バックアップのレベル - フル、インクリメンタル、ディファレンシャル
- インクリメンタル - 最後のフル、ディファレンシャル、またはインクリメンタルバックアップ以降に変更されたすべてのファイル
- ディファレンシャル - 最後の成功したフルバックアップ以降に変更された、FileSetに指定されたすべてのファイル
- フル - 変更の有無に関わらず、FileSet内のすべてのファイルをバックアップ
add_job_to_bareos_director_level: Incremental
ジョブの実行順序を制御するために、正の非ゼロ数を指定できます。数字が高いほど、ジョブの優先度は低くなります。
add_job_to_bareos_director_priority: 6
このジョブ/マシンのバックアップスケジュール。 公式ドキュメントはこちら
add_job_to_bareos_director_backup_schedule:
- Run = Full sun at 02:00
- Run = Incremental mon-sat at 02:00
以下の例のように、これをファイルパスのように使いますが、他にも興味深いオプションがあります。詳細は、バレオスのドキュメントで確認することをお勧めします。分散ファイルシステム(GlusterFS)やオブジェクトストレージ(AWS S3)、テープなどにバックアップすることもできます。
add_job_to_bareos_director_archive_device: "/z-storage/backups/{{ add_job_to_bareos_director_host_name }}"
バックアップジョブで処理するディレクトリやファイルのリスト。 公式ドキュメントはこちら
add_job_to_bareos_director_filesets_to_backup:
- File = "/var/www/html"
- File = "/path/to/your/directory"
- File = "/backups/mysql/current"
バックアップジョブで除外するディレクトリやファイルのリスト。 公式ドキュメントはこちら。実際に、GitファイルやディレクトリをウェブサーバーのDocumentRootに保存しないようにしましょう。これはバックアップするディレクトリからファイルやディレクトリを除外する使用例を示すためのものです。
add_job_to_bareos_director_filesets_to_exclude:
- File = "/var/www/html/.github"
- File = "/var/www/html/.git"
- File = "/var/www/html/.gitignore"
いくつかの追加の単純な変数があり、これらの値はdefaults/main.ymlファイルで設定されています。具体的には:
add_job_to_bareos_director_backup_name: "{{ add_job_to_bareos_director_host_name }} Backup"
個別ファイル記録の保存期間 - GUIでファイルをブラウズする際に影響します。
add_job_to_bareos_director_file_retention: 90 days
DBのジョブ記録 - これらのバックアップに関する情報やメタデータを保存する期間
add_job_to_bareos_director_job_retention: 6 months
```
バックアップファイルを実際に保存する期間
add_job_to_bareos_director_volume_retention_full: 12 months
各バックアップボリューム/ファイルの最大サイズ
add_job_to_bareos_director_maximum_volume_bytes_full: 10G
プール内のボリューム数の制限
add_job_to_bareos_director_maximum_volumes_full: 10
バックアップファイルを実際に保存する期間
add_job_to_bareos_director_volume_retention_incremental: 12 months
各バックアップボリューム/ファイルの最大サイズ
add_job_to_bareos_director_maximum_volume_bytes_incremental: 10G
プール内のボリューム数の制限
add_job_to_bareos_director_maximum_volumes_incremental: 10
依存関係
------------
他のAnsibleロールに依存はありません。
例プレイブック
----------------
- hosts: your_bareos_server
vars_files:
- vars/main.yml
roles:
- { role: stancel.add-job-to-bareos-director }
または
- hosts: your_bareos_server
vars:
add_job_to_bareos_director_host_name: "my-important-crm-server"
add_job_to_bareos_director_server_fqdn: "crm.example.com"
add_job_to_bareos_director_client_password: "kAgt2SJTysbg5iRpcnj5XRexuEnDieGCetCXNQrYGuzNxCf"
add_job_to_bareos_director_storage_director_password: "{{ lookup('env', 'BAREOS_STORAGE_PASSWORD') }}"
add_job_to_bareos_director_level: Incremental
add_job_to_bareos_director_priority: 6
add_job_to_bareos_director_backup_schedule:
- Run = Full sun at 02:00
- Run = Incremental mon-sat at 02:00
add_job_to_bareos_director_archive_device: "/z-storage/backups/{{ host_name }}"
add_job_to_bareos_director_filesets_to_backup:
- File = "/var/www/html"
- File = "/path/to/your/directory"
- File = "/backups/mysql/current"
add_job_to_bareos_director_filesets_to_exclude:
- File = "/var/www/html/.github"
- File = "/var/www/html/.git"
- File = "/var/www/html/.gitignore"
roles:
- { role: stancel.add-job-to-bareos-director }
```
ライセンス
GPLv3
著者情報
The role allows for a fast and easy way to add new machines or items to be systematically backed up by Bareos.
ansible-galaxy install stancel.add-job-to-bareos-director