Versão resumida (a solução está abaixo):
Eu tenho um PC com Windows.
Eu tenho um servidor Debian (sem ambiente de desktop).
Eu tenho uma VM Ubuntu rodando no servidor Debian via KVM / QEMU.
Pergunta:
Como posso me conectar ao Ubuntu VM e iniciar o processo de instalação?
Versão longa (a solução está abaixo):
Situação
Tenho alguma experiência com o Linux, mas sou bastante nova na virtualização no Linux.
Eu quero criar várias máquinas virtuais no meu servidor Debian.
Eu conecto do meu PC com Windows através do ssh para o servidor Debian.
O servidor Debian não possui nenhum ambiente de desktop instalado.
Eu usei o seguinte tutorial link , mas no passo 3 ele me disse para instalar o virt-manager, que é uma ferramenta gráfica.
Como esperado, não consigo iniciar o virt-manager em ssh.
Pergunta
Como posso me conectar à VM e instalar o sistema operacional, bem como um servidor sshd. Quero me conectar à minha VM através do ssh após a instalação inicial.
Solução possível A
Descobri que posso conectar-me à Máquina Virtual através do VNC, alguns tutoriais me dizem para o ssh do Windows para o Debian com um Port Forward e então iniciam um VNC Client no Windows. No entanto, ele não vai se conectar ao VNC porque eu não sei como configurar a VM ou o virsh para usar a porta certa.
Solução possível B
Este tutorial do Ubuntu mostra uma maneira de se conectar diretamente via console:
link
Eu gostaria de usar este método, mas ele precisa de upstart e eu não quero desinstalar meu systemd-sysv. O turorial é feito para o Ubuntu 9.4
Solução possível C
Se eu tivesse um Ubuntu.iso que iria automaticamente executar um servidor sshd eu poderia conectar diretamente ao instalador via ssh. Mas eu não encontrei um ou sei como criar um.
Solução:
Eu encontrei a solução para esse problema.
- Verifique se o KVM será executado no sistema. você CPU deve suportar vmx ou svm
egrep '(vmx|svm)' --color=always /proc/cpuinfo
- Instale o KVM na máquina física executando o Debian
sudo apt-get install kvm qemu-kvm libvirt-bin virtinst
- teste a instalação do virtinst com e saia em
virsh -c qemu:///system list
- Opcional: Instale uma interface do Bridge, google for tutorial aqui.
- Faça o download do arquivo iso do site wia wget
wget http://link.to.your.linux.distro.iso
- Instale uma nova VM com o seguinte comando
virt-install --connect qemu:///system --name your_vm_name --memory 512 --cdrom /srv/vmimage/ubuntu-14.04.4-server-amd64.iso --disk size=8 --noautoconsole --os-type linux --accelerate --network=bridge:br0 --hvm --graphics vnc,port=5900,listen=0.0.0.0
Não sou especialista, mas tento explicar algumas das opções:
--disk size = 8: criará um disco com tamanho de 8 GB
--network = bridge: br0: a VM acessará a interface da Internet através da bridge criada, substitua br0 pelo nome da bridge se você tiver uma.
--graphics vnc, porta = 5900, listen = 0.0.0.0: Use o protocolo VNC para exibir gráficos na porta 5900.
Agora você deve ver uma saída assim:
Domain installation still in progress. You can reconnect to the console to complete the installation process.
- Fine sua VM está funcionando agora, você só precisa se conectar a ela. Mude para o seu Windows Machine (ou o que você usa para o ssh para o servidor Debian)
No windows você precisa de alguma ferramenta VNC, eu usei o TightVNC Viewer. Instale-o.
- Você precisa de algum shell ssh, recomendo instalar o Git Scm no Windows.
- No Windows: Abra um Shell via Git Scm e mude para o seu diretório TightVNC.
- Agora abra um encaminhamento de porta do Windows para o servidor Debian, através do comando
ssh -L 5900:localhost:5900 -N -f yourusername@yourserverip
. Substitua yourusername e yourserverip pelo nome de usuário e IP do Debian. Isso possibilitará que seu VNC Viewer se conecte à Máquina Virtual
- Agora inicie o tvnviewer.exe e conecte-se a 127.0.0.1:5900. Um novo windows deve abrir com sua nova VM. Lucro, você fez isso:)