lunes, 12 de septiembre de 2011

Linux: Connect to a remote domain0 using virsh and SSH



Es bastante común tener VM's hosteadas en un host remoto, al cual podemos acceder mediante Internet, o conectándonos a la LAN local. Sin importar cual fuera el caso, en Linux principalmente existen dos plataformas medianamente "nativas" de virtualización (ambas proveen full virtualización), ellas son Xen, que no es otra cosa que un parche al kernel de Linux, y KVM, que esta integrada como módulo dentro del mismo y para conectarnos, disponemos siempre de un protocolo excelente como es SSH.
Existe una interfaz de administración por linea de comandos denominada virsh, a la cual le indicamos el hypervisor al que queremos conectar y el protocolo a utilizar.

Supongamos que nos encontramos en un host remoto, como primera medida copiamos nuestra clave pública SSH utilizando por ejemplo ssh-copy-id, o agregándola al ~/.authorized_keys del host remoto, una vez hecho esto, dependiendo que usemos haríamos:

Usando KVM:
virsh -c qemu+ssh://username@foo.bar/system
Usando XEN:
virsh -c xen+ssh://username@foo.bar/system

Y listo, ya estamos conectados al hypervisor remoto!.
Welcome to virsh, the virtualization interactive terminal.
Type:  'help' for help with commands
       'quit' to quit 
virsh # list 
 Id Name                 State
----------------------------------
  1 CentOS5DS.py         running
  3 Centos5DS2           running 
virsh # 

2 comentarios:

  1. se puede crear distintas vm's con KVM asigandas a distintos usuarios?

    ResponderEliminar
  2. Por default necesitas root para acceder a las VM's, pero se tiene que poder hacer un tunning para permitir esto.

    ResponderEliminar