Как устроен Storage Spaces
Storage Spaces — технология виртуализации дискового пространства, которая впервые появилась в Microsoft Windows Server 2012. Storage Spaces является дальнейшим развитием механизма управления динамическими дисками в Windows. Основой является широко применяемая в решениях различных вендоров концепция дисковых пулов: отдельные физические диски сервера объединяются в один или несколько пулов, на базе которых создаются тома с различными уровнями производительности и отказоустойчивости. Использование Storage Spaces вместо аппаратного RAID-контроллера имеет ряд преимуществ и недостатков, которые будут подробно рассмотрены ниже.
Термины
Storage pool (пул хранения) — набор физических дисков. В одном пуле могут находится диски, отличающиеся по объёму, производительности и интерфейсу подключения.
Virtual disk (виртуальный диск) — термин для определения логический том в Storage Spaces. Для создания виртуального диска используется ёмкость выбранного дискового пула. При этом доступны несколько вариантов отказоустойчивости (их можно комбинировать в пределах одного пула), большинство из которых являются аналогами традиционных RAID-массивов различных уровней.
Simple (простой) — аналог RAID-0. Поток данных разбивается на страйпы (по умолчанию размером в 256КиБ), которые распределяются по дискам в пуле. Виртуальный диск simple обеспечивает оптимальное использование ёмкости дисков и является самым производительным, но не предполагает никакой отказоустойчивости.
Mirror (зеркальный): для каждого страйпа в зеркальном виртуальном диске записывается дополнительно одна (двойное зеркало, 2-way mirror) или две (тройное зеркало, 3-way mirror) копии. Аналогом в плане использования ёмкости дисков для двойного зеркала является RAID-10 (или 1E для нечётного числа дисков). Зеркальный ВД защищён от потери одного или двух дисков соответственно.
|
Parity (виртуальный диск с контролем чётности): запись страйпов на диски чередуется с записью контрольной суммы. В Windows Server 2012 R2 появились диски с двойной чётностью (dual parity), в которых дополнительно пишется вторая контрольная сумма. Как и аналогичные RAID-5 и RAID-6 ВД с контролем чётности допускают потерю одного или двух дисков соответственно и обеспечивают минимальную потерю дискового пространства (-1 или -2 диска соответственно). Традиционным недостатком любых реализаций томов с контрольными суммами является низкая производительность на запись из-за необходимости модификации всего полного страйпа вместе с контрольными суммами. Отсутствие фиксированного размещения страйпов в Storage Spaces и RAM-кэша на контроллере (используются обычные HBA) усугубляет данную проблему, сравнение производительности ВД single parity и dual parity с RAID-5 и RAID-6 будет ниже.
Storage tiers (ярусное хранение данных). В Windows Server 2012 R2 появилась поддержка 2-ярусного (SSD и HDD) размещения данных на виртуальных дисках Storage Spaces. Приоретизация доступа к быстрому ярусу из SSD возможна путём управления ёмкостью (при создании ВД указываются комбинация объёмов SSD и HDD ярусов) либо на файловом уровне: необходимый файл можно привязать к SSD-ярусу для обеспечения гарантированной производительнности.
Write-back cache (кэш на запись). Для компенсации низкой производительности на случайную запись небольшая часть SSD в пуле используется для кэширования записи. При этом оставшаяся часть ёмкости SSD может быть использована для ярусного хранения.
|
Ограничения
Количество дисков и ёмкость:
До 240 дисков одном пуле (в Windows Server 2012R2, ранее — до 160-ти), но пулов может быть несколько.
До 80-ти дисков в кластеризованном пуле, до 4-х пулов на кластер.
До 64-х виртуальных дисков в одном пуле.
Общая ёмкость пула — до 480ТиБ.
Столбцы и количество дисков в ВД:
Тип ВД | Минимальное число столбцов | Соотношение столбцы/диски | Минимальное число дисков | Максимальное число столбцов |
Simple (простой) | 1:1 | - | ||
Two-way mirror (двойное зеркало) | 1:2 | - | ||
Three-way mirror (тройное зеркало) | 1:3 | - | ||
Single parity (одиночная чётность) | 1:1 | |||
Dual parity (двойная чётность) | 1:1 |
Прочее
- Виртуальный диск Storage Spaces не может использоваться в качестве загрузочного.
- Для Storage Spaces можно использовать только диски с интерфейсами SAS, SATA и USB. Тома, презентуемые RAID-контроллерами; тома iSCSI, FC и прочие не поддерживаются.
Требования при использовании в кластере
- Нельзя использовать "тонкие" диски, допускается только фиксированное выделение ёмкости (fixed provisioning).
- Минимальное количество дисков для двойного зеркала — 3, для тройного зеркала — 5.
- В кластере можно использовать ВД с Parity, но только начиная с Windows Storage Server 2012 R2
- Используемые диски — только SAS с поддержкой SPC (SCSI persistent reservation). Многие ранние SAS-диски не поддердивают SPC. Аналогичное требование существует и для LSI Syncro CS.