informatica:linux:virtualizacion:kvm
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatica:linux:virtualizacion:kvm [2014/02/25 14:41] – [ACL] javi | informatica:linux:virtualizacion:kvm [2020/06/10 07:12] (current) – javi | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| 3. Comprobar que el sistema operativo soporta virtualizacion: | 3. Comprobar que el sistema operativo soporta virtualizacion: | ||
| + | |||
| + | Una vez encontré un escenario en el que la prueba 3.1. era KO y la 3.2. OK, por lo que creo que la más exacta es la 3.1. | ||
| + | |||
| + | 3.1. Ver si kvm está deshabilitado a nivel de BIOS | ||
| + | |||
| + | dmesg | grep bios | ||
| + | |||
| + | 3.2 Ejecutar | ||
| sudo egrep ' | sudo egrep ' | ||
| Line 293: | Line 301: | ||
| 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 378: | ||
| sudo vim test-1.example.com.xml | sudo vim test-1.example.com.xml | ||
| - | Y ajustar | + | Y asegurarse de que los siguientes |
| + | * Name | ||
| < | < | ||
| - | Name | + | < |
| - | Disk | + | </ |
| + | * Almacenamiento (en este caso LVM) | ||
| + | < | ||
| + | <source dev='/ | ||
| + | </ | ||
| + | * MAC address (importante, | ||
| + | < | ||
| + | <mac address=' | ||
| </ | </ | ||
| - | 5. Ajustar, si es necesario, la ruta/punto de montaje del disco. | + | Script para generar MAC addresses: |
| - | 6. Definir la nueva VM: | + | < |
| + | # | ||
| + | # macgen.py script to generate a MAC address for guests on Xen | ||
| + | # | ||
| + | import random | ||
| + | # | ||
| + | def randomMAC(): | ||
| + | mac = [ 0x00, 0x16, 0x3e, | ||
| + | random.randint(0x00, | ||
| + | random.randint(0x00, | ||
| + | random.randint(0x00, | ||
| + | return ':' | ||
| + | # | ||
| + | print randomMAC() | ||
| + | </ | ||
| - | | + | Ahora obtenemos el listado de VMS: |
| + | |||
| + | | ||
| | | ||
| + | Y para cada una de ellas obtenemos la MAC address: | ||
| + | |||
| + | virsh dumpxml vm-1.example.com | grep "mac address" | ||
| + | |||
| + | 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 858: | ||
| 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: | ||
| - | | + | parted -a optimal /dev/vda |
| Cambiamos a sectores como unidad: | Cambiamos a sectores como unidad: | ||
| Line 840: | Line 887: | ||
| 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=/ | + | time dd if=/ |
| | | ||
| 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 1746: | ||
| * 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 " | * En las mismas circunstancias no puedo hacer un " | ||
| + | * **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 2089: | ||
| ===== API ===== | ===== API ===== | ||
| - | Ejemplo de metodos y propiades de un objeto de tipo conn: | + | http://libvirt.org/html/libvirt-libvirt.html |
| - | + | ||
| - | < | + | |
| - | conn = libvirt.open(" | + | |
| - | domains = conn.listDomainsID() | + | |
| - | for domainID in domains: | + | |
| - | domConnect = conn.lookupByID(domainID) | + | |
| - | </ | + | |
| ==== virConnect ==== | ==== virConnect ==== | ||
informatica/linux/virtualizacion/kvm.1393339270.txt.gz · Last modified: (external edit)
