A ILOM de DB Nodes e Storage Cell de um Exadata não é algo que costumamos acessar tão frequentemente, sendo mais comum durante manuntenções do hardware ou de atualização do Exadata Software.
Alguns ambientes podem ter a chave ssh compartilhada entre o servidor (DB Node ou Storage Cell) e sua respectiva ILOM, o que facilita o acesso via ssh em condições normais, quando todos os nodes estão online. Mas considerando um cenário de manuntenção que envolve restart do servidor, ter conhecimento da senha do root da ILOM para um acesso externo em caso de emergência é um ponto importante a se considerar.
Este post pode ser útil em cenários em que você não tem conhecimento da senha do usuário ROOT da ILOM de um DB Node ou Storage Cell de um Exadata, ou até mesmo quando tem conhecimento da senha, mas a conta do usuário foi bloqueada por excesso de tentativas de login com uma senha incorreta.
Comandos Básicos Para Ter na Sua Caixa de Ferramentas
Utilizamos o utilitário ipmitool que está presente em todos os nodes, os comandos precisam ser executados a partir do respectivo Node associado com a ILOM.
Exemplo A: Se você quer alterar a senha do root na ILOM do DB Node 1, você precisa estar conectado como root no DB Node 1.
Exemplo B: Se você quer alterar a senha do root da ILOM do Storage Cell 3, você precisa estar conectado como root no Storage Cell 3.
1) Listando usuários
ipmitool user list 1
2) Verificando se o usuário está bloqueado
ipmitool sunoem cli "show /SP/users/root" | grep locked
3) Desbloqueando o usuário
ipmitool sunoem cli "set /SP/users/root locked=false"
4) Resetando a senha atual (colocando qualquer uma senha sem saber a senha atual)
ipmitool user set password 0x02 nova_senha
Demonstração
1) Listando usuários existentes na ILOM
O resultado pode variar de um ambiente para o outro se algum usuário adicional foi criado, mas esse é o padrão:
[root@exadb01 ~]# ipmitool user list 1
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 false false true USER
2 root false false true ADMINISTRATOR
3 MSUser true false true ADMINISTRATOR
4 orarom true false true ADMINISTRATOR
12 default true false true NO ACCESS
2) Verificando Se a Conta Está Bloqueada
No resultado abaixo, você deve observar a Propriedade “locked”, onde o valor “true” indica que o usuário está bloqueado.
[root@exadb01 ~]# ipmitool sunoem cli "show /SP/users/root"
Connected. Use ^D to exit.
-> show /SP/users/root
/SP/users/root
Targets:
ssh
Properties:
role = aucro
password = *****
locked = true <<<<============== Usuário bloqueado
Commands:
cd
set
show
-> Session closed
Disconnected
Exemplo verificando em todos os DB Nodes, usando o grep para filtrar o resultado ao que interessa neste contexto:
[root@exadb01 ~]# dcli -g ~/dbs_group -l root 'ipmitool sunoem cli "show /SP/users/root"' | grep locked
exadb01: locked = true
exadb02: locked = true
exadb03: locked = true
exadb04: locked = true
3) Desbloqueando a Conta do ROOT
Para desbloquear a conta do usuário, usamos a opção “set” para alterar a Propriedade com o valor “false”:
[root@exadb01 ~]# ipmitool sunoem cli "set /SP/users/root locked=false"
Connected. Use ^D to exit.
-> set /SP/users/root locked=false
Set 'locked' to 'false'
-> Session closed
Disconnected
Exemplo executando em todos os DB Nodes com o dcl (Note que neste caso o DCLI vai em cada Node via ssh e a partir de lá o comando “ipmi” tool é executado de fato):
[root@exadb01 ~]# dcli -g ~/dbs_group -l root 'ipmitool sunoem cli "set /SP/users/root locked=false"'
exadb01: Connected. Use ^D to exit.
exadb01: -> set /SP/users/root locked=false
exadb01: Set 'locked' to 'false'
exadb01:
exadb01: -> Session closed
exadb01: Disconnected
exadb02: Connected. Use ^D to exit.
exadb02: -> set /SP/users/root locked=false
exadb02: Set 'locked' to 'false'
exadb02:
exadb02: -> Session closed
exadb02: Disconnected
exadb03: Connected. Use ^D to exit.
exadb03: -> set /SP/users/root locked=false
exadb03: Set 'locked' to 'false'
exadb03:
exadb03: -> Session closed
exadb03: Disconnected
exadb04: Connected. Use ^D to exit.
exadb04: -> set /SP/users/root locked=false
exadb04: Set 'locked' to 'false'
exadb04:
exadb04: -> Session closed
exadb04: Disconnected
O mesmo comando pode ser utilizado para Storages Cell (neste caso apenas alterei o arquivo de grupo de hostnames):
[root@exadb01 ~]# dcli -g ~/cell_group -l root 'ipmitool sunoem cli "set /SP/users/root locked=false"'
exacel01: Connected. Use ^D to exit.
exacel01: -> set /SP/users/root locked=false
exacel01: Set 'locked' to 'false'
exacel01:
exacel01: -> Session closed
exacel01: Disconnected
exacel02: Connected. Use ^D to exit.
exacel02: -> set /SP/users/root locked=false
exacel02: Set 'locked' to 'false'
exacel02:
exacel02: -> Session closed
exacel02: Disconnected
exacel03: Connected. Use ^D to exit.
exacel03: -> set /SP/users/root locked=false
exacel03: Set 'locked' to 'false'
exacel03:
exacel03: -> Session closed
exacel03: Disconnected
exacel04: Connected. Use ^D to exit.
exacel04: -> set /SP/users/root locked=false
exacel04: Set 'locked' to 'false'
exacel04:
exacel04: -> Session closed
exacel04: Disconnected
exacel05: Connected. Use ^D to exit.
exacel05: -> set /SP/users/root locked=false
exacel05: Set 'locked' to 'false'
exacel05:
exacel05: -> Session closed
exacel05: Disconnected
exacel06: Connected. Use ^D to exit.
exacel06: -> set /SP/users/root locked=false
exacel06: Set 'locked' to 'false'
exacel06:
exacel06: -> Session closed
exacel06: Disconnected
4) Resetando a Senha:
No exemplo abaixo estou alterando a senha para o padrão “changeme”:
[root@exadb01 ~]# ipmitool user set password 0x02 changeme
Set User Password command successful (user 2)
Exemplo usando o dcli para alterar em todos os Nodes:
[root@exadb01 ~]# dcli -g ~/dbs_group -l root '/usr/sbin/ipmitool user set password 0x02 changeme'
exadb01: Set User Password command successful (user 2)
exadb02: Set User Password command successful (user 2)
exadb03: Set User Password command successful (user 2)
exadb04: Set User Password command successful (user 2)
Colocando uma Nova Senha na ILOM Via Interface WEB
Uma alternativa válida é colocar uma senha temporária via ipmitool (como o exemplo changeme) e depois alterar a senha colocando uma definitiva via interface WEB.
1) A partir de um navegador com acesso aos IPs do Exadata, informe o seguinte endereço:
2) Logue com o usuário root e a senha que acabou que definir via ipmitool:

3) Siga o caminho descrito numericamente:
- ILOM Administration (expande para exibir os menus)
- User Management
- User Accounts
- Clique na linha do usuário root
- Clique no botão “Edit”

Na nova janela que se abrir:
6. Informe a nova senha
7. Confirme a nova senha
8. Clique em Save

Após finalizar a alteração, recomendo clicar na opção de Logout e já testar a nova senha imediatamente. Caso tenha informado uma senha por engano (e conseguido confirmar por engano), já é uma oportunidade para resetar e alterar novamente com a senha correta.
Se tem aviso, tem história.
Conclusão
Este post apresentou uma lista de comandos básicos que podem ser utilizados para recuperar acesso a ILOM de um DB Node ou Storage Node do Exadata quando não se tem conhecimento da senha atual ou quando a conta do root está bloqueada. Por garantia, é recomendado sempre testar o acesso a ILOM de todos os nodes do Exadata antes de uma manuntenção programada, e caso necessário, alterar a senha do root ou desbloquear a conta do mesmo em todas as ILOM.
Por fim, o exemplo com interface WEB é apenas um bonus demonstrando como alterar a senha pelo caminho “oficial”, mas obviamente você precisa conhecer a senha atual pra poder logar por lá.
Ótimo artigo mestre!!!
Precisei resetar a senha da ILOM de um ODA e funcionou perfeitamente também.
Executei o seguintes passos do artigo:
Verifiquei se o root estava bloqueado: (no meu caso, estava)
ipmitool sunoem cli “show /SP/users/root” | grep locked
Depois desbloqueei:
ipmitool sunoem cli “set /SP/users/root locked=false”
Depois resetei:
ipmitool user set password 0x02 nova_senha
Ótimo!
É bom saber que o procedimento também se aplica no ODA 🙂
Obrigado pelo feedback !