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 -al
e 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/c6t20000020371AC414d0s2
você 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 fcinfo
comando e dos drivers pré-leadville FC devem tornar isso uma verdadeira tarefa árdua.