share facebook facebook twitter menu hatena pocket slack

2011.07.12 TUE

slaveサーバのデータ同期について

AWS(Amazon Web Services)を利用すればスケールアウトを簡単に行うことが可能です。
尚、スケールアウト時にはデータの同期が必須になりますが、
そのような場合も、マスターサーバにrsyncを設定すれば簡単です。

下記に設定方法を紹介します。
(ドキュメントルートが/home/www/htdocs と仮定します。)

○/etc/xinetd.d/rsyncの修正

【変更前】 disable = yes 【変更後】 disable = no

○/etc/rsyncd.conf 作成

[master] path=/home/www/htdocs read only=false uid=root gid=root

○xinetd自動起動

chkconfig xinetd on

○xinetd自動起動

/etc/rc.d/init.d/xinetd start

次はスレーブサーバです。
○cron設定追加

crontab -e */5 * * * * /usr/bin/rsync -avz マスターサーバPublic DNS名::master /home/www/htdocs

上記の設定で、5分ごとにデータの同期を行います。
同期元に存在しないファイルを削除したい場合は、
–delete
のオプションを付けてください。

rsyncは、外からも接続できてしまうのではないかと思うかもしれませんが、
セキュリティグループでport873を開放していませんので、
接続は出来ないようになっています。

こちらの記事はなかの人(be_hase)監修のもと掲載しています。
元記事は、こちら