Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ
ΠΠ°ΠΏΠΈΡΠΊΠΈ IT ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±Π»ΠΎΠ³ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΠΠ»ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ»
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌ, ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ ΡΡ Π΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ. Π‘ΡΠ°Π·Ρ ΡΡΠΎΡΠ½ΠΈΠΌ, ΡΡΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ Π²ΡΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ .
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π° ΡΠ·Π»Π° ΠΈ ΠΎΠ±ΡΠ΅Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
ΡΡΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ ΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΈΠ³Π½Π°Π»Π° «ΠΏΡΠ»ΡΡΠ°» (heartbeat), ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΡΠ²ΠΎΠΈΡ
ΡΠ·Π»ΠΎΠ² (Π½Π° ΡΡ
Π΅ΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΊΡΠ°ΡΠ½ΡΠΌ), ΡΠ΅ΡΡ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
(SAN, ΡΠΈΠ½ΡΡ), Π² Π½Π΅Π΄ΠΎΡΠΎΠ³ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΡΡ
ΡΡΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ iSCSI ΡΠ΅ΡΠ΅Π· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Ethernet-ΡΠ΅ΡΡ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ FibreChanell ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΠ»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ.
ΠΠΎ ΡΡ Π΅ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠ·Π»Ρ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ-ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΉ ΠΈΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ-Π°ΠΊΡΠΈΠ²Π½ΡΠΉ. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ·Π»ΠΎΠ², Π²ΡΠΎΡΠΎΠΉ ΡΠ·Π΅Π» Π²ΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ. ΠΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΠ±ΠΎΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ·Π»ΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°Π·Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ·Π»ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π½ΠΎΠ΄Ρ.
ΠΠ΅Π»ΡΠ·Ρ Π½Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΈ ΠΏΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΄Π²ΡΡ
Π½ΠΎΠ΄Π°Ρ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ SAN Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, StarWind Virtual SAN, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ iSCSI Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Π±Π°Π·Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π΄ΠΈΡΠΊΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ·Π»ΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π½ΠΎ Π² ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡ-ΠΆΠ΅ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΎΠ½ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Ρ ΠΎΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ IP-Π°Π΄ΡΠ΅ΡΠΎΠΌ. ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π½Π° Π½Π΅ΠΌ Π²ΡΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΎΠ»ΠΈ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, SQL ΠΈΠ»ΠΈ Exchange, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΡΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²Π°Ρ ΡΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠ½ΡΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ·Π΅Π» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°Π·Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·-Π·Π° Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΡΡΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ·Π»ΠΎΠ², Π΅ΠΌΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π²ΡΡΡΠ½ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ, Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΈΡ
Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΊΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ·Π»Ρ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈΡ
Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΠΌΠ°ΡΠΈΠ½ Π½Π° ΡΠ»Π°Π±ΡΠ΅ ΡΠ·Π»Ρ. Π ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ·Π»ΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π° Π½Π΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΆΠΈΠ²ΠΎΠΉ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·Π»Ρ Π±Π΅Π· ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΡ
ΡΠ°Π±ΠΎΡΡ ΠΈΠ»ΠΈ Ρ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π½Π° ΠΏΠ°ΡΠ·Ρ.
ΠΡΠΈ ΠΎΡΠΊΠ°Π·Π΅ ΡΠ·Π»Π° Π²ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ²ΡΠΈΠ΅ΡΡ Π½Π° Π½Π΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠ΅Π½Ρ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·Π»Π°Ρ , ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°.
Π Π½Π°ΡΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½Π° Π±Π°Π·Π΅ Hyper-V.
ΠΠ±Π·ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²: Stratus, VMware, VMmanager Cloud
ΠΡΡΡ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ Π±ΠΈΠ·Π½Π΅ΡΠ°, Π³Π΄Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ²Ρ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ ΡΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΠ·-Π·Π° ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΈΠ»Π»ΠΈΠ½Π³ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π°Π±ΠΎΠ½Π΅Π½ΡΡ ΠΎΡΡΠ°Π½ΡΡΡΡ Π±Π΅Π· ΡΠ²ΡΠ·ΠΈ. ΠΡ ΠΎΡΠΎΠ·Π½Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ΅Π·ΠΎΠ½Π½ΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ ΠΎΠ²Π°ΡΡΡΡ.
ΠΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠ±ΠΎΠ΅Π² ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ VMmanager Cloud: ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ.
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
Π ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠ±ΠΎΠ΅Π² Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°ΠΉΡΠ° ΠΊ ΡΠ°ΠΉΡΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΡΠ΅ΡΠΌΠΈΠ½Ρ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° ΡΠΎΡ, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ. ΠΠ΅Π· ΠΠΠ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π² Π·Π°Π΄Π°ΡΠ°Ρ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ³ΠΎ Π±ΠΈΠ»Π»ΠΈΠ½Π³Π° Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΏΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ Π½Π°ΡΡΠ΄Ρ Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π΅ΡΡΡ ΠΈ βΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈβ. Π Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π» ΡΡΠ°ΡΡΠΈ.
Continuous availability / Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ
ΠΠ΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°Π»ΠΈΡΠΈΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° (ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ), Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠ΅ΡΠ²ΠΈΡ. ΠΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΠ°Π·Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎ Π½Π° ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ, Π° Π·Π½Π°ΡΠΈΡ, Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΠΉ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, Π° Π·Π½Π°ΡΠΈΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ²ΡΠ°ΡΡΡ ΡΠ°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡΠ½Π°.
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ CA ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π°: Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ. Π Π°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ
ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±.
ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ β vSphere ΠΎΡ VMware. Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Continuous Availability Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ βFault Toleranceβ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π΄Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅:
ΠΡ Π½Π΅ ΡΡΠ°Π»ΠΈ ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½ΠΎΠ΄: ΡΠΎΡΡΠ°Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡΡΡΠΈΡ Π² ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π°Π΄Π°Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π‘Π΅ΡΠ΅Π²ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΡΡΠ»Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ: Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ Π½Π°Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ: ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ.
Π‘ΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΈ ΠΎ ΡΠ΅Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡ.
ΠΡΡΡ Remus Π½Π° Π±Π°Π·Π΅ Xen, Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠΎΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ½ΡΠΏΡΠΎΡΠΎΠ². Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»Π°ΡΡ; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠΏΠΈΡΠ°Π½Π° Π΄Π»Ρ Ubuntu 12.10, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° Π² 2014 Π³ΠΎΠ΄Ρ. Π ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, Π΄Π°ΠΆΠ΅ ΠΡΠ³Π» Π½Π΅ Π½Π°ΡΡΠ» Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ²ΡΠ΅ΠΉ Remus Π² ΡΠ²ΠΎΠ΅ΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ QEMU Ρ ΡΠ΅Π»ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ continuous availability ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ΅ΡΠ²ΡΠΉ β Kemari, ΠΏΡΠΎΠ΄ΡΠΊΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ Yoshiaki Tamura. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΆΠΈΠ²ΠΎΠΉ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ QEMU. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π² ΡΠ΅Π²ΡΠ°Π»Π΅ 2011 Π³ΠΎΠ΄Π° Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΡΠ»Π° Π² ΡΡΠΏΠΈΠΊ ΠΈ Π½Π΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡ.
ΠΡΠΎΡΠΎΠΉ β Micro Checkpointing, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Michael Hines, ΡΠΎΠΆΠ΅ open source. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠΆΠ΅ Π³ΠΎΠ΄ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠΈΠ»Π°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ Kemari.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ continuous availability Π½Π° Π±Π°Π·Π΅ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ KVM Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅Ρ.
ΠΡΠ°ΠΊ, ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, Π΅ΡΡΡ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π½ΠΎ Π½Π΅Ρ ΠΆΡΡΡΠΊΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΠΠΠ.
High availability / Π²ΡΡΠΎΠΊΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ
Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΠΠ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π·Π° ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° ΠΈΡΠΏΡΠ°Π²Π½ΠΎΠΌ ΡΠ·Π»Π΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
Π ΠΠΠ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ Π½Π° Π½ΠΎΠ΄Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠΊΠΎΠ² ΠΌΠ°ΡΠΈΠ½. Π‘ΡΠ°Π»ΠΎ Π±ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ΡΡ ΡΠ·Π»Π°ΠΌΠΈ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈΡΠΈΠ½Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°: Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°Π·Π° Π½ΠΎΠ΄Ρ ΠΏΡΠΎΠΏΠ°Π΄ΡΡ ΡΠ²ΡΠ·Ρ Ρ Π½Π΅ΠΉ, Π° Π·Π½Π°ΡΠΈΡ, Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Π΅Ρ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ Π‘Π₯Π ΡΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌ, ΠΈΠ½Π°ΡΠ΅ ΠΠΠ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ»Π°ΡΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° Π΄Π²Π° ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ΅ΡΠ°:
VMmanager Cloud
ΠΠ°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ VMmanager Cloud ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ QEMU-KVM. ΠΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ±ΠΎΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Corosync. ΠΡΠ»ΠΈ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΡΡΠΎΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², VMmanager ΠΏΠΎΠΎΡΠ΅ΡΡΠ΄Π½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π²ΡΠΈΠ΅ Π½Π° Π½ΡΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΠΎ ΠΎΡΡΠ°Π²ΡΠΈΠΌΡΡ Π½ΠΎΠ΄Π°ΠΌ.
Π ΡΠΏΡΠΎΡΡΠ½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΠΊΠΎΠΉ:
ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ΄ ΠΏΠΎΠ΄ Π°Π²Π°ΡΠΈΠΉΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°ΡΡ Π½Π° Π½ΠΈΡ ΠΠ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π½Π° βΠΆΠΈΠ²ΡΡ β Π½ΠΎΠ΄Π°Ρ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Ρ βΡΠΌΠ΅ΡΡΠ΅ΠΉβ. Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π·Π°ΠΏΠ°ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΡ Π΅ΠΌΠ° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΡΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ βN+1β.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΡΡ Π΅ΠΌΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ VMmanager Cloud ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°Π»ΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ.
FirstByte
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ FirstByte Π½Π°ΡΠ°Π»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ Π² ΡΠ΅Π²ΡΠ°Π»Π΅ 2016 Π³ΠΎΠ΄Π°. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°Π» ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ OpenStack. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΠΎ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ (ΠΊΠ°ΠΊ ΠΏΠΎ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°ΠΊ ΠΈ ΠΏΠΎ ΡΠ΅Π½Π΅) ΠΏΠΎΠ±ΡΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΏΠΎΠΈΡΠΊΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π Π½ΠΎΠ²ΠΎΠΌΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΠΠ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
ΠΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°:
ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Ρ ΠΎΡΡΠΈΠ½Π³Π° ΡΠ°ΠΉΡΠΎΠ² Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΡΡ, Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΎΡ ΡΡΠ΅Π΄Π½Π΅ΠΉ Π΄ΠΎ Π²ΡΡΠΎΠΊΠΎΠΉ.
FirstVDS
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ FirstVDS ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ»ΡΠ³ΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠΈΠ½Π³Π°, Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΡΠΎΡΡΠΎΡΠ»ΡΡ Π² ΡΠ΅Π½ΡΡΠ±ΡΠ΅ 2015 Π³ΠΎΠ΄Π°.
Π ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ VMmanager Cloud ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΏΡΠΈΡΠ»Π° ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΡΠΊΠ°Π·Π° Infiniband-ΡΠ΅ΡΠΈ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ Π΄ΠΈΡΠΊΠΎΠ² ΠΠ ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Ethernet-ΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·Π²ΡΡΠ½ΡΡΠ° Π½Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ Juniper. βΠΠΎΠ΄Ρ Π²Π°Ρβ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠ² ΡΠΎ ΡΠ²Π΅ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΡΡ, Π²ΠΈΠ΄Π΅ΠΎΡ ΠΎΡΡΠΈΠ½Π³Π° Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΡΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠΏΠΈΠ»ΠΎΠ³
ΠΠΎΠ΄Π²Π΅Π΄ΡΠΌ ΠΈΡΠΎΠ³ ΡΡΠ°ΡΡΠΈ. ΠΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΏΡΠΎΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΡΠΈΠ½ΠΎΡΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ±ΡΡΠΊΠΈ β Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ 5 ΠΌΠΈΠ½ΡΡ ΠΏΠΎΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ Π½ΠΎΠ΄Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΠΠ. ΠΡΠΎ Π΄Π°ΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π² ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ ΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ β ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ. ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ² ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°Π½Π°Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅. ΠΡΡ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ β ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠΉΡΠ΅. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ Π΅Π΄ΠΈΠ½ΡΡ ΡΠΎΡΠΊΡ ΠΎΡΠΊΠ°Π·Π°, ΡΠΎΠ½ΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΠΈΠ·-Π·Π° Π½Π΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΡΠΈΠ½ΡΠ² Π²ΡΠ΅ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΡ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΠ· ΡΡΡΠΎΡ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π΄Π»Ρ Π²Π°ΡΠΈΡ Π·Π°Π΄Π°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΡΡ Π΅ΠΌΠ° Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ VMmanager Cloud ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊ Π²Π°ΡΠΈΠΌ ΡΡΠ»ΡΠ³Π°ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ΅Π»Π°Π΅ΠΌ Π²Π°ΠΌ Π±Π΅ΡΠΏΠ΅ΡΠ΅Π±ΠΎΠΉΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ!
P. S. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΅ΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ CA-ΡΠ΅ΡΠ²Π΅ΡΡ β Π½Π°ΠΏΠΈΡΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΊΡΠΎ Π²Ρ ΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π²Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅. ΠΠ°ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ π
ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΡΡΠΎΡ Π΄ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΆΠ΅ Π½Π΅Ρ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, Π½ΠΎ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ β ΠΏΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· ΡΡΡΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π² ΡΠ΅Π»ΠΎΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΡΠ΅Π½Π°.
ΠΠΎΠ»ΡΡΡΡ ΡΠΎΠ»Ρ Π² ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΠΈΠ³ΡΠ°Π΅Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ β ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ²/ΡΡΠ°ΡΠΈΠΊΠ°. ΠΠ° ΡΡΠ°ΠΏΠ΅ Π΅Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ-Π±Π°Π»Π°Π½ΡΠ΅ΡΡ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ΅ΡΠ΅ΠΏΡΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈ Π½Π΅ΠΏΡΠΈΡ ΠΎΡΠ»ΠΈΠ²ΠΎΠ³ΠΎ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ Π½Π°ΡΠ΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌΡ DNS ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΠ»Π°ΡΡΠ΅ΡΡ Galera ΠΈ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ.
ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌΡΡ ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ :
β Π‘Π΅ΡΠ²Π΅ΡΡ, Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΡΠΎΡΡΠ°Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ·Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ°ΠΌΠΈ.
β ΠΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Ρ
ΠΎΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΊΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°ΡΡΠ΅Ρ.
β ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ IP Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π°Π΄ΡΠ΅Ρ, βΠΏΠ»Π°Π²Π°ΡΡΠΈΠΉβ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ, ΠΈ Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² DNS.
Π§ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
β ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π° ΡΠ΅ΡΠ²Π΅ΡΠ° (ΠΈΠ»ΠΈ Π²ΠΈΡΡ.ΠΌΠ°ΡΠΈΠ½Ρ) Ρ Π΄Π²ΡΠΌΡ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ.
β ΠΠ΅ΡΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΌΠΈΡΠΎΠΌ. ΠΠ΄Π΅ΡΡ Π±ΡΠ΄ΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ IP Π°Π΄ΡΠ΅ΡΠ°.
β ΠΡΠΎΡΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ ΡΡΠ°ΡΠΈΠΊ, Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ·Π»ΠΎΠ² Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½ Π°Π΄ΡΠ΅Ρ ΠΈΠ· ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΉ (βΡΠ΅ΡΠΎΠΉβ) ΡΠ΅ΡΠΈ 172.16.0.0/24.
ΠΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ·Π»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΡΠ΅ΡΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
VRRP, Virtual Router Redundancy Protocol β Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ «ΠΏΠ»Π°Π²Π°ΡΡΠ΅Π³ΠΎ» ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ IP Π°Π΄ΡΠ΅ΡΠ°. Π ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°ΠΊΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π½ΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·Π»Π΅, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΌ MASTER. ΠΡΠΎΡΠΎΠΉ ΡΠ·Π΅Π» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ BACKUP. ΠΠ±Π° ΡΠ·Π»Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ heartbeat ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΎΠ² Π΄Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ IP Π½Π° βΠΆΠΈΠ²ΠΎΠΉβ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ.
LVS, Linux Virtual Server β ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠΌ/ΡΠ΅Π°Π½ΡΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΡΠ΄ΡΠΎ Linux Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ IPVS. Π₯ΠΎΡΠΎΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ LVS ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π·Π΄Π΅ΡΡ ΠΈ Π·Π΄Π΅ΡΡ.
Π‘ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ°ΡΠ° βIP + ΠΏΠΎΡΡβ ΠΈ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠΉ ΠΏΠ°ΡΡ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ
Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π·Π°Π΄Π°Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
Π Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Nginx ΠΊΠ°ΠΊ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ Π·Π²Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ LVS ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ. Nginx Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅.
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ VRRP ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ IPVS Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π΅ΠΌΠΎΠ½ Keepalived, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Linux Virtual Server.
ΠΠΠΠ¦ΠΠΠ¦ΠΠ―
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ²ΡΠ·ΠΊΡ ΠΈΠ· Π΄Π²ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½ΡΡ ΡΠ·Π»ΠΎΠ²-Π±Π°Π»Π°Π½ΡΠ΅ΡΠΎΠ², ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ LVS ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° VRRP.
Π’ΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΡΡΠ°ΡΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ IP Π°Π΄ΡΠ΅Ρ, ΠΏΠΎΠ΄Π½ΡΡΡΠΉ Π»ΠΈΠ±ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π½Π° Π²ΡΠΎΡΠΎΠΌ ΡΠ·Π»Π΅.
ΠΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ LVS ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Nginx β Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π½Π° ΡΠΎΡΠ΅Π΄Π½Π΅ΠΌ ΡΠ·Π»Π΅. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ°Π·ΡΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, Ρ.Π΅. Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ°.
Π Π°Π±ΠΎΡΠ° Nginx Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 1.9.13 Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² tcp ΠΈ udp.
ΠΠ°ΠΆΠ΄ΡΠΉ vhost/stream Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π· ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΡΠΎΡΠ΅Π΄Π½Π΅Π³ΠΎ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ° ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ IP. ΠΡΠΈΡΠ΅ΠΌ Π΄Π°ΠΆΠ΅ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ IP Π°Π΄ΡΠ΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Π½ΡΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ΅ (Keepalived Π½Π°Π·Π½Π°ΡΠΈΠ» ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠΎΠ»Ρ BACKUP).
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡ Π΅ΠΌΠ° Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π±Π°Π»Π°Π½ΡΠ΅ΡΠ° (MASTER ΠΈΠ»ΠΈ BACKUP) Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π ΠΠΠΠΠΠΠ¦ΠΠ―:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Debian Jessie Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ backports ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π»-Π±Π°Π»Π°Π½ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΠ ΠΈ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ:
ΠΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ eth1 Π½Π°ΡΡΡΠΎΠΈΠΌ Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ· ΡΠ΅ΡΠΎΠΉ ΡΠ΅ΡΠΈ 172.16.0.0/24 :
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ IP Π°Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ eth0 Π½Π΅ Π½ΡΠΆΠ½ΠΎ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ Keepalived.
Π ΡΠ°ΠΉΠ» /etc/sysctl.d/local.conf Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ:
ΠΠ΅ΡΠ²Π°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ IP, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π½ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ (ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Nginx). ΠΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ DDoS Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° IPVS (ΠΏΡΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅ΡΡΠΈΠΉ Π½Π°ΡΠ½ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ). Π’ΡΠ΅ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ conntrack ΡΠ°Π±Π»ΠΈΡΡ.
Π /etc/modules Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ IPVS ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ conn_tab_bits ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ. ΠΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π΄Π²ΠΎΠΉΠΊΠΈ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β 20.
ΠΡΡΠ°ΡΠΈ, Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π΄ΠΎ ΡΡΠ°ΡΡΠ° Keepalived, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ΅Π³ΡΠΎΠ»ΡΠΈΡΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΠΌ ΠΎΠ±Π° ΡΠ·Π»Π°-Π±Π°Π»Π°Π½ΡΠ΅ΡΠ°. Π’Π°ΠΊ ΠΌΡ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Π²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅ΡΡΡ.
ΠΠ±ΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ. ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π΄Π²ΡΡ Π·Π°Π΄Π°Ρ:
ΠΠ²ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Nginx.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΠΈΠΈ stream Π² /etc/nginx/nginx.conf :
Π ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΠ°ΠΉΠ» /etc/nginx/sites-enabled/web_servers.conf
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ DNS-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΠ°ΠΉΠ» /etc/nginx/stream-enabled/dns_servers.conf
ΠΠ°Π»Π΅Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Keepalived (VRRP + LVS). ΠΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΡΠ·Π»Π°-Π±Π°Π»Π°Π½ΡΠ΅ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ MASTER/BACKUP.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ MASTER, ΡΠΊΡΠΈΠΏΡ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ LVS Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ LVS Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ DNS-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²:
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Nginx ΠΈ Keepalived:
Π’ΠΠ‘Π’ΠΠ ΠΠΠΠΠΠ:
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ index.php Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
Π ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ http ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ IP 192.168.0.100 :
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ LVS (Π½Π° MASTER ΡΠ·Π»Π΅), ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ:
ΠΠ΄Π΅ΡΡ Π²ΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°: Π΅ΡΡΡ Π΄Π²Π° Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈ 6 ΡΠΆΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ Π²ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π· LVS, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΠΈΠ΄ΠΈΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅: 2 Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΈ 6 Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.
ΠΠΠ‘ΠΠΠ‘ΠΠΠΠΠ:
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π½Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ ΠΎΡΠΏΡΠ°Π²Π½ΡΠΌ ΠΏΡΠ½ΠΊΡΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΡΡΠ°ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΠΏΠΎΡΠ½ΡΠΌ β ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ (ΠΊΠ»Π°ΡΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, h igh availability cluster, HA-ΠΊΠ»Π°ΡΡΠ΅Ρ ) β Π³ΡΡΠΏΠΏΠ° ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠ°Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ (ΠΠ). ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (ΡΠ·Π»ΠΎΠ²) ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΏΠΎΡΠ΅ΡΡΠ» ΡΠ²ΡΠ·Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ, VMmanager Π·Π°ΠΏΡΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ β ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΠΠ:
ΠΡΠΎΡΠ΅ΡΡ ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΡΡΠ°ΡΡΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ
Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ VMmanager Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ :
ΠΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ VMmanager ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ:
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΠ²ΠΈΡ ha-agent Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π‘Π΅ΡΠ²ΠΈΡΡ ha-agent Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ Corosync. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Corosync Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ha-agent ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ hawatch.
ΠΡΠΎΠ΄Π΅Π΄ΡΡΠ° Π²ΡΠ±ΠΎΡΠ° ΠΌΠ°ΡΡΠ΅ΡΠ°
ΠΡΠ±ΠΎΡ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ :
ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ·Π»ΠΎΠ²-Π²ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠ°ΡΡΠ΅ΡΠΎΠΌ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ·Π΅Π» Ρ ΡΠ°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ. ΠΠΎΡΠ»Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π°ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ.
ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠ±ΠΎΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 15 ΡΠ΅ΠΊΡΠ½Π΄.
Π‘ΡΠ°ΡΡΡΡ ΡΠ·Π»ΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
Π ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΡΠ·Π»Ρ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°ΡΡΡΡ:
Π‘Ρ Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ HA-ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
Network storage β ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
Management network β ΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
Case1 β ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°ΡΡΡΠ° «ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΏΠΎ ΡΠ΅ΡΠΈ»
Case2 β ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°ΡΡΡΠ° «ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΏΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ»
Case3 β ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ°ΡΡΡΠ° «ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΡΠΊΠ°Π·»
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠ° ΡΠ·Π»Π°
Π‘Π΅ΡΠ²ΠΈΡ ha-agent ΡΡΠΈΡΠ°Π΅Ρ ΡΠ·Π΅Π» ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½ΡΠΌ, Π΅ΡΠ»ΠΈ ΡΠ·Π΅Π» ΠΏΠΎΡΠ΅ΡΡΠ» ΡΠ²ΡΠ·Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ²ΡΠ·ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Corosync. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ·Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΠΎΡΠΌ ΡΡΠ°ΡΡΡΠ΅ Π² ΡΠ°ΠΉΠ» Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΡΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠ»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°ΡΡΡΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°, ΠΌΠ°ΡΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠ·Π΅Π» ΠΊΠ°ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½ΡΠΉ.
Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠ°ΡΡΡΠ° β ΠΎΡ 15 Π΄ΠΎ 60 ΡΠ΅ΠΊΡΠ½Π΄.
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΡΠΉ IP-Π°Π΄ΡΠ΅Ρ. ΠΡΠΈ ΠΏΠΎΡΠ΅ΡΠ΅ ΡΠ²ΡΠ·ΠΈ Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ ΡΠ·Π΅Π» ΠΏΡΠΎΠ²Π΅ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ IP-Π°Π΄ΡΠ΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ ping:
ΠΡΠ»ΠΈ ΡΠ·Π΅Π» ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΠ΅ΡΡΠ΅Ρ ΡΠ²ΡΠ·Ρ ΠΏΠΎ ΡΠ΅ΡΠΈ Π½Π° ΡΡΠΎΠΊ ΠΌΠ΅Π½Π΅Π΅ 15 ΡΠ΅ΠΊΡΠ½Π΄, ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠ°ΡΡΡ «ΡΠ΅ΡΡ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°». ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
ΠΠΎΠ³Π΄Π° ΡΠ·Π΅Π» ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΠ°Π·Π°Π²ΡΠΈΠΉ, ΡΠ΅ΡΠ²ΠΈΡ ha-agent Π½Π° ΡΠ·Π»Π΅:
ΠΠΎΠ³Π΄Π° ΠΌΠ°ΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΊΠ°Π·Π΅ ΡΠ·Π»Π° ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ·Π΅Π» ΠΊΠ°ΠΊ ΠΎΡΠΊΠ°Π·Π°Π²ΡΠΈΠΉ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΠΠ. ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΠΠ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° β ΡΠ΅ΠΌ Π²ΡΡΠ΅ Ρ ΠΠ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, ΡΠ΅ΠΌ ΡΠ°Π½ΡΡΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π°. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΡΠ΅Π»ΠΎΠΊΠ°ΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Ρ ΠΠ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Ρ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ:
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ (MDS) Π½Π° ΡΠ·Π»Π΅ Ceph:
ΠΠ»Π°ΡΡΠ΅Ρ Π΄Π»Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ΅Π½ΠΈΡ Π ΠΎΠΆΠΊΠΎΠ², Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«ΠΠ°Π·ΠΈΠ½ΡΠΎΡΠΌΡΠ΅ΡΠ²ΠΈΡΒ». Π£ΡΠ°ΡΡΠ²ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π‘Π£ΠΠ Jatoba. ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ²ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π‘Π£ΠΠ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ PostgreSQL β ΡΠΎΡΠΊ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π½Π°ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ.
Π‘Π£ΠΠ Jatoba ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅ΡΠ½Π΅Π³ΠΎ ΠΎΠΏΡΡΠ° ΠΏΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ β Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ PostgreSQL ΠΈ MS SQL, Π½ΠΎ ΠΈ Ρ Oracle, ΠΊΠ°ΠΊ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ Π‘Π£ΠΠ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ»Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ.
PostgreSQL, ΠΊΠ°ΠΊ ΡΡΠ΅Π½Π΄ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π»Π΅Ρ, Π·Π°ΡΡΠΎΠ½ΡΠ» Π½Π°Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ»ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ²ΠΎΡ Π‘Π£ΠΠ. ΠΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π½ΠΎ ΠΈ ΠΊΠΎΠ²ΡΡΡΠ΅ΠΌΡΡ Π²Π½ΡΡΡΠΈ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π‘Π£ΠΠ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΈ Π΄ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΌ Π½ΡΠΆΠ½Π°, Π½Π° ΡΠ·ΡΠΊΠ΅ C.
ΠΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ, Π³Π΄Π΅ Π‘Π£ΠΠ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΈ ΠΌΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ΄ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΈΠ½ΠΎΡΡΡΠ°Π½Π½ΡΡ Π‘Π£ΠΠ Π½Π° PostgreSQL ΠΈ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π‘Π£ΠΠ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠΏΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ Π½Π°Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ β ΡΡΠΎ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ.
Π‘Π½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΎΡΠΈΡ β ΠΌΡ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΈ ΠΎΠ±ΠΎΠ±ΡΠΈΠΌ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΆΠ΅ Π΅ΡΡΡ Π΄Π»Ρ PostgreSQL, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ ΠΈ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΡΠΎ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π» ΡΠΆΠ΅ ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ.
Π Π°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΠΏΠ°ΡΠ΅ Π³ΡΠ°Π±Π»Π΅ΠΉ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
Π‘ΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π‘Π£ΠΠ
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ, ΡΠΎ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΈΠΉ ΠΈ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»ΠΎ Π½Π°Π΄ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ:
Π΅ΡΡΡ High Availability β Π²ΡΡΠΎΠΊΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ;
ΠΈ Π΅ΡΡΡ Disaster Recovery β ΠΊΠ°ΠΊ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΠ΅Π². Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ Π±ΡΠΊΠ°ΠΏΡ, ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ Ρ.Π΄. β ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½, ΡΠ΅ΠΌ Π²ΡΡΠΎΠΊΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ.
ΠΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ disaster recovery, ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·Π΄Π΅Π» β High Availability.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΌΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° Π°ΡΠΏΠ΅ΠΊΡΠ΅ Π‘Π£ΠΠ. ΠΡΠΎΠ±Π΅ΠΆΠΈΠΌΡΡ ΠΏΠΎ Π²Π΅ΡΡ Π°ΠΌ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΠ±ΠΎΠ±ΡΠΈΡΡ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π½ΡΠ°Π½ΡΡ.
ΠΠΈΠ΄Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½?
Π‘Π΅ΠΉΡΠ°Ρ Π²ΠΎΠΏΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π΄Π»Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π½Π΅ ΡΠ°ΠΊ Π°ΠΊΡΡΠ°Π»Π΅Π½, ΠΊΠ°ΠΊ 10 Π»Π΅Ρ Π½Π°Π·Π°Π΄. Π‘Π΅ΠΉΡΠ°Ρ ΠΈ ΠΆΠ΅Π»Π΅Π·ΠΎ ΡΠΆΠ΅ ΡΡΠ°Π»ΠΎ ΠΌΠΎΡΠ½Π΅Π΅ ΠΈ ΡΠ΅ΡΡΠ΅Π·Π½Π΅Π΅, ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π΄ΡΡΠ³ΠΈΠ΅, ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΏΠΎΡΡΠΈ Π²Π΅Π·Π΄Π΅ β ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ.
Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, ΠΊΠ»Π°ΡΡΠ΅Ρ β ΡΡΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ². ΠΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅, ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ β ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ.
Π‘Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Π±ΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅:
ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ (High-availability clusters, HA, ΠΊΠ»Π°ΡΡΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ);
ΠΊΠ»Π°ΡΡΠ΅ΡΡ Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠΌΠ΅ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²Ρ ΠΎΠ΄ΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ (Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²) Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° (Load balancing clusters);
Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ (High performance computing clusters, HPC);
ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π° Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΠΌΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΊΠ°ΡΠ°ΡΡΡΡ, Π½ΠΎ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ½ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ.
Π’ΠΈΠΏΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
ΠΡΡΡ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ, ΡΡΠΈ ΡΠΈΠΏΠ° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²:
Ρ Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΠΌ ΡΠ΅Π·Π΅ΡΠ²ΠΎΠΌ ΠΈΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ/ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΉ (master\slave). ΠΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ·Π΅Π» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ, Π° ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΉ ΠΆΠ΄Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠΊΠ°Π·Π° ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ. ΠΡΠΈΠΌΠ΅Ρ β ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ²ΡΠ·ΡΡΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²ΡΠ·ΠΊΠ° DRBD ΠΈ HeartBeat /Corosync. Π₯ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ, Π½ΠΎ ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ, ΠΈΠΌΠ΅Π½Π½ΠΎ master\slave-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
Ρ Π³ΠΎΡΡΡΠΈΠΌ ΡΠ΅Π·Π΅ΡΠ²ΠΎΠΌ ΠΈΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ/Π°ΠΊΡΠΈΠ²Π½ΡΠΉ (master\master) β ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°Π²Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ, Π²ΡΠ΅ ΡΠ·Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ, Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΊΠ°Π·Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΡΠ°Π²ΡΠΈΠΌΠΈΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·Π΅. ΠΡΠΈΠΌΠ΅ΡΡ β ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Microsoft Cluster Server ΠΈΠ»ΠΈ OpenSource-ΠΏΡΠΎΠ΅ΠΊΡ OpenMosix. ΠΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΡΠ²ΠΎΠΈ ΠΌΠΈΠ½ΡΡΡ, Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΉ Π‘Π£ΠΠ ΠΎΠ½Π° Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π°. ΠΠΎ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ Ρ ΠΏΠΎΡΠΎΠΌ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, Π³Π΄Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π² PostgreSQL Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ.
Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ RAID ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ Π½Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ. ΠΡΠ΅ ΡΠ·Π»Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ (Π»ΠΈΠ±ΠΎ ΡΠ°ΡΡΠΈ Π΅Π³ΠΎ, Π½ΠΎ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌ ΠΈ ΠΏΡΠΈ ΠΎΡΠΊΠ°Π·Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ·Π»Π°), ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π±Π΅ΡΠ΅ΡΡΡ Π»ΡΠ±ΠΎΠΉ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠ·Π»ΠΎΠ² Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ (Π»ΠΈΠ±ΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΡΠ°Π±ΠΎΡΡ). ΠΡΠΈΠΌΠ΅ΡΡ β RAID ΠΈ Triple modular redundancy. Π ΡΠ°ΠΌΠΎΠΉ Π‘Π£ΠΠ ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΠΎΡΡΠ΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΈΠΏΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ β Π² ΡΠ°Π·Π½ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°Ρ Π‘Π£ΠΠ Π΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΠΈΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ².
Shared nothing β ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΈΡΠΊΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ, Π³Π΄Π΅ ΠΎΠ½ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎ Π²Π΅Π΄Π΅Ρ Π²ΡΠ΅, ΡΡΠΎ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ. Π‘Π΅ΡΠ²Π΅ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»ΡΡ, Π½ΠΎ ΠΎΠ½ΠΈ ΡΠΌΠ΅ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ.
Shared disk β ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·Π»ΠΎΠ² ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΠΈΡΠΊΠΎΠΌ ΠΈ ΡΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠΎΠΌ Π΄ΠΈΡΠΊΠ΅.
Shared memory β ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ. ΠΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π² MS SQL ΠΈ PostgreSQL, Π½ΠΎ Π² ΠΎΠ±ΡΠ΅ΠΉ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΠΎΠΆΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π½Π΅ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡΡΡ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄ΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎ.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π² MS SQL Server
Π― Π½Π΅ Π±ΡΠ΄Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈ, Π½Π΅ Π±ΡΠ΄Ρ ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π±ΠΈΡΠ²Ρ MS SQL ΠΈ PostgreSQL β Ρ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°ΠΏΠΎΠΌΠ½Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π΅ΡΡΡ Π² Microsoft SQL Server ΠΈ ΠΏΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ PostgreSQL.
Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅, Π² Ρ ΠΎΠ΄Π΅ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±Π΅ ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ². Π ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈ Π²Ρ ΡΠ°ΠΌΠΈ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ. Π Π² ΠΊΠΎΠ½ΡΠ΅ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΡΠΎ ΠΎΠ±ΠΎΠ±ΡΠΈΡΡ.
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π‘Π£ΠΠ MS SQL β ΡΡΠΎ Microsoft Windows Server Failover Clustering (WSFC) ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ AlwaysOn.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ AlwaysOn ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π³ΠΈΠ±ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΈ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
AlwaysOn ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ:
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Π½Π°ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅ΠΌ Π½Π΅ ΡΠΈΠ³ΡΡΠΈΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ β ΡΡΠΎ ΠΏΡΠΎ Π½Π°Ρ.
ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΠΉ Π½ΡΠ°Π½Ρ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ: ΡΠ΅ΠΌ ΡΡΠΈ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ β ΠΏΡΠΈΡΠ΅ΠΌ, ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ MS SQL, ΡΠ°ΠΊ ΠΈ Π² PostgreSQL.
Asynchronous-commit mode (Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ) β ΡΡΠΎ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²ΡΠΎΡΠΈΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Π»Π° ΠΆΡΡΠ½Π°Π» Π½Π° Π΄ΠΈΡΠΊ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄Π°Ρ Π²ΡΠΎΡΠΈΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ β Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΈ ΡΠΆΠ΅ Π½Π΅Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄Π°Π»ΡΡΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΡ ΠΆΡΡΠ½Π°Π»Π° ΡΡΠ°Π·Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠ»Π°Π²Π½ΠΎΠ΅, Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊ ΡΠ΅Π±Π΅ ΠΈ Π²ΡΠΎΡΠΈΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°. ΠΠ° ΡΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ -ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»ΡΡ , Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌ Π½Π΅ ΡΡΠΏΠ΅Π²Π°ΡΡ Π·Π° Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ -ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΈΡΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ .
Synchronous-commit mode (ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ) β ΡΡΠΎ ΡΠ΅ΠΆΠΈΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΆΠ΄Π΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠΎΡΠΈΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ»Π°, ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ ΠΆΡΡΠ½Π°Π»Π° Π½Π° Π΄ΠΈΡΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, ΠΈ ΡΠ°ΠΉΠΌΠΈΠ½Π³ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π±ΡΠ΄ΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ. ΠΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ -ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ -ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠ΅Π½Ρ.
Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ»Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π°, ΡΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΎΡΡΠ°Π½ΡΡΡΡ ΠΆΡΡΠ½Π°Π»Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎ ΠΈ Π΅ΡΡΡ Π½ΡΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ β Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π½ΠΎ Π΅ΡΡΡ ΡΠΈΡΠΊΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ 1Π‘ β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΌΡ, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠΌΠΈΠ½Π³ΠΈ ΠΈ Π»Π°Π³ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ Π²Π»ΠΈΡΡΡ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·Π»ΠΎΠ² Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Β«ΠΡΡΠΏΠΏΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈΒ» β ΡΡΠΎ Π³ΡΡΠΏΠΏΠ° Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΊΠ°Π·Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΡΡΠΏΠΏΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π°ΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° read-only, ΡΠ½ΠΈΠΆΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ°ΡΡΠ΅Ρ-Π±Π°Π·Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΡΠ΅ Π±Π°Π·Ρ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΡΠ·Π΅Π» β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ read/write.
ΠΠ΄Π΅ΡΡ Π²ΠΎΠΏΡΠΎΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π²ΡΠΎΡΠΈΡΠ΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΡΠ°Π½ΡΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π² MS SQL Server
ΠΡΠ΅ ΡΠ°Π· ΠΎΠ±ΠΎΠ±ΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ Π² SQL Server.
Π Π΅ΠΆΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΆΠ΄Π΅Ρ Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ°Π»ΠΈΡΡ Π² ΠΆΡΡΠ½Π°Π» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° Π΄ΠΈΡΠΊ.
ΠΡΡΠΏΠΏΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ AlwaysOn ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ°: ΡΠ΅ΠΆΠΈΠΌ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
Π ΡΡΠΈΡ Π΄Π²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ:
ΠΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΈΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΠΎΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ β ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΡΡΠΏΠ΅Π» ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΌΡ.
Π ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ commit mode ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΊΠ°ΠΊ Π²ΡΡΡΠ½ΡΡ, ΡΠ°ΠΊ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΡ Π·Π΄Π΅ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Ρ ΠΎΡΡ ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ Π½ΡΠ°Π½ΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ .
ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° MS SQL Server Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΡΡΡ Ρ ΡΡΠ΅ΡΠΎΠΌ Π³ΡΡΠΏΠΏ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΠ±Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½Π°Ρ Π² Π½ΠΈΡ , Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΡΡΡ Π²ΡΡΡΠ½ΡΡ.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π² PostgreSQL
Π PostgreSQL Π·ΠΎΠΎΠΏΠ°ΡΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ β ΡΠ½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΡΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½ΡΠ°Π½ΡΡ, Π° Π² ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΠΎΠ±ΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π½Π°Ρ Π΅ΡΡΡ.
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ
Π PostgreSQL Π΅ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ»ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ:
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΡΠΌΠ΅Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΠΌΠΈ PostgreSQL. ΠΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Postgres, ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π΄ΠΎΠΉΡΠΈ Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠΉ.
ΠΠΎΠΆΠ½ΠΎ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ Π²ΡΡ Π‘Π£ΠΠ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΆΡΡΠ½Π°Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠΌΠΈ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°ΡΡ. Π ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ 1Π‘ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π² Π‘Π£ΠΠ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ 1Π‘ ΠΌΠ΅Π½Π΅Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°, ΡΠ΅ΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ PostgreSQL.
ΠΠΈΠ½ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ:
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»Π΅Π½.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π¦ΠΠ£, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, Π±ΡΠ΄ΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΡΡΠ΄Π΅Ρ.
ΠΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ: Pglogical, Slony ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ β Londiste (Skytools) ΠΈ Bucardo.
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ Postgres ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ»ΡΡΡ:
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠ΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡ, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ½ΠΎΠ³Π΄Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π‘Π£ΠΠ Π»Π΅Π³ΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° β ΡΡΠΎ ΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ, Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β Π°Π΄. ΠΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π΄Π΅ΡΡ ΡΠ²Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΡΠ°ΡΠ΅Π½ΠΎ.
ΠΠΈΠ½ΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
Π²ΡΠ΅ ΡΠ»Π΅ΠΉΠ²-Standby-ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ Π΄Π²ΡΠΌΡ read/write, ΡΠΎ ΡΡΠΎ ΡΠΆΠ΅ Π΄ΡΡΠ³Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ.
ΠΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π°Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΌΠΈΠ½ΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ , Π½ΠΎ ΠΌΠ°ΠΆΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΠΈΠ½Π°ΡΠ΅ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ: Π»ΠΈΠ±ΠΎ Π²ΡΡ Π‘Π£ΠΠ, Π»ΠΈΠ±ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ.
Π‘Ρ Π΅ΠΌΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π² PostgreSQL
ΠΠΎΡΠ΅ΠΌΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ?
Π PostgreSQL Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Primary Node β ΠΌΠ°ΡΡΠ΅Ρ-Π±Π°Π·Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° read/write. ΠΠ½Π° ΠΏΠΈΡΠ΅Ρ ΠΆΡΡΠ½Π°Π» ΠΏΡΠ΅Π΄Π·Π°ΠΏΠΈΡΠΈ β ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ WAL-ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ Π‘Π£ΠΠ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ, ΠΈ Π½Π΅ΡΡΡ Π² ΡΠ΅Π±Π΅ ΠΆΡΡΠ½Π°Π» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΈΠΌ WAL-ΡΠ°ΠΉΠ»Π°ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΉΠ²-Π±Π°Π·Ρ (Standby Node)/
Standby Node Π½Π° PostgreSQL ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· WAL-ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² PostgreSQL, Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΎΠ½ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΆΡΡΠ½Π°Π»Π°ΠΌΠΈ ΠΏΡΠ΅Π΄Π·Π°ΠΏΠΈΡΠΈ (WAL-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ).
Π PostgreSQL Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΠΆΡΡΠ½Π°Π» ΠΏΡΠ΅Π΄Π·Π°ΠΏΠΈΡΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ» Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ.
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ PostgreSQL
Π PostgreSQL Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ:
ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ;
One-directional ΠΈ Bi-directional.
Bi-directional Π² PostgreSQL β ΡΡΠΎ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Ρ Π³ΠΎΡΡΡΠΈΠΌ ΡΠ΅Π·Π΅ΡΠ²ΠΎΠΌ master/master. ΠΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ, Π½ΠΎ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ΠΌ.
ΠΠ°ΡΠΊΠ°Π΄Π½Π°Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π§Π°ΡΡΠΎ Π½Π° ΠΌΠ°ΡΡΠ΅Ρ Π² Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΉΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ read-only, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΡ ΠΊΠ°Π½Π°Π» ΠΌΠ°ΡΡΠ΅Ρ-Π±Π°Π·Ρ ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠ»Π΅ΠΉΠ²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΈΠ·-Π·Π° Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΉΠ²Π°.
ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π² Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΉΠ², Π° Ρ Π½Π΅Π³ΠΎ β ΡΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½Π°Π΄ΠΎ ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΠ»Π΅ΠΉΠ² ΡΠΎ ΡΠ»Π΅ΠΉΠ²Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ Π°ΠΊΡΡΠ°Π»Π΅Π½, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΉΠ², Π½ΠΎ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π³ΡΡΠΆΠ°ΡΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ°ΡΡΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°Π½Π°Π»Ρ, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ β Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Ρ.Π΄., ΡΡΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π°.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° master/slave Π½Π° PostgreSQL
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ PostgreSQL, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ master/slave β ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ.
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠ΅Ρ β ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Ρ ΠΌΠ°ΡΡΠ΅ΡΠ°, Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠ»Π΅ΠΉΠ² ΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π° ΡΠ»Π΅ΠΉΠ²Π΅.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΉΠ²Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ Π±ΡΠΊΠ°ΠΏ-ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠ΅ΡΠ°. ΠΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΎΠ½Π° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π΅ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΡΡΠ½Π°. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΡΠΎΡΡΠΌ ΡΠ°Π³ΠΎΠΌ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠ°ΡΡΠ΅ΡΠ° Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΠ»Π΅ΠΉΠ²-ΠΊΠΎΠΏΠΈΡ.
ΠΠΎΡΠΎΠΌ ΡΡΡ ΡΠ»Π΅ΠΉΠ²-standby-ΠΊΠΎΠΏΠΈΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΎΠ²Π°ΡΡ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΠ»Π΅ΠΉΠ²-Π±Π°Π·Ρ, ΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π΄ΠΎΠ½Π°ΠΊΠ°ΡΠ° WAL-ΡΠ°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ΄ΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ.
ΠΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²ΡΡΡΠΊΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ MASTER server
ΠΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π½ΡΠΆΠ½ΠΎ:
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠΌ:
CREATE ROLE replica WITH LOGIN REPLICATION PASSWORD ‘β¦’;
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ°Π³ Ρ Π½Π°Π·Π²Π°Π» ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ PostgreSQL. ΠΠΎ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π‘Π£ΠΠ. Π§ΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ, ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² PostgreSQL ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π² Π‘Π£ΠΠ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠΎΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ β ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
Π postgresql.conf ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ wal_level ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ max_wal_senders:
wal_level=hot_standby
max_wal_senders > 0
Π pg_hba.conf ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ, Π² ΡΠΎΡΠΌΠ°ΡΠ΅:
host replication username client_addr/mask authtype
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π»ΡΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ md5:
host replication replica 192.168.1.0/32 md5
ΠΠ΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ trust, Ρ
ΠΎΡΡ ΡΡΠΎ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ»Π΅ΠΉΠ²-ΡΠ΅ΡΠ²Π΅Ρ β ΡΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ, Π΄Π»Ρ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ Ρ Π²Π°Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΡΠ΅ΡΠΈ, Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΠ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΠΆΠ΄Π΅ΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ Ρ Π²Π°Ρ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΡΠΊΠ°ΠΏΠ°.
ΠΠΎ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΎΠ² β Ρ Π½Π°Ρ Π±ΡΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΉΠ²Π° Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ°ΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠΎΠΈΡ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π°ΡΡ ΠΈΠ²Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ β Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Linux:
Lbzip2 β bzip2-ΡΠΆΠ°ΡΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π±ΡΡΡΡΠ΅Π΅ (Π°Π½Π°Π»ΠΎΠ³ΠΈ: pbzip2, pigz);
Ionice β ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π΄Π»Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ nice Π΄Π»Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ CPU ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°);
pv β ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· pipe ΠΈ Ρ.ΠΎ. ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ Π² Π΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Π°Π½Π°Π»ΠΎΠ³ β throttle);
tar β ΡΡΠΈΠ»ΠΈΡΠ° Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΡΠΆΠ½Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΆΠ°ΡΠΈΠ΅ bzip2/gzip;
tee β ΡΡΠ΅Π½ΠΈΠ΅ Ρ stdin c Π·Π°ΠΏΠΈΡΡΡ Π² stdout ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ (ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ coreutils);
gpg β ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π±ΡΠΊΠ°ΠΏΠ° Π½Π° ΡΠ»Π΅ΠΉΠ²-ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π’Π΅, ΠΊΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ Ρ Linux, ΡΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΡΡ. Π ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ Windows ΡΡΠΎΡ Π½Π°Π±ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ β Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠ°Π±Π»ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ pg_basebackup.
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ postgresql.conf ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π»:
wal_level=hot_standby
max_wal_senders > 0
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΡΠΊΠ°ΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ.
ΠΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΡΡΠ°Π²ΡΡΠ΅ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π΅ Π½Π° Linux Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ PostgreSQL Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ fsync = off. ΠΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π³ΡΠ°Π±Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ pg_basebackup, Π½ΠΎ Π»ΡΠ΄ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠ΅Π½ΡΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΏΠΎΡΠΎΠΌ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±ΡΠΊΠ°ΠΏΠ° β ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ.
ΠΡΠ΅ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ pg_basebackup ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π±ΡΡΡΡΠΎ. ΠΠ΅ ΠΏΠ»ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² PostgreSQL ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ β Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² Π‘Π£ΠΠ, ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² pg_basebackup. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, ΠΎΠ½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½ΠΎΠ²ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ PostgreSQL. ΠΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΡΠΆΠ΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π½ΠΎΠ²Π°Ρ, ΠΎΡΡΡΠ΄Π° Π΅Π΅ ΠΌΠΈΠ½ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»Π΅ΠΉΠ²Π° ΠΈ Π±ΡΠΊΠ°ΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΠ»ΠΈΡΡ pg_basebackup, Π΅ΡΡΡ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ:
Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΠ‘;
ΠΏΠΎΡΠΎΠΌ ΡΠ΄Π΅Π»Π°ΡΡ pg_stop_backup();
ΠΈ Π΄ΠΎΠ½Π°ΠΊΠ°ΡΠΈΡΡ ΡΠ΅ WAL-ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅.
ΠΠΎΠ΄ΡΠ΅ΡΠΊΠ½Ρ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΉΠ²-Π±Π°Π·Ρ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ β ΡΡΠΎ Π²Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΎΠΌΠ΅ ΡΡΠΈΠ»ΠΈΡΡ pg_basebackup Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΡΠΊΠ°ΠΏΠΎΠ² Π΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ pg_probackup, wal-g (ext wal-e), barman, PGBACKREST.
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π·Π½Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ pg_probackup β Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ Π²ΡΠΏΡΡΠΊΠ°ΡΡ Π½Π°ΡΠΈ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΈΠ· Postgres Professional.
Π£ΡΠΈΠ»ΠΈΡΠ° wal-g ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΠΎΠ½Π° ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ β ΡΠ°ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ. ΠΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠΎΠΌ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ Π±ΡΠ»Π° ΡΡΠΈΠ»ΠΈΡΠ° wal-e, Π΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄Ρ Π²Π°ΡΠΈΠ»ΠΈ Π½Π°ΡΠΈ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΈΠ· Π―Π½Π΄Π΅ΠΊΡΠ° ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΡ Π΅ΡΠ΅ PGBACKREST.
Π Π΅ΡΡΡ barman β ΡΡΠΈΠ»ΠΈΡΠ° ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ, ΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΡΡΠ°ΠΌΠΈ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ Π±ΡΠΊΠ°ΠΏ, ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Postgre, Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ pg_basebackup Π²Π°Ρ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΡΡ, ΠΏΠΎΠΈΠ·ΡΡΠ°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π΄Π»Ρ Π±ΡΠΊΠ°ΠΏΠΎΠ².
ΠΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ° STANDBY
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΠ°ΠΏ β Π΄ΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ° STANDBY-Π±Π°Π·Ρ. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠ΅ΡΠ΅ ΠΈ Π½Π° ΡΠ»Π΅ΠΉΠ²Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
Π ΠΌΠ°ΡΡΠ΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠ΅Π½Π΄Π±Π°ΠΉ ΡΠ΅ΡΠ²Π΅Ρ:
hot_standby = on
ΠΠ° ΡΠ»Π΅ΠΉΠ²Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ standby_mode:
standby_mode = on
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ wal_receiver_timeout Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΎ, ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ΅ΠΌΠ° WAL-ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΆΠ΅ ΠΈΡΡΠ΅ΠΊ.
Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Postgre ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½Ρ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈ ΡΠ°ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Ρ ΡΠΊΠ°Π·Π°Π» Π½Π° ΡΠ»Π°ΠΉΠ΄Π΅.
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ»Π΅ΠΉΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π² PostgreSQL Π½Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ:
Π² ΡΠΎΠΌ Π»ΠΈ Ρ Π²Π°Ρ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π±Π°Π·Π°:
select pg_is_in_recovery();
ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠΎ standby ΡΠ΅ΡΠ΅Π· Π²ΡΡΡ
Ρ pg_stat_replication:
select * from pg_stat_replication ;
ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² wal sender ΠΈ wal receiver Π² Linux β ΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π° ΠΌΠ°ΡΡΠ΅ΡΠ΅ ΠΈ ΡΠ»Π΅ΠΉΠ²Π΅, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΠ½Π°ΠΊΠ°Ρ WAL-ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎ ΠΊΠΎΡΠΎΡΡΡ
Ρ Π³ΠΎΠ²ΠΎΡΠΈΠ»:
ps auxf
ΠΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ»Π΅ΠΉΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
Π ΠΆΡΡΠ½Π°Π»Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ β ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ.
ΠΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π½ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
ΠΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΊΡΡΠ° Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ β Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π·Π½Π°ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠΊΠ°ΠΌΠΈ? ΠΠ΅ΡΠΆΠ΅Π»ΠΈ Π½Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ°Ρ ΠΎΠ±ΡΡΠ½ΡΠΉ FAILOVER, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π½ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ Π±Π°Π·Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΡΠ°Π»Π° ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ. ΠΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΌΠΎΠ³Π»ΠΈ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ.
Π ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ PostgreSQL ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅Ρ, Π½ΠΎ Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ.
FAILOVER β ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π² PostgreSQL Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Π½Π΅ Π΄Π²ΡΠΌΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠ±Π΅ΠΆΠΈΠΌΡΡ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈΠ΄ΡΡ Π΄Π»Ρ Linux-like, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΡΡΠΎ Π½Π° Windows ΠΈ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅.
Π‘ΠΈΡΡΠ°ΡΠΈΡ ΡΠΎ SPLITBRAIN ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π±Ρ ΡΠΌΠΎΡΡΠ΅ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π½ΠΎ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π½Π°Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ.
PGPOOL-II
ΠΠ°ΡΠ½Ρ Π½Π΅ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ β ΡΠΊΠ°ΠΆΡ ΠΏΡΠΎ PGPOOL-II.
ΠΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π±ΠΈΡΠ°Π΅Ρ Π½Π° ΡΠ΅Π±Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ, ΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΡΠ΄Π° ΡΡΠΎΡ ΡΡΠ°ΡΠΈΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ.
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΎΠ»ΠΈ:
Connection Pooling β Π·Π°Π±ΠΈΡΠ°ΡΡ Π²Π΅ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π½Π° Π‘Π£ΠΠ.
Replication β ΠΎΠ½ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ. Π’ΠΎ, ΡΡΠΎ Ρ Π²Π°ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π» ΠΏΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ Π² PostgreSQL, ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°ΠΌ ΠΈ ΠΏΡΠ΅Π΄Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ.
Load Balancing β ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° read-only ΡΠ·Π»Π°Ρ . ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠ·Π»Ρ read-only, ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΠΈΠ³-ΡΠ°ΠΉΠ»Π΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π₯ΠΎΡΡ Π΄Π»Ρ 1Π‘ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ.
Limiting Exceeding Connections β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΡΠ°.
ΠΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎΠΉ FAILOVER. ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π£ ΡΡΠΈΠ»ΠΈΡΡ PGPOOL-II Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΡΠΎΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β ΡΡΠΎ PGPOOL ADMIN.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ Π²Π°Ρ Π΅ΡΡΡ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈ Ρ.Π΄.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ PGPOOL-II ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ.
ΠΠ»ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅.
Patroni
ΠΡΠΎ Patroni ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» Π‘Π΅ΠΌΠ΅Π½ Π’ΡΠΎΡΠΊΠΈΠ½.
ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Linux, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡΠΎΠΈΡΡΡ Π½Π° ZooKeeper, etcd ΠΈ Consul. Π Windows Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅Ρ, ΡΠΎ Patroni Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° Linux.
CITUSDATA
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ PostgreSQL Citus Data ΠΏΠΎΠΏΠ°Π»ΠΎ Π² ΠΌΠΎΠΉ Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ High Availability, Π° ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½Π° PostgreSQL Ρ ΠΎΡΠΎΡΠ΅Π΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π°Π·Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Citusdata Π² ΠΏΠΎΡΡΠ°Π²ΠΊΡ PostgreSQL Π΄Π»Ρ 1Π‘ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ, ΠΎΡΡΠ°Π²ΠΈΠ² ΠΈΡ Π½Π° read/write, ΡΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π΅ PostgreSQL Π΅ΡΡΡ.
Pgbouncer ΠΈ HaProxy
ΠΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Pgbouncer ΠΈ HaProxy Π½ΡΠΆΠ½Ρ Π½Π΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, Π½Π΅ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ FAILOVER. ΠΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½Ρ, ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ PostgreSQL Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ PostgreSQL β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ PostgreSQL.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. ΠΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ 1000, ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠΉ Π‘Π£ΠΠ.
ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ»ΠΈΠ½Π³Π°, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π΄ΡΠΌΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΡΠ»ΠΈΠ½Π³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Pgbouncer ΠΈ HaProxy. HaProxy Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π‘Π£ΠΠ β Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΡΡΠΎΠ²Π½Π΅ TCP.
ΠΠΎ ΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Linux, Π° Π²ΠΎΡ Π² Windows ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° Windows, Π½ΠΎ ΡΡΠΎ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ.
Bi-Directional Replication
Bi-Directional Replication β ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠΈΡΠ°. Π’Π° ΡΠ°ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠΏΠ°Π»Π° Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ΄Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ -ΡΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ read/write.
ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ ΡΠΈΠΊΠ°ΡΠ½ΠΎ β ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΎΠ½ΠΈ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° read/write, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»ΡΠ±ΡΠΌ ΠΈΠ· Π½ΠΈΡ .
ΠΠΎ Π·Π΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΊΠ°ΠΊ ΠΈ Π² MS SQL Server, Π·Π΄Π΅ΡΡ Ρ Π²Π°Ρ Π±ΡΠ΄ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΠΎΠΉ β ΡΡΠΎ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΠ°Π·Π½ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ master/master.
Π Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ PostgreSQL ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Bi-Directional Replication Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΡΠ΅Π½Ρ Π΄ΡΠ΅Π²Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ 1Π‘.
ΠΠΎ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅ΡΡΡ Π² ΠΏΠ»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΎΡΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ β Postgres Pro multimaster extension, Postgres XL, Postgres-XC.
Π Bucardo ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ. Π ΠΈΠ½ΠΎΡΡΡΠ°Π½Π½ΡΠΉ Π²Π΅Π½Π΄ΠΎΡ 2ndQuadrant Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ BDR ΡΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Bi-Directional Replication Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ master/master.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π±ΠΎΠ»ΡΡΠ΅ 3-5? ΠΠ°Ρ ΠΎΠΏΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π²ΡΡΠ΄ Π»ΠΈ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ Π΄Π²ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ. ΠΠ°Π³ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ, Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π²Π° ΠΌΠ°ΡΡΠ΅ΡΠ°. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π±ΡΠ΄ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠΎ ΡΡΠΎΠΉ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π° Π½Π°Ρ Π²Π·Π³Π»ΡΠ΄, ΠΏΠΎΠ΄ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ.
Jatoba
Π Π‘Π£ΠΠ Jatoba Π½Π°ΠΌΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π°Π³Π΅Π½Ρ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠ½ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ, ΡΡΠΎ Ρ Π½ΠΈΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΡΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ.
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΎΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π²ΡΡΡΠ½ΡΡ β Π½Π°ΡΠΈ ΡΡΠΈΠ»ΠΈΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ PostgreSQL Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ WSFC
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π½Π° Windows PostgreSQL ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ WSFC ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ MS SQL Server?
ΠΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π² Windows Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ PostgreSQL Server ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ»ΡΠΆΠ±Ρ MS SQL Server.
Π’Π°ΠΌ Π΅ΡΡΡ Π½ΡΠ°Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΏΠ»ΡΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π‘Π£ΠΠ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΉΠ², ΠΌΠ°ΡΡΠ΅Ρ β ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ WSFC ΠΏΡΠΈΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ° ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ.
Π£ Π½Π°Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ β ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π― ΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π° Windows ΠΊΠ»Π°ΡΡΠ΅Ρ WSFC Ρ PostgreSQL Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ β Π΄Π°ΠΆΠ΅ Ρ Postgres Pro Enterprise Π·Π°ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π° (Π²ΠΈΠ΄Π΅ΠΎ), ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠΈΡΠ°ΠΏΠ΅ «PostgreSQL VS Microsoft SQL». ΠΠΎΠ»ΡΡΠ΅ ΡΡΠ°ΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ.