15 дек. 2009 г.

Борьба с cfgadm unusable state

В результате удаления LUN'ов из маппинга или зоны видимости сервера в выводе cfgadm можно увидеть эти устройства, как unusable. Обычный cfgadm -c unconfigure здесь не помогает. Чтобы ОС перестала видеть эти устройства, можно воспользоваться следующей командой:

cfgadm -al|grep unusable| awk '{print $1}' | xargs -L1 echo cfgadm -c unconfigure -o unusable_SCSI_LUN 

, чтобы просмотреть, что произойдет. И добавить "| sh -x" для выполнения команды.

Напоминаю, что для той-же операции в Solaris 9 используется параметр -o unusable_FCP_DEV .

Для некоторых устройств возникает ошибка:

cfgadm: Library error: failed to offline: /devices/scsi_vhci/ssd@g60060e8004f236000000f23600000723 Resource Information -------------------------------------------------- ------------------------- /dev/dsk/c14t60060E8004F236000000F23600000723d0s2 Device being used by VxVM      

В выводе vxdisk list данное устройство в статусе 'error'. Конечно, следовало предварительно сделать offline для всех путей.

# luxadm disp /dev/rdsk/c14t60060E8004F236000000F23600000720d0s2   Error: Could not get physical path to the device. - /dev/rdsk/c14t60060E8004F236000000F23600000720d0s2.

То есть, физически устройства тоже нет. В данном случае помогает

cfgadm -f -c unconfigure

В случае похожей ошибки, но rcm: invalid argument, у нас проблема с демоном rcm. Крайне не рекомендуемый, но работоспособный способ - на время операции unconfigure снять флаг 'x' с перлового скрипта проверки:

chmod -x /usr/lib/rcm/scripts/es_rcm.pl 

cfgadm -c unconfigure -o unusable_SCSI_LUN

chmod +x /usr/lib/rcm/scripts/es_rcm.pl 

Что описано в инфодоке: http://sunsolve.sun.com/search/document.do?assetkey=1-62-210997-1