ファイルサーバーが動いている本番環境では問題があるので、3番目のホストに同期するようにしてテストする。すべて同じネットワークにある。
- ホスト名: smb7 ファイルサーバーが動いているサーバー
- ホスト名: smb6A ファイルサーバーをコピーしたホスト、IPとホスト名だけを変更、 rsyncで30分毎に同期している。バックアップとしている
- ホスト名: smb3 ファイルサーバーをコピーしたホスト、IPとホスト名だけを変更、rsyncで30分毎に同期している。2番目のバックアップとしている
前提:smb3でrsyncの設定が済んでいる亊。私はファイルサーバのバックアップしているので設定は終わっているが、Cronで30分毎のバックアップは止める。
smb6Aでの設定。
先ずはlsyncdのインストール
# dnf install lsyncd
Verは2.2.3がインストールされた。でもってlsyncdの設定
# gedit /etc/lsyncd.conf
-- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="/tmp/htmlcopy/"}
settings{
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.stat",
statusInterval = 1,
-- 同期先との接続に失敗しても再接続を試み続ける
insist = 1,
}
sync{
default.rsync,
-- 同期元のパス
source ="/SmbData/",
-- 同期先のパス
target="root@192.168.xx.xx::SmbData/",
delete =true,
excludeFrom="/root/exclude1",
delay = 1,
rsync = {
archive = true,
links = true,
update = true,
verbose = false,
password_file="/etc/rsyncd.passwd",
}
}
このファイルではーーがコメントの様だ。でlsyncdをスタート
# systemctl start lsyncd
# systemctl enable lsyncd
テストをする。smb6Aに何か保存、smb3に反映してるか、保存したファイルを消去、smb3から消えているか。(ただこれは30分毎に本チャンのファイルサーバーから同期が入るので、その影響の無い時間にテストする) 無事確認が済んだ。
少し様子を見てから、本番環境に設定する。
ちなみに、lsyncdはファイルの作製、変更、消去などをOSが通知するのを受けて動作するが、最大数があるので調べて見る
# sysctl -a | grep inotify
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 262144
user.max_inotify_instances = 128
user.max_inotify_watches = 262144
fs.inotify.max_queued_eventsとは(googleより)
もし、ファイルシステムの変更が頻繁に発生し、イベントの取りこぼしが発生している可能性がある場合は、max_queued_events
の値を大きくすることを検討すると良いでしょう。ただし、値を大きくしすぎると、カーネルのメモリ消費量が増加する可能性があるため、適切な値を設定する必要があります。
fs.inotify.max_user_instancesとは(googleより)
このパラメータは、各ユーザーが同時に使用できる inotify インスタンスの数を制限します。inotify インスタンスは、ファイルシステムの監視対象ごとに作成されます。例えば、多数のディレクトリやファイルを監視するアプリケーションでは、多くの inotify インスタンスが必要になります。
fs.inotify.max_user_watchesとは(googleより)
Linuxカーネルのinotifyサブシステムにおける、ユーザーが監視できるファイルの最大数を設定するパラメータです。inotifyは、ファイルシステムの変更を監視するためのカーネル機能で、例えばファイルが作成、削除、変更されたときにアプリケーションに通知を送るのに使われます。fs.inotify.max_user_watches
は、inotifyインスタンスごとに監視できるファイルの最大数を制限し、システムリソースの過剰な消費を防ぎます。