Назад | Перейти на главную страницу

Удаление устройств MPxIO без перезагрузки в Solaris 10

Я выполняю миграцию хранилища между двумя массивами EMC, подключенными по оптоволоконному каналу. Я уже переместил данные с дисков старого массива на диски нового массива. Теперь я хочу удалить старые диски из ОС, чтобы можно было снять зону с массива, чтобы ОС не заметила и не подняла предупреждения, потому что диски исчезли. Я действительно не хочу, чтобы для этого требовалась перезагрузка.

Я могу сделать это без проблем с дисками без MPxIO, но с дисками MPxIO моя обычная техника не работает.

Моя обычная техника - использовать

luxadm -e offline /dev/rdsk/cXtXdXs2
devfsadm -Cvc disk

Вот вам пример. Это в моей тестовой лаборатории, которая не подключена к массивам EMC, а к старой SENA (A5100), но она должна работать одинаково для любых дисков, подключенных к FC. Как видите, это совсем не работает

v480:root $ stmsboot -L | grep /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c5t22d0       /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c2t22d0       /dev/rdsk/c6t20000020371AC414d0
v480:root $ luxadm -e offline /dev/rdsk/c6t20000020371AC414d0s2
v480:root $ stmsboot -L | grep /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c5t22d0       /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c2t22d0       /dev/rdsk/c6t20000020371AC414d0

Попытка удалить базовые устройства тоже не работает

v480:root $ luxadm -e offline /dev/rdsk/c5t22d0s2
Error: Invalid pathname (/dev/rdsk/c5t22d0s2)
v480:root $ luxadm -e offline /dev/rdsk/c2t22d0s2
Error: Invalid pathname (/dev/rdsk/c2t22d0s2)

Кто-нибудь знает, как это делается?

Я нашел ответ на этот вопрос в Солярисе документы. Все сводится к деконфигурированию (cfgadm -c unconfigure) устройство, использующее устройство wwn, заданное cfgadm -al и очистка с devfsadm. Тогда трудность заключается в определении wwns, соответствующих устройству MPxIO, которое вы хотите удалить. Этот небольшой скрипт должен распечатать wwn устройства и соответствующий ему файл устройства.

    fcinfo hba-port | awk '/HBA Port WWN: / { HBAwwn=$NF} /OS Device Name:/ {print $NF, HBAwwn}' | sed 's/\/dev\/cfg\///g' | while read ctlr HBAwwn
    do
      fcinfo remote-port -sp $HBAwwn  | awk '/Remote Port WWN: / {rpwwn=$NF} /OS Device Name/ {print "'$ctlr'::" rpwwn, $NF}'
    done

например.

    c0::500000e010f3eaf2 /dev/rdsk/c0t1d0s2
    c0::500000e010f23c62 /dev/rdsk/c0t0d0s2
    c5::21000020371ac414 /dev/rdsk/c6t20000020371AC414d0s2
    c2::22000020371ac414 /dev/rdsk/c6t20000020371AC414d0s2

Итак, чтобы бросить /dev/rdsk/c6t20000020371AC414d0s2 ты бы побежал

    cfgadm -c unconfigure c5::21000020371ac414 c2::22000020371ac414
    devfsadm -Cvc disk

Oracle называет MPxIO «программным обеспечением StorageTek Traffic Manager» или STMS, что затрудняет поиск документов.

Эквивалентные документы Solaris 11: Вот. Внешне они практически идентичны Solaris 10. Мне не удалось найти документы для более ранней версии, но отсутствие fcinfo водители командного состава и пилоты pre-leadville FC должны превратить его в настоящую рутину.