Файловый сервер Windows с DFS: правильная архитектура для офиса 50+ РМ
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15+ лет в ИТ-аутсорсинге я поднял и поддержал, наверное, сотню файловых серверов на Windows Server. И до сих пор в каждом новом проекте вижу одни и те же ошибки: ACL с прямыми именами пользователей, папка «Общая» с доступом Everyone Full Control, нет квот, Shadow Copy не включён, бэкап настроен «как-нибудь». В этой статье — собранный по шишкам правильный подход.
Что ожидать от современного файл-сервера
Современный файл-сервер в офисе на 50+ рабочих мест — это не «компьютер с общими папками». Это сервис с чётко определёнными свойствами:
- Централизованное управление правами через группы AD по принципу AGDLP.
- Квоты на пользовательские папки и отделы.
- Shadow Copy / Previous Versions для самостоятельного отката сотрудниками.
- DFS Namespace — единое пространство имён.
- Мониторинг использования места и количества файлов.
- Антивирус/антикриптование через FSRM.
- Регулярный бэкап с проверкой восстановления.
- Поддержка Offline Files для ноутбуков.
У нас на практике это стандартная конфигурация, которую мы разворачиваем клиентам за 3–5 рабочих дней.
Выбор железа
В зависимости от задачи я предлагаю три конфигурации:
| Профиль | CPU | RAM | Диски | Сеть |
|---|---|---|---|---|
| Базовый (до 50 РМ) | Xeon Silver 8C | 32 ГБ | 2× 240 GB SSD + 4× 4 TB SATA RAID10 | 2× 1 Гбит LACP |
| Средний (50–150 РМ) | Xeon Gold 16C | 64 ГБ | 2× 480 GB NVMe + 4× 4 TB SAS RAID10 | 2× 10 Гбит |
| Нагруженный (150+ РМ) | Xeon Platinum 8280 | 128 ГБ | 2× 480 GB NVMe + 8× 3.84 TB NVMe RAID10 | 2× 40 Гбит Mellanox |
Я всегда ставлю клиентам в дата-центре МТС оборудование Dell PowerEdge — на практике у нас 98% uptime за год по парку из 20+ серверов.
Установка ролей и подготовка тома
Install-WindowsFeature `
FS-FileServer, FS-Resource-Manager, FS-DFS-Namespace, FS-DFS-Replication, `
FS-VSS-Agent, File-Services, Storage-Replica `
-IncludeManagementTools
# Подготовка тома данных
Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D
Format-Volume -DriveLetter D -FileSystem NTFS -AllocationUnitSize 65536 -NewFileSystemLabel "Data"
Cluster size 64K для больших файлов даёт лучшую производительность. Для хранения миллиона мелких документов — оставляем default 4K.
Структура папок
Структура должна быть понятной и плоской. Максимум два уровня вложенности в корне:
D:\Shares\
├── Departments\ # общие папки отделов
│ ├── Accounting\
│ ├── HR\
│ ├── IT\
│ ├── Marketing\
│ ├── Sales\
│ └── Warehouse\
├── Projects\ # проектные папки с доступом по проекту
│ ├── 2025-ProjectA\
│ └── 2025-ProjectB\
├── Users\ # домашние папки сотрудников
│ └── ivanov.ii\
├── Common\ # одна общая папка для временных файлов
└── Scan\ # папка под сканы МФУ
Каждая папка — отдельная шара:
New-SmbShare -Name "Accounting$" -Path "D:\Shares\Departments\Accounting" `
-FullAccess "Domain Admins" `
-ChangeAccess "DL_Acct_RW" `
-ReadAccess "DL_Acct_RO" `
-Description "Бухгалтерия" `
-EncryptData $true
# Скрытая шара с $ на конце не видна в сетевом обзоре, но доступна по прямой ссылке
AGDLP — правильная раздача прав
Самое важное: никогда не давайте ACL напрямую пользователям. Только через группы по принципу AGDLP.
- Account — учётка пользователя.
- Global group — роль или принадлежность к отделу (G_Accounting, G_HR).
- Domain Local group — права на конкретный ресурс (DL_Acct_RW, DL_Acct_RO).
- Permissions — назначаются на файловой системе Domain Local группам.
Пример настройки для Бухгалтерии:
# Глобальные группы ролей
New-ADGroup -Name "G_Accounting" -GroupScope Global `
-Path "OU=Roles,OU=Groups,DC=corp,DC=ru"
# Локальные группы прав
New-ADGroup -Name "DL_Acct_RW" -GroupScope DomainLocal `
-Path "OU=Permissions,OU=Groups,DC=corp,DC=ru"
New-ADGroup -Name "DL_Acct_RO" -GroupScope DomainLocal `
-Path "OU=Permissions,OU=Groups,DC=corp,DC=ru"
# Вложим глобальную в локальную
Add-ADGroupMember -Identity "DL_Acct_RW" -Members "G_Accounting"
# Права на файловой системе
$acl = Get-Acl "D:\Shares\Departments\Accounting"
$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule(
"CORP\DL_Acct_RW","Modify","ContainerInherit,ObjectInherit","None","Allow")))
Set-Acl "D:\Shares\Departments\Accounting" $acl
При добавлении нового сотрудника в бухгалтерию — просто кладём его в G_Accounting. Всё, доступ есть.
DFS Namespace
Теперь создаём единое пространство имён, чтобы пользователь не помнил имя сервера:
# Domain-based DFSN
New-DfsnRoot -TargetPath "\\FS01\Shared" `
-Type DomainV2 -Path "\\corp.ru\Shared"
# Добавляем ссылки
New-DfsnFolder -Path "\\corp.ru\Shared\Accounting" -TargetPath "\\FS01\Accounting$"
New-DfsnFolder -Path "\\corp.ru\Shared\HR" -TargetPath "\\FS01\HR$"
New-DfsnFolder -Path "\\corp.ru\Shared\Common" -TargetPath "\\FS01\Common"
Теперь пользователь монтирует \\corp.ru\Shared — видит красивое дерево. Когда через два года понадобится перенести папку Accounting на другой сервер — обновим DFSN-цель, клиенты даже не заметят.
Квоты через FSRM
File Server Resource Manager умеет квоты, файл-скрининг, отчёты. Типовая настройка:
# Шаблон квоты 50 ГБ с уведомлением на 80%
New-FsrmQuotaTemplate -Name "User-50GB" -Size 50GB `
-Threshold (New-FsrmQuotaThreshold -Percentage 80 `
-Action @(New-FsrmAction -Type Email `
-MailTo "[Source Io Owner Email]" `
-MailCC "admin@corp.ru" `
-Subject "Квота 80%"))
# Применяем на OU домашних папок
New-FsrmAutoQuota -Path "D:\Shares\Users" -Template "User-50GB"
File screening — защита от шифровальщиков и мусорных файлов:
# Шаблон блокирующий расширения криптолокеров
New-FsrmFileGroup -Name "Crypto-Extensions" `
-IncludePattern "*.locked","*.crypt","*.encrypted","*.ransom","*.wcry"
New-FsrmFileScreen -Path "D:\Shares" `
-IncludeGroup "Crypto-Extensions" `
-Active -Notification (New-FsrmFmjNotificationAction -Type Email `
-MailTo "admin@corp.ru" -Subject "Крипто-попытка на FS01")
Shadow Copy (Previous Versions)
Настраиваем теневые копии на томе D: — пользователи сами откатят случайно удалённый файл:
vssadmin add shadowstorage /for=D: /on=D: /maxsize=15%
vssadmin list shadowstorage
# Создание по расписанию
schtasks /Create /TN "ShadowCopyD" `
/TR "vssadmin create shadow /for=D:" `
/SC DAILY /ST 07:00 /RU SYSTEM /RL HIGHEST /F
schtasks /Create /TN "ShadowCopyDMidday" `
/TR "vssadmin create shadow /for=D:" `
/SC DAILY /ST 12:00 /RU SYSTEM /RL HIGHEST /F
Два снимка в день хватает для большинства офисов. Важно: Shadow Copy — это не бэкап. При отказе диска всё потеряется вместе со снимками.
Реальный кейс: файл-сервер для логистики
В январе 2025 клиент — логистическая компания, 88 РМ в Москве и 2 филиала в Питере и Казани — попросил сделать нормальный файл-сервер. Что было: один старый сервер 2012 R2 с разваливающимся RAID, папки с Everyone Full Control, бэкап был «настроен», но не проверялся 2 года. Хотели «как у людей».
Собрали Dell PowerEdge R650 с Xeon Platinum 8280, 128 ГБ RAM, 8× 3.84 ТБ NVMe в RAID10 (14 ТБ полезного) в дата-центре МТС, 40G Mellanox аплинк. За 5 рабочих дней подняли файл-сервер с DFSN, пересобрали структуру прав через AGDLP (создали 40 глобальных групп + 80 локальных), настроили FSRM-квоты 100 ГБ на отдел, Shadow Copy дважды в день, Windows Server Backup ежедневно + Veeam агент для оффсайт-копий на FTP в дата-центре МТС.
На выходе: скорость открытия файлов с 8–12 секунд (старый HDD) упала до 400 мс (NVMe по 40G). Пользователи заметили сразу. Стоимость инфраструктурных работ — 195 000 руб., плюс железо. По словам клиента, «теперь я понимаю, за что платят в нормальных компаниях».
Типичные грабли
- ACL напрямую пользователям. Через два года никто не помнит, кому что открыли. Только AGDLP.
- Права через SMB-шару вместо NTFS. SMB-level права — это «максимум»; реальный контроль через NTFS ACL.
- Нет квот. Один пользователь заливает 2 ТБ личных видео, диск переполнен, все страдают.
- Нет Shadow Copy. Каждая заявка «я удалил файл» — восстановление из бэкапа, час возни.
- SMB1 включён. Древняя уязвимая версия, обязательно отключить:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol. - Нет FSRM File Screen. При попадании шифровальщика некому заблокировать источник.
Построим правильный файл-сервер
Я лично проектирую и разворачиваю файловые сервера на Windows Server: DFS Namespaces, AGDLP, FSRM-квоты, Shadow Copy, антикрипто-защита, бэкап. Срок — 5–10 рабочих дней в зависимости от размера. Аудит существующей инфраструктуры — за один рабочий день.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ
- Что такое DFS Namespaces?
- DFSN — это виртуальный единый каталог вида \\corp.ru\shared, который склеивает шары с разных серверов в одно пространство имён. Пользователь не знает, на каком сервере лежит папка — это облегчает миграцию и масштабирование.
- Почему AGDLP важен?
- AGDLP — принцип управления правами: Accounts в Global group, Global в Domain Local group, Local group назначается Permissions. Это упрощает управление и избавляет от прямых ACL на папках, которые сложно аудировать.
- Какие квоты ставить?
- На домашние папки пользователей — обычно 10–50 ГБ мягкой квоты, с уведомлением на 80% и блокировкой на 100%. На общие папки отделов — от 100 ГБ до нескольких ТБ, в зависимости от специфики. Аудитория должна знать о квоте.
- Shadow Copy это бэкап?
- Нет, это снапшоты на уровне тома, дающие пользователю Previous Versions. Удобны для быстрой отмены случайного удаления. Но если сервер умер или диск вышел из строя — все снапшоты потеряются. Полноценный бэкап обязателен.
- Какая антикрипто-стратегия?
- FSRM с шаблонами расширений вымогателей (.locked, .crypt, .encrypted) — при попытке записи такого файла сервер блокирует IP источника. Плюс отключить SMB1, настроить минимальные NTFS-права и регулярно тестировать восстановление.
