Замена неисправного диска в Storage Spaces Direct на Windows Server 2016

Замена неисправного диска в Storage Spaces Direct на Windows Server 2016

В прошлой статье мы рассказывали о новой технологии организации распределенного хранения, появившейся в Windows Server 2016 – Storage Spaces Direct (S2D). S2D позволяет организовать на локальных дисках серверов кластера отказоустойчивое распределенное виртуальное хранилище данных (см. статью). В этой статье мы разберемся, как обнаружить и заменить вышедший из строя физический диск в кластере S2D.

Напомню, в S2D можно организовать диск в хранилище типа Mirror (напоминает RAID 1): в конфигурации с 2 дисками (не рекомендовано) такое хранилище может пережить выход из строя любого диска, если дисков в пуле более 3 – без последствий одновременно из строя могут выйти 2 любых диска. Второй тип массива – Parity (похож на RAID 5). В конфигурации из трех дисков массив может без последствий «потерять» один диск, при семи дисках – одновременно из строя могу выйти до 2 дисков.

Проверить состояние подсистемы хранения кластера S2D можно с помощью команды:

Get-StorageSubSystem *Cluster* | Get-StorageJob

Неисправность одного из дисков пула хранения в GUI можно обнаружить в консоли Failover Cluster Manager (Storage ->Storage Pool). Как вы видите, один из дисков физических пула находится в состоянии Unhealthy.

Неисправный Unhealthy диск в пуде хранения Storage Spaces Direct (S2D)

Информацию о состоянии дисков пула можно получить с помощью PowerShell:

Get-StoragePool *S2D* | Get-PhysicalDisk

Get-StoragePool *S2D* | Get-PhysicalDisk

Сохраним объект проблемного диска в переменную, например так:

$Disk = Get-PhysicalDisk |? OperationalStatus -Notlike ok

$Disk = Get-PhysicalDisk |? OperationalStatus -Notlike ok

Запретим дальнейшие попытки записи на данный диск:

Set-PhysicalDisk -InputObject $Disk -Usage Retired

Set-PhysicalDisk -InputObject $Disk -Usage Retired

Попробуем исключить данный неисправный диск из пула хранения.:

Get-StoragePool *S2D* | Remove-PhysicalDisk –PhysicalDisk $Disk

Скорее всего появится предупреждение, что данное устройство не отвечает.

Чтобы было проще идентифицировать диск в серверной стойке, включим LED подсветку диска:

Get-PhysicalDisk |? OperationalStatus -Notlike OK | Enable-PhysicalDiskIdentification

Примечание. Возможность идентификации дисков с помощью подсветки появилась в Windows Server 2016, при этом на стороне физического сервера требуется поддержка протокола мониторинга и управления подсистемой хранения SES (SCSI Enclosure Storage).

Теперь идет в серверную комнату и находим проблемный диск с помощью включенной ранее подсветки.

LED подсветка диска в сервере - SCSI Enclosure Storage

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

Теперь подсветку можно отключить:

Get-PhysicalDisk |? OperationalStatus -like OK | Disable-PhysicalDiskIdentification

Проверим, определила ли ОС новый диск:

$Disk = Get-PhysicalDisk | ? CanPool –eq True

= Get-PhysicalDisk | ? CanPool –eq True

Примечание. В некоторых младших моделях серверов для корректной идентификации диска нужно выполнить перезагрузку.

Добавим новый диск в пул:

Get-StoragePool *S2D* | Add-PhysicalDisk –PhysicalDisks $Disk –Verbose

Get-StoragePool *S2D* | Add-PhysicalDisk –PhysicalDisks

На этом все, S2D автоматически запустит процедуру перераспределения данных между дисками (в Windows Server 2012 Storage Spaces необходимо было запускать команду Repair-VirtualDisk вручную). Длительность синхронизации данных зависит от емкости диска и нагрузки на пул (в моем стенде заняло около 30 минут). После этого можно еще раз проверить статус пула.

Qiziqarli malumotlar
Замена неисправного диска в Storage Spaces Direct на Windows Server 2016