[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:howtos:general_admin:kvm_libvirt [2019/02/09 00:14 (UTC)] – [Creando una nueva máquina virtual usando virt-manager] slackwarespanoles:howtos:general_admin:kvm_libvirt [2019/02/09 00:56 (UTC)] (actual) slackwarespanol
Línea 1: Línea 1:
-<note warning>En proceso de traducción. Víctor</note> 
 ====== KVM y libvirt ====== ====== KVM y libvirt ======
  
Línea 105: Línea 104:
 Ingrese el nombre del nuevo grupo. El tipo predeterminado es // dir //, que es el tipo correcto. Presione <key> Forward </key> e ingrese el directorio del sistema en el campo de entrada // Target Path //. Presione <key> Finalizar </key> para crear el grupo. Ingrese el nombre del nuevo grupo. El tipo predeterminado es // dir //, que es el tipo correcto. Presione <key> Forward </key> e ingrese el directorio del sistema en el campo de entrada // Target Path //. Presione <key> Finalizar </key> para crear el grupo.
    
-===== Creating a new virtual machine =====+
  
 ==== Creando una nueva máquina virtual usando virt-manager ==== ==== Creando una nueva máquina virtual usando virt-manager ====
Línea 118: Línea 117:
 Paso 2: Dependiendo del método de instalación, se le pedirá que ingrese más detalles, como el nombre de la imagen de DVD iso utilizada. Paso 2: Dependiendo del método de instalación, se le pedirá que ingrese más detalles, como el nombre de la imagen de DVD iso utilizada.
  
-También elige el tipo de sistema operativo y la versión. Al elegir // Linux //, elija // Mostrar todas las opciones de SO // en el indicador de Versión para obtener más opciones. Al elegir // kernel // genérico 2.6.x //, el asistente asumirá un disco duro tipo IDE. Puedes cambiar esto en el paso 5.+También elige el tipo de sistema operativo y la versión. Al elegir // Linux //, elija // Mostrar todas las opciones de SO // en el indicador de Versión para obtener más opciones. Al elegir // kernel  genérico 2.6.x //, el asistente asumirá un disco duro tipo IDE. Puedes cambiar esto en el paso 5.
  
 <note warning> Si elige //kernel genérico 2.6.25 o posterior con virtio//, la nueva máquina utilizará el controlador del kernel de virtio para emular un controlador de disco duro. La imagen de instalación de Slackware se iniciará, pero debe crear un initrd con los controladores del kernel de Virtio incluidos, de lo contrario su nueva máquina no arrancará. </note> <note warning> Si elige //kernel genérico 2.6.25 o posterior con virtio//, la nueva máquina utilizará el controlador del kernel de virtio para emular un controlador de disco duro. La imagen de instalación de Slackware se iniciará, pero debe crear un initrd con los controladores del kernel de Virtio incluidos, de lo contrario su nueva máquina no arrancará. </note>
Línea 126: Línea 125:
 {{:howtos:general_admin:virt-manager-newvm3.png?200|}} {{:howtos:general_admin:virt-manager-newvm3.png?200|}}
  
 +Paso 4: Configurar el almacenamiento para la nueva máquina. Esta opción está seleccionada de forma predeterminada. Si deselecciona esta opción, tendrá una máquina sin disco que aún puede iniciar distribuciones en vivo.
 +
 +{{:howtos:general_admin:virt-manager-newvm4.png?200|}}
 +
 +Puede dejar que el asistente cree una nueva imagen de disco sobre la marcha. Ingrese el tamaño y se creará una nueva imagen de disco (tipo // raw //) en el grupo de almacenamiento predeterminado. Si selecciona // Asignar todo el disco ahora //, el tamaño completo del nuevo disco se asigna de antemano. De lo contrario, se crea una imagen más pequeña que crecerá cuando los datos se escriban en el disco.
 +
 +Como alternativa, puede seleccionar otra imagen de disco (volumen) de un grupo de almacenamiento. También puede usar esta opción para crear un nuevo volumen de almacenamiento. Este método le dará más flexibilidad, ya que tiene más opciones sobre el tipo de disco que puede crear. Por último, puede usar esta opción para explorar el sistema de archivos local y seleccionar una imagen de disco que creó anteriormente.
 +
 +Paso 5: Esto le dará una visión general de la nueva máquina
 +
 +{{:howtos:general_admin:virt-manager-newvm5.png?200|}}
 +
 +Si marca // Personalizar la configuración antes de instalar //, aparecerá la página de configuración de hardware de virt-manager. Aquí puede hacer cambios en la máquina antes de instalar.
 +
 +{{:howtos:general_admin:virt-manager-custnew.png?200|}}
 +
 +La opción de red predeterminada en el paso 5 es // Red virtual 'default': NAT //. Esta red virtual utilizará el dispositivo // virbr0 // bridge para conectarse al host local mediante NAT. Libvirt iniciará dnsmasq para proporcionar DHCP para esta red.
 +
 +Finalmente, puede cambiar el tipo de máquina virtual (KVM o QEMU) y la arquitectura (x86_64, i686, arm, etc.). Presione <key> Finalizar </key> para crear la máquina virtual. Será creado y arrancará. 
 +
 +
 +===== Redes =====
 +Una máquina virtual se puede configurar de dos maneras: conectada a una red virtual o conectada a un dispositivo físico compartido (puente).
 +==== Redes virtuales ====
 +Las redes virtuales son implementadas por libvirt en forma de conmutadores virtuales. Una máquina virtual tendrá su tarjeta de red conectada a este conmutador virtual. El conmutador virtual aparece en el host como una interfaz de red.
 +
 +La red virtual puede operar en 3 configuraciones diferentes:
 +   - NAT: el conmutador virtual está conectado a la LAN del host en modo NAT. El host puede conectarse a las máquinas virtuales, pero otras máquinas en la red del host no pueden conectarse. Esta es la configuración por defecto.
 +   - Enrutado: el conmutador virtual está conectado a la LAN del host sin NAT.
 +   - Aislado: el conmutador virtual no está conectado al host. Las máquinas virtuales pueden verse entre sí y al host, pero el tráfico de la red no pasa fuera del host.
 +=== Dnsmasq y iptables ===
 +DHCP y DNS en las redes virtuales son manejados por Dnsmasq. Para cada red virtual que se inicia, libvirt inicia una instancia separada de Dnsmasq.
 +
 +Al iniciar una red virtual, libvirt también agregará reglas de iptables para manejar el enrutamiento y NAT entre el host y la red virtual. También habilitará ip_forward.
 +=== Red por defecto ===
 +Después de la instalación, una red (apropiadamente llamada // por defecto //) ya está creada. Se configura como tipo NAT y esta es la red predeterminada que está vinculada a nuevas máquinas virtuales. La red está configurada para iniciarse automáticamente cuando se inicia libvirt, por lo que está disponible inmediatamente cuando se ejecuta libvirt.
 +
 +La red es visible en el host como bridge virbr0.
 +<note warning>No agregue interfaces físicas a este bridge. Es manejado por libvirt.</note>
 +
 +=== Creación y mantenimiento ===
 +Las redes virtuales están visibles en la pestaña // Redes virtuales // de la ventana // Detalles de conexión del host // en Virtual Machine Manager. La tecla <key> + </key> se puede usar para agregar una nueva red virtual. Ingrese el nombre, la dirección de red IPv4, el rango DHCP y el tipo de red.
 +
 +Una vez que se crea la red virtual, se puede utilizar en las pantallas de mantenimiento de la máquina virtual.
 +
 +=== Carpetas compartidas usando VirtFS ===
 +Es posible compartir carpetas entre el sistema huésped y el host mediante VirtFS (carpeta de Plan 9 compartidas sobre Virtio). Esto está disponible desde la versión 2.6.36 del kernel en adelante. VirtFS es un sistema de archivos de acceso directo, lo que significa que se puede acceder directamente a un directorio en el host desde el invitado a través de la capa de virtualización.
 +=== Preparar kernel host ===
 +Asegúrese de que las siguientes opciones estén configuradas en el núcleo del host:
 +<code>
 +CONFIG_NET_9P=y
 +CONFIG_NET_9P_VIRTIO=y
 +CONFIG_NET_9P_DEBUG=y (Optional)
 +CONFIG_9P_FS=y
 +CONFIG_9P_FS_POSIX_ACL=y
 +</code>
 +En el sistema invitado, se necesitan los módulos '' 9p '', '' 9pnet '' y '' 9pnet_virtio ''. Estos deberían estar disponibles en el kernel estándar de Slackware.
 +
 +=== Configuración de invitado ===
 +En virt-manager, edite la máquina virtual invitada y agregue nuevo hardware. Seleccione // Sistema de archivos // y complete los campos requeridos como se muestra a continuación.
 +
 +{{:howtos:general_admin:virt-manager-fspassthr.png?200|}}
 +* Modo. Selecciona uno de los siguientes:
 +  * Passthrough: se accede al recurso compartido de host con los permisos del usuario invitado.
 +     * Asignado: se accede al recurso compartido de host con los permisos del hipervisor (proceso QEMU).
 +     * Squash: similar a // passthrough // excepto que se ignoran las fallas de operaciones privilegiadas como // chown //. Esto hace que se pueda utilizar un modo similar al paso a través de personas que ejecutan el hipervisor como no root.
 +   * Controlador: use // Ruta //.
 +   * Política de escritura (solo disponible para el controlador '' ruta ''): use // Predeterminado //.
 +   * Ruta de origen = directorio en el host que se comparte.
 +   * Ruta de destino = etiqueta de montaje que está disponible en el sistema huésped. Esto no tiene que ser una ruta existente.
 +La opción // Exportar sistema de archivos como montaje de solo lectura // hace lo que sugiere.
 +
 +=== Mounting the share ===
 +Para montar el sistema de archivos con la etiqueta '' hostshare '' en el invitado en '' / mnt / share '', inicie sesión en el invitado y use:
 +<code>
 +# mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt/share
 +</code>
 +Ahora la carpeta /mnt/share está disponible y los cambios son visibles en el host y el invitado. Cuando se produzcan errores de permiso, intente compartir el directorio del host con un modo diferente.
 +==== Acceso remoto ====
 +
 +<note>Nota del Autor. Trabajo en progreso</note>
 +
 +===== Temas avanzados =====
 +
 +==== Monte la imagen qcow usando nbd ====
 +Las imágenes de disco sin procesar se pueden montar fuera de la máquina virtual mediante un dispositivo de bucle invertido. Para montar otros tipos de imágenes como qcow, se puede usar el comando '' qemu-nbd '', que viene con qemu-kvm. Se basa en el módulo del núcleo nbd (dispositivo de bloqueo de red).
 +
 +Comience cargando el módulo del kernel. El único parámetro es el número máximo de particiones a las que se puede acceder. Si se omite este parámetro, el valor predeterminado es 0, lo que significa que no se asignarán particiones.
 +<code>
 +# modprobe nbd max_part=8
 +</code>
 +Esto creará varios dispositivos nuevos '' /dev/nbdxx ''. Ahora la imagen del disco se puede conectar a uno de ellos:
 +<code>
 +# qemu-nbd -c /dev/ndb0 slackware.img
 +</code>
 +Esto creará dispositivos adicionales '' /dev/nbd0pxx '' para las particiones en el disco. Las particiones se numeran secuencialmente comenzando con 1. Puede usar el dispositivo nbd0 para acceder a todo el disco, o los dispositivos nbd0pxx para acceder a las particiones:
 +<code>
 +# fdisk /dev/nbd0
 +# mount /dev/nbd0p1 /mnt/hd
 +</code>
 +<note important>Asegúrese de que la máquina virtual no se esté ejecutando cuando monte la imagen de disco. Montar el disco de una máquina en marcha lo dañará.</note>
 +Para eliminar la conexión:
 +<code>
 +# qemu-nbd -d /dev/nbd0
 +</code>
 +
 +==== Configurar el arranque PXE en libvirt ====
 +Para habilitar el arranque PXE para las máquinas invitadas, se necesitan un servidor de arranque PXE y un servidor TFTP. Libvirt se puede configurar para manejar tanto internamente. Estas opciones de configuración no están disponibles en virt-manager, por lo que se debe usar virsh para configurar esto.
 +
 +   - Cree un directorio '' /tftpboot '' y rellénelo con los archivos necesarios para el servicio de arranque tftp. Consulte el artículo [[http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:pxe|PXE: Instalación de Slackware en la red]] por AlienBOB para obtener más detalles.
 +   - Detenga la red predeterminada y edite la definición de red: <code>
 +# virsh net-destroy default
 +# virsh net-edit default
 +</code>
 +  - Esto abrirá la configuración de red en una sesión vi. Agregue los parámetros // tftp // y // bootp // en la sección // ip // y guarde el archivo: <code>
 +  <ip address='192.168.122.1' netmask='255.255.255.0'>
 +    <tftp root='/tftpboot' />
 +    <dhcp>
 +      <range start='192.168.122.2' end='192.168.122.254' />
 +      <bootp file='pxelinux.0' />
 +    </dhcp>
 +  </ip>
 +</code> 
 +  - Ahora reinicie la red: <code>
 +# virsh net-start default
 +</code>
 +Ahora el servidor DHCP libvirt permitirá a los invitados arrancar con PXE.
 +===== Troubleshooting =====
 +
 +==== Eliminar solicitud de contraseña en virt-manager ====
 +Cuando inicie virt-manager como un usuario regular, es posible que se le solicite la contraseña de root, incluso cuando haya configurado los permisos de socket de Unix correctos (notificación: "la política del sistema impide la administración de sistemas virtualizados locales"). Esto se debe a que las versiones anteriores de libvirt usaban PolicyKit de forma predeterminada. Desactive el uso de PolicyKit editando '' /etc/libvirt/libvirtd.conf ''. Descomente las siguientes opciones y cámbielas a '' ninguna '':
 +<code>
 +auth_unix_ro = "none"
 +auth_unix_rw = "none"
 +</code>
 +==== Mejorar el movimiento del ratón ====
 +En el modo gráfico, el movimiento del mouse puede ser errático y difícil de cambiar en la configuración de su VM. Para resolver esto, agregue una tableta virtual.
 +
 +En // virt-manager //, abra la máquina virtual haciendo doble clic en la máquina y seleccione la pantalla de información del hardware (el botón azul <key> '' i '' </key>). Ahora, presione <key> + Add Hardware </key> y seleccione // Input //. Seleccione Type // EvTouch USB Graphics Tablet // y presione <key> Finish </key>. La próxima vez que se inicie la máquina virtual, el movimiento del mouse se sincronizará con el cursor del escritorio.
 +==== Cambiar la resolución de la pantalla a más de 1024x768 ====
 +La tarjeta de video emulada predeterminada es de tipo Cirrus. Esto tiene una resolución máxima de 1024x768. El tipo // vga // puede lograr una resolución más alta, pero para que funcione, la configuración de X en el sistema operativo invitado también debe cambiarse.
 +
 +Para cambiar esto, abra la máquina virtual y seleccione la pantalla de información de hardware. Seleccione la tarjeta de video y cambie el tipo a // vga //.
 +
 +Iniciar la máquina virtual. Si existe un archivo '' /etc/X11/xorg.conf '', cámbielo. De lo contrario, cree un nuevo archivo de texto en '' /etc/X11/xorg.conf.d '' con la extensión '' conf '', por ejemplo '' /etc/X11/xorg.conf.d/monitor.conf ''.
 +
 +Agrega o cambia las siguientes secciones:
 +<code>
 +Section "Monitor"
 +        Identifier "Monitor0"
 +        HorizSync   30 - 80
 +        VertRefresh 40 - 90
 +EndSection
 +
 +Section "Device"
 +        Identifier "Card0"
 +        Driver     "vesa"
 +Endsection
 +
 +Section "Screen"
 +        Identifier "Screen0"
 +        Device     "Card0"
 +        Monitor    "Monitor0"
 +        SubSection "Display"
 +                Viewport 0 0
 +                Modes "1440x900"
 +        EndSubSection
 +EndSection
 +</code>
 +Puede cambiar la resolución de la pantalla (la línea // Modes //) según sus necesidades.
 +
 +===== Recursos =====
 +
 +   * Páginas oficiales de [[http://libvirt.org|libvirt]], [[http://virt-manager.org|virt-manager]], [[http://wiki.qemu.org/Index.html|QEMU]], [[http://www.linux-kvm.org/page/Main_Page|KVM]].
 +  * Red Hat [[https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/index.html|Guía de administración de virtualización]].
 +
 +===== Sources =====
 +<!-- If you are copying information from another source, then specify that source -->
 +<!-- * Original source: [[http://some.website.org/some/page.html]] -->
 +<!-- Authors are allowed to give credit to themselves! -->
 +<!-- * Originally written by [[wiki:user:xxx | User X]] -->
 +<!-- * Contributions by [[wiki:user:yyy | User Y]] -->
 +  * Esta página escrita originalmente por [[wiki:user:fdonkers|Frank Donkers]]
 +  * Traducido por:  [[wiki:user: slackwarespanol | Victor]] 2019/02/09 00:53 (UTC)
  
 +<!-- Please do not modify anything below, except adding new tags.-->
 +<!-- You must remove the tag-word "template" below before saving your new page -->
 +{{tag>howtos kvm libvirt virtualization virt-manager qemu author_fdonkers}}
 es:howtos:general_admin:kvm_libvirt ()