んたのブログ

週末になると出没します。

lsyncdの監視上限

lsyncdを起動させたはいいが、なぜかすぐに落ちる…
 
$ sudo tail /var/log/lsyncd.log
Sun Jun 11 12:33:05 2023 Normal: --- Startup, daemonizing ---
Sun Jun 11 12:33:07 2023 Error: Terminating since out of inotify watches.
 
起動直後に落ちてますね。なぜだ。そしてinotifyってなんだ。
 
ということで調べてみました。メジャーな問題なのか、すぐにヒットしてきました。参考にさせていただいたのはこちら。
lsyncdが利用しているinotifyの監視できる上限数が決まっていることが原因ぽい。
 
$ cat /proc/sys/fs/inotify/max_user_watches
8192
 
$ sudo vi /etc/sysctl.conf
〜〜最終行に以下の行を追加
fs.inotify.max_user_watches = 16394
 
以下コマンドで反映。
$ sudo /sbin/sysctl -p
fs.inotify.max_user_watches = 16394
 
$ cat /proc/sys/fs/inotify/max_user_watches
16394
 
$ sudo /etc/init.d/lsyncd restart
 
$ ps -ef|grep -i lsyncd
root        3271      1  0 12:39 ?        00:00:02 /usr/bin/lsyncd -pidfile /var/run/lsyncd.pid /etc/lsyncd/lsyncd.conf.lua
 
$ sudo tail /var/log/lsyncd.log
Sun Jun 11 12:39:41 2023 Normal: --- Startup, daemonizing ---
Sun Jun 11 12:39:43 2023 Normal: recursive startup rsync:〜〜
 
やったー!lsyncd起動して同期が始まってる!!
 
これでファイルサーバの自動バックアップができるようになったぞー!耐障害性も上がったんじゃないでしょうか。これでまた一つ快適になりました。