LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

La Máquina Virtual basada en Kernel (KVM) es un módulo de virtualización para el kernel de Linux que lo convierte en un hipervisor. ¿Cómo puedo instalar KVM con red en puente, configurar el sistema operativo invitado como la tecnología de virtualización de back-end para el servidor Debain Linux no gráfico?

Puede usar KVM para ejecutar múltiples sistemas operativos como Windows, *BSD, distribución de Linux usando máquinas virtuales. Cada máquina virtual tiene su disco privado, tarjeta gráfica, tarjeta de red y más.

Pasos para instalar el servidor KVM en el servidor Debian Linux 9.x/10.x

  1. El servidor host ubicado en el centro de datos remoto y es un servidor "sin cabeza". (desatendido)
  2. Todos los comandos de este tutorial se escribieron sobre la sesión basada en ssh.
  3. Necesita un cliente vnc para instalar el sistema operativo invitado.
  4. En este tutorial, aprenderá cómo instalar el software KVM en el servidor Debian Linux y cómo usar KVM para configurar su primera máquina virtual invitada.

Siga los pasos de instalación de KVM en el servidor desatendido Debian Linux

Paso 1: Instalar kvm

Escriba el siguiente comando apt-get / comando apt :

$ sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils libguestfs-tools genisoimage virtinst libosinfo-bin 

Permitir que el usuario normal administre la máquina virtual

Si desea que el usuario normal/regular pueda administrar máquinas virtuales. Agregue el usuario vivek a libvirt y libvirt-qemu usando el comando usermod : Recargue la membresía del grupo con la ayuda del comando newgrp: Verifique la membresía de su grupo con el comando id : Tenga en cuenta que necesita usar el siguiente comando para conectarse al servidor KVM

$ sudo adduser vivek libvirt
$ sudo adduser vivek libvirt-qemu


$ newgrp libvirt
$ newgrp libvirt-qemu


$ id

$ virsh --connect qemu:///system
$ virsh --connect qemu:///system command
$ virsh --connect qemu:///system list --all

Paso 2: Verifique la instalación de kvm en Debain

Ejecute el siguiente comando egrep para verificar que Intel VMX o AMD SVM sean compatibles con su CPU:

$ egrep --color 'vmx|svm' /proc/cpuinfo

Salidas de muestra:

rf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts

Paso 3: Configure la red en puente en Debian

Voy a crear Bridge Interface br0 como la conexión de red en la configuración de invitados de VM para la interfaz eth0:

$ sudo vi /etc/network/interfaces.d/br0

agregue lo siguiente:

## asegúrese de eliminar todas las configuraciones relacionadas con eth0 ##
auto br0 iface br0 inet static address 192.168.2.23 # configuración/máscara de red/transmisión/puerta de enlace según su configuración broadcast 192.168.2.255 netmask 255.255.255.0 gateway 192.168.2.254 bridge_ports eth0 # reemplace eth0 con su nombre de interfaz real bridge_stp off # deshabilitar el protocolo de árbol de expansión bridge_waitport 0 # sin demora antes de que un puerto esté disponible bridge_fd 0 # sin retraso de reenvío

Reinicie el servicio de red en Linux:

$ sudo systemctl restart network-manager

Para ver la configuración de red actual para KVM, ejecute:

$ sudo virsh net-list --all

Salidas de muestra:

 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              inactive   no            yes

Debe configurar un dominio invitado KVM en una red con puente. Por lo tanto, cree un archivo llamado bridge.xml de la siguiente manera en un editor de texto como el comando vi:

$ sudo vi /root/bridged.xml

agregue la siguiente configuración:

<network>
  <name>br0</name>
  <forward mode="bridge"/>
  <bridge name="br0"/>
</network>

Guarde y cierre el archivo en vi / vim .

$ sudo virsh net-define --file /root/bridged.xml
$ sudo virsh net-autostart br0
$ sudo virsh net-start br0

 

Paso 4: Cree su primera máquina virtual usando un instalador de imágenes ISO

Voy a crear una máquina virtual CentOS 7.x. Primero, tome la última imagen ISO de CentOS 7.x:

$ cd /var/lib/libvirt/boot/
$ sudo wget https://mirrors.kernel.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso

Crear máquina virtual CentOS 7

En este ejemplo, estoy creando CentOS 7.x VM con 2 GB de RAM, 2 núcleos de CPU, 1 NIC y 40 GB de espacio en disco, ingrese: Para configurar el inicio de sesión de vnc desde otro terminal a través de ssh y escriba: También puede usar el siguiente comando: Anote el valor del puerto (es decir, 5901). Debe usar un cliente SSH para configurar el túnel y un cliente VNC para acceder al servidor vnc remoto. Escriba el siguiente comando de reenvío de puerto SSH desde su cliente/escritorio: Una vez que haya establecido el túnel ssh, puede apuntar su cliente VNC a su propia dirección 127.0.0.1 (host local) y puerto 5901 de la siguiente manera:


$ sudo virt-install \
--virt-type=kvm \
--name centos7 \
--ram 2048 \
--vcpus=2 \
--os-variant=rhel7 \
--virt-type=kvm \
--hvm \
--cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-DVD-1708.iso \
--network=bridge=br0,model=virtio \
--graphics vnc \
--disk path=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

Para configurar el inicio de sesión de vnc desde otro terminal a través de ssh y escriba:

$ sudo virsh dumpxml centos7 | grep vnc
<graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>

También puede utilizar el siguiente comando:

$ sudo virsh vncdisplay centos7

$ ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. -L 5901:127.0.0.1:5901

  Fig.0: Cliente VNC para completar la instalación de CentOS 7.x

Fig.01: Cliente VNC para completar la instalación de CentOS 7.x

Debería ver la pantalla de instalación de invitado de CentOS Linux 7 de la siguiente manera:

  Fig.02: Instalación de CentOS 7.x en una VM basada en KVM

Fig.02: Instalación de CentOS 7.x en una VM basada en KVM

Ahora solo siga las instrucciones en pantalla e instale CentOS 7. Una vez instalado, continúe y haga clic en el botón de reinicio. El servidor remoto cerró la conexión con nuestro cliente VNC. Puede volver a conectarse a través del cliente KVM para configurar el resto del servidor, incluida la sesión basada en SSH o el firewall.

Paso 5: utilice virt-builder para crear una máquina virtual

El método anterior (virt-install) funciona bien, pero si necesita construir rápidamente nuevas máquinas virtuales, pruebe virt-builder.

Cómo enumerar las máquinas virtuales disponibles

$ virt-builder --list | more

Puede usar el comando grep para filtrar solo máquinas virtuales basadas en arquitectura x86_64:

$ virt-builder --list | grep x86_64

Salidas de muestra:

openSUSE- 13.1             x86_64 openSUSE 13.1 openSUSE- 13.2 
x86_64             openSUSE 13.2 
opensuse- 42.1             x86_64 openSUSE Leap 42.1
openSUSE-tumbleweed x86_64 openSUSE Tumbleweed
centos- 6                  x86_64 CentOS 6.6 
centos- 7.0                x86_64 CentOS 7.0 
centos- 7.1                x86_64 CentOS 7.1 
centos- 7.2                x86_64 CentOS 7.2 
centos- 7.3                x86_64 CentOS 7.3 
centos- 7.4                x86_64 CentOS 7.4
cirros-0.3.1 x86_64 CirrOS 0.3.1
Cirros-0.3.5 x86_64 CirrOS 0.3.5
debian- 6                  x86_64 Debian 6  ( Squeeze ) 
debian- 7                  x86_64 Debian 7  ( wheezy ) 
debian- 8                  x86_64 Debian 8  ( jessie ) 
debian- 9                  x86_64 Debian 9  ( stretch ) 
fedora- 18                 x86_64 Fedora® 18 
fedora- 19                 x86_64 Fedora® 19 
fedora- 20                 x86_64 Fedora®20 
fedora- 21                 x86_64 Servidor Fedora® 21
fedora- 22                 x86_64 Servidor Fedora® 22
fedora- 23                 x86_64 Servidor Fedora® 23
fedora- 24                 x86_64 Servidor Fedora® 24
fedora- 25                 x86_64 Servidor Fedora® 25
fedora- 26                 x86_64 Servidor Fedora® 26
fedora- 27                 x86_64 Servidor Fedora® 27
FreeBSD- 11.1 X86_64              FreeBSD 11.1 Scientificlinux- 6 x86_64 
Científico         Linux 6.5 
Ubuntu- 10.04              x86_64 Ubuntu 10.04  ( LUCID ) 
Ubuntu- 12.04              x86_64 Ubuntu-  14.04              x86_64 Ubuntu 14.04 ( Trusty ) Ubuntu- 16.04 
x86_64 Ubuntu- 
16.04              x86_64 Ubuntu 16.04 ( Xenial ) 16.04 ( Xenial )  

Para ver notas adicionales para cualquier ejecución del sistema operativo: Salidas de muestra:

$ virt-builder --notes ubuntu-16.04
$ virt-builder --notes debian-9

Salidas de muestra.

Debian 9 (stretch)   This is a minimal Debian install.   This image does not contain SSH host keys. To regenerate them use:   --firstboot-command "dpkg-reconfigure openssh-server"   This template was generated by a script in the libguestfs source tree: builder/templates/make-template.ml Associated files used to prepare this template can be found in the same directory.

Crear máquina virtual Debian 9.x

Cree una máquina virtual Debian 9 con 10 GB de espacio en disco, 2 GB de RAM, 2 vCPU y una contraseña aleatoria para la cuenta raíz, ejecute:


$ sudo virt-builder debian-9 \
--size=10G \
--format qcow2 -o /var/lib/libvirt/images/debian9-vm1.qcow2 \
--hostname debain9-vm1 \
--network \
--timezone Asia/Kolkata

  KVM instala Debian 9 VM usando virt-builder
Finalmente importe la imagen con el comando virt-install: Salidas de muestra:


$ sudo virt-install --import --name debian9-vm1 \
--ram 2048 \
--vcpu 2 \
--disk path=/var/lib/libvirt/images/debian9-vm1.qcow2,format=qcow2 \
--os-variant debian9 \
--network=bridge=br0,model=virtio \
--noautoconsole

Iniciando instalación...
Creando dominio...  
Creación de dominio completada.

Puede iniciar sesión en su VM usando la contraseña x0E4iZ8sHjA6ekb6 para la cuenta raíz:

$ sudo virsh list --all
$ virsh console debian9-vm1

  Máquina virtual Debian 9 en funcionamiento
Debe deshabilitar la cuenta raíz para la sesión ssh y crear claves ssh para su máquina virtual . Inicie sesión como se indicó anteriormente: verifique que pueda iniciar sesión con una dirección IP para el usuario vivek y use 'su -' para convertirse en un usuario root:


# dpkg-reconfigure openssh-server
# useradd -r -m -d /home/vivek -s /bin/bash vivek
# passwd vivek
# systemctl enable ssh
### [ Disable root user login when using ssh ] ###
# echo 'PermitRootLogin no' >> /etc/ssh/sshd_config
# systemctl restart ssh
# ip a s


$ ssh Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
$ su -

Comandos útiles

Veamos algunos comandos útiles.

Encuentre la lista de las variantes de sistema operativo aceptadas

$ osinfo-query os | less
$ osinfo-query os | grep debian
$ osinfo-query os | grep freebsd

Enumere vms/dominios en ejecución

$ sudo virsh list

Cierra un/a VM/dominio llamado debian9-vm1

$ sudo virsh shutdown debian9-vm1

Inicie una máquina virtual/dominio llamada debian9-vm1

$ sudo virsh start debian9-vm1

Suspender un/a VM/dominio llamado debian9-vm1

$ sudo virsh suspend debian9-vm1

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías