рдмрд┐рд▓рд┐рдпрди рдлрд╝рд╛рдЗрд▓ рд╕реНрдкреАрдб рд╕рд┐рдВрдХ

рдЙрдмрдВрдЯреВ рдХреЗ рд╕рд╛рде рдЕрдореЗрдЬрд╝рди рдИрд╕реА 2 рдкрд░ рдХрдИ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ (4 рдиреЛрдб) рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреА рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ рдХреИрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг rsync рдпрд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ - рдХреБрдЫ рдЕрд░рдм рдлрд╛рдЗрд▓реЗрдВ, nfs - рдмрд╣реБрдд рдзреАрдореА рд╣реИ, рдЖрджрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд╕рд╛рде рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдордп-рд╕рдордп рдкрд░, рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рде рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЕрдм рддрдХ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХреЗрд╕ рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рддреЗрдЬ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╡рд╛рд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реВрдВред рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ XFS рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред

рдХрдИ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рд╡рд░рд┐рд╖реНрда рдорд┐рддреНрд░ рдХреА рд╕рд▓рд╛рд╣ рдкрд░, рд╣рдордиреЗ рдЙрд╕реА rsync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди inotify рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реЗрдбреА-рдореЗрдб рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдереЛрдбрд╝реА рдЦреЛрдЬ рдХреА, рддрд╛рдХрд┐ рдкрд╣рд┐рдпрд╛ рдХреЛ рд╕реБрджреГрдврд╝ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ csyncd, inosync рдФрд░ lsyncd рдХреЗ рдкрд╛рд░ рдЖрдпрд╛ред рд╣рдм рдкрд░ csyncd рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд▓реЗрдЦ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдпрд╣рд╛рдБ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд▓рд╛рдЦ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдРрд╕реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд┐рдВрдХ рдмреЗрдХрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди lsyncd рдареАрдХ рд╡рд╣реА рдирд┐рдХрд▓рд╛ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рдерд╛ред

UPD: рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдПрдХ рдареЛрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдкрд╛рда рдореЗрдВ рдкрд░рд┐рд╡рд░реНрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдореЗрдВ рдХреЗрд╡рд▓ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдирдП рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ред


Rsync + inotify = lsyncd


Lsyncd рдПрдХ рдРрд╕рд╛ рдбреЗрдорди рд╣реИ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╕рдордп рдмрд╛рдж rsync рдЙрдиреНрд╣реЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред



рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ rsync рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рд╡рд╣реА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред Inotify , рдХрд░реНрдиреЗрд▓ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдЬреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдмрд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧрд╛ред Lsyncd рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдЯреНрд░реА рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдШрдЯрдирд╛рдУрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддрд╛ рд╣реИ, рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ 10 рд╕реЗрдХрдВрдб рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реИ (рдЖрдк рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рдордп рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдпрд╛ рдЬрдм рддрдХ 1000 рдИрд╡реЗрдВрдЯ рдПрдХрддреНрд░ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ (рдЬреЛ рднреА рдкрд╣рд▓реА рдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИ), рдФрд░ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЕрдиреНрдп рдбрд╛рдпреЛрдб рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП rsync рдЪрд▓рд╛рддрд╛ рд╣реИред рд░реБрдкреАрдХреНрд╕ рдЕрдкрдбреЗрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдмрд╛рдж рдирдпрд╛ рд╣реИред рдпрд╣ рдЯрдХрд░рд╛рд╡ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЗрд╖рдХ рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдкрд░ рджреЛрдиреЛрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рдереА)ред



рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ Ubuntu 11.10 рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд┐рдд рд╣реИред рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

1. ssh рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рдмрд┐рдирд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдХрд┐рд╕реА рднреА рдиреЛрдб рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХреЗрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред

ssh-keygen 

рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджреЗрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, ~ / .ssh / рдкреНрд░рд╛рдзрд┐рдХреГрдд_рдХреЗ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП ~ / .ssh / id_rsa.pub рдХреА рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝реЗрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП $ HOME рдЪреБрдирддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╣реИрдВред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЕрдЧрд░ рдпрд╣ рд╣реИ / рдЬрдбрд╝, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред
рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ / etc / рдореЗрдЬрдмрд╛рдиреЛрдВ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рднреА рдЙрдЪрд┐рдд рд╣реИред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдиреЛрдб 01, рдиреЛрдб02, рдиреЛрдб03 рдХрд╣рд╛ред
рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рджреЛрд╣рд░рд╛рдПрдВред

2. lsyncd рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

 apt-get install lsyncd 


3. рдпрджреНрдпрдкрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдпрд╣ рд▓реБрдЖ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред Lsyncd рдХреЗ рд▓реЗрдЦрдХ рд╕реЗ Lua рдЪреБрдирдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореИрдВрдиреЗ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рднреА рдмрдирд╛рдИред

 mkdir -p /etc/lsyncd mkdir -p /var/log/lsyncd vi /etc/lsyncd/lsyncd.conf.lua 


рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рд╕рд╛рдордЧреНрд░реА:

 settings = {<br/> logfile = "/var/log/lsyncd/lsyncd.log", <br/> statusFile = "/var/log/lsyncd/lsyncd.status", <br/> nodaemon = true --<==    .  .<br/> } <br/> --[[<br/> sync { <br/> default.rsync, --<==  rsync  . -,    - .<br/> source="/raid", --<==  ,  <br/> target="node01:/raid", --<== dns-    -  <br/> rsyncOps={"-ausS", "--temp-dir=/mnt-is"}, --<== temp-dir    .<br/> delay=10 --<== ,       <br/> } <br/> ]]<br/> sync { <br/> default.rsync, <br/> source="/raid", <br/> target="node02:/raid", <br/> rsyncOps={"-ausS", "--temp-dir=/mnt-is"}, <br/> delay=10 <br/> } <br/> <br/> sync { <br/> default.rsync, <br/> source="/raid", <br/> target="node03:/raid", <br/> rsyncOps={"-ausS", "--temp-dir=/mnt-is"}, <br/> delay=10<br/> } 


рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдмреНрд▓реЙрдХ рдХреА рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрдирд╛рдирд╛ рдФрд░ рдлрд┐рд░ рд╕рднреА рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ "- [[" рдФрд░ "]] рдХреЗ рдмреАрдЪ рд╣реИрдВред"

рдкреНрд░рдпреБрдХреНрдд rsync рдХреЙрд▓ рд╡рд┐рдХрд▓реНрдк:
рдП - рдЖрд░реНрдХрд╛рдЗрд╡рд┐рдВрдЧ рдореЛрдб; рдПрдХреНрд╕реЗрд╕-рд░рд╛рдЗрдЯреНрд╕, рдЧреНрд░реБрдк, рдУрдирд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рдЗрдирдХреНрд▓рд┐рдкреНрдЯреЛрдЧреЛ рдХреЗ рд╕рдорддреБрд▓реНрдп, рдЬреЛ рдХрд┐ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдкреБрди: рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред
рдПрд▓ - рдХреЙрдкреА рд╕реАрдорд▓рд┐рдВрдХ;
рдпреВ - рдпрджрд┐ рд╡реЗ рдирдП рд╣реИрдВ рддреЛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рди рдХрд░реЗрдВ;
рдЯреА, рдкреА, рдУ, рдЬреА - рдХреЙрдкреА рдЯрд╛рдЗрдо, рдПрдХреНрд╕реЗрд╕ рд░рд╛рдЗрдЯреНрд╕, рдУрдирд░, рдЧреНрд░реБрдк, рдХреНрд░рдорд╢рдГред
s - рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдореЗрдВ рдХреЛрдИ рд╕реНрдерд╛рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдПрд╕ - рд╢реВрдиреНрдп рд╕реЗ рдорд┐рд▓рдХрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдЪрд░рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред
рдЖрджрдореА lsyncd рдпрд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред

4. рд╣рдо рд╕рднреА рдиреЛрдЯреЛрдВ рдкрд░ рджрд╛рдирд╡ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:

 /etc/init.d/lsyncd start 


рдпрджрд┐ рдЖрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ "nodaemon = true" рдЫреЛрдбрд╝рд╛ рд╣реИ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдХреЙрдкреА / рдХреНрд░рд┐рдПрдЯ / рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ (I have / raid), рдХреБрдЫ рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рджрд░ 300 Mbit / s рддрдХ рдкрд╣реБрдБрдЪрддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╕рд░реНрд╡рд░ рд▓реЛрдб рдкрд░ рдмрд╣реБрдд рдХрдо рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди GlusterFS рдХреА рддреБрд▓рдирд╛ рдореЗрдВ), рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рджреЗрд░реА рдЪреЛрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реБрдЪрд╛рд░реВ рдХрд░рддреА рд╣реИред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдПрдлрдПрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рднреА, рдореБрдЭреЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╢реЛрдз рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд┐рддрд┐ рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдФрд░ рдореМрдЬреВрджрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рдирд╣реАрдВ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдп рдореЗрдВ рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдпрд╣ рдХреНрдпреЛрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реБрдЖ


рдкреВрд░реЗ рдЕрдзреНрдпрдпрди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЕрдореЗрдЬрд╝реЕрди рдИрд╕реА 2 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдерд╛, рдЗрд╕рдХреА рд╕реАрдорд╛рдУрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЗрд╕рд▓рд┐рдП, рдирд┐рд╖реНрдХрд░реНрд╖ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддреЗ рд╣реИрдВред


UPD: рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ (рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛), рд▓реЗрдХрд┐рди рдпреБрджреНрдз рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ред рдиреНрдпреВрдирддрдо рдЙрддреНрдкрд╛рджрди рд╡рд┐рдиреНрдпрд╛рд╕ 584 рд╣рдЬрд╛рд░ рдиреЗрд╕реНрдЯреЗрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред рдФрд░ lsyncd рдкреНрд░рддреНрдпреЗрдХ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ inotify рд▓рдЯрдХрд╛рддрд╛ рд╣реИред рдкреВрд░реЗ рдкреЗрдбрд╝ рдХреЗ рд▓рд┐рдП рдЕрднреА рдпрд╣ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕реНрдореГрддрд┐, 584 рд╣рдЬрд╛рд░ рдХреЗ рдиреЛрдЯ, рд▓рдЧрднрдЧ 200 рдПрдордмреА (рдЙрдкрд▓рдмреНрдз 16 рдЬреАрдмреА рдореЗрдВ рд╕реЗ) рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдЦрдкрдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ 22 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ: рдмрд╕ рд╢реБрд░реВ рд╣реБрдЖ рдФрд░ рднреВрд▓ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж, рдорд╛рдирдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, lsyncd рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдпрд╛ рддреЛ рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рдереА рдпрд╛ рджрд┐рди рд▓рдЧ рдЧрдПред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ - рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред 100% рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдмрд┐рдирд╛ рд╢реБрд░реБрдЖрддреА рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╣реА рд░рд╣ рдЧрдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рджрд╛рдирд╡ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рдЧрднрдЧ рд╕реАрдзреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдмрджрд▓ рд╕рдХреЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, default.rsync рдХреЛ default.rsyncssh рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЕрдпреЛрдЧреНрдп рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП nunyun рдерд╛ред рдпрд╣реА рд╣реИ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рд╣реИрдВ:

 settings = { logfile = "/var/log/lsyncd/lsyncd.log", statusFile = "/var/log/lsyncd/lsyncd.status", statusInterval = 5, --<==         } sync { default.rsyncssh, source = "/raid", host = "node02", targetdir = "/raid", rsyncOps = {"-ausS", "--temp-dir=/tmp"}, --<==   delay = 3, --<==  -,     init = function(event) --<==   .             log("Normal","Skipping startup synchronization...") --<==  ,         end } sync { default.rsyncssh, source = "/raid", host = "node03", targetdir = "/raid", rsyncOps = {"-ausS", "--temp-dir=/tmp"}, delay = 3, init = function(event) log("Normal","Skipping startup synchronization...") end } 


рдХрд░реНрдиреЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕

Inotify рдХреЗ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ (рджреЗрдЦреЗрдВ ls / proc / sys / fs / inotify /))
max_queued_events - рдХрддрд╛рд░ рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛; рдбрд┐рдлрд╝реЙрд▓реНрдЯ = 16384;
max_user_instances - рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рддрдиреЗ рдЗрдВрд╕реНрдЯреАрдЯреНрдпреВрд╢рди рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ; рдбрд┐рдлрд╝реЙрд▓реНрдЯ = 128;
max_user_watches - рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рддрдиреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рдбрд┐рдлрд╝реЙрд▓реНрдЯ = 8192ред

рдХрд╛рд░реНрдп рдорд╛рди:
 echo " fs.inotify.max_user_watches = 16777216 # fs.inotify.max_queued_events = 65536 " >> /etc/sysctl.conf echo 16777216 > /proc/sys/fs/inotify/max_user_watches echo 65536 > /proc/sys/fs/inotify/max_queued_events 


рддреЛ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In132098/


All Articles