Кластерный диск в состоянии «Online Pending»

Обновлено 30.04.2023

Кластерный диск в статусе Online Pending

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами разобрали установку CentOS 8. Идем далее и в сегодняшней публикации я хочу вас познакомить с ситуацией, когда после перезагрузки одного из узлов файлового кластера на базе Windows Server 2022, на одном из CSV дисков я получил статус "Online Pending" и он не был доступен для дальнейшего использования, а с учетом того что там 30 ТБ информации, это было не очень приятно. Давайте разбираться в чем дело, как вернуть диск в строй.

Как восстановить CSV диск и убрать ошибку "Cluster Shared Disk is not longer accessible from this cluster node"

Когда я запустил оснастку "Failover Cluster Manager", то диск под номером 12 имел статус "Online Pending" в логах был рад ошибок:

Cluster Shared Disk is not longer accessible from this cluster node because of error (1460). Please troubleshoot this node's connectivity to the storage device and network connectivity

Cluster Shared Disk is not longer accessible from this cluster node because of error (1460). Please troubleshoot this node's connectivity to the storage device and network connectivity

С самим Cluster Shared Disk диском ничего нельзя было сделать:

  • ❌Диск не переводился в Online
  • ❌Диск нельзя было перевести в режим обслуживания (Turn On Maintenance Mode)
  • ❌Диск нельзя перевезти на другой узел кластера

Так же по мимо статуса "Online Pending" в информационном поле сообщалось, что идет процесс проверки диска на ошибки "Chkdsk running on volume"

chkdsk running on volume

Если воспользоваться командлетом PowerShell, то будет все тоже самое:

Get-ClusterSharedVolume -Name "Cluster Disk 12"

Get-ClusterSharedVolume

Раз мы видим, что есть уведомление, о проверки диска на ошибки, нам хотелось бы посмотреть его статус работы и сколько еще осталось. Для это вам необходимо на кластерном узле, кто держит данный диск открыть путь:

C:\Windows\Cluster\Reports\номер диска

В моем случае был сбойный 12-й диск, поэтому я смотрю файл с именем ChkDsk_ResCluster Disk 12_Disk16Part2. Открыв его я вижу, что уже идет вторая фаза проверки и были исправлены ошибки, если был не NTFS, а ReFS, то там такой проблемы бы не было, так как данная файловая система все ошибки исправляет онлайн во время работы.

Stage 1: Examining basic file system structure ...
Correcting total allocated size in attribute record (80, $J)
of file 1000000000026.
Deleted corrupt attribute list entry
with type code 80 in file 26.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0x933C.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xCF6943.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xCFC1EA.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD02BF7.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD0AE70.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD11F5B.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD19019.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD1FD54.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD3AA28.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD4989F.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD57EC6.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD61C54.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD69005.
Deleting corrupt attribute record (0x80, $J)
from file record segment 0xD6DF85.
14090496 file records processed.
File verification completed.
466353 large file records processed.
0 bad file records processed.

Stage 2: Examining file name linkage ...
Correcting sparse file record segment 38.
1 reparse records processed.
17113330 index entries processed.
Index verification completed.

Deleting corrupt attribute record (0x80, $J) from file record segment 0xD6DF85

Теперь понимая, на какой стадии идет процесс вы можете оценить ситуацию, например в моем случае диск весит 30 ТБ, в итоге процесс проверки занял 80 минут. Если вы не хотите его ждать, то можете взять на себя риски, что файловая структура может быть повреждена и это в будущем может усугубить ситуацию, то можно попытаться принудительно завершить процесс chkdsk.exe. Для этого запустите диспетчер задач и найдите там процесс chkdsk.exe, через контекстное меню завершите его.

Процесс chkdsk.exe в просмотре событий

Тоже самое можно выполнить и через PowerShell

Get-Process chkdsk | Stop-Process

Остановка chkdsk через PowerShell

Не исключено, что Windows снова попытается проверить этот диск, просто снова убейте процесс на одном из узлов кластера. В большинстве случаев это помогает избавиться от статуса Online Pending" на "Cluster Shared Disk" и вернуть его в работу.

Починил Cluster Shared Disk

Но в идеале вы все же должны дождаться завершения проверки диска и получить результат от которого уже дальше плясать:

1 reparse records processed.
Fixing incorrect information in file record segment 26.
Inserting an index entry into index $I30 of file B.

Stage 3: Examining security descriptors ...
Security descriptor verification completed.
1511418 data files processed.

CHKDSK is verifying Usn Journal...
Creating Usn Journal $J data stream
Usn Journal verification completed.
CHKDSK discovered free space marked as allocated in the
master file table (MFT) bitmap.
CHKDSK discovered free space marked as allocated in the volume bitmap.

Windows has made corrections to the file system.
No further action is required.

32505837 MB total disk space.
32485823 MB in 12112694 files.
5273120 KB in 1511419 indexes.
14696831 KB in use by the system.
65536 KB occupied by the log file.
524808 KB available on disk.

8192 bytes in each allocation unit.
4160747263 total allocation units on disk.
65601 allocation units available on disk.

Fixing incorrect information in file record segment 26

Если диск в статусе "Online" но просит chkdsk

Бывают ситуации, что у вас нет на диске статуса "Online Pending", но система просит его проверить. Для этого вы должны выполнить такую последовательность действий:

  • ✅Перевести диск в режим обслуживания (Turn On Maintenance Mode)

Turn On Maintenance Mode

  • ✅Или через PowerShell тоже самое:

Get-ClusterSharedVolume "Cluster Disk 12" | Suspend-ClusterResource

  • Далее вычисляете к какому Volume у вас относится нужный диск. Когда эта информация получена, то выполняем команду:

chkdsk.exe /f C:\ClusterStorage\Volume2

В некоторых случаях, когда для исправления повреждения CSV требуется более 15 секунд (chkdsk пропускает все исправления, для которых требуется более 15 секунд), вам необходимо вручную исправить ошибку. Чтобы завершить эту операцию, выполните следующую команду из CMD от имени администратора

chkdsk.exe /SpotFix C:\ClusterStorage\Volume2

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

Можно ли отложить проверку диска если он поврежден?

Да вы можете прочитать мою статью "Как отключить автоматический Chkdsk в отказоустойчивом кластере Windows", если в двух словах, то вам нужно изменить политику DiskRunChkDsk.

Get-ClusterSharedVolume | Get-ClusterParameter -Name DiskRunChkDsk

Если значение "0", то это параметр по умолчанию для всех отказоустойчивых кластеров. Эта политика проверит том, чтобы увидеть, установлен ли грязный бит, и выполнит обычную проверку файловой системы.

Get-ClusterSharedVolume

Дополнительные ссылки

  • https://learn.microsoft.com/ru-ru/windows-server/storage/storage-spaces/troubleshooting-storage-spaces
  • https://www.starwindsoftware.com/blog/how-to-perform-check-disk-on-cluster-shared-volume-on-starwind-vsan?utm_source=pocket_reader
  • https://techcommunity.microsoft.com/t5/failover-clustering/how-to-run-chkdsk-and-defrag-on-cluster-shared-volumes-in/ba-p/371905?utm_source=pocket_reader
  • https://learn.microsoft.com/ru-ru/previous-versions/windows/desktop/mscs/diskrunchkdsk?redirectedfrom=MSDN
  • https://learn.microsoft.com/en-us/powershell/module/failoverclusters/get-clustersharedvolume?view=windowsserver2022-ps
Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *