続・FreeBSDサーバ・バックアップ体制構築

少しずついじってます。

メインサーバ側のcrontab

0 0 * * * root /etc/rc.d/jail stop ns ; /usr/local/bin/rsync -au --delete /jail/ns/ /jail/ns.snapshot/ ; /etc/rc.d/jail start ns

メインサーバのcrontab

こんな感じで、一日一回スナップショットを取るようにしました。
バックアップサーバにrsyncする場合、やっぱり表のネットワークを経由するのはちょっと気持ち悪いので、サーバの余っているNICを使って、

ifconfig igb1

inet 192.168.254.1 netmask 0xfffffffc broadcast 192.168.254.3

メインサーバ側

igb1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0

inet 192.168.254.2 netmask 0xfffffffc broadcast 192.168.254.3

バックアップサーバ側

こんな風にして、インターフェース同士をクロスケーブルで接続しちゃいます。(クロスケーブルをその場で自作した)

/etc/rsyncd.confは、

address = 192.168.254.1
uid = root
gid = wheel
max connections = 1
read only = Yes
[jail]
hosts allow = 192.168.254.2
path = /jail
comment = jail

メインサーバ側

こんな感じですかね。認証付けてないけど、まぁいいかなと。

そして、バックアップサーバ側のcrontabはこんな感じです。

0 1 * * * root /etc/rc.d/jail stop ns ; /usr/local/bin/rsync -auz --delete --address=192.168.254.2 rsync://192.168.254.1/jail/ns.snapshot/ /jail/ns/ ; /etc/rc.d/jail start ns

バックアップサーバ側のcrontab

ようは、メインサーバ側で

  • jailを止める。

  • rsyncでjail領域のコピーを取る。

  • jailを再開する。

を定期的に行い、バックアップサーバ側では、

  • jailを止める。

  • rsyncでjail領域のコピーをメインサーバからネットワーク経由でコピー

  • jailを再開する。

をタイミングをずらしてやってる訳ですね

使用しているサーバ(ProliantのTM200というレアな奴を使ってます…)が、何度External Usb Memory起動にしてもそれが固定できず、すわBIOSのバグか!なんてこった!と思いましたが、試行錯誤しているうちに「起動に失敗したら無限に繰り返す」ではなくて「起動に失敗したらリセット」に変えたらなんか上手く行くようになりました。

とりまこれで暫く運用してみますが、多分良い感じです。

実は対外的なweb領域だけは、バックアップサーバも並列運用させ、www2.hogehogeみたいな感じでhttpsでも通るように証明書を発行し直したりしたんですが、それはまたそのうちに。

以上。

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