OCI – Console Connection em DBCS

Um dos recursos que mais chamou a atenção com o anúncio do OCI foi a possibilidade de realizar uma conexão na console da máquina, aqui eu já escrevi sobre isso, hoje quero mostrar como fazer a mesma coisa em um DBCS para momentos em que você por algum motivo perdeu acesso na máquina.

Diferente do primeiro artigo, aqui vamos usar o cloud shell para o acesso, o primeiro passo é gerar um par de chaves ssh caso você ainda não tenha:

$ ssh-keygen -t rsa

Você precisa do conteúdo da chave pública que fica em ~/.ssh/id_rsa.pub para criar a conexão:

Com a chave copiada, vá no DBCS -> Console Connection e crie uma nova, use a opção Paste SSH e cole o conteúdo do seu arquivo id_rsa.pub:

Após a conexão criada, clique nos 3 pontinhos do lado direito e copie o comando SSH e cole no Cloud Shell, ele vai te pedir duas vezes a confirmação (basta digitar yes e dar enter) e após a segunda vez basta dar um enter e você já vai estar na console da máquina.

Estando no console da máquina você tem duas opções, a primeira é digitar o usuário e senha e após isso reestabelecer seu acesso via ssh, mas por padrão as máquinas em OCI não possuem usuário e senha e sim par de chaves para acesso, sendo assim você precisa fazer o que chamamos de login single user.

DBCS Single User login

O primeiro passo é continuar conectado na console e dar um reboot no serviço em Nodes -> Reboot, ao fazer isso volte para o Cloud shell pois precisamos interromper o boot da vm para alterar alguns parâmetros.

Quando a tela de selecionar o Kernel aparecer, aperte ESC para parar o boot

Com a primeira linha selecionada, aperte a letra e para editar o boot:

Navegue até a linha que começa com linuxefi e adicione ao final rw init=/bin/bash e aperte ctrl + x

Após isso o sistema deve fazer o boot e você já vai estar logado como root

Agora você pode por exemplo editar o arquivo de chaves e adicionar uma nova:

Editar o fstab:

Montar o LVM para copiar algum arquivo

NÃO FAÇA ISSO CASO VOCÊ NÃO PRECISE, ESSE É UM PROCEDIMENTO QUE NÃO DEVE SER EXECUTADO EM AMBIENTES PRODUTIVOS, ELE FOI DOCUMENTADO APENAS PARA TESTAR AS FUNCIONALIDADES DO LINUX!

Se você tentar montar diretamente um erro vai acontecer:

bash-4.2# mount -a
mount: special device /dev/mapper/DATA_GRP-DATA does not exist
mount: special device /dev/mapper/RECO_GRP-RECO does not exist
mount: special device /dev/mapper/BITS_GRP-BITS does not exist
bash-4.2# 

Então você precisa executar alguns comandos antes:

Exporte o sbin para seu path para facilitar nos comandos

PATH=/usr/sbin:$PATH

Subir iscsid

bash-4.2# /sbin/iscsid

Conectar nos discos

bash-4.2# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2015-12.com.oracleiaas:916d7433-83b6-4415-b650-261f51bdae67, portal: 169.254.2.5,3260] (multiple)
Logging in to [iface: default, target: iqn.2015-12.com.oracleiaas:53102c23-f9d2-49fa-ada5-eb9b3b32f051, portal: 169.254.2.4,3260] (multiple)
Logging in to [iface: default, target: iqn.2015-12.com.oracleiaas:b23cdeb7-68c1-4711-914f-37b80d5c215b, portal: 169.254.2.3,3260] (multiple)
iscsiadm: could not read session targetname: 5
iscsiadm: could not find session info for session2
Logging in to [iface: default, target: iqn.2015-12.com.oracleiaas:be2fc602-e691-4703-af75-303f10f73490, portal: 169.254.2.2,3260] (multiple)
Logging in to [iface: default, target: iqn.2015-12.com.oracleiaas:f2d9acb0-ad78-41de-9026-cf812bf5f91b, portal: 169.254.2.6,3260] (multiple)
Login to [iface: default, target: iqn.2015-12.com.oracleiaas:916d7433-83b6-4415-b650-261f51bdae67, portal: 169.254.2.5,3260] successful.
Login to [iface: default, target: iqn.2015-12.com.oracleiaas:53102c23-f9d2-49fa-ada5-eb9b3b32f051, portal: 169.254.2.4,3260] successful.
Login to [iface: default, target: iqn.2015-12.com.oracleiaas:b23cdeb7-68c1-4711-914f-37b80d5c215b, portal: 169.254.2.3,3260] successful.
Login to [iface: default, target: iqn.2015-12.com.oracleiaas:be2fc602-e691-4703-af75-303f10f73490, portal: 169.254.2.2,3260] successful.
Login to [iface: default, target: iqn.2015-12.com.oracleiaas:f2d9acb0-ad78-41de-9026-cf812bf5f91b, portal: 169.254.2.6,3260] successful.
bash-4.2# 

Nesse momento o LVM já vai estar disponível, mas ainda não vai ter criado os diretórios no mapper:

bash-4.2# pvs
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  PV         VG           Fmt  Attr PSize    PFree  
  /dev/sda3  VolGroupSys0 lvm2 a--    61.46g 476.00m
  /dev/sdb   RECO_GRP     lvm2 a--  <128.00g      0 
  /dev/sdc   RECO_GRP     lvm2 a--  <128.00g      0 
  /dev/sdd   BITS_GRP     lvm2 a--  <200.00g      0 
  /dev/sde   DATA_GRP     lvm2 a--  <128.00g      0 
  /dev/sdf   DATA_GRP     lvm2 a--  <128.00g      0 
bash-4.2# 
bash-4.2# mount -a
mount: special device /dev/mapper/DATA_GRP-DATA does not exist
mount: special device /dev/mapper/RECO_GRP-RECO does not exist
mount: special device /dev/mapper/BITS_GRP-BITS does not exist
bash-4.2# 

Você precisa ativar:

bash-4.2# /usr/sbin/lvm pvscan --cache --activate ay
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  pvscan[878] activating all directly (lvmetad unused) 
  WARNING: Autoactivation reading from disk instead of lvmetad.
  pvscan[878] VG DATA_GRP run autoactivation.
  1 logical volume(s) in volume group "DATA_GRP" now active
  pvscan[878] VG BITS_GRP run autoactivation.
  1 logical volume(s) in volume group "BITS_GRP" now active
  pvscan[878] VG RECO_GRP run autoactivation.
  1 logical volume(s) in volume group "RECO_GRP" now active
  pvscan[878] VG VolGroupSys0 skip autoactivation.

E forçar a criação dos diretórios:

 bash-4.2#  vgscan --mknodes
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  Reading all physical volumes.  This may take a while...
  Found volume group "DATA_GRP" using metadata type lvm2
  Found volume group "BITS_GRP" using metadata type lvm2
  Found volume group "RECO_GRP" using metadata type lvm2
  Found volume group "VolGroupSys0" using metadata type lvm2

E sua montagem vai funcionar:

bash-4.2# mount -a
bash-4.2# df -h
Filesystem                           Size  Used Avail Use% Mounted on
devtmpfs                             7.2G     0  7.2G   0% /dev
tmpfs                                7.3G     0  7.3G   0% /dev/shm
tmpfs                                7.3G  8.1M  7.3G   1% /run
tmpfs                                7.3G     0  7.3G   0% /sys/fs/cgroup
/dev/mapper/VolGroupSys0-LogVolRoot   45G  7.7G   35G  19% /
/dev/sda2                            1.4G   78M  1.2G   7% /boot
/dev/sda1                            486M  7.5M  478M   2% /boot/efi
/dev/mapper/DATA_GRP-DATA            251G   16G  223G   7% /u02
/dev/mapper/RECO_GRP-RECO            251G   15G  224G   7% /u03
/dev/mapper/BITS_GRP-BITS            196G   13G  174G   7% /u01
bash-4.2# 

Depois de ter feito o que precisava, basta reiniciar a máquina pela console ou executando /usr/sbin/reboot -f

chevron_left
chevron_right