В прошлой статье мы рассказывали о новой технологии организации распределенного хранения, появившейся в 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.
Информацию о состоянии дисков пула можно получить с помощью PowerShell:
Get-StoragePool *S2D* | Get-PhysicalDisk
Сохраним объект проблемного диска в переменную, например так:
$Disk = Get-PhysicalDisk |? OperationalStatus -Notlike ok
Запретим дальнейшие попытки записи на данный диск:
Set-PhysicalDisk -InputObject $Disk -Usage Retired
Попробуем исключить данный неисправный диск из пула хранения.:
Get-StoragePool *S2D* | Remove-PhysicalDisk –PhysicalDisk $Disk
Скорее всего появится предупреждение, что данное устройство не отвечает.
Чтобы было проще идентифицировать диск в серверной стойке, включим LED подсветку диска:
Get-PhysicalDisk |? OperationalStatus -Notlike OK | Enable-PhysicalDiskIdentification
Теперь идет в серверную комнату и находим проблемный диск с помощью включенной ранее подсветки.
Выполняем замену неисправного диска на новый.
Теперь подсветку можно отключить:
Get-PhysicalDisk |? OperationalStatus -like OK | Disable-PhysicalDiskIdentification
Проверим, определила ли ОС новый диск:
$Disk = Get-PhysicalDisk | ? CanPool –eq True
Добавим новый диск в пул:
Get-StoragePool *S2D* | Add-PhysicalDisk –PhysicalDisks $Disk –Verbose
На этом все, S2D автоматически запустит процедуру перераспределения данных между дисками (в Windows Server 2012 Storage Spaces необходимо было запускать команду Repair-VirtualDisk вручную). Длительность синхронизации данных зависит от емкости диска и нагрузки на пул (в моем стенде заняло около 30 минут). После этого можно еще раз проверить статус пула.