рдЙрдмрдВрдЯреВ рдХреЗ рд╕рд╛рде рдЕрдореЗрдЬрд╝рди рдИрд╕реА 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
рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдмреНрд▓реЙрдХ рдХреА рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрдирд╛рдирд╛ рдФрд░ рдлрд┐рд░ рд╕рднреА рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ "- [[" рдФрд░ "]] рдХреЗ рдмреАрдЪ рд╣реИрдВред"
рдкреНрд░рдпреБрдХреНрдд rsync рдХреЙрд▓ рд╡рд┐рдХрд▓реНрдк:
рдП - рдЖрд░реНрдХрд╛рдЗрд╡рд┐рдВрдЧ рдореЛрдб; рдПрдХреНрд╕реЗрд╕-рд░рд╛рдЗрдЯреНрд╕, рдЧреНрд░реБрдк, рдУрдирд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рдЗрдирдХреНрд▓рд┐рдкреНрдЯреЛрдЧреЛ рдХреЗ рд╕рдорддреБрд▓реНрдп, рдЬреЛ рдХрд┐ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдкреБрди: рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред
рдПрд▓ - рдХреЙрдкреА рд╕реАрдорд▓рд┐рдВрдХ;рдпреВ - рдпрджрд┐ рд╡реЗ рдирдП рд╣реИрдВ рддреЛ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рди рдХрд░реЗрдВ;
рдЯреА, рдкреА, рдУ, рдЬреА - рдХреЙрдкреА рдЯрд╛рдЗрдо, рдПрдХреНрд╕реЗрд╕ рд░рд╛рдЗрдЯреНрд╕, рдУрдирд░, рдЧреНрд░реБрдк, рдХреНрд░рдорд╢рдГредs - рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдореЗрдВ рдХреЛрдИ рд╕реНрдерд╛рди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред
рдПрд╕ - рд╢реВрдиреНрдп рд╕реЗ рдорд┐рд▓рдХрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрдЪрд░рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рдиред
рдЖрджрдореА lsyncd рдпрд╛
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред
4. рд╣рдо рд╕рднреА рдиреЛрдЯреЛрдВ рдкрд░
рджрд╛рдирд╡ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
/etc/init.d/lsyncd start
рдпрджрд┐ рдЖрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ "nodaemon = true" рдЫреЛрдбрд╝рд╛ рд╣реИ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдХреЙрдкреА / рдХреНрд░рд┐рдПрдЯ / рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ (I have / raid), рдХреБрдЫ рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред
рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рджрд░ 300 Mbit / s рддрдХ рдкрд╣реБрдБрдЪрддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╕рд░реНрд╡рд░ рд▓реЛрдб рдкрд░ рдмрд╣реБрдд рдХрдо рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди GlusterFS рдХреА рддреБрд▓рдирд╛ рдореЗрдВ), рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рджреЗрд░реА рдЪреЛрдЯрд┐рдпреЛрдВ рдХреЛ рд╕реБрдЪрд╛рд░реВ рдХрд░рддреА рд╣реИред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдПрдлрдПрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рднреА, рдореБрдЭреЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╢реЛрдз рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдерд┐рддрд┐ рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдФрд░ рдореМрдЬреВрджрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рдирд╣реАрдВ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдп рдореЗрдВ рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдпрд╣ рдХреНрдпреЛрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реБрдЖ
рдкреВрд░реЗ рдЕрдзреНрдпрдпрди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЕрдореЗрдЬрд╝реЕрди рдИрд╕реА 2 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдерд╛, рдЗрд╕рдХреА рд╕реАрдорд╛рдУрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЗрд╕рд▓рд┐рдП, рдирд┐рд╖реНрдХрд░реНрд╖ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддреЗ рд╣реИрдВред
- DRBD - рдкреНрд░рддрд┐рдХреГрддрд┐ рдПрдХ рдмреНрд▓реЙрдХ рд╕реНрддрд░ рдкрд░ рд╣реИред рдПрдХ рд╡рд╛рд╣рдХ рдХреЗ рдкрддрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рджреЛрдиреЛрдВ рдорд╛рд░реЗ рдЬрд╛рддреЗ рд╣реИрдВред 2 рдиреЛрдбреНрд╕ рдХреА рд╕реАрдорд╛ред (рдЕрдзрд┐рдХ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди 3rd рдФрд░ 4th рдХреЛ рдХреЗрд╡рд▓ рджрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред)
- Ocfs2 - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рддреЛ DRBD (рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдмрд░ рдкрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИ ) рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдЖрдкрдХреЛ рдХрдИ рдиреЛрдбреНрд╕ рд╕реЗ рдПрдХ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред Ec2 рдкрд░ рдЕрд╕рдВрднрд╡ред
- Gfs2 ocfs2 рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдПрдлрдПрд╕ рдУрдлрд╝реНрдлрд╝реНрд╕ 2 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдЗрд╕рдХрд╛ рд╕рдордХрдХреНрд╖ рд╣реИред
- GlusterFS - рдпрд╣рд╛рдБ рдпрд╣ рд╕рдм рд▓рдЧрднрдЧ рддреБрд░рдВрдд рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! рдкреНрд░рд╢рд╛рд╕рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдФрд░ рддрд╛рд░реНрдХрд┐рдХред рдЖрдк рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдорд╛рди рдХреЗ рд╕рд╛рде 255 рдиреЛрдбреНрд╕ рддрдХ рдХрд╛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╕реЗ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рд╡рд┐рднрд╛рдЬрди рдмрдирд╛рдпрд╛ рдФрд░ рдЙрди рдкрд░ рдореБрд╣рд┐рдо рд╢реБрд░реВ рдХреА рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ (рдпрд╛рдиреА, рд╕рд░реНрд╡рд░ рднреА рдЙрд╕реА рд╕рдордп рдЧреНрд░рд╛рд╣рдХ рдереЗ)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░, рдЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ FUSE рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЧрддрд┐ 3 рдПрдордмреА / рдПрд╕ рд╕реЗ рдХрдо рд╣реЛ рдЧрдИ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред
- рдЪрдордХ - рдЗрд╕ рдЪреАрдЬрд╝ рдХреЛ krenel рдореЛрдб рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд░реНрдиреЗрд▓ рдХреЛ рдкреИрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЙрдмрдВрдЯреВ рднрдВрдбрд╛рд░ рдореЗрдВ рдЗрди рдкреИрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдЦреБрдж рдирд╣реАрдВ рдорд┐рд▓рд╛, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдбреЗрдмрд┐рдпрди рдХреЗ рд▓рд┐рдПред рдФрд░ рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕реЗ рдбрд┐рдмреЗрдЯ-рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓рд╛рдирд╛ рд╢рд░реНрдордирд╛рдХ рд╣реИред
- Hadoop w / HDFS, Cloudera - рдиреЗ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рдерд╛ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред рд▓реЗрдХрд┐рди рдЖрдкрдХреА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдЪреАрдЬ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрди рд╣реЛрдВрдЧреЗ, рдФрд░ рдкреИрдорд╛рдирд╛ рдлреЗрд╕рдмреБрдХ рдпрд╛ рдпрд╛рд╣реБ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реИ, рдЕрдм рддрдХ рдХреЗрд╡рд▓ 4 рдиреЛрдбреНрд╕ рд╣реИрдВред
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,
рдХрд░реНрдиреЗрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕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
рддреЛ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!