Настройка Storage Space на Windows Server 2016

Настройка Storage Space

Как устроен 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 будет ниже.
  • В Windows Server 2012 R2 появился функционал enclosure awareness: при размещении страйпов учитывается размещение дисков по различным дисковым полкам (SAS JBOD’ам) для получения отказоустойчивости на уровне дисковых полок. Например, ВД с двойным зеркалированием (2-way mirror), размещенный на трёх дисковых полках, допускает потерю одной дисковой полки целиком.
  • Параллельность распределения страйпов в виртуальном диске определяется числом т.н. столбцов (columns). Для получения максимальной производительности число столбцов для виртуальных дисков с уровнем отказоустойчивости simple и parity должно соответствовать количеству физических дисков, но в настройках по умолчанию максимальное число столбцов, например, для simple равно 8. Это связано с особенностями механизма расширения ёмкости пула: для оптимального использования ёмкости число добавляемых дисков должно соответствовать максимальному числу столбцов, которое используется виртуальными дисками, а для зеркальных дисков — числу столбцов * числу копий страйпа (2 для 2-way mirror, 3 для 3-way mirror).
  • 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ТиБ.

Storage Spaces в кластерах

Одна из самых востребованных возможностей Storage Spaces — использование в failover-кластере Windows. Архитектура решения предельно проста: требуются диски SAS (см. дополнительные требования к дискам и организации томов), SAS JBOD (дисковая полка) с двумя SAS-экспандерами и минимум двумя разъемами для подключения к каждому из экспандеров (для двухузлового кластера). На серверах в качестве контроллеров используются обычные SAS HBA. Мы рекомендуем LSI (любые SAS2 и SAS3 HBA с внешними портами, например LSI 9207-8e), но можно использовать и Adaptec серий 6H и 7H.

Минимальной конфигурация выглядит так: два сервера, в каждом из них двухпортовый SAS HBA с подключением к 2-экспандерному SAS JBOD’у на базе корпуса Supermicro и SAS диски.

Настройка Storage Space Server 2016

Для использования в качестве SAS JBOD’а можно использовать любой корпус Supermicro с двумя экспандерами (E26 или E2C в наименовании для SAS2 и SAS3 соответственно). Каждый экспандер в корпусах Supermicro имеет минимум два разъема x4 SAS (SFF-8087 или SFF-8643), которые можно использовать в качестве входов. При наличии третьего разъема его можно использовать для каскадирования (подключения дополнительных дисковых полок) или для построения топологии с тремя узлами в кластере.

Существуют варианты в одном корпусе, т.н. Cluster-in-a-box (CiB): готовые комплекты SSG-6037B-CIB032 и SSG-2027B-CIB020H на базе Supermicro Storage Bridge Bay с предустановленным Windows Storage Server 2012 R2 Standard, которые отлично подходят для построения отказоустойчивых файловых и/или iSCSI серверов:

Варианты отказоустойчивости и минимальное количество дисков

варианты отказоустойчивости Storage Spaces

Настройка Storage Spaces на Server 2016

Настраивать мы будем в виртуальной лабаратории , где существуют 2 сервера , DC1( как контроллер домена с предустановленной Windows Server 2016 Standart) , и сервер Storage Spaces с названием SERVER1 ( с предустановленной Windows Server 2016 Datacenter) . Также на сервер добавлены 5 виртуальных SAS дисков , емкостью по 10gb.

  • Переходим Server Manager > File and Storage Services > Servers > Storage Pools
Настройка Storage Space Server 2016 -2
Настройка Storage Space Server 2016 -3
Настройка Storage Space Server 2016 -4
Настройка Storage Space Server 2016 -5
Настройка Storage Space Server 2016 -6
Настройка Storage Space Server 2016 -7
Настройка Storage Space Server 2016 -8
Настройка Storage Space Server 2016 -9
Настройка Storage Space Server 2016 -10
Настройка Storage Space Server 2016 -11
Настройка Storage Space Server 2016 -12
Настройка Storage Space Server 2016 -13
Настройка Storage Space Server 2016 -14
Настройка Storage Space Server 2016 -15
Настройка Storage Space Server 2016 -16
Настройка Storage Space Server 2016 -17
Настройка Storage Space Server 2016 -18
Настройка Storage Space Server 2016 -19
Настройка Storage Space Server 2016 -20
Настройка Storage Space Server 2016 -21
Настройка Storage Space Server 2016 -22
Настройка Storage Space Server 2016 -23

Powershell commands

Удаление сломанного диска из пула

$disk = get-physicaldisk -friendlyname "generic physical disk"
remove-physicaldisk -physicaldisks $disk -storagepoolfriendlyname storagepool1

Get physical disks that can be pooled

Get-physicaldisk | ? {$_.canpool -eq $true}
or
$canpool = get-physicaldisk -canpool $true

Create a new pool

New-StoragePool -FriendlyName Pool1 -StorageSubSystemFriendlyName (Get-StorageSubSystem).FriendlyName -PhysicalDisks (Get-PhysicalDisk -CanPool $True)
or
New-StoragePool -FriendlyName Pool1 -StorageSubSystemFriendlyName "Windows Storage" -PhysicalDisks (Get-PhysicalDisk -CanPool $True)

Rename Disk
Get-PhysicalDisk | Select-Object friendlyname,UniqueID,size
Get-PhysicalDisk -UniqueId 60022480F0D1DE600607F4F2B10A2917 | Set-PhysicalDisk -newFriendlyName HDDTEST

Rename Virtual Disk
Get-VirtualDisk | Set-VirtualDisk -NewFriendlyName Vdisk1

Get disk on Storage Pool

get-storagepool -friendlyname StoragePool1 | get-physicaldisk | select friendlyname , mediatype, usage , bustype


Get physical disk info in the pool

Get-StoragePool Pool1 | Get-PhysicalDisk | Select FriendlyName,MediaType,UniqueId

New non-tiered thin size virtual disk

New-VirtualDisk -StoragePoolFriendlyName Pool1 -FriendlyName vDisk1 -Size 3TB —ResiliencySettingName Simple -ProvisioningType Thin

New non-tiered fixed size virtual disk with write-back-cache

New-VirtualDisk -StoragePoolFriendlyName Pool1 -FriendlyName vDisk1 -Size 3TB -ResiliencySettingName Simple -ProvisioningType Fixed -WriteCacheSize 92GB

Change disk MediaType in pool using FriendlyName (Распределить диски на быстрые и медленные)

Перед применением диск не должен быть участником Виртуального диска или будет ошибка Failed
Set-PhysicalDisk -FriendlyName PhysicalDisk1 -MediaType SSD
Set-PhysicalDisk -FriendlyName PhysicalDisk2 -MediaType HDD

Change disk FriendlyName in pool using UniqueId

Set-PhysicalDisk -UniqueId “{8433b759-314d-11e5-94f3-806e6f6e6963}” -NewFriendlyName “SSD1”

New tiered disk witch custom write-back-cache

New-VirtualDisk -StoragePoolFriendlyName “My Storage Pool” -FriendlyName TieredSpace -StorageTiers @($ssd_tier, $hdd_tier) -StorageTierSizes @(50GB, 300GB) -ResiliencySettingName simple -WriteCacheSize 2GB

Extend virtual disk

Get-VirtualDisk vDisk1 | Resize-VirtualDisk -Size 4TB

Assign a frequent accessed file permanently to the SSD Tier

Set-FileStorageTier -FilePath F:\disk.vhd -DesiredStorageTier ($vdisk1 | Get-StorageTier -MediaType SSD)
OR
New-StorageTier -StoragePoolFriendlyName storagepool1 -FriendlyName HDD_tier -MediaType HDD
New-StorageTier -StoragePoolFriendlyName storagepool1 -FriendlyName SSD_tier -MediaType SSD

Информация взята из источников
https://www.truesystem.ru/solutions/khranenie_danny/360884/
https://habr.com/ru/company/etegro/blog/257089/
https://social.technet.microsoft.com/wiki/contents/articles/11382.storage-spaces-frequently-asked-questions-faq.aspx

Оцените статью
Alukashin.ru
Добавить комментарий