Форум программистов, компьютерный форум, киберфорум
Администрирование Windows
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
-24 / 3 / 1
Регистрация: 05.02.2013
Сообщений: 51

Синхронизация файловых систем двух серверов

13.08.2015, 12:43. Показов 5063. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа.
Есть организация, в которой я работаю... программистом.
И я ежедневно сталкиваюсь с таким маразмом:
Сначала контора была единой.
Потом отделился довольно большой филиал, который связан с основной конторой по узенькому интернет - каналу
(филиал в Иваново, там - adsl)

В работе используется папка на сервере (Windows Server 2008), с большим кол-вом файлов и значительным объемом. (около миллиона файлов и около терабайта объема)

Эта папка в филиале примеплена просто как сетевая шара (network share).
То есть каждый файл открывается секунд по сорок.

я как поклонник всяких BTSync'ов и вообще дропбоксов давно хочу перевести все на две синхронизируемые файловые системы.

И на этом пути есть такие проблемы:
1) я с удовольствием перешел бы на Linux, но тут Windows - связщенная корова. Даже, я бы сказал кАрова.

2) существенным требованием является вот что: если один пользователь в сети открывает с сетевого диска файл Word'ом, то у всех других, кто пытается это сделать, появляется сообщение "файл такой то занят, хотите открыть в режиме чтения?". И это используется в бизнес процессе ("Маша, закрой нафик график отпусков!")

3) поэтому я ограничен в средствах. после "протухания" BTSync я попробовал SyncThing.
Но SyncThing во первых, медленный (то есть он долго соображает, когда в папку добавляется новый файл, даже если он пустой или размером 1 байт. А все потому, что использует просто периодическое сканирование каталога, и там есть интервал сканирования. Причем при миллионе файлов это до-о-о-о-о-лгий процесс), во вторых - он точно не работает так, как написано в 2)

Подскажите мне, в какую сторону копать?
1)
Я думал про DFS (Windows DFS, Distributed File System) Но я ей не пользовался, и не знаю, насколько она хороша.
Учитывая предыдущий опыт от работы с Windows - что то я сомневаюсь.

2)
SyncThing доступен с исходниками и написан, по моему, на Go.
Можно попробовать его аккуратненько поломать, но скоре всего потеряется мультиплатформенность. Да и опыт в Go у меня нулевой.

3)
Конечно, у меня чешутся руки написать самому синхронизацию, пользуясь c# и таким классом FileSystemWatcher
(позволяет получать уведомления об изменениии файловой системы)

4)
Последний вариант - радикальный, отказываться от винды, но наружу из линукса все равно должна торчать самба.
Но и на эту тему - я не знаю, какой именно инструмент выбрать.

Жду ваших советов.
Спасибо!

С уважением,

Константин
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.08.2015, 12:43
Ответы с готовыми решениями:

Синхронизация FTP серверов
В сети функционируют 2-а ФТП сервера. Наполнение серверов должно быть идентичным. Причем данные пополняются периодически то на одном то на...

Взаимозамена имени сервера и IP адреса двух серверов
Имеется сервер на Server 2003, доменное имя serverM, IP - x.x.x.10. Есть второй такой же, но имя serverD, а IP - x.x.x.16. Требуется...

Синхронизация музыки на двух компьютерах
Добрый день! Ломаю голову над тем, как можно синхронизировать музыку на двух компьютерах в локалке. По идее, нужен какой-то медиа-сервер,...

9
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9408 / 5206 / 623
Регистрация: 13.03.2013
Сообщений: 18,326
Записей в блоге: 17
13.08.2015, 14:33
Скорость чтения данных зависит далеко не от версии ОС, а скорее от скорости интернета в Вашем случае.
Единственный разумный вариант, который я вижу, это дать пользователям Иваново удаленный доступ к серверу и пусть они там правят эти самые файлы, сколько их душе угодно. При этом они смогут распечатывать любые документы на свои локальные принтеры.
0
-24 / 3 / 1
Регистрация: 05.02.2013
Сообщений: 51
13.08.2015, 18:36  [ТС]
Приветствую, и спасибо за ответ.
Но я нигде не писал, что проблема - в OS.
И я согласен, что terminal server можно вписать как пятый пункт в мой список.
Но, поверьте, я знаю, что при пинге 50 мс работа с текстовым редактором уже превращается в ме-е-едленное "плавание в акваланге".
Так что все таки хотелось бы им устроить синхронизированные файловые системы.
Неужели ситуация настолько уникальная?
0
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
13.08.2015, 19:38
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
... думал про DFS...
Этот инструмент не имеет отношения к указанной задаче.
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
... не знаю, насколько она хороша. Учитывая предыдущий опыт от работы с Windows - что то я сомневаюсь...
Напрасно. Хороший сервис, если с умом настроен.
0
Заблокирован
13.08.2015, 21:16
а зачем ты написал про то, что работаешь программистом?

потому как первый же дельный совет, который приходит в голову

- "вот и продолжай программировать"



этого типа проблема -- работа через файлопомойку низкоквалифицированных пользователей -- приемлемого решения не имеет вне зависимости от успехов в сфере межсерверных синхронизаций.
0
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9408 / 5206 / 623
Регистрация: 13.03.2013
Сообщений: 18,326
Записей в блоге: 17
14.08.2015, 06:36
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
Но, поверьте, я знаю, что при пинге 50 мс работа с текстовым редактором уже превращается в ме-е-едленное "плавание в акваланге".
При таком пинге и то синхронизации ничего хорошего ждать не стОит.
Пример: имеем два сервера на которых лежит по аналогичному файлику, скажем "primer.doc".
Пользователь открывает этот файл на своем сервере в Иваново, файл при открытии (согласно Вашей задаче) должен заблокировать для редактирования свой аналог на другом сервере, а после завершения пользователем Иваново редактирования файла, последний должен заменить своего собрата на другом сервере.
При пинге 50 Мс это будет происходить куда дольше, нежели медленное плавание в акваланге.
На худой конец реализуйте в головной конторе FTP и пусть пользователи работают с документами в браузере.
0
-24 / 3 / 1
Регистрация: 05.02.2013
Сообщений: 51
14.08.2015, 13:42  [ТС]
Приветствую.
Заставлять пользователей работать с файлами в браузере - это утопия.
"При пинге 50 Мс это будет происходить куда дольше, нежели медленное плавание в акваланге." - отнюдь нет. Между работой с быстро меняющимся контентом на экране, когда ввод очередного символа приводит к обновлению набора подсказок (IntelliSense) и посылкой одной - единственной команды "заблокировать файл" - большая разница.
Я написал, что работаю программистом, именно потому, что у меня чешутся руки решить эту проблему. но я не хочу делать работу, которую уже кто то сделал. И если мне кто то скажет "смотри, вот на гитхабе бранч SyncThing, только использующий inotify, и он решает твою проблему!" (намек на Syncthing-GTK) - я был бы очень рад.
Поэтому я и написал этот пост, но пока никто имеющий опыт в решении проблемы именно синхронизацией - мне не ответил.
0
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9408 / 5206 / 623
Регистрация: 13.03.2013
Сообщений: 18,326
Записей в блоге: 17
14.08.2015, 15:36
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
отнюдь нет
Вот тут Вам меня не переубедить: обмен данными в виде передачи файла будет дольше, чем обновление кадров в секунду.
Для RDP большая скорость соединения не нужна, чего не скажешь о синхронизации.
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
Заставлять пользователей работать с файлами в браузере - это утопия.
А почему нет?
Во многих холдинговых организациях имеются даже корпоративные порталы, на самых примитивнх и главное бесплатных движках.
По сути это массовая файлопомойка с веб-мордой.
0
-24 / 3 / 1
Регистрация: 05.02.2013
Сообщений: 51
14.08.2015, 20:01  [ТС]
> Вот тут Вам меня не переубедить: обмен данными в виде передачи файла будет дольше, чем обновление кадров в секунду.
Для того, чтобы ЗАБЛОКИРОВАТЬ файл от записи - не надо передавать много данных. Достаточно одного сигнального пакета - и файл на другой стороне заблокирован от изменений. Когда файл на моей стороне изменился и записан - тогда начинается блочная синхронизация. Мне все равно, что время синхронизации может быть заметным, мне важно, что файл быстро открывается. И, в общем то, быстро закрывается - синхронизация будет идти невидимо для пользователя.
Про утопию работы в браузере: это можно делать в простых, не требующих скорости и большого объема случаях. В настоящей работе десктопные приложения удобнее.
0
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9408 / 5206 / 623
Регистрация: 13.03.2013
Сообщений: 18,326
Записей в блоге: 17
17.08.2015, 07:38
Цитата Сообщение от SteeLHeaD Посмотреть сообщение
Про утопию работы в браузере: это можно делать в простых, не требующих скорости и большого объема случаях. В настоящей работе десктопные приложения удобнее.
Никто не мешает Вам использовать любой файл-менеджер, например ToyalCMD.
Не нужно недооценивать пользователей: чему надо они научатся и без Вашей помощи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2015, 07:38
Помогаю со студенческими работами здесь

Подскажите, из всех серверных операционных систем, какую на какой тип серверов лучше установить?
Подскажите, из всех серверных операционных систем, какую OC на какой тип серверов лучше ставить? Ну, и если можно то почему?

Кластер из двух серверов, StarWind
Народ, че-то я в ступоре. У меня два сервера 2008r2 в рабочей группе. И вот решил, хочу кластер! Кластер MS SQL! А также кластер...

Репликация двух файл-серверов Windows Server 2003
Всем привет. Можно ли как-то настроить репликацию двух файл серверов на WS2003?

Синхронизация двух серверов mysql
Здравствуйте. Требуется настроить синхронизацию серверов mysql. Первый - Denwer на винде Второй - удаленный на дебиане Т.е....

Какой антивирус (Касперский) выбрать для сети, и 2-вух файловых серверов
Имеется 2 сети из 30-ти пк и 2 файловых сервера для 1с и ПТК. с неба упало n-ное кол-во денюжек необходимо преобрести 32 лицензии. что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru