рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЗрдЦ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рд╣рдордиреЗ рдЗрд╕ рдЕрдиреНрдпрд╛рдп рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ DevOps рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЖрдЬ рд╣рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдмреИрдХрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдЪреВрдВрдХрд┐ рдмреЗрдд рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрд╛рддрд╛рд░ рдмрдврд╝ рд░рд╣реА рд╣реИ, рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рдХреЗрдВрджреНрд░реАрдХреГрдд рдмреИрдХрдЕрдк рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдирдХрд▓ рдФрд░ рднрдВрдбрд╛рд░рдг рдЬрд╛рдирдХрд╛рд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдЗрд╕ рдЕрдиреБрдЪреНрдЫреЗрдж рдореЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЧрдВрднреАрд░ рдирд┐рд╡реЗрд╢реЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдФрд░ рдмреЛрдЭрд┐рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рдмрд┐рдирд╛, рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдлреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди "рдмреИрдХрдЕрдк" рдХреИрд╕реЗ рдХрд░реЗрдВред
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдмреИрдХрдЕрдк рдореЗрдВ 100% рдХрд░реНрдордЪрд╛рд░реА рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдХреЛрдИ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрдиреЛрдВ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреИрдХрдЕрдк рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрдирд╛рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рдерд╛ред
рдПрдХ рдХреЗрдВрджреНрд░реАрдХреГрдд рдмреИрдХрдЕрдк рдХреА рдореБрдЦреНрдп рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рдерд╛ рдХрд┐ рдХрд░реНрдордЪрд╛рд░реА рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рд╕рднреА рдХреЛ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрд╕реЗ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?
рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирдореВрдирд╛ рдЖрдБрдХрдбрд╝реЗ:
рдореИрдХ рдУрдПрд╕ ~ 66%;
рд▓рд┐рдирдХреНрд╕ ~ 27%;
рд╡рд┐рдВрдбреЛрдЬ ~ 7%ред
рдФрд░ рдЕрдм рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЗрди рддреАрди рдУрдПрд╕ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдЫрд┐рдкрд╛ рд╣реИ рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗред
1) рдореИрдХ рдУрдПрд╕ -
рдЯрд╛рдЗрдо рдорд╢реАрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдореИрдХ рдУрдПрд╕ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕реЗ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╕ рдиреАрдЪреЗ 10.6 рдирд╣реАрдВ рд╣реИ), рд╕рд░реНрд╡рд░ рдХреА рддрд░рдл -
рдиреЗрдЯрд╛рд▓рдХ ;
2) рд╡рд┐рдВрдбреЛрдЬ - рдорд╛рдирдХ рдорд╛рдзреНрдпрдо рд╕реЗ "рдмреИрдХрдЕрдк рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╕рд░реНрд╡рд░ рдХреА рддрд░рдл -
рд╕рд╛рдВрдмрд╛ ;
3) рд▓рд┐рдирдХреНрд╕ - рдХрдИ рд╡рд┐рдХрд▓реНрдк: рд╕рд╛рдВрдмрд╛, rsync (рдкрд╛рд╕рд╡рд░реНрдб рдПрдХреНрд╕реЗрд╕); рдкреВрд░реНрдг ssh рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдЗрдП рдЖрдЧреЗ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдмреИрдХрдЕрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдПрдХ рдореМрдЬреВрджрд╛ рдЦрд╛рддреЗ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдпрд╛ рдПрдХ рдирдпрд╛ рдмрдирд╛рдиреЗ, рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдмрдирд╛рдиреЗ рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣рд┐рд╕реНрд╕рд╛
рднрдВрдбрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, 24 3.5-рдЗрдВрдЪ рдбреНрд░рд╛рдЗрд╡ рдФрд░ 3 рдЯреАрдмреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░реНрд╡рд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдереЛрдбрд╝реЗ рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ред
рдкреНрд░рддреНрдпреЗрдХ рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдЖрд░реЛрд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, RAID рдпрд╛ LVM рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрджрд┐ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдореБрдХреНрдд рд╕реНрдерд╛рди рдХреА рдХрдореА рдХреЗ рдореБрджреНрджреЗ рдХреЛ рднреА рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: рд╣рдо рд╕рднреА рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рдЕрдзрд┐рдХрддрдо рдорд╛рддреНрд░рд╛ рдХреЛ рдирд┐рдЪреЛрдбрд╝рддреЗ рд╣реИрдВред
"рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмреИрдХрдЕрдк рдорд░ рдЧрдП рдереЗ?" - рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВред рд╣рдо рдЖрдкрдХреЛ рдбрд┐рд╕реНрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдлрд┐рд░ рд╕реЗ рдмреИрдХрдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВред рдХрд░реНрдордЪрд╛рд░реА рдХреЗ рд▓реИрдкрдЯреЙрдк рдХреЗ рд╕рд╛рде 24 рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдореГрддреНрдпреБ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╣реИред рдПрдХ рдЪрд░рдо рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЦреЛрдИ рд╣реБрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
рд╕рд░реНрд╡рд░ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╕реВрдЪрдирд╛ рдХрд╛ рднрдВрдбрд╛рд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рднреА рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░реЗрдЧрд╛ред
рдЦрд╛рдирд╛ рдкрдХрд╛рдиреЗ рдХреА рдбрд┐рд╕реНрдХ
рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╕реНрдХ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ:
parted /dev/sd${i} -s mklabel gpt parted /dev/sd${i} mkpart primary 0GB 2996GB mkfs.ext3 /dev/sd${i}1
рдЖрд░рдХреНрд╖рд┐рдд рд╕реБрдкрд░рдпреБрд╕рд░ рд╕реНрдкреЗрд╕ рд╣рдЯрд╛рдПрдВ:
tune2fs -m 0 /dev/sd${i}1
рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдХреЗ рд▓рд┐рдП / etc / fstab рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ
UUID=${UUID} /storage/sd${i}1 ext3 noatime,acl,user_xattr,usrquota 0 0
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдбрд┐рд╕реНрдХ
/ рд╕реНрдЯреЛрд░реЗрдЬ / sd $ {i} рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ
$ {i} рд╣рдорд╛рд░реА рдбрд┐рд╕реНрдХ рдХреЗ рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдпреВрдпреВрдЖрдИрдбреА рдкрд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдбрд┐рд╕реНрдХ рдХреЗ "рдорд┐рдХреНрд╕рд┐рдВрдЧ" рд╕реЗ рдЗрдВрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдЕрдЪрд╛рдирдХ рд╕рд░реНрд╡рд░ рд░рд┐рдмреВрдЯ рдХреЗ рдмрд╛рдж рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рд╣реА рдкрде рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╣рдо рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдорд╛рдирдХ рд▓рд┐рдирдХреНрд╕ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдХреЛрдЯрд╛ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ:
quotacheck -cu /storage/sd${i}
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднрд╛рдЧ
netatalk
рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдореЗрдВ, рд╕рдмрд╕реЗ рдХрдард┐рди рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рд╣реИ, рддреЛ рдЖрдЗрдП afp рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред
рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
rpm -Uvh libdb-4_8-4.8.30-18.6.x86_64.rpm rpm -Uvh db-utils-4.8.30-18.6.x86_64.rpm rpm -Uvh netatalk-2.2.4-3.7.x86_64.rpm rpm -Uvh netatalk-devel-2.2.4-3.7.x86_64.rpm
Netatalk рд╕рдВрд╕реНрдХрд░рдг 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред *, рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 3 рдореЗрдВред * рдкрде рд╕рдВрдХреЗрддреЛрдВ рдореЗрдВ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ
рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ (
http://netatalk.sourceforge.net/3.0/htmldocs/afp.conf.5.html , рдЕрдиреБрднрд╛рдЧ рд╕рдВрд╕реНрдХрд░рдг:
рдкрдереЛрдВ рдореЗрдВ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред )ред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЭрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдиреЗрдЯрдЯрд▓рдХ рдкреИрдХреЗрдЬ рдПрдХрддреНрд░ рдХрд┐рдпрд╛:
--with-cracklib --with-bdb --enable-tcp-wrappers --enable-zeroconf
/Etc/netatalk/AppleVolumes.default рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ
~/TimeMachine "BackupMachine" allow:@backupuser cnidscheme:dbd options:usedots,upriv,tm volsizelimit:250000 dbpath:/local/netatalk/db/$u
рдЬрд┐рд╕рдореЗрдВ:
allow:@backupuser
- рдмреИрдХрдЕрдк рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдореВрд╣ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
BackupMachine
- рд╡рд╣ рдирд╛рдо рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ ~ / TimeMachine рдореЗрдВ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЧрдП рдореИрдкреНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
volsizelimit:250000
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 250 рдЬреАрдмреА рдХреЗ рдХреЛрдЯрд╛ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛрдЯрд╛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЛрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдмреЗрдХрд╛рд░ рд╣реИ;
tm
- рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдХрд▓реНрдк, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП TimeMachine рдХреЛ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╕рдВрд╕рд╛рдзрди рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
dbpath:/local/netatalk/db/$u
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдкрдеред рдпрд╣ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдЬреЛ рд╣рдордиреЗ рдмреИрдХрдЕрдк рдХреА рд╣реИ, рдирд┐рд░реНрдорд┐рдд рд╣реИред рдпрд╣ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдбрд┐рд╕реНрдХ рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрд╕рдПрд╕рдбреА рдкрд░;
рдЪрд░
$u
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╣рдо рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
Afpd рд▓реЙрдЧрд┐рдВрдЧ рдЪрд╛рд▓реВ рдХрд░реЗрдВред
/etc/nettalk/afpd.conf
рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ
-setuplog "default log_info /var/log/afpd.log" -keepsessions -transall -savepassword
рдЬрд┐рд╕рдореЗрдВ:
keepsessions
- рдПрдлрдПрдкреАрдбреА рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рд╕рддреНрд░ рдмрдЪрд╛рддрд╛ рд╣реИ;
transall
- рджреЛрдиреЛрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ -
AFP transall
-
transall
рдФрд░ AFP-over-TCP;
savepassword
- рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рдХрд┐рдЪреЗрди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛, TimeMachine рдореИрдХ рдУрдПрд╕ 10.8 рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред
/etc/netatalk/netatalk.conf
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдХрд░ 100 рдХрд░реЗрдВ
AFPD_MAX_CLIENTS=100
рдиреЗрдЯрд╛рд▓рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк
afp://%SERVERNAME%/
рдЬреИрд╕реЗ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдирдХ рдЯрд╛рдЗрдо рдорд╢реАрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
afp://%SERVERNAME%/
рд╕рд╛рдВрдмрд╛
рд╕рд╛рдВрдмрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рджреЛрдиреЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реЗрдЯрдЕрдк рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
/etc/samba/smb.conf
рдЬреЛрдбрд╝реЗрдВ
[global] security = user workgroup = Badoo netbios name = BadooBackup local master = no domain master = no preferred master = no socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 [homes] comment = Home Directories valid users = %S writable = yes create mask = 0700 directory mask = 0700 browseable = No read only = No
рдпрд╣ рд╕реЗрдЯрдЕрдк рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ, рдЖрдк "рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рд┐рдирдХреНрд╕ рдореЗрдВ - рдЬрдм рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдорд╛рдЙрдВрдЯ рд╣реЛрддреЗ рд╣реИрдВред
рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг
рддреЛ, рд╣рдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрдИ рдПрдХреНрд╕реЗрд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдХрдардкреБрддрд▓реА рдореИрдирд┐рдлреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдПрдХ рд╕рд╣рдЬ MySQL рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
| backupusers | CREATE TABLE `backupusers` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `username` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, `backup_username` varchar(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `backup_server` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'backupmsk', `password` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `password_smb` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `shell` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '/bin/false', `map_drive` varchar(6) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'sdc', `quota` int(5) NOT NULL DEFAULT '250', `sftp` tinyint(1) NOT NULL DEFAULT '0', `isactive` tinyint(1) NOT NULL DEFAULT '0', `os` int(1) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
рдлреНрд░реЗрдорд╡рд░реНрдХ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддрд╛ рд╣реИред
рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
рдлрд╝реАрд▓реНрдб
`map_drive`
- рд╕рд░реНрд╡рд░ рдФрд░ рдбрд┐рд╕реНрдХ рдирд╛рдо рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдореМрдЬреВрдж рдЬрдЧрд╣ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
`isactive`
рдлрд╝реАрд▓реНрдб рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдордЪрд╛рд░реА рдХреЛ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рд╕рднреА OS рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВ, рддреЛ рдпрд╣ 0 рдкрд░ рдЬрд╛рдПрдЧрд╛ред рдЙрд╕реА рд╕рдордп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ (рдЙрдкрдпреЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд▓реИрдкрдЯреЙрдк рдЦреЛ рдЧрдпрд╛ рд╣реИ);
`sftp`
рдлрд╝реАрд▓реНрдб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ rsync (рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ "рдЙрдиреНрдирдд" рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкреНрд░рдХрдЯрди рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВ:
define backupuser_dirs($name,$map_drive,$home="/home/${name}") { file { "$home": owner => $name, ensure => symlink, target => "/storage/${map_drive}/${name}", require => File["/storage/${map_drive}/${name}"]; "/storage/${map_drive}/${name}": owner => $name, ensure => directory, backup => false, mode => 0711; "$home/TimeMachine": owner => $name, ensure => directory, backup => false, mode => 0711, require => File["$home"]; } }
рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдЙрдкрдпреЛрдХреНрддрд╛ рдХреЗ рдХрдардкреБрддрд▓реА рдХреЗ рдШреЛрд╖рдгрд╛рдкрддреНрд░ рдХрд╛ рдПрдХ рдЕрдВрд╢ рд╣реИ:
@user { "i.ableev": ensure => $hostname ? { /^%servername%$/ => present,
рдЕрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдореИрдХ рдУрдПрд╕, рд╡рд┐рдВрдбреЛрдЬ рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред
rsync
Rsync (рд▓реЗрдХрд┐рди ssh рдирд╣реАрдВ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕реАрдорд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪреЗрд░реЛрдЯ рдкреНрд▓рд╕ рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд░рдХрдЯрди рдФрд░ рдХрд╛рд░реНрдп рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджрд┐рдЦреЗрдЧрд╛:
define backupuser_dirs_sftp($name,$map_drive,$home) { file { "/home/${name}": owner => $name, ensure => symlink, target => "${home}", require => File["$home"]; "$home": ensure => directory, owner => root, mode => 0755; "$home/sftp": owner => $name, ensure => directory, backup => false, mode => 0711, require => File["$home"]; } } @user { "i.ableev": ensure => $hostname ? { /^backupmsk$/ => present, default => absent, }, home => "/storage/sdh/i.ableev", uid => "1217", groups => ['backupuser'], password => 'V2UgYXJlIGhpcmluZyEgaHR0cDovL2NvcnAuYmFkb28uY29tL2pvYnMvCg==',
рд╕рднреА рдореЗрдирд┐рдлреЗрд╕реНрдЯреЛ рддреИрдпрд╛рд░ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛:
- рдЙрдкрдпреЛрдЧреА рдбреЗрдЯрд╛ рдХреЗ 72 рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рд╕реНрддреА рд╕рд░реНрд╡рд░;
- рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреИрдХрдЕрдк рд╣реИрдВ;
- рдПрдХреНрд╕реЗрд╕ рдЙрди рд╕рднреА рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдмреИрдХрдЕрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ!
рдЗрд▓реНрдпрд╛ рдЕрдмреЗрд▓реЗрд╡, рд╕рдХреНрд╖рдо , рдСрдкрд░реЗрд╢рди рдСрдлрд┐рд╕рд░ рд╡рд┐рдХрд╛рд╕рд╣рд╛рд╕реНрдп рдореВрд▓: dilbert.com/strips/comic/2007-11-21