lsyncd(Live Syncing Daemon)は、ファイルの変更をリアルタイムで同期するためのツール
総じて、lsyncdはNFSの代替として優れた選択肢である一方、運用においては同期の遅延や競合のリスクを考慮する必要があります。
lsyncdの設定を適切に調整すれば、NFSのパフォーマンス問題を軽減できる可能性があるでしょう。
下記のサーバで、/var/www/htmlを相互同期する方法
Aサーバ: 192.168.10.11 Bサーバ: 192.168.10.12
sudo apt update sudo apt install lsyncd
Aサーバ
ssh-copy-id root@192.168.10.12
Bサーバ
ssh-copy-id root@192.168.10.11
Aサーバ /etc/lsyncd/lsyncd.conf.lua
settings { logfile = "/var/log/lsyncd.log", statusFile = "/var/log/lsyncd-status.log", statusInterval = 1, -- ステータスログの更新間隔を1秒に設定 inotifyMode = "CloseWrite" -- ファイルが閉じられた時点で変更を検出 } sync { default.rsyncssh, source = "/var/www/html/", host = "root@192.168.10.12", targetdir = "/var/www/html/", delay = 1, -- 変更後1秒で同期 rsync = { archive = true, compress = true, } }
Bサーバ /etc/lsyncd/lsyncd.conf.lua
settings { logfile = "/var/log/lsyncd.log", statusFile = "/var/log/lsyncd-status.log", statusInterval = 1, -- ステータスログの更新間隔を1秒に設定 inotifyMode = "CloseWrite" -- ファイルが閉じられた時点で変更を検出 } sync { default.rsyncssh, source = "/var/www/html/", host = "root@192.168.10.11", targetdir = "/var/www/html/", delay = 1, -- 変更後1秒で同期 rsync = { archive = true, compress = true, } }
sudo systemctl start lsyncd sudo systemctl enable lsyncd