Planetahost VPS
Перейти к основному контенту

Настройка "Пространства хранения" в Windows Server

Что такое Storage Spaces и зачем он нужен?

Storage Spaces (Пространства хранения) — встроенная технология Windows Server (и Windows 10/11), которая позволяет объединить несколько физических дисков в единый пул, а затем создавать из этого пула виртуальные диски с программной отказоустойчивостью, аналогичной RAID.

Основные сценарии использования:

  • Создание отказоустойчивого хранилища без покупки дорогого аппаратного RAID-контроллера.
  • Гибкое расширение дискового пространства: вы можете добавлять новые диски в пул на лету.
  • Использование разнородных дисков (разного размера, скорости) с возможностью настройки многоуровневого хранения (SSD + HDD).
  • Подготовка дискового массива для файлового сервера, Hyper-V, SQL Server или других ролей.

Преимущества перед аппаратным RAID и обычными дисками

Характеристика Аппаратный RAID

Обычные диски

(по отдельности)

Storage Spaces
Защита от сбоя диска Да (зависит от уровня) Нет Да (Mirror, Parity)
Производительность Высокая (аппаратный ускоритель) Низкая Средняя (зависит от ЦП)
Стоимость Дорогой контроллер + диски Только диски Бесплатно (входит в ОС)
Гибкость расширения Часто требует перестроения массива Нет Простое добавление дисков
Переносимость массива С контроллером той же модели Индивидуально Можно импортировать на другой сервер

Когда выбирать Storage Spaces:

  • Бюджетное решение для малого и среднего бизнеса (до 50-100 пользователей).
  • Нет возможности купить сертифицированный RAID-контроллер.
  • Нужна возможность легко увеличивать ёмкость, добавляя диски разных размеров.

Требования к оборудованию и программному обеспечению

Минимальные требования:

Операционная система: Windows Server 2012 R2 / 2016 / 2019 / 2022 (любое издание: Standard, Datacenter) или Windows 10/11 Pro/Enterprise (для ознакомления).

  • Физические диски: Не менее 1 диска для режима Simple (без защиты), не менее 2 — для Mirror, не менее 3 — для Parity.
  • Тип дисков: HDD, SSD, NVMe. Можно смешивать, но для оптимальной производительности рекомендуется использовать диски одного типа в одном пуле.
  • Свободное место: Диски не должны содержать разделов и томов — они будут переформатированы при добавлении в пул.

Рекомендации:

  • Используйте диски с одинаковой ёмкостью в рамках одного пула (иначе часть пространства пропадёт).
  • Для системного диска (C:) выделите отдельный физический диск или аппаратный RAID — не включайте его в пул Storage Spaces.
  • Для важных данных всегда настраивайте Mirror (2‑way) как минимум.

Подготовка

Перед созданием пула необходимо выполнить несколько подготовительных шагов.

Проверка и подготовка физических дисков

  1. Установите диски в сервер (SATA, SAS или NVMe).
  2. Убедитесь, что диски определяются в BIOS/UEFI.
  3. Загрузитесь в Windows Server, откройте Управление дисками (diskmgmt.msc) или Диспетчер серверовФайловые службы и хранилищаПулы носителей.
  4. Если диски уже содержат разделы (например, были использованы ранее), удалите все тома и разделы:
    • Через Управление дисками: щёлкните правой кнопкой по области диска → «Удалить том».
    • Через DiskPart: diskpart → list disk → select disk X → clean.
  5. Диски должны перейти в состояние «Готов к работе» или «Можно объединить в пул».

Выбор типа устойчивости (Resiliency)

Тип Краткое описание Минимум дисков

Ёмкость

(на примере 3x1 ТБ)

Отказоустойчивость
Simple Данные записываются полосой (striping) без защиты. 1 3 ТБ Нет (при отказе одного диска теряется всё)
Mirror (2‑way) Две копии каждого блока на разных дисках. 2 1,5 ТБ 1 диск
Mirror (3‑way) Три копии на разных дисках. 5 1 ТБ (3 ТБ / 3) 2 диска
Parity Данные + контрольные суммы (аналог RAID‑5). 3 ~2 ТБ 1 диск

Для файлового сервера: используйте Mirror (2‑way) — баланс скорости записи, надёжности и эффективности использования места.
Для архивов с редкой записью: можно выбрать Parity (больше полезного места, но медленная запись).
Для временных данных или тестирования: Simple.

Выбор типа подготовки (Provisioning)

Тип подготовки определяет, как виртуальный диск резервирует место в пуле.

  • Тонкая подготовка (Thin provisioning):
    Виртуальный диск занимает в пуле ровно столько места, сколько реально записано данных.
    Плюсы: экономия места, можно создать диск больше физического объёма пула (с расчётом на будущее расширение).
    Минусы: при переполнении пула диск может перейти в состояние «только чтение», требуется мониторинг свободного места.
  • Фиксированная подготовка (Fixed provisioning):
    Весь зарезервированный под виртуальный диск размер выделяется сразу.
    Плюсы: предсказуемая производительность, нет риска случайного переполнения.
    Минусы: тратит место заранее.

Рекомендация: для производственных систем с предсказуемым ростом данных выбирайте фиксированную подготовку. Для гибких сред, где сложно оценить рост, — тонкую, но обязательно настройте оповещения о нехватке места.

Пошаговая настройка через графический интерфейс

Этот способ подходит для серверов с полной установкой Windows (с графической оболочкой).

Создание пула носителей (Storage Pool)

  1. Откройте Диспетчер серверов.
    • image.png
  2. В левом меню выберите Файловые службы и хранилищаПулы носителей.
    • image.png
    • image.png
  3. В разделе ПУЛЫ НОСИТЕЛЕЙ щёлкните правой кнопкой мыши → выберите Создать пул носителей….
    • image.png
  4. Мастер создания пула:
    • image.png
  5. Укажите имя и диск: Введите имя пула (например, StoragePool1). Описание — необязательно.
    • image.png
  6. Выберите физические диски: Отметьте галочками диски, которые войдут в пул. Рекомендуется выбирать диски одинакового типа (все HDD или все SSD) — смешивание допускается, но усложняет управление.
    Важно: снимите галочку «Автоматически выделять диски для распределения данных», если хотите полностью контролировать пул позже. Обычно её оставляют включённой.
    • image.png
  7. Нажмите «Создать».
    • image.png
  8. Через несколько секунд пул появится в списке. Физические диски переместятся в подраздел «Физические диски для пула».
    • image.png

Создание виртуального диска (Virtual Disk)

  1. Щёлкните правой кнопкой мыши по созданному пулу (например, StoragePool1) → выберите Создать виртуальный диск….
    • image.png
    • image.png
  2. Мастер создания виртуального диска:
    • image.png
  3. Укажите имя виртуального диска: например, VirtualDisk_Data.
    • image.png

  4. Выберите тип устойчивости: выберите Simple, Mirror или Parity
    • image.png

  5. Выберите тип подготовки: Тонкая или Фиксированная
    • image.png

  6. Укажите размер: введите желаемый размер. Мастер автоматически покажет максимально доступный размер с учётом выбранного типа устойчивости.
    • image.png

  7. Нажмите Создать.
    • image.png

  8. После создания виртуального диска мастер автоматически предложит перейти к созданию тома
    • image.png

Создание тома и форматирование

image.png

  1. На странице «Создать том» выберите только что созданный виртуальный диск.
    • image.png

  2. Назначьте букву диска или папку: выберите букву (например, E:) или путь монтирования (например, C:\MountPoints\Data).
    • image.png

  3. Выберите файловую систему:
    • NTFS — универсальный выбор, поддерживает квоты, сжатие, шифрование.
    • ReFS (Resilient File System) — рекомендуется для Storage Spaces с Mirror, так как обеспечивает автоматическое исправление битовых ошибок.
    • image.png

  4. Задайте метку тома: например, StorageData.
    • image.png

  5. Единица размера размещения (Allocation unit size): оставьте по умолчанию (4096 для NTFS, 64K для ReFS), если нет особых требований.
    • image.png

  6. Нажмите Создать.
    • image.png

Итог: в оснастке «Управление дисками» (diskmgmt.msc) появится новый диск, готовый к использованию. Теперь на него можно устанавливать роли (файловый сервер, хранилище Hyper-V и т.д.).

image.png

Настройка через PowerShell

Этот способ обязателен для Server Core и удобен для автоматизации.

Запустите PowerShell от имени администратора.

Команды для создания пула

  • Посмотреть все диски, которые можно объединить в пул
    • Get-PhysicalDisk -CanPool $true

  • Создать пул StoragePool1 из всех подходящих дисков
    • New-StoragePool -FriendlyName "StoragePool1" -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $true)

  • Проверить, что пул создан
    • Get-StoragePool -FriendlyName "StoragePool1"

  • Если нужно выбрать конкретные диски по серийному номеру:
    • $disks = Get-PhysicalDisk | Where-Object SerialNumber -In ("SN123","SN456")
      New-StoragePool -FriendlyName "StoragePool1" -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks $disks

Команды для создания виртуального диска и тома

  • Создать виртуальный диск с типом Mirror (2‑way), тонкой подготовкой, размером 2 ТБ
    • New-VirtualDisk -StoragePoolFriendlyName "StoragePool1" -FriendlyName "VirtualDisk_Data" -ResiliencySettingName Mirror -ProvisioningType Thin -Size 2TB

  • Получить объект виртуального диска и связанный с ним физический диск
    • $vd = Get-VirtualDisk -FriendlyName "VirtualDisk_Data"
      $diskNumber = ($vd | Get-Disk).Number

  • Инициализировать диск в GPT
    • Initialize-Disk -Number $diskNumber -PartitionStyle GPT

  • Создать раздел, занимающий всё место, и назначить букву E:
    • New-Partition -DiskNumber $diskNumber -UseMaximumSize -DriveLetter E

  • Отформатировать в NTFS с меткой StorageData
    • Format-Volume -DriveLetter E -FileSystem NTFS -NewFileSystemLabel "StorageData" -Confirm:$false

  • Если нужна ReFS:
    • Format-Volume -DriveLetter E -FileSystem ReFS -NewFileSystemLabel "StorageData" -Confirm:$false

Однострочник для создания всего за раз (осторожно, для чистых дисков):

 

New-StoragePool -FriendlyName "Pool1" -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks (Get-PhysicalDisk -CanPool $true) | New-VirtualDisk -FriendlyName "VD1" -ResiliencySettingName Mirror -ProvisioningType Thin -Size 1TB | Get-Disk | Initialize-Disk -PartitionStyle GPT -PassThru | New-Partition -UseMaximumSize -DriveLetter E | Format-Volume -FileSystem NTFS -Confirm:$false

Управление и обслуживание

Добавление новых дисков в существующий пул

  1. Физически установите новый диск.
  2. В Диспетчере серверов → «Пулы носителей» → щёлкните по пулу правой кнопкой → «Добавить физический диск».
  3. Выберите новый диск из списка, нажмите ОК.

Через PowerShell:

Add-PhysicalDisk -StoragePoolFriendlyName "StoragePool1" -PhysicalDisks (Get-PhysicalDisk -FriendlyName "PhysicalDisk2")

После добавления диска вы можете расширить существующий виртуальный диск

Расширение виртуального диска

Условие: в пуле должно быть достаточно свободного места с учётом типа устойчивости.

В Диспетчере серверов → «Пулы носителей» → выберите виртуальный диск.

Щёлкните правой кнопкой → «Расширить виртуальный диск».

Укажите новый размер, нажмите ОК.

Затем расширьте том в «Управлении дисками» (правой кнопкой по тому → «Расширить том»).

Замена отказавшего диска

  1. Отказной диск отобразится в GUI как «Потеря связи» или «Предупреждение». В PowerShell: Get-PhysicalDisk | Where-Object HealthStatus -ne "Healthy".
  2. Добавьте новый исправный диск в пул.
  3. Удалите отказавший диск из пула:
    1. Щёлкните по отказавшему диску правой кнопкой → «Удалить физический диск».
    2. PowerShell: Remove-PhysicalDisk -PhysicalDisk (Get-PhysicalDisk -FriendlyName "BadDiskModel")
  4. Storage Spaces автоматически начнёт перестроение данных на новый диск. Процесс может занять время в зависимости от объёма данных.
  5. После завершения перестроения пул вернётся в состояние «Healthy».

Ограничения, предупреждения и лучшие практики

Чего нельзя делать с Storage Spaces

  • Не используйте для системного диска (C:) — установка Windows на Storage Spaces не поддерживается (за исключением некоторых сценариев с UEFI, но это не рекомендуется).
  • Не вынимайте диски из пула без штатного удаления — это приведёт к переходу пула в состояние «Неполнота» и потенциальной потере данных.
  • Не смешивайте диски с разной физической геометрией (512e и 4Kn) без проверки совместимости — могут возникнуть проблемы с производительностью.

Производительность

  • Mirror даёт хорошую скорость чтения (читает с обоих дисков) и умеренную скорость записи.
  • Parity имеет низкую производительность записи (особенно без SSD-кэша). Не используйте Parity для баз данных или активных файловых серверов.
  • Для повышения производительности используйте многоуровневые хранилища (Storage Tiers), где часто используемые данные размещаются на SSD, а редко — на HDD. Настройка сложнее и выходит за рамки базовой инструкции.

Всегда делайте бэкапы важных данных на внешние носители.

Рекомендуемые настройки

Параметр Рекомендация
Тип устойчивости для файлового сервера Mirror (2‑way)
Тип подготовки для продакшн Fixed
Файловая система для больших данных ReFS (вместе с Mirror)
Размер кластера по умолчанию 64 КБ для больших файлов (> 1 ГБ)
Регулярная проверка целостности Repair-VirtualDisk -FriendlyName "VirtualDisk_Data"

Перенос пула на другой сервер

Вы можете перенести пул Storage Spaces на другой сервер Windows Server:

  1. Остановите первый сервер.
  2. Физически переместите диски во второй сервер.
  3. Загрузите второй сервер, откройте Диспетчер серверов → «Пулы носителей» → «Импортировать пул носителей».
  4. Все виртуальные диски и данные появятся автоматически.

Заключение

Storage Spaces — мощная бесплатная технология, которая позволяет превратить набор обычных дисков в отказоустойчивое и гибкое хранилище. Данная инструкция покрывает 99% задач, возникающих при создании файлового сервера в среде малого и среднего бизнеса. Для более сложных сценариев (многоуровневые хранилища, кластерные пулы, прямые пространства — Storage Spaces Direct) рекомендуется изучать официальную документацию Microsoft.