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

Удаление устройств 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)

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

решение1

Я нашел ответ на этот вопрос в Solarisдокументы. Это сводится к деконфигурации ( cfgadm -c unconfigure) устройства с использованием wwn устройства, предоставленного , cfgadm -alи очистке с помощью devfsadm. Затем сложность заключается в определении wwn, которые соответствуют устройству 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и драйверов FC до Leadville должно сделать это настоящей рутиной.

Связанный контент