Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 5: ВСстированиС Bacula ΠΈ Veeam Backup for Linux

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 5: ВСстированиС Bacula ΠΈ Veeam Backup for Linux

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ «Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ коммСрчСскиС. Бписок ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ²: Veeam Agent для Linux, Bacula.

Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π° ΠΈΠΌΠ΅Π½Π½ΠΎ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ.

ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ваТнСйшим Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ β€” ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ объСма Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΏΡ€ΠΈ этом.

ΠžΠ±Π·ΠΎΡ€ Veeam Agent для Linux

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌΠΈ устройствами, для Ρ‡Π΅Π³ΠΎ Ρƒ Π½Π΅Π΅ имССтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для ядра Linux, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π·Π° счСт отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС находится здСсь.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° основС Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ модуля ядра: создаСтся слСпок Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ монтируСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, послС Ρ‡Π΅Π³ΠΎ выполняСтся синхронизация Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡ„Π°ΠΉΠ»ΠΎΠ²ΠΎ ΠΈΠ· слСпка Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ smb ΠΈΠ»ΠΈ nfs, Π³Π΄Π΅ создаСтся нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ довСсти Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 15-16% выполнСния ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ°Π΄Π°Π»Π° Π΄ΠΎ 600 кбсСк ΠΈ Π½ΠΈΠΆΠ΅, ΠΏΡ€ΠΈ 50% использовании cpu, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ 6-7 часам Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСсса Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, поэтому процСсс Π±Ρ‹Π» остановлСн.

Π‘Ρ‹Π»Π° создана заявка Π² Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Veeam, сотрудники ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² качСствС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠ±Π»ΠΎΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ создания Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Ρ‚Π°ΠΊΠΎΠ²Ρ‹:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 5: ВСстированиС Bacula ΠΈ Veeam Backup for Linux

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ β€” 6 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π° 20 Π³Π± Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ†Π΅Π»ΠΎΠΌ достаточно Π½Π΅ΠΏΠ»ΠΎΡ…ΠΈΠ΅ впСчатлСния ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ€Π΅ ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° сильно большой ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠžΠ±Π·ΠΎΡ€ Bacula

Bacula β€” ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ПО для создания Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, логичСски состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частСй, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСт свою Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π•ΡΡ‚ΡŒ Director, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит для управлСния, FileDaemon β€” сСрвис, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, StorageDaemon β€” сСрвис хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, Console β€” интСрфСйс ΠΊ Director (Π΅ΡΡ‚ΡŒ TUI, GUI, Web Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹). Π”Π°Π½Π½Ρ‹ΠΉ комплСкс Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΎΠ±Π·ΠΎΡ€ Π΅Ρ‰Π΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ нСсмотря Π½Π° ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎ большой ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния, ΠΎΠ½ являСтся достаточно популярным срСдством ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования.

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ создания ΠΏΠΎΠ»Π½Ρ‹Ρ… Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ

Π’ этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Bacula ΠΏΠΎΠΊΠ°Π·Π°Π»Π° сСбя достаточно прСдсказуСмо, выполняя созданиС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² срСднСм Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚,
ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ получился Ρ‚Π°ΠΊΠΎΠΉ:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 5: ВСстированиС Bacula ΠΈ Veeam Backup for Linux

Π Π°Π·ΠΌΠ΅Ρ€ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ составил ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 30 Π³Π±, ΠΊΠ°ΠΊ ΠΈ оТидалось ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠŸΡ€ΠΈ создании ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π΅ особо ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΈΡΡŒ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° рСпозитория, разумССтся (порядка 14 Π³Π±).

Π’ Ρ†Π΅Π»ΠΎΠΌ Π²ΠΈΠ΄Π½ΠΎ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠΎΠ΄Π½ΠΎ процСссорноС ядро, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ tar с Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ сТатиСм. Π’Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ настройки bacula для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования вСсьма ΠΈ вСсьма ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ β€” ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ явноС прСимущСство Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Π’ Ρ†Π΅Π»ΠΎΠΌ ситуация нСблагоприятная для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ², вСроятнСС всСго ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ создания Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн Ρ‚Π°ΠΊΠΆΠ΅ процСсс восстановлСния ΠΈΠ· Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, ΠΎΠ±Ρ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎ суммарному Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Анонс

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 1: Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±Π·ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 2: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС rsync-based срСдств Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 4: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС zbackup, restic, borgbackup
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 5: ВСстированиС Bacula ΠΈ Veeam Backup for Linux
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 6: Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ срСдств Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 7: Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Автор ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: ПавСл Π”Π΅ΠΌΠΊΠΎΠ²ΠΈΡ‡

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com