W naszym intranecie mamy strukturę folderów, która zawiera około 800 000 plików podzielonych na około 4 000 folderów. Musimy zsynchronizować to z małym klastrem maszyn w naszych strefach DMZ. Głębokość konstrukcji jest bardzo płytka (nigdy nie przekracza dwóch poziomów głębokości).
Większość plików nigdy się nie zmienia, każdego dnia aktualizuje się kilka tysięcy plików i 1-2 tysiące nowych plików. Dane to historyczne dane sprawozdawcze utrzymywane tam, gdzie dane źródłowe zostały usunięte (tj. Są to sfinalizowane raporty, dla których dane źródłowe są wystarczająco stare, aby je zarchiwizować i usunąć). Synchronizacja raz dziennie jest wystarczająca, biorąc pod uwagę, że może to nastąpić w rozsądnych ramach czasowych. Raporty są generowane z dnia na dzień, a pierwszą rzeczą synchronizujemy rano jako zaplanowane zadanie.
Oczywiście, ponieważ tak niewiele plików zmienia się regularnie, możemy znacznie skorzystać z kopii przyrostowej. Wypróbowaliśmy Rsync, ale wykonanie operacji „budowania listy plików” może potrwać od ośmiu do dwunastu godzin . Oczywiste jest, że szybko przerastamy możliwości rsync (ramy czasowe 12 godzin są o wiele za długie).
Do synchronizacji struktur używaliśmy innego narzędzia o nazwie RepliWeb, które może wykonać przyrostowy transfer w około 45 minut. Wydaje się jednak, że przekroczyliśmy limit. Zaczął widzieć, że pliki są usuwane, gdy nie są (być może niektóre struktury pamięci wewnętrznej zostały wyczerpane, nie jesteśmy pewni).
Czy ktoś jeszcze wpadł na tego rodzaju projekt synchronizacji na dużą skalę? Czy istnieje coś zaprojektowanego do obsługi takich ogromnych struktur plików w celu synchronizacji?