Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь, Π₯Π°Π±Ρ€!

Π—Π°Π΄Π°Ρ‡Π°

Π’ ΠΌΠΎΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ сСрвСр Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Kerio Connect, Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π³ΠΎΡ€ΠΎΠ΄Π°Ρ… установлСны ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ сСрвСра ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. РаспрСдСлСнной структуры ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΡ€ΠΎΠ΄Π° ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ. ВсС Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΈ всСх устраивало. Π’ ΠΎΠ΄ΠΈΠ½ прСкрасный дСнь β€” руководство поставила Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ Π΄Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ всСми ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°ΠΌΠΈ!

ΠŸΡ€Π΅Π΄Ρ‹ΡΡ‚ΠΎΡ€ΠΈΡ

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ идСя Π±Ρ‹Π»Π° β€” ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ РаспрСдСлСнный ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½ Kerio ΠΈ ΠΎΠ½ сам всС сдСлаСт. Π‘ΠΊΠ°Π·Π°Π½ΠΎ, сдСлано распрСдСлСнный Π΄ΠΎΠΌΠ΅Π½ Π±Ρ‹Π» создан, Π½ΠΎ Π½Π΅ Ρ‚ΡƒΡ‚-Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ, сСрвСр Π³ΠΎΡ‚ΠΎΠ² Π±Ρ‹Π» ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΠΈ, ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ β€” ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ находящимися Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС, Π½ΠΎ вовсС Π½Π΅ собирался ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими сСрвСрами.

Π’Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΡ…Π° я, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π» ΠΈ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π² отсутствиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΌΠ½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°. ПозТС нашСл Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ этому Ρ„Π°ΠΊΡ‚Ρƒ. Π§Π΅ΠΌ Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΎΠ·Π°Π΄Π°Ρ‡Π΅Π½ ΠΈ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½.

Π—Π°Π΄Π°Ρ‡Π° ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‚Π΅ΠΊΠ»Π° Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

КакиС Π±Ρ‹Π»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹

  • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²ΡƒΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… сСрвСрах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ сторонним ПО ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. НуТно Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΡ‚ΠΈ это самоС сторонниС ПО, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π»ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» – Π½Π΅ люблю Ρ‚Π°ΠΊΠΈΠ΅ Π³Ρ€Π°Π±Π»ΠΈ, Π½ΠΎ казалось Ρ‡Ρ‚ΠΎ это СдинствСнно быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.
  • ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный скрипт синхронизации Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Kerio Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», соотвСтствСнно Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ скрипт Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π½ΠΎ Π² Π²ΠΈΠ΄Ρƒ достаточного ΠΊΠΎΠ»-Π²Π° источников Π·Π°Π΄Π°Ρ‡Π° казалось нСсколько слоТной, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСствСнныС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ коррСктности Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π΄Ρ€ΡƒΠ³ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ создаст Π·Π°Π΄Π°Ρ‡Ρƒ Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ‚Π΄ ΠΈ Ρ‚ΠΏ.

ЗабСгая Π²ΠΏΠ΅Ρ€Π΅Π΄ скаТу, Ρ‡Ρ‚ΠΎ Kerio Ρ…ΠΎΡ‚ΡŒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΎΠ½ Π½Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π»ΡƒΠΏ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ β€” ΠΊΠ°ΠΊ Π΄Π΅Π»Π° Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

ΠŸΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ² Π½Π° Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, изрисовав ΠΊΡƒΡ‡Ρƒ Π±ΡƒΠΌΠ°ΠΆΠ΅ΠΊ с ΠΏΠ»Π°Π½Π°ΠΌΠΈ β€œΠΏΠΎ Π·Π°Ρ…Π²Π°Ρ‚Ρƒ враТСской тСрритории”, Π² 6 часу ΡƒΡ€Π° я принял Π΄Π²Π° Π²Π΅Ρ€Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

  • ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ – Π΄Π΅Π»Π°Ρ‚ΡŒ своС ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ стороннСго Π½Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ.
  • Π’Ρ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΠΈΠ΄Ρ‚ΠΈ ΡΠΏΠ°Ρ‚ΡŒ.

Π£ΠΆΠ΅ ΡƒΡ‚Ρ€ΠΎΠΌ я проснулся с ΠΎΠ΄Π½ΠΎΠΉ СдинствСнно ΠΈ Π²Π΅Ρ€Π½ΠΎΠΉ ΠΌΡ‹ΡΠ»ΡŒΡŽ, которая ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ² – DFS

РСшСниС

Π‘Π°ΠΌΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ выглядСло ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

  • привСсти всС сСрвСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² синхронизации ΠΊ OS Windows. (Π§Π°ΡΡ‚ΡŒ Π±Ρ‹Π»Π° Π½Π° Linux. Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°ΡΡŒ миграция ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ OS)
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡΡ со структурой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² синхронизации β€” ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅.
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ сСрвСра ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΌΠ΅Π½ с Π΅Π΄ΠΈΠ½Ρ‹ΠΌ DFS пространством.
  • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ упомянутый распрСдСлСнный Π΄ΠΎΠΌΠ΅Π½ Kerio, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΌΠΎΠ΅ΠΌ случаС трСбуСтся синхронизация Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами Π½ΠΎ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ, Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ сСрвСр Kerio ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ)
  • ΠΠ°Ρ‚Ρ€Π°Π²ΠΈΡ‚ΡŒ синхронизируСмыС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π½Π° пространство DFS.
  • ΠŸΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ (вСдь Π±Π΅Π· костыля нСльзя)

РСализация

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Π΄Π²ΡƒΡ… ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сСрвСрах (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС)

1. Kerio Distributed domain

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

Master Π½Π΅ участвуСт Π² синхронизации, Π½ΠΎ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ условиС.

Π Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ распрСдСлСнный Π΄ΠΎΠΌΠ΅Π½ Kerio Π½Π΅ Π±ΡƒΠ΄Ρƒ, Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного Π² этом Π½Π΅Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Π½ΡƒΠ»

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π² консоли администрирования Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ:

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

Π”Π°Π»Π΅Π΅ мСня интСрСсовали ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ, Π½Π° сСрвСрС Master ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

Особая для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° β€” сСрвСр Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ общСдоступныС ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ

ΠžΠ±Ρ‰ΠΈΠ΅ для всСх Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² β€” всС сСрвСра откаТутся ΠΎΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΈ создадут Π½ΠΎΠ²Ρ‹Π΅ Π΅Π΄ΠΈΠ½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ для всСх Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΌ сСрвСрС.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Данная опция Ρ…ΠΎΡ‚ΡŒ ΠΈ мСняСт ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ настройки Π½Π° всСх сСрвСрах, ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· сСрвСров (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ β€” Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ пространства)

Π£ администратора β€” останСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ доступы ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.
Π² ΠΌΠΎΠ΅ΠΌ случаС β€” всС свои ΠΈ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½Π° полная синхронизация (Π’ вашСм случаС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ) Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ сСрвСрС Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

2. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Kerio

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· сСрвСров. Папки, ΠšΠ°Π»Π΅Π½Π΄Π°Ρ€ΠΈ, ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹.

Π‘ΠΎΠ²Π΅Ρ‚ – создавайтС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π½Π° английском языкС, Π² Ρ‚ΠΎΠΌ случаи, Ссли Π²Ρ‹ создадитС ΠΈΡ… Π½Π° Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Π΅, дирСктория Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ нСпонятной ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅, это ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ физичСскиС ΠΏΡƒΡ‚ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ сСрвСрС.

ΠžΠ±Ρ‰ΠΈΠ΅ для всСх Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ~DataMailmail#publicΠ‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³#msgs
Особая для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° ~DataMailmail**Domain**#publicΠ‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³#msgs

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ вСсь ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ #msgs β€” Ρ‚ΡƒΡ‚ хранятся сами ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· сСрвСров Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ свои.

3. DFS

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ DFS, Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ вопросу достаточно.

DFS β€” это слуТба Ρ€ΠΎΠ»ΠΈ Π² Windows Server, которая прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ объСдинСния ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, находящихся Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… сСрвСрах
Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ MS DFS

ΠŸΠ΅Ρ€Π΅Π΄ настройкой DFS – Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ сСрвСра ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² синхронизации Π΄Π°Π½Π½Ρ‹Ρ….

По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ настройки Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· синхронизируСмых ΠΏΠ°ΠΏΠΎΠΊ

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ Π½Π°ΠΌ СстСствСнно Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π° Ρ€Π΅ΠΏΠ»Π΅Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΌ особо Π½Π΅Ρ‡Π΅Π³ΠΎ β€” ΠΏΠ°ΠΏΠΊΠΈ пусты) ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ сСрвСра ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Π”Π°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сСрвСров ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

4. ΠšΠΎΡΡ‚Ρ‹Π»ΡŒ

ОписаниС Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Ρ‡Π°Π»ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ (DFS), Π² Ρ‚ΠΎΠΌ случаи Ссли Π²Ρ‹ Ρ‡Ρ‚ΠΎ Π»ΠΈΠ±ΠΎ создали Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ сСрвСрС β€” Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ сСрвСрС Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ появляСтся, Π»ΠΈΠ±ΠΎ появляСтся Π½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ всСгда.

ΠžΡ‚Ρ‡Π°ΠΈΠ²Π°Π΅Ρ‚ΡΡ Π½Π΅ стоит ΠΎΠ½ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Ρ‚Π°ΠΌ появится, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π½ΠΎ, Ρ‡Π΅ΠΌ ΠΏΠΎΠ·Π΄Π½ΠΎ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π΄Π½ΠΎ это Ρ‡Π΅Ρ€Π΅Π· 6 – 12 часов.

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

Π£ Kerio Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ пСрСчитывания индСкса, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ часов этак Ρ‡Π΅Ρ€Π΅Π· ΡˆΠ΅ΡΡ‚ΡŒ, ΠΏΡ€ΠΈ этом Π·Π° эти 6 часов Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько утСряна.
Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ синхронизации прям сСйчас, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ синхронизируСмом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ index.fld, послС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ обращСния ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΌ сСрвСрС ΠΈ ΠΏΡ€ΠΈ отсутствии Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Kerio ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ появятся. Казалась Π±Ρ‹, Π²ΠΎΡ‚ ΠΎΠ½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, удаляй Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, Π΄Π°Π»Π΅Π΅ Kerio ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ тСряСт всякий интСрСс ΠΊ index.fld
Π’Π°ΠΊ ΠΈ Π΅Ρ‰Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ»Π΅Π²Ρ‹Π²Π°Ρ‚ΡŒ нСпонятныС для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ сообщСния β€” ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ индСкс ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ β€” Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° сСрвСр Π²Π΄Ρ€ΡƒΠ³ сообразит, Ρ‡Ρ‚ΠΎ имя Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ Ρ…ΠΎΡ‚Π΅Π» ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ занято, Π½ΠΎ Ρ‚ΡƒΡ‚ снСТный ΠΊΠΎΠΌ ΠΈ это Ρ‚ΡƒΠΏΠΈΠΊΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

Как ΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ?

Если Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡƒΡŽ Π½Π°ΠΌ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ.

Полная синхронизация ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ распрСдСлСнными сСрвСрами Kerio Connect

Но Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ плоскости, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ ΠΈ Π½ΡƒΠΆΠ½ΡƒΡŽ Π½Π°ΠΌ сСйчас ΠΊΠ½ΠΎΠΏΠΊΡƒ β€” ΠŸΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ

И Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Если Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΌ сСрвСрС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ ΡƒΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ измСнилось Π² синхронизируСмом #msgs, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, быстрый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ВсС скрытоС станСт явным.

Π’ ΠΆΡƒΡ€Π½Π°Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, сколько Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ процСсс, Π² ΠΌΠΎΠ΅ΠΌ случаи с нСсколькими тысячами (15 тыс) записСй ΠΎΠΊΠΎΠ»ΠΎ 3-4 ΠΌΠΈΠ½ΡƒΡ‚.

ΠžΡΡ‚Π°Π»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ собствСнно Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ это Π½ΡƒΠΆΠ½ΠΎ.

ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ Ρƒ Kerio Π΅ΡΡ‚ΡŒ свой API

ОписаниС
ДокумСнтация

Ѐункция, которая выполняСт Π½Π°ΡˆΡƒ Π·Π°Π΄Π°Ρ‡Ρƒ, выглядит Ρ‚Π°ΠΊ –
session = callMethod("Domains.checkPublicFoldersIntegrity",{}, token)

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

Π₯ΠΎΡ‡Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ я написал нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий скриптов Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, остановился Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всС Π²Ρ‹Π²ΠΎΠ΄Ρ‹ строит исходя ΠΈΠ· количСства Ρ„Π°ΠΉΠ»ΠΎΠ².

РСализация скрипта

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скрипта CMD ΠΈ описаниС

Re-index.bat

@echo off
set dir=%~dp0
%dir:~0,2%
CD "%~dp0"
md "%CD%LOG"
md "%CD%Setup"

ECHO -Start- >> "%CD%LOG%Computername%.log"
ECHO Start -> %Computername% %Date% %Time% >> "%CD%LOG%Computername%.log"

SetLocal EnableDelayedExpansion
for /f "UseBackQ Delims=" %%A IN ("%CD%Setup%Computername%.List") do (
  set /a c+=1
  set "m!c!=%%A"
)

set d=%c%
Echo Folder = %c%
ECHO Folder = %c% >> "%CD%LOG%Computername%.log"
ECHO.
ECHO. >> "%CD%LOG%Computername%.log"

:start
cls
if %c% LSS 1 exit
set /a id=1
set R=0

:Find
REM PF-Start
if "%id%" gtr "%c%" if %R% == 1 Goto Reindex 
if "%id%" gtr "%c%" timeout 60 && Goto start

For /F "tokens=1-3" %%a IN ('Dir "!m%id%!#msgs" /-C/S/A:-D') Do Set 2DirSize!id!=!DS!& Set DS=%%c
if "2DirSize!id!" == "" set 1DirSize!id!=!2DirSize%id%!

echo %id%
ECHO !m%id%!
echo Count        [ !1DirSize%id%! -- !2DirSize%id%! ]

if "!1DirSize%id%!" == "!2DirSize%id%!" ECHO Synk

REM DEL index.fld
if "!1DirSize%id%!" NEQ "!2DirSize%id%!" del /f /q !m%id%!index.fld && del /f /q !m%id%!indexlog.fld && del /f /q !m%id%!search.fld && set R=1 && ECHO RE-index Count && ECHO RE-index Count %Date% %Time% - Delete !m%id%! >> "%CD%LOG%Computername%.log"

set 1DirSize!id!=!2DirSize%id%!

ECHO.
ECHO.

set /a id+=1
goto Find

:Reindex
ECHO. >> "%CD%LOG%Computername%.log"
ECHO --- RE-INDEX - Start - %Date% %Time% --- >> "%CD%LOG%Computername%.log"
ECHO. >> ----------------------------------- >> "%CD%LOG%Computername%.log"
call PublicFolders.py
timeout 60
goto start

exit

Копия скрипта запускаСтся Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΌ сСрвСрС (ΠΌΠΎΠΆΠ½ΠΎ Π² качСствС слуТбы, Адм ΠΏΡ€Π°Π²Π° Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ)

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Setup%Computername%.List

Π“Π΄Π΅ %Computername% β€” имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСрвСра (ДирСктория ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сразу списки всСх сСрвСров.)

Π€Π°ΠΉΠ» %Computername%.List – содСрТит ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ синхронизируСмых Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ записан Π² Π½ΠΎΠ²ΠΎΠΉ строкС, пустых строк ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½.

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

Π—Π°Π΄Π°Ρ‡Π° скрипта сводится ΠΊ подсчСту всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ подсчСта ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Ссли хотя Π±Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π΅ совпадаСт с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ, скрипт удаляСт Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ синхронизируСмого ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°: index.fld, indexlog.fld, search.fld ΠΈ запускаСт процСсс индСксации β€” ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ.

Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ LOG сваливаСтся информация ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ индСксации
ΠŸΡ€ΠΎΡ†Π΅ΡΡ индСксации сводится ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ API Kerio
Session = callMethod("Domains.checkPublicFoldersIntegrity",{}, token)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° – python
PublicFolders.py

import json
import urllib.request
import http.cookiejar
""" Cookie storage is necessary for session handling """
jar = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jar))
urllib.request.install_opener(opener)
""" Hostname or ip address of your Kerio Control instance with protocol, port and credentials """

server = "http://127.0.0.1:4040"
username = "user"
password = "password"

def callMethod(method, params, token = None):
    """
    Remotely calls given method with given params.
    :param: method string with fully qualified method name
    :param: params dict with parameters of remotely called method
    :param: token CSRF token is always required except login method. Use method "Session.login" to obtain this token.
    """
    data =  {"method": method ,"id":1, "jsonrpc":"2.0", "params": params}

    req = urllib.request.Request(url = server + '/admin/api/jsonrpc/')
    req.add_header('Content-Type', 'application/json')
    if (token is not None):
        req.add_header('X-Token', token)    

    httpResponse = urllib.request.urlopen(req, json.dumps(data).encode())

    if (httpResponse.status == 200):
        body = httpResponse.read().decode()
        return json.loads(body)

session = callMethod("Session.login", {"userName":username, "password":password, "application":{"vendor":"Kerio", "name":"Control Api-Local", "version":"Python"}})
token = session["result"]["token"]
print (session)

session = callMethod("Domains.checkPublicFoldersIntegrity",{"domainId": "test2.local"}, token)
print (session)

callMethod("Session.logout",{}, token)

http://127.0.0.1:4040 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ссли Π²Π°ΠΌ трСбуСтся HTTPS β€” python Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ сСртификату Kerio.

Π’Π°ΠΊΠΆΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись с ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π½Π° выполнСния Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Адм – ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ) ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра.

НадСюсь, моя ΡΡ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° администраторам Kerio Connect.

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