DFSR i FSRM w jednym stały domu

Parafrazujac Fredre czasami wsród naszych klientów zdarza sie ciekawe laczenie technologii. Jedna z ciekawszych i coraz szerzej stosowanych jest FSRM - File Server Resource Manager.  Pozwala on na zaawansowane zarzadzanie serwerami plików. M.in. limity folderów (quota) oraz filtrowanie plików (File Screening)

W Server 2003R2 oprócz FSRM pojawil sie nowy mechanizm replikacji plikowej DFSR (Distributed File System Replication). Daje on szybki, odporny na awarie, oszczedzajacy lacze sposób synchronizacji plików pomiedzy serwerami.

Szybka powtórka z mechaniki dzialania DFSR:

  • Usluga wykrywa, ze plik lub folder w replikowanej sciezce sie zmienil (poprzez subskrypcje NTFS USN Journal)
  • Rozpoczyna proces nazywany marshalling (liczenie sumy kontrolnej i ewentualne dzielenie na kawalki wielkosci 64k)
  • Plik trafia do staging folder i tam czeka az partnerzy replikacyjni go pobiora
  • Zachodzi replikacja wlasciwa pomiedzy staging folderami
  • Na drugim serwerze plik zostaje „wyciagniety” ze staging folderu i „zlozony” w calosc w tymczasowym folderze „Installing”
  • Z „Installing” zostaje wkopiowany do docelowej sciezki

DFSR1

Interesujaca rzecz pojawia sie, gdy polaczymy DFSR i FSRM ze soba. Kilka lat temu pojawil sie artykul KB w trybie „rapid publishing”, którey odrobine omawia ten scenariusz https://support.microsoft.com/kb/959210 DFSR may not operate correctly when used in conjunction with FSRM file screens

I teraz mamy dwa przypadki:

  1. Quoty na folderach
  2. File screening

Oba moga powodowac problem tylko w przypadku, gdy ustawienia FSRM na wezlach replikacyjnych sa niespójne. Mianowicie:

Ad. 1. Na wezle zródlowym folder moze zajmowac 2GB. Na docelowym 1GB. Plik przechodzacy po linku replikacyjnym moze bez problemu istniec na pierwszym serwerze, ale przechodzac z Installing do sciezki docelowej NTFS (a wlasciwie filter driver FSRM pod NTFS) zwróci blad o niewystarczajacej ilosci miejsca na dysku.

Najgorsze w calej sytuacji jest to, ze jesli takich plików/zadan replikacyjnych bedzie wiecej niz 16, to moze nam to „zakorkowac” replikacje calkowicie (UpdateWorkerThreadCount), poniewaz usluga bedzie stale ponawiala próby przeslania danych.

Ad. 2. Podobnie ma sie sytuacja z Filtrowaniem plików. Na serwerze zródlowym pozwalamy na pliki konkretnego typu (na przyklad *.mp3) z kolei na docelowym juz niekoniecznie. Tu plik wychodzac z „installing” dostanie od NTFS „Access Denied (5)”.

Podsumowujac. DFSR i FSRM moga dzialac wspólnie. Ale wtedy i tylko wtedy, gdy ustawienia FSRM sa spójne na WSZYSTKICH wezlach replikacyjnych. W przeciwnym przypadku DFSR moze przestac dzialac calkowicie.

PS. Na czas poczatkowej synchronizacji (InitSync) zalecamy wylaczenie FSRM calkowicie i zastosowanie ustawien dopiero po ustabilizowaniu sie infrastruktury.