iT邦幫忙

2

centos7 rsync同步的檔案過多時,lsyncd服務就直接崩了,為何???

  • 分享至 

  • xImage

settings {
inotifyMode = "CloseWrite",
maxProcesses = 8,
statusInterval = 10,
statusFile = "/tmp/lsyncd.status",
logfile = "/var/log/lsyncd/lsyncd.log",
}

sync {
default.rsync,
source = "/mnt/d/123",
target = "192.168.1.100::123",
delay = 15,
init = false,

rsync = {
    binary = "/usr/bin/rsync",
    archive = true,
    compress = true,
     verbose = true,
    _extra    = {"--bwlimit=200"}
    }

}

是因為sync監控的資料匣有容量的限制嗎?
有辦法變更為沒有限的嗎?

測試sync底下的目路資料匣在42.8G時還正常,只要在塞300MB的資料(裡面有幾百個檔案)到裡面去做同步,服務立馬繃

但是塞一個300MB軟體的安裝檔卻不會崩,我在想是不是sync監控的檔案有上限?

看更多先前的討論...收起先前的討論...
hsiang11 iT邦好手 1 級 ‧ 2023-02-08 15:06:59 檢舉
個人認為你看設定檔是看不出什麼的
原因出在平時運作正常
你還是要從追查rsync的log開始
看看是否有什麼怪問題導致服務當掉,比方說遇到某些檔案就出錯
那只能把那些檔案排除在外
DennisLu iT邦好手 1 級 ‧ 2023-02-08 15:38:35 檢舉
43GB 是少量大檔案,還是大量小檔案?
大量小檔案,可能預設的系統參數不夠大
/etc/sysctl.conf 可能要去找相關參數調整。

另外,delay會不會時間太短的可能 ?

以上純屬直覺瞎猜問題。
play0210 iT邦新手 4 級 ‧ 2023-02-08 16:49:26 檢舉
測試sync底下的目路資料匣在42.8G時還正常,只要在塞300MB的資料到裡面去做同步,服務立馬繃
play0210 iT邦新手 4 級 ‧ 2023-02-08 18:02:52 檢舉
塞一個300MB軟體的安裝檔卻不會崩,我在想是不是sync監控的檔案有上限?
DennisLu iT邦好手 1 級 ‧ 2023-02-09 09:47:45 檢舉
所以我一開始才會問你 "43GB 是少量大檔案,還是大量小檔案?"
這種問題,這是一個重要情報之一。

那 raytracy 回文已經有我想說的方向了,就不多回了。
play0210 iT邦新手 4 級 ‧ 2023-02-09 17:15:13 檢舉
DennisLu
請教一下delay一般設多少比較合適,公司電腦約200台

fs.inotify.max_user_instances:表示每一個real user ID可創建的inotify instatnces的數量上限,默認128.

fs.inotify.max_user_instances需要修改添加進去嗎?
inotify instatnces的數量上限<-這句話的意思我看不懂
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
Ray
iT邦大神 1 級 ‧ 2023-02-08 22:36:11

lsyncd 是依靠 kernel 內建的檔案監測功能 inotify,來回報記錄檔案狀態,而 inotify 預設有可監測資料夾數量的限定值。可以用:

cat /proc/sys/fs/inotify/max_user_watches

檢查你的系統上限是多少?
在 CentOS 7.9 內,它預設值是 8192,也就是它只能監測最多 8192 個資料夾。

你可以:

cat /tmp/lsyncd.status

找出她裡面的: Inotify watching xxxx directories 這行
就可以知道到底目前用掉了多少數量?

play0210 iT邦新手 4 級 ‧ 2023-02-08 23:27:21 檢舉

請教一下既然是預設,那如何提高監測資料夾數量?

Ray iT邦大神 1 級 ‧ 2023-02-08 23:33:57 檢舉

這是 Linux 系統管理員 (System Administrator) 的基本技能, 一般通過 RHCE 或其他 Linux 認證考試的管理員, 應該會知道要怎麼改.

萬一你的技術層級還不到系統管理員程度的話, 請參考此篇:
https://blog.twshop.asia/the-current-inotify7-watch-limit-is-too-low/

play0210 iT邦新手 4 級 ‧ 2023-02-09 17:13:00 檢舉

成功了~~~~(泣)
這東西我土法煉鋼,測試檔案容量,空間容量,檔案格式一直測到後面才縮小範圍為,lsyncd監控的邏輯是數量,搞了三天了都想不出答案,頭都快炸了!

非常感謝raytracy大神的救援

我要發表回答

立即登入回答