вторник, 21 мая 2019 г.

Проблема с режимом обслуживания Azure Stack c обновления 1901

В обновлении 1901, при выводе узла из режима обслуживания, портал администратора сообщает о том, что узел готов к работе.

Однако, в этот момент, вероятно прохождение заданий по восстановлению целостности хранилища.

Microsoft принципиально изменил работу режима обслуживания, запущеного из портала администратора: добавили полную блокировку хранилища узла при помещении его в режим обслуживания. Что раньше, выглядело по другому.

Также, отмечено, что в более ранних версиях, если узел не был перезагружен StorageJob не генерировались в таком объеме.

Как итог: портал может ввести в заблуждение оператора, сообщив о том, что узел готов к работе и в случае перевода другого узла в режим обслуживания может возникнуть ситуация перехода отдельных томов S2D в режим read-only из-за отсутствия достаточного кол-ва копий данных для отдельных ресурсов (если остается 1, то в режим чтения).

Важно! В официальной документации Microsoft по Azure Stack этот момент не обнаружен.

Вывод
Необходимо каждый раз наблюдать за StorageJob и контролировать их завершение, перед выполнением других действий.

Контроль может осуществляться с помощью способов, описанных ниже

• Одиночные команды, выполняемая на PEP без разбития стекла (может понадобиться выполнить несколько раз).
Для проверки выполнения заданий хранилища использовать Get-VirtualDisk -cimsession s-cluster | Get-StorageJob
Затем для проверки восстановления виртуальных дисков использовать Get-VirtualDisk -cimsession s-cluster 

• Второй способ - это запуск скрипта, приведённого ниже, выводящего статус заданий хранилища по временному интервалу.

Важно! Увеличение кол-ва запросов к WMI, обслуживающему вызовы PowerShell к S2D, путём уменьшения тайм-аута, может привести к проблемам с S2D.

Заметка: требуется разбить стекло для работы со скриптом



while(1)
{
cls
$a = $b
Write-Host "OLD DATA" -ForegroundColor Gray
Write-Host $datetime -ForegroundColor Gray
Write-host "--------------------" -ForegroundColor Gray
$a | Out-String
$b = Get-VirtualDisk -CimSession s-cluster | Get-StorageJob
$datetime = Get-Date
Write-Host "New DATA" -ForegroundColor Yellow
Write-Host "--------------------" -ForegroundColor Yellow
Write-Host $datetime -ForegroundColor White
Write-Host "-------------------------" -ForegroundColor Yellow
$b | Out-String
start-sleep -seconds 300 
}


Далее, после окончания заданий надо выполнить Get-VirtualDisk -cimsession s-cluster 

Возможно индикация готовности узла к работе и S2D на  портале будет исправлена позже.