У минулій статті ми розповідали про нову технологію організації розподіленого зберігання, що з'явилася в 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 хвилин). Після цього можна ще раз перевірити статус пулу.