como acessar as VMs em execução?

1

Um colega de um amigo meu estabeleceu um projeto voluntário para um sindicato de jogos. Mas o problema agora é que a pessoa não está disponível e eu não sei como devo acessar as VMs em execução. Passei dias pesquisando pela internet para encontrar a solução.

Agora eu sei que as VMs estão rodando sob libvirt com qemu e kvm. É possível iniciar ou desligar as VMs através do comando virsh (que também era novo para mim).

ps ax | grep qemu

mostra o seguinte:

16767 pts/0    S+     0:00 grep --color=auto qemu
18250 ?        Sl   388:50 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1000 -smp 4,sockets=4,cores=1,threads=1 -name Teamspeak1 -uuid a973dbb4-04e1-942b-1546-615f425b931b -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Teamspeak1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/var/lib/libvirt/images/Teamspeak1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:29:5f:61,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:0 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
18295 ?        Sl    79:15 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 8,sockets=8,cores=1,threads=1 -name Webserver -uuid 14b56603-7323-2333-180c-227d02260acf -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Webserver.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/var/lib/libvirt/images/Webserver.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:f6:a1:37,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:1 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
18380 ?        Sl    19:32 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 10000 -smp 8,sockets=8,cores=1,threads=1 -name Gameserver1 -uuid cb7b70e3-f049-7545-65d2-3adff36f34ff -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/Gameserver1.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device ahci,id=ahci0,bus=pci.0,addr=0x6 -drive file=/var/lib/libvirt/images/Gameserver1.img,if=none,id=drive-ide0-0-0,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=/var/lib/libvirt/images/Gameserver1-1.img,if=none,id=drive-sata0-0-0,format=raw -device ide-drive,bus=ahci0.0,drive=drive-sata0-0-0,id=sata0-0-0 -netdev tap,fd=18,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:62:7d:6e,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:2 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

Ele também me deixou os seguintes avisos:

Para o "Gameserver1":

root: kecks
user : game
pass: ***

ip: 192.168.122.161
FTP connection : ftp://***:2121

IP-Tables:
        //FTP: (Chrooted)
        49152-49153 (FTP Passive)
        2121 -> 21
        2020 -> 20
        //CS:GO 
        27015

E também e. g. para o "servidor da Web":

##User
root -> ***
webserver -> ***

192.168.122.198
Mysql root -> ***


ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:12001 // FTP
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:12000 //FTP
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:ftp
ACCEPT     tcp  --  anywhere             192.168.122.198      state NEW,RELATED,ESTABLISHED tcp dpt:http

Talvez seja útil para administradores de sistemas que já trabalharam com essas ferramentas, mas, na verdade, não para mim.

Os arquivos de configuração XML das VMs são gerados apenas. Então, na minha opinião, não é necessário aqui. O servidor está executando em Ubuntu 12.04.3 LTS. Todas as minhas tentativas de acessá-lo via comandos ssh e vnc complexos me trouxeram apenas para a máquina host, não para a VM. É claro que eu tentei isso localmente com uma conexão ssh na máquina host, porque eu vi apenas o endereço IPv4 local da classe C.

Editar: Resolvido com as duas respostas abaixo. A solução é estabelecer uma conexão ssh para os endereços IP da classe c dentro da sessão ssh para a máquina host.

    
por alpham8 08.08.2014 / 10:38

2 respostas

1

-vnc 127.0.0.1:x : use um emulador de terminal VNC para se conectar ao terminal virtual na porta 5900 + x no host local, onde você pode usar as credenciais fornecidas.

    
por 08.08.2014 / 10:55
2

Para iniciar sua VM usando o comamnd

# virsh start Gameserver1

Para listar os servidores em execução

# virsh list 

Para acessar o servidor no console

# virt-viewer Gameserver1

Isso abrirá o console do seu servidor para que você possa acessá-lo graficamente

Para desligar o uso da máquina virtual

# virsh destroy Gameserver1

Para instalar o pacote

se você usar o centos ir fedora, instale o pacote abaixo

# yum install qemu libvirt-client virt-manager \
  virt-viewer guestfish libguestfs-tools virt-top

Se você usa o Debian ou o Ubuntu, por favor instale o seguinte

# sudo apt-get install kvm libvirt-bin virt-manager virt-viewer virt-top virt-what

Isto irá corrigir o seu problema

    
por 08.08.2014 / 10:58