PowerFlex 3.x: команда добавления SDC, вызывающая сбой MDM и переключение при отказе
Summary:
После выполнения команды добавления SDC (scli --add_sdc /), выполняется переключение MDM на резервный ресурс.
Symptoms
Сценарий
MDM работает в «Ограниченном режиме».
Пользователь пытается добавить SDC с IP-адресами, которые не существуют в утвержденных IP-адресах SDC, что заставляет MDM создать новый объект SDC.
Используемое имя SDC — это имя SDC, которое уже существовало ранее.
Паника MDM возникает при приеме управления основным и дополнительным MDM.
Симптомы
Пользователь выполняет команду добавления SDC, используя IP-адреса, а не GUID, и получает ошибку связи в виде stdout, например:
# scli --add_sdc --sdc_ip 123.234.234.201 --sdc_name SDC40 Error: MDM failed command. Status: Communication error
При проверке файла MDM exp.0 можно было заметить следующую ошибку.
21/12 02:43:26.897784 Panic in file /data/builds/workspace/ScaleIO-Common-Job@2/src/mdm/control/obj_container.c, line 2291, function objContainer_GetObjId, PID 30902.Panic Expression (((void *)0) != (pObjHeader)) && ((pObjHeader)->magic == 0x68cab8db) . /opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(mosDbg_PanicPrepare+0x13a) [0x9a51ca] /opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(objContainer_GetObjId+0xe8) [0x981768] /opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(iniMgr_ApproveInitiator+0x359) [0x8c7fe9] /opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175() [0x562a08] /opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(netRecvGroup_WaitForWork+0x3dc) [0x7b2cfc] /opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(netRecvGroup_WaitForWorkLoop+0x18) [0x7b3008] /opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(mosUmt_StartFunc+0x7a) [0x7fb5da] /lib64/libc.so.6(+0x48140) [0x7ff1b5a8d140] [(nil)]
Воздействие
Сбой команды добавления SDC — SDC не будет добавлен в переключение MDM системы при отказе.
Cause
В рамках команды «add SDC» пользователь должен использовать дополнительные параметры, такие как: «SDC IPs» или «SDC GUID» с необязательным параметром «SDC name».
После выполнения команды «add SDC» MDM пытается найти существующий SDC с этими параметрами. В нашем сценарии пользователь предоставил незнакомые IP-адреса SDC, и, соответственно, MDM не знаком с недавно предоставленными IP-адресами SDC из-за изменения, внесенного в версию 3.0, поэтому MDM создал новый объект SDC.
Кроме того, параметр «SDC name», который использовался при выполнении команды, был существующим именем SDC, поэтому он немедленно удалил только что созданный объект SDC, так как MDM обнаружил, что это имя уже используется.
После того как MDM попыталась получить доступ к удаленному объекту SDC, это подтвердили, и произошло переключение при отказе.
Resolution
Команда разработчиков PowerFlex рассмотрит эту проблему в следующих выпусках.
Чтобы обойти этот сценарий и успешно добавить SDC, которые были подключены ранее, используйте параметр «SDC GUID» вместо «SDC IP».
Пример.
scli --add_sdc --sdc_guid FA4BFBF6-546A-11E8-B40D-0050568D283E
Затронутые версии
Все версии выше 3.0
Исправленная версия
Будущий выпуск PowerFlex