рдореБрдЭреЗ рджреЛ рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдорд┐рд▓рд╛ред рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ MySQL DBMS рдореЗрдВ рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЧреНрд░рд╛рд╣рдХ рдХреА рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рдореЗрд╢рд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ 5 рдорд┐рдирдЯ рдХреЗ рднреАрддрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рднреМрдЧреЛрд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд 2 рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдбреЗрдмрд┐рдпрди рд╕реНрдХреНрд╡реАрдЬрд╝ рдУрдПрд╕ рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░ рдбреЗрдмрд┐рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдбреАрдПрдирдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рддрд░реНрдХ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рддреНред рдПрдХ рдбреЛрдореЗрди рдирд╛рдо test.ru рд╣реИред рдореЗрд░реЗ 2 рд╕рд░реНрд╡рд░ NS- рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рд╕рднреА рдЬрд╝реЛрди рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ DNS рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ A рд░рд┐рдХреЙрд░реНрдб рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
DNS рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рд╛рдЗрд▓ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рджреНрд╡рд┐рджрд┐рд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░, рдореБрдЦреНрдп рдХреЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдЬрд╛рдирдХрд╛рд░реА рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпреВрдирд┐рд╕рди рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ MySQL рдкреНрд░рддрд┐рдХреГрддрд┐ рджреНрд╡рд┐-рджрд┐рд╢рд╛рддреНрдордХ рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рдкреНрд░рддрд┐рдХреГрддрд┐ ("рдорд╛рд╕реНрдЯрд░-рд╕реНрд▓реЗрд╡") рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рдПрдХ рджрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛ рдЕрд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рджреНрд╡рд┐-рджрд┐рд╢рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХ рд╕реБрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдВрдЧреЗред
рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдордзреНрдпрд╕реНрде рдПрдХ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рдореИрдВ рдиреАрдЪреЗ рджреВрдВрдЧрд╛ред
рд╕рд┐рд╕реНрдЯрдо рдХреА рддреИрдпрд╛рд░реА
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ apache2 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдл рдбреЗрдмрд┐рдпрди рд╕рд┐рд╕реНрдЯрдо рд╣реИ, mysql- рд╕рд░реНрд╡рд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рдореИрдВ рдЙрдирдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ рднрд░рд╛ рд╣реИред
рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдорд╛рд╕реНрдЯрд░ рдЖрдИрдкреА = 10.1.0.1 рд╣реИ, рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдЧреБрд▓рд╛рдо рдЖрдИрдкреА = 10.2.0.2 рд╣реИ
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рдВрдХ рдХрд░реЗрдВ
рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╛рдЗрд▓реЗрдВ / рд╕рд╛рдЗрдЯ / рд╡реЗрдм / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд╛рдЪреЗ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рд╛рдЗрд▓ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рд░рд╣рд┐рдд рдкрд╣реБрдБрдЪ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдбрд╝реА рдмрдирд╛рдПрдВрдЧреЗ:
ssh-keygen -t rsa (passphrase ) scp /root/.ssh/id_rsa.pub root@10.2.0.2:/root/.ssh/authorized_keys2
рдФрд░ рдЗрд╕реА рддрд░рд╣ рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░:
ssh-keygen -t rsa (passphrase ) scp /root/.ssh/id_rsa.pub root@10.1.0.1:/root/.ssh/authorized_keys2
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ / рд╕рд╛рдЗрдЯ / рд╡реЗрдм / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдорд╛рди рд╣реИ рдФрд░ Unison рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
apt-get install unison
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /root/.unison/web.prf рдмрдирд╛рдПрдВ:
рдЕрдм рдЖрдк рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
unison web
рд╣рд░ 5 рдорд┐рдирдЯ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
рд╣рдо рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд╝рд╛рдЗрд▓ /root/bin/sync.sh рдкрд░ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рд╣рдо рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ
chmod +x /root/bin/sync.sh
рдФрд░ CRON "crontab -e" рдореЗрдВ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝реЗрдВ:
*/5 * * * * /root/bin/sync.sh > /dev/null 2>&1
рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд░ 5 рдорд┐рдирдЯ рдореЗрдВ рдЪрд▓рд╛рдПрдВред
MySQL рдкреНрд░рддрд┐рдХреГрддрд┐
рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП, рд╣рдо MySQL рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб some_password рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдореБрдЦреНрдп рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдкрд░, рдлрд╝рд╛рдЗрд▓ /etc/mysql/my.cnf рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдирд┐рдореНрди рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:
server-id = 1 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M binlog_ignore_db = mysql binlog_ignore_db = test master-host = 10.2.0.2
рдФрд░ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рдмрд╛рдЗрдВрдб-рдПрдбреНрд░реЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдорд╛рдВрд╕рдкреЗрд╢реА рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛ:
bind-address = 0.0.0.0
рд╣рдо рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде MySQL рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдмреИрдХрдЕрдк рдЧреБрд▓рд╛рдо рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ:
mysql -u root -p Enter password: root, >grant replication slave on *.* to 'replication'@'10.2.0.2' identified by 'some_password'; >flush privileges; >quit; /etc/init.d/mysql restart
рд╣рдо рджреВрд╕рд░реЗ рджрд╛рд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрдкрд╛рджрди /etc/mysql/my.cnfред рдирд┐рдореНрди рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:
server-id = 2 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M binlog_ignore_db = mysql binlog_ignore_db = test master-host = 10.1.0.1
рдФрд░ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рдмрд╛рдЗрдВрдб-рдПрдбреНрд░реЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдорд╛рдВрд╕рдкреЗрд╢реА рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛ:
bind-address = 0.0.0.0
рд╣рдо рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ MySQL рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ:
mysql -u root -p Enter password: root, >grant replication slave on *.* to 'replication'@'10.1.0.1' identified by 'some_password'; >flush privileges; >quit; /etc/init.d/mysql restart
рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░, рд╣рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓ рд░рд╣реА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВ:
рдкреНрд░рджрд░реНрд╢рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ, рд╣рдо рддреАрди рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:
Slave_IO_State: Waiting for master to send event Slave_IO_Running: Yes Slave_SQL_Running: Yes
рдпрджрд┐ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд▓реЙрдЧ рджреЗрдЦреЗрдВред
DNS рд╕рд░реНрд╡рд░
Test.ru рдбреЛрдореЗрди рдЬрд╝реЛрди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЛрдореЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рд╕реМрдВрдкрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╡реИрд╢реНрд╡рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдбреЛрдореЗрди рдирд╛рдо ns.master.my.com рдФрд░ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП ns.slave.my.com рд╣реИрдВред
DNS рдЬрд╝реЛрди рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХреЗ рдмрд╛рдж рд╣реА рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░, bind9 рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
apt-get install bind9
рдЕрдкрдиреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП /etc/bind/onym.conf рдХреЙрдиреНрдлрд┐рдЧрд░ рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:
echo 'include "/etc/bind/my-zones.conf";' >> /etc/bind/named.conf
рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЕрдкрдиреА /etc/bind/my-zones.conf рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
zone "test.ru" { type master; file "/etc/bind/db.test.ru"; };
рдкрд╣рд▓реЗ рдореБрдЦреНрдп рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдкрд░, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде /etc/bind/db.test.ru рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ:
$ORIGIN test.ru. $TTL 10 @ IN SOA ns.master.my.com. admin.my.com. ( 2 ; Serial 10 ; Refresh 10 ; Retry 10 ; Expire 10 ) ; Negative Cache TTL IN NS ns.master.my.com. IN NS ns.slave.my.com. ; @ IN A 10.1.0.1
рдЬрд╣рд╛рдБ ns.master.my.com рдЗрд╕ рд╕рд░реНрд╡рд░ рдХрд╛ рдбреЛрдореЗрди рдирд╛рдо рд╣реИ (рдбреЛрдореЗрди my.com рдХрд╛рд▓реНрдкрдирд┐рдХ рд╣реИ)
рдпрд╣рд╛рдВ рдХреБрдВрдЬреА A-record рд╣реИ рдФрд░ рдЕрджреНрдпрддрди рд╕рдордп 10 рд╕реЗрдХрдВрдб рд╣реИред
рджреВрд╕рд░реЗ рдмреИрдХрдЕрдк рд╕реНрд▓реЗрд╡ рд╕рд░реНрд╡рд░ рдкрд░, рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде /etc/bind/db.test.ru рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдорд╛рд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБ:
$ORIGIN test.ru. $TTL 10 @ IN SOA ns.slave.my.com. admin.my.com. ( 2 ; Serial 10 ; Refresh 10 ; Retry 10 ; Expire 10 ) ; Negative Cache TTL IN NS ns.master.my.com. IN NS ns.slave.my.com. ; @ IN A 10.1.0.1
SOA рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдореБрдЦреНрдп рдмрд╛рдд рд╕реЗ рдЕрдВрддрд░ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдУрд╡рд░рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ
/etc/init.d/bind9 restart
рдФрд░ рдХреБрдЫ рдмрд╛рд╣рд░реА рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рд╣рдо test.ru рдбреЛрдореЗрди рдХреЗ рдП-рд░рд┐рдХреЙрд░реНрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, nslookup test.ru рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЗрд╕рдХрд╛ рдкрддрд╛ 10.1.0.1 рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реИ, рддреЛ рд▓реЙрдЧ рджреЗрдЦреЗрдВред
рдордзреНрдпрд╕реНрдерддрд╛
рд╣рдо рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк - рдордзреНрдпрд╕реНрдерддрд╛ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдпрд╣ рд╕рдм рд╣рд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рдбреАрдПрдирдПрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдЧрд╛ред
рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ SSH, DNS, HTTP рдФрд░ MySQL рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдХрд╛рдо рд▓рд┐рдпрд╛ред рдХреНрд░рд┐рдЯрд┐рдХрд▓, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, HTTP рдФрд░ MySQL рд╕реЗрд╡рд╛рдПрдБ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реЗрд╡рд╛ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред
рд╕реЗрд╡рд╛ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдкреЛрд░реНрдЯ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TELNET рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░рд╛рдЬреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЦреНрдп рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдмреИрдХрдЕрдк рджрд╛рд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдкрд░рд╛рдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рднреА рд▓реЙрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ; рддрдм рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмреИрдХрдЕрдк рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░, рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, DNS рдЬрд╝реЛрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рд╕рднреА рддрд░реНрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдЗрд╕реЗ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
mkdir /var/lock/sync/
рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рд░реВрдЯ / рдмрд┐рди / рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ
рдкрд╣рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ /root/bin/master.sh DNS, SSH, HTTP, MySQL рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рджреВрд╕рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ /root/bin/slave.sh рдмреИрдХрдЕрдк рджрд╛рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ
рдпреЗ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд╕рдорд╛рди рд╣реИрдВ, рджреЛ рдЪрд░ $ HOST рдФрд░ $ SEMAFOR рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рддреАрд╕рд░реА рдлрд╝рд╛рдЗрд▓ /root/bin/compare.sh рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдФрд░ DNS рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЗрди рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ /root/bin/dnswrite.sh рдореЗрдВ рдПрдХрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
#!/bin/bash # /root/bin/master.sh # SLAVE /root/bin/slave.sh # /root/bin/compare.sh
рдЗрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдЬреЛрдбрд╝реЗрдВ
chmod +x /root/bin/*.sh
рдФрд░ рдХрд╛рд░реНрдп рдХреЛ CRON рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ crontab -e рд╣рд░ рдорд┐рдирдЯ рд╢реБрд░реВ рд╣реЛ:
*/1 * * * * /root/bin/dnswrite.sh /dev/null 2>&1
рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реЗрдЯ рд╣реИ!
рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгреА рд╕реБрдирдиреЗ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред