рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдореБрдЭреЗ рдПрдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдЙрдард╛рдирд╛ рдкрдбрд╝рд╛ рдерд╛ред рдмрд▓реНрдХрд┐, рд▓реЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХрд╛ рдореБрджреНрджрд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛, рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЗрди рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдХреНрд▓рд╕реНрдЯрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдпрд╛ рдбреАрдмрдЧрд┐рдВрдЧ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЛ рдЧрддрд┐ рджреЗрдВред
рд╕рд╣рдордд рд╣реИрдВ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛) рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рднреВрдорд┐рдХрд╛ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рди рджрд┐рдЦреЗрдВрдЧреЗ? рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╡рд░реНрдгрд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ, рд╕рд╛рдд рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рд╣реИрдВ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЗ рд╕рд╛рде рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ:
Load Balancers lb1 lb2
Application Servers app1 app2
Database Servers db1 db2
Backup server bckp1
рдФрд░ рдЖрдЬ рдХреА рдХрд╣рд╛рдиреА рдХрд╛ рдирд╛рдпрдХ
csync2 рд╣реИ , рдПрдХ рдкреБрд░рд╛рдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ рдЬреЛ рдХрдИ рдирд┐рдХреНрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдФрд░ рдЗрд╕реЗ
рдЯрд╛рд░рдмреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛
рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рддреЛ, рдПрдХ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ csync2 рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕реНрдерд╛рдкрдирд╛
рд╕реНрдерд╛рдкрдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП:
рдбреЗрдмрд┐рдпрди \ ubuntu рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ
apt-get install csync2 -y
рд╕реНрд░реЛрдд рд╕реЗ
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░
librsync рдореМрдЬреВрдж рд╣реИ
рдЕрдиреНрдпрдерд╛, рдЖрдкрдХреЛ
librsync-0.9.7.tar.gz рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ,
рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
tar -xf librsync-0.9.7.tar.gz && cd librsync-0.9.7
./configure && make
make install
Csync2 рднреА libsqlite рдХреА рдЙрдореНрдореАрдж
рдХрд░рддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рд╕реНрд░реЛрдд рд╕реЗ рднреА рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
wget www.sqlite.org/sqlite-autoconf-3070603.tar.gz && tar -xf sqlite-autoconf-3070603.tar.gz && cd sqlite-autoconf-3070603
./configure && make
make install
рдФрд░ рдЖрдк рд╡рд┐рдиреНрдпрд╛рд╕ (./configure)ред
./configure --with-libsqlite-source=/path/to/libsqlite.tar.gz
рдореБрдЭреЗ рдХреЛрдИ рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА, рдФрд░ рдЙрдореНрд░ рдХреЗ рдХрд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ OS (
RedHat RPM , apt-get \ aptitude install csync2,
FreeBSD рдкреЛрд░реНрдЯ ) рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рддреИрдпрд╛рд░ рд╣реЛ рдЧрдП рд╣реИрдВ
CSync2 рд╕реНрд╡рдпрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ
cd /usr/local/src && wget oss.linbit.com/csync2/csync2-1.34.tar.gz
tar -xf csync2-1.34.tar.gz && cd csync2-1.34
./configure && make
make install
рдореИрдВрдиреЗ Ubuntu 10.04 LTS рдХреЗ рддрд╣рдд рд╕рднреА рдСрдкрд░реЗрд╢рди рдХрд┐рдП, рдЬрд╣рд╛рдБ csync2 рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
рдЕрдЧрд░ рдЖрдкрдХреЗ рдУрдПрд╕ рдкрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ рд╣реИ - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк
рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ csync2 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
csync2 рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб SSL рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдПрдХрд▓ csync2 рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдкрд░ "рд╡рд┐рд╢реНрд╡рд╛рд╕" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдк рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ
make cert
рдпрд╛ (рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рдерд╛), рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ:
openssl genrsa -out /etc/csync2_ssl_key.pem 1024
openssl req -new -key /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.csr
openssl x509 -req -days 600 -in /etc/csync2_ssl_cert.csr -signkey /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.pem
рдлрд┐рд░ рдЖрдкрдХреЛ csync2 рдореБрдЦреНрдп рдкреАрдврд╝реА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
csync2 -k /etc/csync2.cluster.key
рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж
/etc/csync2.cluster.key рдлрд╝рд╛рдЗрд▓ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ
редрдЕрдм рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдПрдХ рд╣реА рдмрд╛рджрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВред рдЖрдк рдХрдИ рдХреБрдВрдЬреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдЖрдк рдмреИрдВрдХ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рд╕рд┐рдВрдХ
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝рд╛рдЗрд▓
/etc/csync2.cnf рд╣реИрдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рддрд╛рд░реНрдХрд┐рдХ рд╕рд░реНрд╡рд░ рд╕рдореВрд╣реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ IP рджреНрд╡рд╛рд░рд╛ рдЖрдВрддрд░рд┐рдХ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛, рд▓реЗрдХрд┐рди рдХреНрд░рдорд╢рдГ hostname рджреНрд╡рд╛рд░рд╛, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рд╕рднреА-рд╕рднреА рдорд╢реАрдиреЛрдВ рдкрд░ рдлрд╝рд╛рдЗрд▓
/ etc / рдореЗрдЬрдмрд╛рди рд╕рдорд╛рди рд╣реЛрдВ, рдФрд░ рдЬрдм рдореИрдВ рдПрдХ рдирдпрд╛ рдиреЛрдб рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд▓реАрдХ рд╣реЛрдВрдЧреЗ рдЕрдиреНрдп рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рдерд╛ рдХрд┐
рдРрдкреНрдк 3 рдХреМрди
рдерд╛ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред
LoadBalancers рдкрд░ рдореИрдВрдиреЗ nginx рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдорд╢реАрдиреЛрдВ рдкрд░ рд╕рдорд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рддреЛ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдореЗрдВ, рдореИрдВ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рддрд╛ рд╣реВрдВ:
# рд╕рднреА рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЗ рдореВрд▓ рд╕реЗрдЯ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ
group all {
# IP,
host app1 app2;
host db1 db2;
host lb1 lb2;
host bckp1;
#
key /etc/csync2.cluster.key;
# \ ?
include /etc/hosts; # hosts
include /etc/csync2.cfg; # ! csync2 ! ;)
auto younger;# ? -
}
# LoadBalancer' nginx
group lb {
host lb1 lb2;
key /etc/csync2.cluster.key;
include /etc/nginx/*;
auto younger;
}
рдЕрдм рд╕рдмрдХреБрдЫ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде csync2 рдЪрд▓рд╛рдПрдВ рдЬреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
csync2 -x
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдмрд╛рдж, рд╕рднреА рд╣реЛрд╕реНрдЯ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╛рдЗрд▓реЗрдВ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рд╕рдорд╛рди рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ
рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ, рддреЛ рднрд╛рдЧреЛ
csync2 -xv
csync2 -xvv
рдЖрджрд┐
I csync2 рдиреЗ рдЕрдиреНрдп рдорд╢реАрдиреЛрдВ рдкрд░
/ etc / host рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдкрд╣реБрдБрдЪ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╢рдкрде рд▓реА, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕реНрд╡рдпрдВ рд╣реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж csync2 рднреА рдЙрди рдкрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдЪрд▓рд╛ред
рдпрджрд┐ SSL рдкрд░ csync2 рд╢рдкрде рд▓реЗрддрд╛ рд╣реИ - рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓
/etc/csync2.cluster.key рдХреЛ рд╕рднреА рд╣реЛрд╕реНрдЯреЛрдВ
рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рд╕рд╣реА рд░реВрдк рд╕реЗ
рдХреЙрдиреНрдлрд┐рдЧрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдФрд░ рд╣реИ - рд▓рд┐рдЦреЛ, рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред
рдЙрдкрд╣рд╛рд░
рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд┐рдЧрд░рд┐рдВрдЧ рдХреЛ рд╕рд┐рдВрдХ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдореИрдВрдиреЗ mysql, php, nginx рд╡рдЧреИрд░рд╣ рд╕реЗ csync2 рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ рдбрд╛рд▓рд╛ред рдпрд╣ CSync2 рд╕реЗ рд╣реА (рд▓рдЧрднрдЧ рдкреБрдирд░рд╛рд╡рд░реНрддрди) рдореЗрдВ csync2 рд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рдХрд▓рд╛ред
рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд┐рдВрдХ рдХрд░рдирд╛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред
рдиреЗрдЧрдиреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ! рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕реМ рдорд╢реАрдиреЛрдВ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдореВрд╣ рдореЗрдВ рдЙрд╕реА рднреВрдорд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдЬрд┐рд╕ рдкрд░ nginx рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдЬреЛрдбрд╝реЗрдВ:
group lb {
host lb1;
host lb2;
key /etc/csync2.cluster.key;
include /etc/nginx; #
action {
pattern /etc/nginx/*; # , ?
exec "/etc/init.d/nginx reload "; # ?
logfile "/var/log/csync2.actions.log"; # ?
do-local; # , , , ,
}
auto younger;
}
рдЕрджреНрднреБрдд
рдПрдХреНрд╢рди рдЖрдЗрдЯрдо рд╣рдореЗрдВ рдХреБрдЫ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдПрдХ рдордирдорд╛рдирд╛
рдмреИрд╢ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рдВрдХреЗрддрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдпрд╣ рдирдЧреАрдирдХреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
рдкреБрдирдГ рд▓реЛрдб рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдкреБрдирдГ рдЖрд░рдВрдн рдирд╣реАрдВред рдЕрдЧрд░, рднрдЧрд╡рд╛рди рди рдХрд░реЗ, рддреЛ рдЖрдк рдирдЧреАрди рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдирд╣реАрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдПрдХ рд╕реМ рдорд╢реАрдиреЛрдВ рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рднреА рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рд╕реМ рдорд╢реАрдиреЛрдВ рдкрд░ рдпрд╣ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, csync2 рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреАрдорддреА рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕рдордп рд▓реЗрдЧрд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдкрд░рд┐рдЪрд┐рдд рдХрд┐рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд░рдХреНрд╖рд┐рдд рдЕрд╡рд╕рд░ рдорд┐рд▓рд╛, рдЬреИрд╕реЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╕рд░реНрд╡рд░ рдерд╛, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдПрди рдЕрдиреНрдп рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ред
рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ csync2 рдореЗрдВ рдПрдХ рд╣реЛрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдиреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ csync2 -x рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдкрд░рд┐рд╡рд░реНрддрди рд╢реЗрд╖ рдкрд░ рдлреИрд▓ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВ рди рдХреЗрд╡рд▓ csync2 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреБрдж рдХреЛ рдлрд╛рдЗрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд╕ csync2 рдХреЛ рдореБрдХреБрдЯреЛрдВ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рддрдиреЗ рдиреЛрдбреНрд╕ рдХрд┐рдП рд╣реИрдВ? рдпрд╣ рд╕рдЪ рд╣реИ, рдПрдХ рдмрд╛рд░ рдФрд░ рдПрдХ рдмрд╛рд░! :)
рд▓реЛрд╢рди:
рджреВрд╕рд░реЗ рджрд┐рди, рдореИрдВрдиреЗ рдЕрдзрд┐рдХреГрдд_рдХреА рдлрд╝рд╛рдЗрд▓ рдХреЛ csync2 рдореЗрдВ рд░рдЦрд╛ рдФрд░ рдЕрдм рдЕрдкрдиреА рдорд╢реАрди рд╕реЗ рдореИрдВ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдиреЛрдб рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рдЬрдЯрд┐рд▓ рдФрд░ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рдЖрдк рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░
рд╣реЛрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдЖрдВрддрд░рд┐рдХ рдирд╛рдореЛрдВ рд╕реЗ рдиреЛрдбреНрд╕ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдЬрдм рдЖрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореЗрд░реА рдорд╢реАрдиреЛрдВ рдХреА рддрд░рд╣, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд╛рдд рдХреЗ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдбрд┐рдмрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдЯрди рд╕рдордп рдмрдЪрд╛рдПрдЧрд╛ред
рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛
Csync2 рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХреА рдЧрдИ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╕реНрдерд╛рдиреАрдп рд╕рд╛рдЗрдХреНрд▓рд╛рдЗрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ рдФрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рд╣реИред рд╕реИрдХрдбрд╝реЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ рдореЗрд░реЗ 5-6 Gb рдХреЛ рдХрдИ рджрд╕рд┐рдпреЛрдВ рд╣рдЬрд╝рд╛рд░реЛрдВ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрд┐рдЦреЗрд░ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рддреЛ рд▓рдЧрд╛рддрд╛рд░ рдореБрдХреБрдЯреЛрдВ рдореЗрдВ csync2 рди рдбрд╛рд▓реЗрдВ, рдпрд╣ рдкреНрд░рддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рд╕рд░реНрд╡рд░ рдзреАрдорд╛ рд╣реЛрдиреЗ рд▓рдЧреЗрдЧрд╛ред Csync2 рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╛рдл рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг (рдиреАрдЪреЗ рдмрд╕ рд▓рд┐рдВрдХ) рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдХреЗ рд▓рд┐рдП рдЧреБрдВрдЬрд╛рдЗрд╢ рдорд╣рд╛рди рд╣реИред
рдПрдирд╛рд▓реЙрдЧ
рдРрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рд╣реИрдВ рдЬреЛ рдиреЛрдбреНрд╕ рдХреЛ рджреВрд░рд╕реНрде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рд╣рд░ рджрд┐рди рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд╛рд░реЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдмрд╛рд╡рд░реНрдЪреА ,
рдХрдардкреБрддрд▓реА ред
============================
рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:
Csync2 рдкреНрд░рд▓реЗрдЦрди (
рдкреАрдбреАрдПрдл )
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ csync2 рд╡реЗрдмрд╕рд╛рдЗрдЯ:
http://oss.linbit.com/csync2/