User Tools

Site Tools


informatica:linux:virtualizacion:kvm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:linux:virtualizacion:kvm [2014/02/25 14:41] – [ACL] javiinformatica:linux:virtualizacion:kvm [2015/12/29 10:30] – [Comandos varios] javi
Line 293: Line 293:
 En este ejemplo se establece el valor en 524288 KB En este ejemplo se establece el valor en 524288 KB
  
 +  * Arrancar la VM al arrancar el hipervisor:
 +
 +  sudo virsh autostart myvmname
 ====== Salir de la consola ====== ====== Salir de la consola ======
  
Line 367: Line 370:
   sudo vim test-1.example.com.xml   sudo vim test-1.example.com.xml
  
-ajustar los nombres, como por ejemplo en las siguientes etiquetas:+asegurarse de que los siguientes valores son unicos y correctos:
  
 +  * Name
 <code> <code>
-Name +<name>test-1.example.com</name> 
-Disk+</code> 
 +  * Almacenamiento (en este caso LVM) 
 +<code> 
 +<source dev='/dev/vg/lv_test_1'/> 
 +</code> 
 +  * MAC address (importante, quiza hemos copiado la maquina y esta duplicada): 
 +<code>   
 +<mac address='00:16:3e:0e:3e:53'/>
 </code> </code>
  
-5. Ajustar, si es necesario, la ruta/punto de montaje del disco.+Script para generar MAC addresses:
  
-6Definir la nueva VM:+<code> 
 +#!/usr/bin/python 
 +# macgen.py script to generate a MAC address for guests on Xen 
 +
 +import random 
 +
 +def randomMAC(): 
 +        mac = [ 0x00, 0x16, 0x3e, 
 +                random.randint(0x00, 0x7f), 
 +                random.randint(0x00, 0xff), 
 +                random.randint(0x00, 0xff) ] 
 +        return ':'.join(map(lambda x: "%02x" % x, mac)) 
 +
 +print randomMAC() 
 +</code>
  
-  virsh define test-1.example.com.xml+Ahora obtenemos el listado de VMS: 
 + 
 +  virsh list --all
      
 +Y para cada una de ellas obtenemos la MAC address:
 +
 +  virsh dumpxml vm-1.example.com | grep "mac address" | awk '{print $2}' | cut -d "'" -f2
 +
 +TODO: hacer un script en bash que lo haga
 +
 +Finalmente nos aseguramos que la nueva MAC generada es unica.
 +
 +5. Definir la nueva VM:
 +
 +  virsh define test-1.example.com.xml
 +
 ===== VM destino existe ===== ===== VM destino existe =====
  
Line 811: Line 850:
 9. (VM arrancada con live CD) Con parted eliminar las particiones 2 y 5 y recrearlas. Recomiendo ejecutarlo asi: 9. (VM arrancada con live CD) Con parted eliminar las particiones 2 y 5 y recrearlas. Recomiendo ejecutarlo asi:
  
-  sudo parted -a optimal /dev/vda+  parted -a optimal /dev/vda
  
 Cambiamos a sectores como unidad: Cambiamos a sectores como unidad:
Line 840: Line 879:
 10. (VM arrancada con live CD) Copiar con dd de la particion destino a la origan, una vez recreada: 10. (VM arrancada con live CD) Copiar con dd de la particion destino a la origan, una vez recreada:
  
-  time sudo dd if=/dev/vdb5 of=/dev/vda5 bs=512+  time dd if=/dev/vdb5 of=/dev/vda5 bs=512
      
 Creo que el proceso de nuevo tiene una velocidad entorno a los 60 MB/s Creo que el proceso de nuevo tiene una velocidad entorno a los 60 MB/s
Line 1699: Line 1738:
   * Cuando el volumen es montado por un segundo guest, los guests ya solo pueden leer, y escribir como root, pero no escribir como un usuario normal. No creo que sea una limitacion de virtfs, pero tengo que investigarlo.   * Cuando el volumen es montado por un segundo guest, los guests ya solo pueden leer, y escribir como root, pero no escribir como un usuario normal. No creo que sea una limitacion de virtfs, pero tengo que investigarlo.
   * En las mismas circunstancias no puedo hacer un "./script.sh" y si un "bash script.sh". No se que consecuencias puede tener   * En las mismas circunstancias no puedo hacer un "./script.sh" y si un "bash script.sh". No se que consecuencias puede tener
 +  * **BUG**: cuando se anyade un nuevo punto de montaje en una VM (virsh edit vm_1) tengo que parar y luego arrancar la VM para que esta vea el punto de montaje. Si simplemente la reinicio vera los puntos de montajes anteriores, pero no el nuevo
 ===== Virtfs (9p) passthrough ===== ===== Virtfs (9p) passthrough =====
  
Line 2041: Line 2081:
 ===== API ===== ===== API =====
  
-Ejemplo de metodos y propiades de un objeto de tipo conn: +http://libvirt.org/html/libvirt-libvirt.html
- +
-<code> +
-conn = libvirt.open("qemu+ssh://localhost/system"+
-domains = conn.listDomainsID() +
-for domainID in domains: +
-    domConnect = conn.lookupByID(domainID) +
-</code>+
  
 ==== virConnect ==== ==== virConnect ====
informatica/linux/virtualizacion/kvm.txt · Last modified: 2020/06/10 07:12 by javi