Як я використовував BitTorrent Sync між офісами в РФ і Китаї

Давно не бачив статей про BitTorrentSync , і дуже дивуюся: адже це такий корисний інструмент. Буквально днями вийшла нова версія *, і я вирішив розповісти, як застосував це рішення на роботі.
 
 
 
 
Початок
Одного разу в нашій компанії настав момент, коли постала необхідність обмінюватися досить важкими файлами — макетами продукції та упаковки (100-500 мегабайт) між офісами в Москві, Єкатеринбурзі та офісом в провінції Чжецзян, КНР. Складність була в катастрофічно низькій швидкості та надійності зв'язку РФ — Китай.
 
Коли я звернув увагу на проблему, панував повний розбрід і хитання: це і передача файлів у вигляді багатотомних архівів по 9 мегабайт через корпоративну пошту з сервером в Єкатеринбурзі, і публічні файлообмінники з тоннами реклами, і передача через Skype. Просунуті співробітники з перемінним успіхом використовували Dropbox (поки Великий Китайський Файервол не почала його блокувати), і Яндекс.Діск.
 
Всі ці способи об'єднувало одне: низька швидкість, обриви і блокування з боку китайського уряду. Макет об'ємом 120 мегабайт міг гойдатися півтори години, і обірватися на середині. Повертатися до епохи Flashget не хотілося. При цьому гарантований канал китайського провайдера становив 10 Мбіт \ с, і всередині Китаю, зрозуміло, такі швидкості видавалися без проблем.
 
У процесі пошуку вирішення цієї проблеми, а так само проблеми повільної корпоративної пошти в Китаї, обговорювалася навіть установка супутникової тарілки і підключення до російського супутнику. Втім, неймовірні тарифи зменшили запал. З поштою більш-менш розібралися шляхом настройки проміжного ящика на сторонньому стабільно працюючому сервісі (в нашому випадку — Яндекс.Почта; західні сервіси в Китаї люблять блокувати, а китайські поштовики вважають не-китайську пошту спамом). А от з передачею файлів було не все так гладко. У FTP не влаштувала швидкість, VPN до російського сервера теж не був стабільним.
 
Тут я згадав про BitTorrentSync.
 
 
Умови
Отже, дано:
 
1. Три офісу: 2 в РФ, 1 в КНР
2. Три-п'ять співробітників в російському офісі (стаціонарні машини) і шість-сім в китайському (ноутбуки), яким потрібно було обмінюватися файлами між собою, вся інфраструктура на Windows XP, 7, 8;
3. Стійкові сервера у всіх офісах, які використовувалися в тому числі в якості локальної файлопомойка;
4. Безліч клієнтських машин у всіх офісах, яким безпосередньо не було необхідності в обміні файлами;
5. Великий Китайський Файервол, раптовий і нещадний.
 
На перший погляд, все просто: встановити у цих співробітників Sync, зробити одну директорію із загальним ключем, і все буде працювати.
На практиці довелося трохи повозитися.
 
 
Установка, проблеми, рішення
1. Крім власне користувачів, яким це було треба, Sync встановили всім, кому він не заважав (тобто на стаціонарні комп'ютери з відносно великим обсягом вільного місця на жорсткому диску) в режимі read-only — це підвищило швидкість і надійність передачі між бенкетами усередині мережі;
2. Додатково поставили клієнт тим, хто використовував ноутбук (знову ж з достатнім вільним місцем) так само в read-only — т.ч. користувачі, підключаючись через інші мережі, збільшували живучість усієї системи в разі проблем з зовнішньої зв'язком в офісного провайдера;
3. Так само Sync встановили на сервера у всіх офісах, щоб файли були доступні у вигляді мережевої папки для тих, кому не можна поставити Sync;
4. У правилах маршрутизації довелося піти раді з форуму і відкрити порти 3000 і 9999, щоб синхронізація починалася швидше;
5. Параметр sync_max_time_diff встановили на 0, оскільки всі користувачі перебували в різних часових поясах;
 
Зіткнулися і з деякими труднощами:
 
1. Sync по-замовчуванням зберігає всі видалені файли у прихованій директорії. SyncArchive, яка при активному використанні обміну швидко розрослася до сотні гігабайт, забивши пам'ять деяких пристроїв в нуль (очевидно, до чого призводить відсутність вільного місця на системному диску ноутбука). Сподіваюся, в майбутніх релізах зроблять можливість жорсткої регулювання максимального обсягу цієї папки;
2. Спроба передати файл вагою 8 гігабайт так само призвела до неконтрольованого засмічення комп'ютерів. Оптимальним розміром в нашому випадку виявилися файли 50-500 мегабайт;
3. Хоч процес обміну файлами для кінцевих користувачів спрощений до межі, написати попередження таки довелося — див спойлер:
 Інструкція ! Звертаю увагу, що видалення файлу одним з учасників спричинить видалення файлу у всіх інших — не займайтеся шкідництвом! Якщо потрібно видалити з комп'ютера всі файли обмінної папки, то попередньо потрібно видалити папку з програми BitTorrent Sync (кнопка Видалити папку).
 
Файли передаються між комп'ютерами безпосередньо, без проміжних серверів.
Отже, для передачі файлу в мережі повинні бути хоча б два учасники нашої групи. Коли один з учасників отримає файл, він «по ланцюжку» передає його іншим. Чим більше в групі учасників — тим більш надійно і швидко передаються файли.
Максимальна швидкість передачі файлів — всередині локальної мережі (наприклад, в одному офісі), мінімальна — між містами.
Папки синхронізуються з певним інтервалом (кілька хвилин), тому передача файлів може починатися не миттєво, а з деякою затримкою.
Досить скопіювати файл у відповідну папку, і він буде завантажуватися на комп'ютери до всіх учасників.
Програму при необхідності можна встановити і налаштувати на домашньому комп'ютері або ноутбуці — файли будуть завантажуватися і туди.
 
З повагою,
Ім'ярек
 
 
Безсумнівно, програма все ще перебуває в стадії бети, але вона вже цілком придатна до використання.
 
 
Плюси і мінуси
 
Серед достоїнств слід зазначити наступні:
 0. Безкоштовно;
1. Для користувача процес передачі файлу прозорий і простий: потрібно тільки скопіювати файл в потрібну папку;
2. У наших умовах в цілому швидше і надійніше, ніж доступні хмарні сховища;
3. Швидка швидкість обміну всередині офісу.
 
І, звичайно, недоліки:
1. Певні зусилля для настройки софту у кожного клієнта;
2. Деякий час на те, щоб пояснити співробітникам, чому видаливши файл у себе, він видаляє його у всіх своїх колег;
3. Бета: присутні рідкісні баги начебто спонтанної зупинки синхронізації, від чого допомагає перезавантаження системи;
4. Для параноїків — поки не opensource;
 
 
Разом
Вдалося досягти стабільного обміну файлами між РФ і Китаєм на швидкості в р-не 120 кБайт / c, що на голову краще 10-12 кБайт, які ми мали раніше. Просто порівняйте до…
 
 
 
… І після:
 
 
Для підключення користувачів за відсутності фахівців, написав міні-інструкцію, теж під спойлером:
 Інструкція з налаштування
Інструкція по підключенню папки обміну:
 
(Якщо якісь пункти викликають утруднення, будь ласка, зверніться до фахівців)
0. На жорсткому диску комп'ютера повинно бути не менше 25 гігабайт вільного місця.
1. Створіть у кореневому каталозі диска папку GC_SHARE (наприклад, D: \ GC_SHARE \, або C: \ GC_SHARE \)
2. Усередині GC_SHARE створіть папки «ВІДЕО», «МАКЕТИ», «ІДЕЇ», «ФОТО», «ДОКУМЕНТИ» (за темами, обмін якими вам необхідний);
3. Скачайте програму BitTorrent Sync — labs.bittorrent.com / experiments / sync / win-download.html
4. Запустіть завантажену програму, встановіть в папку за умовчанням;
5. Запустіть встановлену програму.
6. Підключіть створені папки до програми таким чином:
6.1 У програмі BitTorrent Sync у вкладці Папки натисніть кнопку Додати папку;
6.2 у вікні у другій сходинці пропишіть шлях до папки (за допомогою кнопки Вибрати, наприклад D: \ GC_SHARE \ МАКЕТИ), в першій сходинці вставте відповідний код з таблиці нижче:
 
МАКЕТИ
AV6LDEXXXXXXXXXXXXXXXXXXXX64NVJDJCX3II
 
ФОТО
ALVVVQKXXXXXXXXXXXXXXXXXXXXOB622CO42O
 
ДОКУМЕНТИ
A6E4EECXXXXXXXXXXXXXXXXXXXXRA44ISVTDZ3
 
6.3 повторіть з усіма папками;
7. в програмі відкрийте вкладку Налаштування:
7.1 в полі Ім'я напишіть своє ім'я латинськими літерами (наприклад ZHDANOV VLADIMIR)
7.2 встановіть всі галочки в активну становище, крім Повідомляти про закінчення завантажень;
7.3 в полях Обмежити швидкість завантаження і Обмежити швидкість віддачі встановіть значення 5000 і 5000;
8. Натисніть кнопку Додатково:
8.1 знайдіть пункт sync_max_time_diff, натисніть на нього лівою кнопкою миші, в поле знизу замініть значення 600 на 0, натисніть кнопку Задати і закрийте вікно; натисніть Застосувати.
 
Налаштування завершена.
 
Особливості роботи:
 
Файли передаються між комп'ютерами безпосередньо, без проміжних серверів.
Отже, для передачі файлу в мережі повинні бути хоча б два учасники нашої групи. Коли один з учасників отримає файл, він «по ланцюжку» передає його іншим. Чим більше в групі учасників — тим більш надійно і швидко передаються файли.
Максимальна швидкість передачі файлів — всередині локальної мережі (наприклад, в одному офісі), мінімальна — між містами.
Папки синхронізуються з певним інтервалом (кілька хвилин), тому передача файлів може починатися не миттєво, а з деякою затримкою.
 
Досить скопіювати файл у відповідну папку, і він буде завантажуватися на комп'ютери до всіх учасників.
Програму при необхідності можна встановити і налаштувати на домашньому комп'ютері або ноутбуці — файли будуть завантажуватися і туди.
Звертаю увагу, що видалення файлу одним з учасників спричинить видалення файлу у всіх інших — не займайтеся шкідництвом! Якщо потрібно видалити з комп'ютера всі файли обмінної папки, то попередньо потрібно видалити папку з програми BitTorrent Sync (кнопка Видалити папку).
 
З повагою,
Ім'ярек
 
Сподіваюся, опис живого використання системи підкине вам нових ідей.
 
Вдома я теж використовую Sync: для бекапа фотографій з телефону, архівації записів телефонних розмов, організованою закачування торентів на імпровізованому медіасервері, бекапа робочих файлів на файлосховище… Але це вже зовсім інша історія.
 
А як ви використовуєте Sync в житті?
 
 PS: Поки пост знаходився в чернетках, вийшла ще більш нова версія — в ній вже додали можливість не зберігати копії файлів в. SyncArchive, і багато іншого.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.