見出し画像

FreeBSDサーバのjailを活用したバックアップ体制

FreeBSDは、バージョン3.4の頃から使いだしてもう23年になります。調べてみたところ、jailが実装されたのが7.2-RELEASEとのこと。
私がjailを使い始めたのは9.0辺りからだったと思いますが、調べてみるともう10年くらいになるんですね。
自前のFreeBSDサーバを運用するようになってから23年、某所の商用サーバを運用するようになってから20年。これまでOSのメジャーバージョンアップに伴う大掛かりな作業、ディスクのクラッシュ、オペミスによってファイルシステムをぶっ飛ばしたりと色々な事がありました。

これだけ長く運用してくると、やはり怖いのはハードクラッシュによるデータ喪失です。近年の、これに対する自分なりの答えが、jailの活用です。

サーバのベースシステムは、それこそUSBメモリからブートしてread onlyマウントした最小限のシステム。ここで設定するのは、ネットワークインターフェースやファイルシステムのマウントなどの最低限に留めます。アカウントもメンテナンスに必要な最低限のアカウントのみにします。
メールサーバやwebサーバ、DNSサーバなどの実稼働領域は、boot領域とは別のディスクをマウントしたjail領域。こうすることにより、jail領域丸ごとをバックアップしておけば、ディスクがクラッシュしても別に用意したストレージ領域にjailのバックアップを丸ごと展開し、マウントしてやれば復旧できます。
jail領域は、crontabで一定期間ごとにtar.gzにまとめ、これをファイルサーバに向けてrsyncで投げます。ファイルサーバではsambaを稼働させ、別のWindowsサーバなりに対して定期的にrobocopyで転送し、ダブルバックアップ体制を取るようにしました。…いや、そのコピーをさらに定期的にコピーするトリプルバックアップ体制にしています。

先日はSSDが死亡し、実際にjail領域を新たにインストールしたシステムにマウントすることで2時間程度で完全復旧できましたし、バックアップ体制の構築は本当に重要だなと改めて身に染みた次第です。

以上。

この記事が気に入ったらサポートをしてみませんか?