ボリュームバックアップのメモ。
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
rohhie 723f59a024 First version 11 months ago
baseimage First version 11 months ago
Dockerfile First version 11 months ago
README.md First version 11 months ago
backup.sh First version 11 months ago
do-backup.sh First version 11 months ago
docker-compose.yml First version 11 months ago
entrypoint.sh First version 11 months ago

README.md

hogedomain backup

概要

ホームラボのサーバーで稼働している3システムのボリュームをバックアップする。
操作ミスでボリュームが削除されないよう、バックアップ用のコンテナを削除しない。

ホームラボのサーバーをバックアップすることを目的としており、汎用的にできていない。
雑なバックアップをする際のテンプレート&やり方メモ。
(名前のhdは、HOGEDOMAINの略称)

構築方法

ダウンロード

このリポジトリからダウンロードする。

git clone https://gitea.rohhie.net/rohhie/hd-backup.git
cd hd-backup

ベースとなるイメージを作成

バックアップコンテナのベースとなるイメージを作成する。
スクリプトの修正等でコンテナを作り直す際に、最低限のダウンロードで済ませるため。

sudo baseimage/mkbaseimage.sh

なお、ベースイメージにはSambaをインストールしている。
sysvolディレクトリの拡張属性をバックアップするためなので、不要な場合はapk addのところから削除する。

バックアップ対象のボリュームを設定

docker-compose.ymlを編集し、バックアップ対象のボリュームを設定する。

コンテナ内の/tmp配下にマウントしているが、このディレクトリは存在しなければ作られる。
ただし、バックアップでsambaの機能(拡張属性の取得)を使うため、/etc/sambaと/var/lib/sambaは所定の場所にマウントしている。

バックアップ先は、ホストの/var/backupsにしている。

バックアップスクリプトを修正

ホームラボでバックアップしたいボリュームを固める処理を書いている。
sysvolについては、拡張属性を取り出して、復元用のスクリプトを作成している。

バックアップ対象のボリュームにあわせて、バックアップスクリプトを修正する。

バックアップ実行スクリプトを修正

バックアップ対象のコンテナを停止し、バックアップを実行し、コンテナを起動する。
3システム(5コンテナ)を停止・起動しているが、必要に応じて修正する。

使い方

バックアップ実行スクリプトを実行する。

sudo ./do-backup.sh

環境によっては、クーロンに登録しても良いと思われる。
ホームラボでは、サーバーが常時動いていないので、手動で実行することにしている。

リストア

リストアする際には、バックアップスクリプトが動作しないように docker-compose.yml を変更する。

      DO_BACKUP: "false"

設定変更後、コンテナを起動し、コンテナの中でリストア操作をする。

sudo docker compose up -d
sudo docker exec -it backup ash --login

Samba ad dcについては拡張属性設定スクリプトを用意しているので、復元後に実行しておく。
var/lib/samba/NTACL

その他

詳細はメインサイト参照。
https://rohhie.net/back-up-the-docker-volume/

ライセンス

MIT