PowerFlex. Неисправный диск с неверным идентификатором устройства
Summary: Системный диск ScaleIO отображается как неисправный, если он использовался на другом узле SDS.
Symptoms
Сценарий
Если заказчик использует одну и ту же дисковую полку для двух или более узлов SDS, он должен настроить автономный режим или режим онлайн для каждого диска и узла, к которому он относится.
Иногда заказчик может ошибиться и включить один и тот же диск на обоих узлах SDS, а затем мы видим один диск как неисправный.
Возможные ошибки:
- Заказчик поддерживает один и тот же диск в оперативном режиме на обоих узлах SDS, а затем мы видим один диск как неисправный.
- Диски подкачки клиента означают, что каждый диск находится в режиме онлайн не на том узле, в этом случае мы видим два неисправных накопителя, по одному на каждом узле SDS.
Симптомы
Узел SDS обнаружил неверный идентификатор дискового устройства, и процесс SDS перевел диск в состояние FAILED.
При запуске процесса SDS после того, как часть mosConf перейдет к обнаружению физических устройств, когда диск не предназначен для масштабирования (например, диск системной ОС или свободный диск), будет показана ошибка "Invalid device header signature" (первая строка в выводе). Когда диск используется ScaleIO, устройство найдено, и рядом с ним отображается идентификатор устройства.
На первом выводе ниже (файл trc с сервера 1) мы видим, что найдено 12 устройств, но если присмотреться, то можно увидеть, что два устройства отличаются друг от друга (L,M) - 12-й символ в идентификаторе устройства - 3, а не 0, как у всех остальных идентификаторов устройств.
На втором выводе ниже (файл trc с сервера 2) было найдено 12 дисков и снова два диска разные (K,L) - 12-й символ в идентификаторе устройства равен 0, а не 3, как у всех остальных идентификаторов устройств.
После процесса обнаружения процесс SDS переходит к добавлению устройств обратно в SDS, когда SDS не найдет диск результат rc будет NOT_FOUND (файл trc с сервера 1), как мы можем видеть в примерах ниже, на каждом SDS у нас есть диски с идентификатором устройства, не принадлежащие к его SDS, SDS покажет эти диски как FAILED, потому что они NOT_FOUND (файл trc с сервера 1).
Файл trc с сервера 1
30/04 09:48:16.328000 000000A170629EA0:phyDev_ReadDevId:02679: Invalid device header signature : path=C, devVersion=2807280628052804, sigStart=2803280228012800, sigEnd=283b283a28392838
30/04 09:48:16.328000 000000A170629EA0:phyDevMap_ReloadSpecific:00128: Failed to read DeviceId of C. rc=351
30/04 09:48:16.329000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device F ,a2901dcd00000000
30/04 09:48:16.330000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device G ,a2901dce00000001
30/04 09:48:16.331000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device H ,a2901dcf00000002
30/04 09:48:16.332000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device I ,a2901dd000000003
30/04 09:48:16.333000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device J ,a2901dd100000004
30/04 09:48:16.333000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device K ,a29044bf00000005
30/04 09:48:16.337000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device L ,a29044c400030006
30/04 09:48:16.342000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device M ,a29044c000030005
30/04 09:48:16.343000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device N ,a29044cb00000008
30/04 09:48:16.344000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device O ,a2906bcf00000009
30/04 09:48:16.345000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device P ,a2906bd30000000a
30/04 09:48:16.345000 000000A170629EA0:phyDevMap_ReloadSpecific:00136: Found device Q ,fbd792df0000000b
...
30/04 09:48:16.345000 000000A1730BCEA0:contCmd_AddDev:01204: DevId a2901dce00000001 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173086EA0:contCmd_AddDev:01204: DevId a29044c700000007 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173098EA0:contCmd_AddDev:01204: DevId a2906bd30000000a - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730E0EA0:contCmd_AddDev:01204: DevId fbd792e50000000c - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730B3EA0:contCmd_AddDev:01204: DevId a2901dcf00000002 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A17310DEA0:contCmd_AddDev:01204: DevId a2901dcd00000000 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A173062EA0:contCmd_AddDev:01204: DevId a29044cb00000008 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730C5EA0:contCmd_AddDev:01204: DevId a2901dd100000004 - Start rc = SUCCESS
30/04 09:48:16.346000 000000A1730E0EA0:contCmd_AddDev:01391: DevId fbd792e50000000c - Done rc = NOT_FOUND
30/04 09:48:16.348000 000000A1730A1EA0:contCmd_AddDev:01204: DevId fbd792ee0000000e - Start rc = SUCCESS
30/04 09:48:16.348000 000000A1730A1EA0:contCmd_AddDev:01391: DevId fbd792ee0000000e - Done rc = NOT_FOUND
30/04 09:48:16.349000 000000A1730F2EA0:contCmd_AddDev:01204: DevId fbd792e90000000d - Start rc = SUCCESS
30/04 09:48:16.349000 000000A17306BEA0:contCmd_AddDev:01204: DevId a2901dd000000003 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A17307DEA0:contCmd_AddDev:01204: DevId a2906bcf00000009 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A173074EA0:contCmd_AddDev:01204: DevId a29044bf00000005 - Start rc = SUCCESS
30/04 09:48:16.349000 000000A173086EA0:contCmd_AddDev:01391: DevId a29044c700000007 - Done rc = NOT_FOUND
30/04 09:48:16.349000 000000A1730F2EA0:contCmd_AddDev:01391: DevId fbd792e90000000d - Done rc = NOT_FOUND
30/04 09:48:16.351000 000000A1730FBEA0:contCmd_AddDev:01204: DevId fbd792ef0000000f - Start rc = SUCCESS
30/04 09:48:16.352000 000000A1730FBEA0:contCmd_AddDev:01391: DevId fbd792ef0000000f - Done rc = NOT_FOUND
30/04 09:48:16.352000 000000A173104EA0:contCmd_AddDev:01391: DevId a29044c300000006 - Done rc = NOT_FOUND
Файл trc с сервера 2
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device F ,a2901dc800030000
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device G ,a2901dc900030001
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device H ,a2901dca00030002
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device I ,a2901dcb00030003
30/04 11:37:57.065000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device J ,a2901dcc00030004
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device K ,a29044c300000006
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device L ,a29044c700000007
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device M ,a29044c800030007
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device N ,a29044cc00030008
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device O ,a2906bd000030009
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device P ,a2906bd40003000a
30/04 11:37:57.081000 000000EE1DC2AEA0:phyDevMap_ReloadSpecific:00136: Found device Q ,fbda92e00003000b
Пояснения к идентификатору устройства SDS
Каждое устройство SDS имеет заголовок, сохраненный на его64-м LB.
Заголовок имеет следующую структуру:
64-битная подпись
Версия 64-разрядного устройства
Идентификатор 64-разрядного SDS
64-разрядная SDS Device ID ß то, что вы ищете.
Идентификатор устройства SDS, также известный как TgtDevId, состоит из следующих компонентов:
Уникальный идентификатор 32 бита
Индекс TGT 16 бит
Индекс устройства: 16 бит
Например, SDS с идентификатором 2df4737600000002 будет иметь два устройства с идентификаторами: 7FFF29EA00020000, 7FFF29EB00020001
В любом случае, если устройство, принадлежащее SDS x, было заменено на SDS y, то при повторном подключении устройства к SDS y оно обнаружит, что оно принадлежит другому SDS, проверив идентификатор SDS, сохраненный в заголовке.
Возможно, вы увидите его в журналах SDS, если выполните поиск по запросу «Wrong device»
Воздействие
Восстановление системы и повторная балансировка, так как диск находится в состоянии FAILED.
Cause
Идентификатор дискового устройства принадлежит другому узлу SDS, поэтому ScaleIO никогда не будет его использовать.
Resolution
Добавление диска в правильный узел SDS.
Затронутые версии
Все версии PowerFlex
Исправлено в версии
Работа как дизайн.