9 листопада 2026 р.
DFS та реплікація файлів

Distributed File System у Windows Server об’єднує файлові ресурси кількох серверів під одним логічним шляхом і, за потреби, синхронізує їхній вміст. Користувачі працюють, наприклад, з адресою \\contoso.local\Files\Departments, не прив’язуючись до конкретного сервера FS01 або FS02. Якщо один вузол тимчасово недоступний, клієнт може отримати інше доступне призначення папки.
DFS складається з двох окремих компонентів. DFS Namespace створює єдиний простір імен, а DFS Replication, або DFSR, передає зміни між серверами. Їх можна використовувати незалежно, але для відмовостійкого файлового контуру зазвичай потрібні обидва компоненти.
Нижче розглянуто практичну конфігурацію для домену contoso.local і двох серверів Windows Server — FS01 та FS02. На кожному вузлі розміщуватиметься локальна папка D:\Data\Departments, а користувачі відкриватимуть її через доменний шлях \\contoso.local\Files\Departments.
Архітектура DFS Namespace і DFS Replication
DFS Namespace не зберігає файли самостійно. Він публікує логічні папки та повертає клієнтам список реальних SMB-призначень. Для папки Departments такими призначеннями можуть бути:
- \\FS01\Departments$; - \\FS02\Departments$.
Клієнт отримує referral — направлення до одного з доступних серверів. Вибір залежить від стану призначень і топології сайтів Active Directory. Якщо сервери розміщені в різних офісах, коректно налаштовані AD Sites and Services допомагають спрямовувати користувачів до найближчого вузла, а не через повільний WAN-канал.
DFSR працює окремо від механізму referrals. Служба відстежує зміни через журнал NTFS USN, передає оновлені блоки та підтримує узгоджені копії даних на учасниках групи реплікації. Технологія Remote Differential Compression може зменшувати обсяг передавання для змінених частин великих файлів, хоча реальний результат залежить від типу даних.
Важливо розуміти обмеження: DFSR не є кластерною файловою системою та не забезпечує спільне блокування одного документа на різних серверах. Якщо два користувачі одночасно змінять той самий файл через різні вузли, одна з версій може потрапити до каталогу конфліктів. Для баз даних, активних віртуальних дисків, PST-файлів та інших постійно відкритих контейнерів DFSR не підходить.
Під час проєктування файлового середовища корисно спочатку визначити вимоги до доступності, резервного копіювання та прав. Такі роботи зазвичай входять до комплексного системного адміністрування, оскільки DFS залежить не лише від файлових серверів, а й від DNS, Active Directory, мережі та моніторингу.
Підготовка серверів і файлових ресурсів
Обидва сервери мають бути введені в домен, використовувати доменні DNS-сервери та мати стабільну мережеву взаємодію. Перед налаштуванням перевірте синхронізацію часу, розпізнавання імен FS01 і FS02, доступність TCP-портів SMB і RPC, а також стан реплікації Active Directory.
Якщо доменна інфраструктура ще не підготовлена, спочатку виконайте створення нового домену Active Directory, а вже потім розгортайте доменний простір DFS.
На FS01 і FS02 встановіть потрібні компоненти:
Install-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication, RSAT-DFS-Mgmt-Con -IncludeManagementToolsПеревірте результат:
Get-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication, RSAT-DFS-Mgmt-Con
Get-Service DFSRСтворіть локальні каталоги на обох серверах:
New-Item -Path "D:\Data\Departments" -ItemType Directory -ForceДалі опублікуйте приховані SMB-ресурси. Команди потрібно виконати окремо на FS01 і FS02:
New-SmbShare `
-Name "Departments$" `
-Path "D:\Data\Departments" `
-FullAccess "CONTOSO\Domain Admins" `
-ChangeAccess "CONTOSO\File-Departments-RW" `
-ReadAccess "CONTOSO\File-Departments-RO"Назви домену та груп замініть на актуальні. Не надавайте широкі дозволи Everyone: Full Control без обґрунтованої потреби. Практичний підхід полягає в тому, щоб залишити дозволи спільного ресурсу відносно простими, а детальне розмежування виконувати через NTFS-групи доступу.
Для однакової роботи після перемикання між вузлами NTFS ACL мають збігатися на обох серверах. Перед першою синхронізацією перевірте власника каталогів, успадкування та групи доступу:
Get-Acl "D:\Data\Departments" | Format-List
Get-SmbShareAccess -Name "Departments$"Розміщуйте дані на томі NTFS. Не використовуйте для реплікованої папки FAT, ReFS у непідтримуваному сценарії, змонтований мережевий ресурс або каталог усередині іншої реплікованої папки. Також заздалегідь оцініть вільне місце для staging і conflict-and-deleted каталогів.
Створення доменного простору імен
Для відмовостійкої конфігурації використаємо доменний простір імен типу DomainV2. Спочатку на FS01 створіть окремий каталог і SMB-ресурс для кореня namespace:
New-Item -Path "D:\DFSRoots\Files" -ItemType Directory -Force
New-SmbShare `
-Name "FilesRoot" `
-Path "D:\DFSRoots\Files" `
-FullAccess "CONTOSO\Domain Admins" `
-ReadAccess "CONTOSO\Domain Users"Створіть корінь DFS:
New-DfsnRoot `
-Path "\\contoso.local\Files" `
-TargetPath "\\FS01\FilesRoot" `
-Type DomainV2Щоб сам namespace не залежав від FS01, підготуйте такий самий кореневий ресурс на FS02, після чого додайте другий root target:
New-DfsnRootTarget `
-Path "\\contoso.local\Files" `
-TargetPath "\\FS02\FilesRoot"Тепер створіть логічну папку Departments і додайте обидва файлові призначення:
New-DfsnFolder `
-Path "\\contoso.local\Files\Departments" `
-TargetPath "\\FS01\Departments$"
New-DfsnFolderTarget `
-Path "\\contoso.local\Files\Departments" `
-TargetPath "\\FS02\Departments$"Перевірте конфігурацію:
Get-DfsnRoot -Path "\\contoso.local\Files"
Get-DfsnRootTarget -Path "\\contoso.local\Files"
Get-DfsnFolderTarget -Path "\\contoso.local\Files\Departments"На цьому етапі користувач уже може відкривати логічний шлях, але файли між FS01 та FS02 ще не синхронізуються. Наявність двох folder targets без DFSR створює ризик отримати два незалежні набори даних. Тому не відкривайте ресурс для звичайної роботи, доки початкова реплікація не завершиться.
Налаштування групи DFS Replication
Створіть групу реплікації та репліковану папку з адміністративної PowerShell-сесії, яка має права на зміну конфігурації DFS:
New-DfsReplicationGroup -GroupName "RG-Departments"
New-DfsReplicatedFolder `
-GroupName "RG-Departments" `
-FolderName "Departments"Додайте обидва сервери:
Add-DfsrMember -GroupName "RG-Departments" -ComputerName "FS01"
Add-DfsrMember -GroupName "RG-Departments" -ComputerName "FS02"Створіть двосторонні з’єднання. Параметр -CreateFullMesh особливо зручний для невеликої групи з двох або трьох вузлів:
Add-DfsrConnection `
-GroupName "RG-Departments" `
-SourceComputerName "FS01" `
-DestinationComputerName "FS02" `
-CreateFullMeshПризначте локальні шляхи та визначте FS01 первинним учасником для початкової синхронізації:
Set-DfsrMembership `
-GroupName "RG-Departments" `
-FolderName "Departments" `
-ContentPath "D:\Data\Departments" `
-ComputerName "FS01" `
-PrimaryMember $true `
-Force
Set-DfsrMembership `
-GroupName "RG-Departments" `
-FolderName "Departments" `
-ContentPath "D:\Data\Departments" `
-ComputerName "FS02" `
-ForceПервинний учасник має значення лише під час першої ініціалізації. Після переходу групи у нормальний стан обидва вузли стають рівноправними учасниками реплікації.
Прискорте отримання конфігурації з Active Directory:
Update-DfsrConfigurationFromAD -ComputerName "FS01" -Verbose
Update-DfsrConfigurationFromAD -ComputerName "FS02" -VerboseСтворіть на FS01 тестовий файл і не змінюйте дані на FS02 до завершення initial sync:
Set-Content `
-Path "D:\Data\Departments\dfsr-test.txt" `
-Value "DFS replication test"Перевірте backlog між учасниками:
Get-DfsrBacklog `
-GroupName "RG-Departments" `
-FolderName "Departments" `
-SourceComputerName "FS01" `
-DestinationComputerName "FS02" `
-VerboseДодатково сформуйте діагностичний звіт:
dfsrdiag ReplicationState
dfsrdiag Backlog /RGName:RG-Departments /RFName:Departments /SMem:FS01 /RMem:FS02Для регулярної підтримки DFS потрібні контроль журналу подій, місткості томів, backlog і стану служби. Ці завдання варто включити до стандартного процесу адміністрування серверів Windows і Linux, а не перевіряти лише після звернень користувачів.
Типові помилки
Використання DFSR як резервної копії. Реплікація переносить не тільки корисні зміни, а й випадкове видалення, пошкодження або шифрування файлів. Для відновлення потрібна окрема система резервного копіювання з історією версій та копією поза основним контуром.
Одночасне заповнення обох серверів різними файлами. Перед початковою синхронізацією визначте авторитетний набір даних і первинного учасника. Не дозволяйте користувачам редагувати вміст на другому вузлі, поки DFSR не завершить ініціалізацію.
Публікація namespace до запуску реплікації. Два folder targets можуть бути доступними, хоча їхній вміст ще відрізняється. Спочатку перевірте backlog, події DFS Replication і наявність контрольних файлів на обох серверах.
Ігнорування журналу подій. Основні повідомлення DFSR розташовані в Applications and Services Logs → DFS Replication. Події про зупинену реплікацію, нестачу місця, dirty shutdown або відсутність зв’язку з контролером домену не можна залишати без аналізу.
Неправильний розмір staging. Під час передавання великих файлів служба використовує прихований каталог DfsrPrivate. Замалий staging quota спричиняє постійне очищення та повторну підготовку файлів, що знижує швидкість синхронізації. Розмір потрібно підбирати з урахуванням найбільших файлів і частоти змін.
Реплікація непідтримуваних навантажень. Не розміщуйте в DFSR активні бази даних, файли віртуальних машин, профілі з постійно відкритими контейнерами чи програмні сховища, які очікують синхронного блокування. DFSR орієнтований передусім на звичайні файлові документи та дистрибутиви.
Відсутність перевірки реального перемикання. Після завершення синхронізації тимчасово вимкніть folder target FS01 через DFS Management або PowerShell і переконайтеся, що шлях \\contoso.local\Files\Departments продовжує відкриватися через FS02. Після тесту поверніть призначення в активний стан і повторно перевірте backlog.
Висновок
Зв’язка DFS Namespace і DFS Replication дає користувачам стабільний доменний шлях до файлів та підтримує узгоджені копії даних на кількох Windows-серверах. Надійна конфігурація потребує двох namespace targets, щонайменше двох folder targets, правильної групи DFSR, однакових дозволів і завершеної початкової синхронізації.
Після запуску систему потрібно контролювати так само регулярно, як інші критичні служби: перевіряти backlog, журнал DFS Replication, вільне місце, доступність SMB, стан Active Directory та фактичне перемикання між вузлами. DFS підвищує доступність файлових ресурсів, але не замінює резервне копіювання, керування версіями та план відновлення після пошкодження даних.