Solução de problemas da VM do SmartOS que não inicia

2

Estou executando o SmartOS 20130405T010449Z com um Ubuntu KVM dentro. O Ubuntu VM funcionou de forma saudável por meses, depois de uma reinicialização do hardware físico, o vm não se conecta mais com a rede na inicialização, portanto não posso ssh nele para verificar sua integridade.

Eu posso fazer login no SmartOS e iniciar a VM:

$ vmadm start [uuid]

verifique se está sendo executado:

$ vmadm list
UUID             TYPE   RAM     STATE     ALIAS
[uuid]           KVM    10240   running   steve

e pingue:

$ ping steve
steve is alive

mas quando tento entrar no console da VM, o comando simplesmente fica pendurado para sempre:

$ vmadm console [uuid]
[hangs forever]

Eu obtenho o mesmo resultado quando tento ssh de dentro do SmartOS:

$ ssh steve
[hangs forever]

Eu não posso usar o ssh de outras máquinas na rede, porque o endereço IP do Ubuntu VM nunca aparece na rede.

O que devo tentar em seguida para acessar esta VM?

    
por James Bailey 12.10.2015 / 00:44

1 resposta

1

Ok, acabei por recuperar o que queria da VM, por isso, para a posteridade, eis o que fiz:

Primeiro, atualizei o SmartOS. Eu estava hesitante no começo, temendo a perda de dados, mas a atualização foi totalmente indolor: coloque uma nova versão em um novo pendrive, desligue, troque os bastões e reinicie.

Após a atualização, vmadm console e ssh ainda travariam quando se conectarem à VM, então a introspecção chave (eu não sabia disso antes) era conectar via VNC:

root@smartos $ vmadm info [UUID] vnc
{
  "vnc": {
    "host": "192.168.1.7",
    "port": 64762,
    "display": 58862
  }
}

me@anotherMachine $ xtightvncviewer 192.168.1.7::64762

Lá, o problema ficou imediatamente aparente: a VM ficou presa no menu de inicialização, aguardando a seleção de uma opção de inicialização. Selecionei a opção padrão e, pronto, a VM ficou perfeitamente saudável.

Houve um problema: presumivelmente, quando atualizei o SmartOS, perdi a NIC "externa", de modo que a VM surgiu sem um canal para o mundo externo. Eu tive que editar manualmente /usbkey/config no SmartOS e adicionar essas linhas, que estavam faltando:

external_nic=[MAC address]
external0_ip=192.168.1.20
external0_netmask=255.255.255.0
external0_gateway=192.168.1.1

e, em seguida, adicione a NIC externa à VM:

root@smartos $ cat add_nic.json
{
    "add_nics": [
        {
            "physical": "net1",
            "index": 1,
            "nic_tag": "external",
            "mac": "[MAC address]",
            "ip": "192.168.1.8",
            "netmask": "255.255.255.0",
            "gateway": "192.168.1.1"
        }
    ]
}
root@smartos $ cat add_nic.json | vmadm update [UUID]

Eu tive que reiniciar o SmartOS para pegar a alteração de configuração e, em seguida, a VM criou uma interface de rede.

Advertência: vmadm console ainda não funcionará, por algum motivo; ainda paira indefinidamente. No entanto, ssh steve funciona de dentro do SmartOS e eu posso ssh para o endereço IP de outras máquinas na minha rede.

    
por 02.11.2015 / 00:57