2011-06-23
lsyncd2系で複数サーバーにリアルタイム同期
- lsyncd - Lsyncd (Live Syncing Daemon) synchronizes local directories with a remote targets - Google Project Hosting
同期元でファイルの変更を検知してリアルタイムミラーリングできます。2.0系から設定ファイルがXMLでなくLUAという言語のものになったようです。
環境
構成
同期先サーバー
rsyncdで待ち受け
- rsyncd設定
sudo vim /etc/rsyncd.conf
[application] path = /path/to/application log file = /tmp/rsyncd.log uid = apache gid = apache read only = no
- rsyncd起動
sudo rsync --daemon
rsyncd自動起動
- xinetdインストール
sudo yum install xinetd
- xinetdのrsync設定
sudo vim /etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
- disableをnoにする
- xinetdによる起動
sudo /etc/init.d/xinetd start
- 自動起動ON
sudo chkconfig xinetd on
同期元サーバー
lsyncdインストール
#必要なパッケージ sudo yum install make gcc pkgconfig lua-devel #lsyncd DL&展開 wget http://lsyncd.googlecode.com/files/lsyncd-2.0.4.tar.gz tar xzf lsyncd-2.0.4.tar.gz #インストール cd lsyncd-2.0.4 ./configure make && sudo make install
lsyncd設定
sudo vim /etc/lsyncd.conf
settings = { logfile = "/tmp/lsyncd.log", --ログファイル statusFile = "/tmp/lsyncd.status", --同期ファイル状態 nodaemon = false, --デーモンモードON/OFF } sync { default.rsync, --同期コマンド種別 source="/path/to/source", --同期元 target="xxx.xxx.xxx.xxx::application", --同期先 rsyncOps="-ltus" --rsync上書きオプション } --[[ sync { default.rsync, source="/path/to/source", target="xxx.xxx.xxx.xxx::application", rsyncOps="-ltus" } ]]
- settingsに設定記述
- syncに同期の情報記述
- defalut.rsyncの動作
/usr/bin/rsync -ltsd --delete --include-from=- --exclude=* SOURCE TARGET
lsyncd起動
#動作チェック lsyncd -rsync /path/to/source xxx.xxx.xxx.xxx::destmodule #通常起動 lsyncd /etc/lsyncd.conf
使ってみて
- ファイル変更から同期開始までは数秒の遅延がある
- Webサーバー追加時は設定追記してlsyncd再起動必要
- Webサーバーのキャッシュクリアしたい場合
- 同期元でディレクトリ削除→再作成で対策するのがいいかも
- オートスケーリングとの共存は相当困難な気がする
関連リンク
- Lsyncd20Manual - lsyncd - The Manual to Lsyncd Version 2.0 has moved - Lsyncd (Live Syncing Daemon) synchronizes local directories with a remote targets - Google Project Hosting
- lsyncdでリアルタイムrsync - maruko2 Note.
- lsyncd を使ってWinSCP的なリアルタイム同期を実現する.使い方 - ブックマクロ開発に
- lsyncd 2.0.0 を導入してみる(CentOS 5.5) « sabonya@atlas

プロのための Linuxシステム構築・運用技術 (Software Design plus)

サーバ/インフラエンジニア養成読本 [現場で役立つ知恵と知識が満載!] (Software Design plus)
関連記事
トラックバック - http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers
リンク元
- 54 http://pipes.yahoo.com/pipes/pipe.info?_id=tDfBdGWF3RGl9XNm1L3fcQ
- 48 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331029461486&ved=0CC8QFjAA&url=http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers&ei=0-VVT6O1K43MmAX_tYjyCQ&usg=AFQjCNHHOLTKpzhRGqtVluWi_st4sFBpHA&sig2=Qu01KZOg3
- 27 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=27&cts=1331538753622&ved=0CGIQFjAGOBQ&url=http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers&ei=oapdT73zFIGhmQWa3-iODA&usg=AFQjCNHHOLTKpzhRGqtVluWi_st4sFBpHA
- 23 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cts=1331102452463&ved=0CDwQFjAC&url=http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers&ei=6AJXT7-ZHOLtmAXClKSoDw&usg=AFQjCNHHOLTKpzhRGqtVluWi_st4sFBpHA&sig2=vtPh2yy9X
- 18 http://www.google.co.jp/url?sa=t&rct=j&q=lsyncd2&source=web&cd=1&ved=0CB4QFjAA&url=http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers&ei=KZvSTqnfNcj3mAWbtKC3DQ&usg=AFQjCNHHOLTKpzhRGqtVluWi_st4sFBpHA&sig2=890cSmPFjayEMkXc_rRaRQ
- 17 http://www.google.co.jp/url?sa=t&rct=j&q=rsyncops&source=web&cd=6&ved=0CEMQFjAF&url=http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers&ei=QqTUTpW7KOOHmQXjsNSBAQ&usg=AFQjCNHHOLTKpzhRGqtVluWi_st4sFBpHA
- 16 http://www.google.co.jp/url?sa=t&rct=j&q=リアルタイム同期&source=web&cd=7&ved=0CFQQFjAG&url=http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers&ei=ZiHGToqrEIH3mAW590k&usg=AFQjC
- 15 http://blog.x-labot.com/2009/10/29/lsyncd-rsyncdを使用したサーバ間リアルタイム同期/
- 13 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cts=1331616907794&ved=0CDsQFjAD&url=http://d.hatena.ne.jp/deeeki/20110623/lsyncd2_multiple_servers&ei=adxeT8aMJ6SZiQf7lIHWBw&usg=AFQjCNHHOLTKpzhRGqtVluWi_st4sFBpHA
- 10 http://longurl.org



