lsyncd + rsyncd を使った異なるサーバー間のデータの自動同期の設定について書きます。
rsync コマンドを使った異なるサーバー間のデータ同期については別の投稿で書きましたが、今回は、片方のサーバーにアップロードしたら自動的に別のサーバーへ同期転送される環境を予め作っておく方法です。
送信側(マスター側)で lsyncd というデーモンを起動しておき、受信側(スレーブ側)で rsyncd というデーモンを起動しておきます。
複数のサーバーでコンテンツが自動同期される仕組みを構築できれば、今度はそれをDNSラウンドロビンなどに利用できます。
(DNSラウンドロビンは、また別の機会に)
■ rsyncd (受信側サーバーの設定)
(1) インストール (yum配布版rpm)
rsyncd は xinetd というデーモン経由で rsync を起動することです。
もし rsync コマンドがなければそれも入れます。
# yum -y install rsync # yum -y install xinetd
(2) 設定
/etc/xinetd.d/rsync
service rsync { disable = no ................... ここを no に変更 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }