Removendo dispositivos MPxIO sem reinicializar no Solaris 10

Removendo dispositivos MPxIO sem reinicializar no Solaris 10

Estou realizando uma migração de armazenamento entre dois arrays EMC conectados por Fibre Channel. Já movi os dados dos discos do array antigo para os discos do novo array. Agora quero remover os discos antigos do sistema operacional para que o array possa ser deszoneado sem que o sistema operacional perceba e gere alertas porque os discos desapareceram. Eu realmente não quero ter que reiniciar para conseguir isso.

Posso fazer isso sem problemas com discos não MPxIO, mas para discos MPxIO minha técnica usual não está funcionando.

Minha técnica usual é usar

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

Aqui está um exemplo. Isso está em meu laboratório de testes, que não está conectado a arrays EMC, mas a um antigo SENA (A5100), mas deve funcionar da mesma forma para qualquer disco conectado por FC. Como você pode ver, não funciona de jeito nenhum

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

Tentar remover os dispositivos subjacentes também não funciona

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)

Alguém sabe como isso é feito?

Responder1

Encontrei a resposta para esta pergunta no Solarisdocumentos. Tudo se resume a desconfigurar ( cfgadm -c unconfigure) o dispositivo usando o dispositivo wwn fornecido por cfgadm -ale limpar com devfsadm. A dificuldade então é identificar os wwns que correspondem ao dispositivo MPxIO que você deseja remover. Este pequeno script deve imprimir o dispositivo wwn e seu arquivo de dispositivo correspondente.

    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

por exemplo.

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

Então aqui para largar /dev/rdsk/c6t20000020371AC414d0s2você correria

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

A Oracle chama MPxIO de 'software StorageTek Traffic Manager' ou STMS, o que tornou os documentos mais difíceis de encontrar.

Os documentos equivalentes do Solaris 11 sãoaqui. Eles parecem quase idênticos aos Solaris 10. Não consegui encontrar documentos para versões anteriores, mas a falta do fcinfocomando e dos drivers pré-leadville FC devem tornar isso uma verdadeira tarefa árdua.

informação relacionada