Soluciones de virtualización en sistemas Linux: los paquetes de virtualización KVM y VirtualBox

son medios para que los usuarios ejecuten varios sistemas operativos sin hardware «básico»; básicamente, puede ejecutar más de un sistema operativo en un solo equipo sin arranque dual ni enfoques similares. El software de virtualización emula una máquina real y» engaña » al sistema operativo invitado haciéndole creer que se está ejecutando en una computadora real. Además de las ventajas más obvias, las máquinas virtuales ayudan a crear un entorno informático más ecológico y fácil de administrar. En cuanto a las tendencias en la industria de TI, la virtualización ha experimentado un gran auge en los últimos años, ya que se ajusta a los conceptos de computación de utilidad y/o software como servicio. La virtualización puede ser útil para usted si es un arquitecto empresarial, un desarrollador, un usuario doméstico o, básicamente, todo lo demás. Comenzaremos con una breve introducción sobre la virtualización en general, luego trataremos específicamente VirtualBox y KVM, ya que parecen ser las soluciones de virtualización completa de código abierto más populares. Se espera que sepa cómo moverse por los sistemas Linux, cómo instalar una distribución Linux y cómo instalar software en ella, aunque le mostraremos cómo instalar los dos paquetes de virtualización mencionados anteriormente en algunas de las distribuciones Linux populares.

Hay dos tipos de virtualización: una que puede ejecutar el sistema invitado tal cual (como en, sin modificar) y otra que solicita un núcleo modificado del lado del invitado para ejecutarse. La primera categoría se llama virtualización completa, porque emula un entorno de hardware completo, la segunda se llama paravirtualización, porque no emula hardware y, por lo tanto, necesita modificaciones especiales a nivel de invitado, un buen ejemplo de este tipo de virtualización es Xen. Estos son parte de una categoría más grande llamada virtualización de hardware, pero también hay otros tipos de virtualización (software, red o almacenamiento, entre otros), que no detallaremos aquí. Las dos piezas de software de las que hablaremos encajan en la categoría de virtualización completa. Otras tecnologías de virtualización de hardware populares incluyen QEMU, Bochs, VMware, Parallels, HyperV o OpenVZ.

SUSCRÍBASE al BOLETÍN INFORMATIVO & RSS
Suscríbase a RSS y al BOLETÍN INFORMATIVO y reciba las últimas noticias sobre Linux, trabajos, consejos profesionales y tutoriales.

Cuando es la virtualización útil?

Distribuciones de Linux

El mundo de Linux está lleno de ofertas interesantes y tentadoras. Hay más de 600 (!) Distribuciones de Linux para elegir, lo que hace que sea difícil para una persona que solo tiene una computadora probarlas todas, o incluso algunas. Los LiveCDs no siempre son útiles, por lo que es posible que uno necesite instalarlos para obtener lo esencial. Cada versión de distribución de Linux trae características nuevas y emocionantes, y puede sentir la emoción y el impulso de instalarla y probarla. Ingrese virtualización. Descarga la ISO, instala la distribución en un entorno virtual y listo, todo en poco tiempo. Si no te gusta, lo eliminas. Especialmente cuando eres un poco nuevo en el mundo de Linux y puedes estar confundido por la gran cantidad de distribuciones disponibles, esto podría ser lo que necesitas. Además, si es un desarrollador y necesita ejecutar la rama de desarrollo de su distribución (piense en Fedora Rawhide o Debian Sid), pero eso es demasiado inestable para el uso diario, instálelo en una máquina virtual y comience a desarrollar.

Otros sistemas operativos

Esto se extiende a otros sistemas operativos que pueda necesitar: tal vez tenga un propgram que se ejecute solo en Windows y no quiera instalar Windows solo para ese programa. Tal vez quieras aprender Solaris pero te falta el hardware. Siempre que tenga la configuración de equipo adecuada que admita la virtualización, ahora puede hacerlo.

Lo que necesitará

Los procesadores modernos tienen instrucciones especiales de CPU para la emulación de hardware. Puede vivir sin, pero realmente no lo desea, ya que el sistema operativo host tendrá que emular las instrucciones de virtualización que faltan y esto ralentizará significativamente a su(s) huésped (s). Suponemos que su sistema operativo host tiene instalado Linux y que su CPU tiene las capacidades de virtualización necesarias. La forma más sencilla de comprobar si su CPU tiene lo necesario, do

 $ egrep '(vmx|svm)' /proc/cpuinfo 

y si devuelve vmx (CPU Intel) o svm (CPU AMD), está listo. Pero eso, por supuesto, no es la única solicitud en el lado del hardware. Consulte la página web del sistema que desea instalar como invitado para comprobar si cumple con los requisitos de hardware de este. Recomendamos al menos 20 GB gratuitos en su directorio personal y un mínimo de 2 GB de memoria en el host, para que pueda asignar una cantidad media de 768 MB al huésped para un rendimiento óptimo. Por supuesto, si desea ejecutar varias máquinas virtuales (tal vez en paralelo), esos requisitos crecen considerablemente.

KVM o VirtualBox?

En primer lugar, ¿por qué le ofreceríamos dos paquetes de virtualización? ¿Por qué no uno para todas sus necesidades? Bueno, creemos en el concepto de «herramienta adecuada para el trabajo». KVM ofrece algunas características que VirtualBox no ofrece y al revés. No existe tal cosa en el mundo de la TI como una herramienta universal, por lo que es importante usar algo que se adapte a sus necesidades. La idea básica es : si desea instalar una distribución binaria de Linux como invitado, utilice KVM. Es más rápido y sus controladores están incluidos en el árbol oficial del núcleo. Si su invitado implica mucha compilación y necesita algunas características más avanzadas, y/o no es un sistema Linux, mejor vaya con VirtualBox.

Las razones técnicas son bastante simples: KVM está mejor integrado con Linux, es más pequeño y más rápido, y aunque puede usarlo con otros huéspedes además de Linux, encontramos que la experiencia es bastante problemática : Los BSD tienden a tener E/S lentas y Solaris (OpenIndiana, para ser exactos) tiende a entrar en pánico inmediatamente después de arrancar la ISO de instalación. Dado que usamos versiones ACTUALES de BSD (y compilamos/actualizamos el sistema desde el código fuente a menudo) y también necesitamos Solaris, encontramos que VirtualBox es una mejor opción.

Otra ventaja de Oracle VirtualBox es el hecho de que admite suspender, es decir, puede guardar el estado de la máquina en el disco duro del host y cerrar VirtualBox y cuando (re)se inicie, el sistema se recuperará desde donde se fue. Es por eso que nos referimos a la compilación de fuentes : si tiene una máquina ruidosa, no querrá dejarla encendida de la noche a la mañana, pero su máquina virtual Gentoo solo compilará una nueva versión de gcc, suspenderá el estado de la máquina, apagará el host y continuará mañana.

Lo que aprenderá

Le mostraremos cómo instalar KVM y VirtualBox y cómo instalar y configurar un invitado Linux en un host Linux. Los ejemplos con otras unidades son muy similares, por lo que no vemos la necesidad de repetirnos.

Instalación

Aunque KVM anuncia Solaris, BSD, ReactOS, Windows y otros como invitados compatibles, nuestras experiencias fueron menos que fructíferas. Esto no es una crítica, ya que, con toda honestidad, no nos sentamos a examinar el tema demasiado. Pero esto no es por pereza : después de hablar con otras personas en la Red, descubrimos que no somos los únicos con problemas con los huéspedes Unix (similares) además de Linux, por lo que elegimos VirtualBox para ellos. Como siempre, su kilometraje puede variar : nosotros también querríamos usar KVM exclusivamente porque es más «gratuito», pero debido a los problemas mencionados anteriormente, que por supuesto podrían ser algo específico de nuestra configuración, tuvimos que usar VirtualBox. Por el momento, KVM está desarrollado por Red Hat y se puede instalar fácilmente en la mayoría de las distribuciones de Linux. Como hicimos antes, solo describiremos los procedimientos de instalación correspondientes a las principales distribuciones de Linux.

Fedora

Dado que Red Hat, el patrocinador de Fedora, está ahora desarrollando KVM, Fedora ofrece una gran cantidad de herramientas para la virtualización. La documentación oficial, aunque es para Fedora 13, es aplicable a versiones posteriores. Puede instalar KVM con

 # yum install kvm 

para seguir el camino de la línea de comandos, o puede instalar algunas herramientas gráficas para ayudarlo a administrar sus instalaciones virtuales:

 # yum install virt-manager libvirt libvirt-python python-virtinst 

No necesitará ejecutar más comandos ya que el proceso de instalación en Fedora marcará el módulo kvm para la carga automática. Si no desea reiniciar, utilice modprobe para cargar el módulo in situ.

Debian

La wiki de Debian viene al rescate una vez más, y si uno sigue las instrucciones, tendrá KVM instalado y listo para funcionar en poco tiempo. Se trata de

 # apt-get install qemu-kvm libvirt-bin 

instalar, configurar y cargar el módulo de kernel kvm(amd|intel) al arrancar.

Slackware

Slackbuild para KVM que puede utilizar de acuerdo con esta guía. Si tiene un núcleo modificado o simplemente quiere asegurarse de que su núcleo tiene habilitado KVM, escriba

 $ cat /boot/config |grep -i kvm 

y también verifique /etc/rc.d / rc.módulos para ver si el módulo kvm está configurado para cargarse en el arranque.

Arch

El wiki Arch Linux es una buena guía para todo lo relacionado con KVM. Dado que Arch, al igual que Slackware, es una distribución DYI, es posible que deba tomar algunos pasos adicionales para comenzar a usar KVM. La instalación es tan simple como

 # pacman -S qemu-kvm 

Aquí se deben seguir los mismos pasos que en una máquina Slackware : agregue su usuario, verifique que su CPU soporte virtualización y que KVM esté habilitado en su núcleo.

VirtualBox

Fedora

El sitio de VirtualBox ofrece un archivo de repositorio para ser agregado en /etc / yum.repositorios.d / y luego realice un

 # yum update

para informar a yum sobre su nuevo repositorio e indexarlo. A continuación, realice una

 # yum install VirtualBox-4.0 dkms gcc
 # /etc/init.d/vboxdrv setup 
 # usermod -G vboxusers -a username 

y deberías estar listo.

Debian

No queremos tomar partido aquí, pero parece que la documentación de Debian es mejor y más completa. Para instalar, simplemente escriba

 # apt-get install linux-headers-$version virtualbox-ose 

que instalará todos los paquetes necesarios, compilará el módulo del núcleo para usted y lo configurará para que se cargue al iniciar.

Slackware

SlackBuilds.org tiene una entrada de VirtualBox (la edición de Código abierto, que es la única de la que hablaremos aquí). Para obtener un CÓMO sobre el uso de slackbuilds, vaya aquí. Puede encontrar información adicional en linuxquestions.org, información que puede resultar útil, especialmente si está en una máquina Slackware 13.37 de 64 bits. Recuerde leer el README de slackbuild y debería estar bien.

Arch

La documentación de Arch es útil y completa, a la par con la de Debian, por lo que no debería tener problemas para encontrar la información que necesita. Todo lo que necesita hacer en cuanto a instalación es

 # pacman -S virtualbox qt 

y listo. Necesitará Qt para la interfaz gráfica de usuario, si solo necesita CLI, no lo instale.El resto de los pasos de configuración son similares a los de Fedora, así que use la documentación para poder comenzar.

SUSCRÍBASE al BOLETÍN INFORMATIVO & RSS
Suscríbase a RSS y al BOLETÍN INFORMATIVO y reciba las últimas noticias sobre Linux, trabajos, consejos profesionales y tutoriales.

Uso

Como habrás notado, estamos en contra de copiar a ciegas desde una página de manual e intentar sustituir dicho manual. Describiremos las opciones generales y habituales y los indicadores de línea de comandos (sí, recomendamos el uso de CLI cuando se trabaja con KVM y GUI cuando se trabaja con VirtualBox), pero leer la página de manual es esencial, especialmente cuando se trata de un software algo complejo como este.

Almacenamiento

Le recomendamos que cree un directorio separado donde almacenará las imágenes de disco virtual y otro directorio separado que contenga los archivos ISO utilizados para la instalación. Al final, solo usted sabe mejor cómo organizar sus archivos, pero esta configuración, creemos, le hará la vida más fácil. Por ejemplo, digamos que queremos instalar Fedora. Notamos al usar KVM un ancho de banda algo más pequeño que el disponible en nuestro ISP, un problema que VirtualBox no parece tener. Por lo tanto, instalamos desde DVD :

 $ cd ~ && mkdir iso && cd iso/ 
 $ wget -c ftp://ftp.heanet.ie/mirrors/fedora/linux/releases/15/Fedora/\x86_64/iso/Fedora-15-x86_64-DVD.iso 

Por supuesto, si prefieres curl, kget u otro gestor de descargas, úsalo. Lo mismo se aplica al espejo : use uno cerca de usted para una descarga más rápida. Ahora a configurar nuestro disco virtual(s) medio ambiente :

 $ cd ~ && mkdir kvmhdd && cd kvmhdd 
 $ kvm-img create fedora15.img 15G 

Antes de ir más lejos, le recomendamos que ejecute kvm-img sin argumentos para ver sus opciones principales y formatos de disco. Lo que hace la segunda línea de arriba: crea un archivo de disco virtual (formato img) llamado fedora15 y con un tamaño de 15 gigabytes.

Instalación

Ahora estamos listos para iniciar la instalación de Fedora 15 en nuestro disco recién creado:

 $ kvm -m 768 -boot d -cdrom ~/iso/Fedora-15-x86_64-DVD.iso -hda fedora15.img & 

Lo que acabamos de hacer : – m representa el tamaño en megabytes de memoria asignada, – boot indica a kvm el dispositivo de arranque principal (piense en letras de unidad de Windows),- cdrom es obvio,- hda es el primer disco duro (puede usar más de un disco, si tiene espacio, con-hdb como segundo disco, etc.), y usamos el ampersand al final de la línea de comandos para recuperar el control del terminal. Ctrl + Alt dará / tomará el control hacia / desde la máquina virtual en términos de captura del ratón.

Uso de la máquina virtual

 $ kvm -m 768 -boot c -hda fedora15.img & 

Sugerencia: crear un archivo en el kvmhdd (o el nombre que eligió para el directorio de trabajo) con el nombre fedora15.sh que contendrá la línea anterior, la hará ejecutable y, cuando la necesite, simplemente ejecútela :

 $ cd ~/kvmhdd && echo "kvm -m 768 -boot c -hda fedora15.img &" > fedora15.sh && \
chmod +x fedora15.sh && ./fedora15.sh

Eso es todo. Si necesita más opciones, consulte la página de manual de kvm, ya que está bien escrita y le ayudará con seguridad.

VirtualBox

Crear una máquina virtual

La interfaz gráfica de usuario de VirtualBox toma el enfoque de asistente para ayudarlo a crear una nueva máquina virtual y vemos la interfaz como una pieza de software bastante inteligente. Presione Ctrl + N para crear una nueva máquina virtual, luego ingrese el nombre que desea darle (use algo sugerente, como «Fedora15x86_64»). Basado en dicho nombre, VirtualBox determinará automáticamente qué tipo de sistema desea configurar y ajustarse automáticamente.

A continuación, elija la cantidad de memoria que desea que tenga Fedora, y VirtualBox intenta sugerir un valor dependiendo del sistema operativo y la arquitectura. Le recomendamos que no baje mucho, ya que su máquina virtual podría congelarse debido a problemas de falta de memoria (por cierto, Anaconda se negará a iniciar la instalación en modo gráfico con menos de 768 MB). A continuación, cree el disco duro e ingrese su tamaño (la recomendación relacionada con las sugerencias también se aplica aquí), asignándolo dinámicamente (no es un gran problema si no lo hace, solo que encontramos que este método es un poco más rápido en términos de E/S) y listo. En la ventana principal de VirtualBox, verá su nueva máquina virtual en la lista y, a la derecha, su configuración. Cámbialos como mejor te parezca y ten cuidado de arrancar desde un DVD. Además, si tiene varios núcleos y desea usarlos, la sección Sistema es el lugar al que debe ir.

Ejecutar una máquina virtual

Después de la instalación, detenga la máquina virtual y cambie el orden de arranque para que pueda arrancar desde el disco duro, luego comience haciendo clic con el botón derecho en la entrada de la izquierda y, por supuesto, «Iniciar». Si todo está bien, ahora arrancará Fedora 15 en un entorno VirtualBox. Dijimos anteriormente que el sistema operativo invitado en KVM y VBOX no necesita modificaciones. Si bien teníamos razón, la experiencia del invitado se puede mejorar en VirtualBox con cosas como la vista de pantalla completa o las carpetas compartidas instalando las adiciones de invitados de VirtualBox. Este es básicamente un módulo de kernel y algunos controladores Xorg para el invitado, que puede instalar en su nuevo Fedora siguiendo los siguientes pasos :

 # yum update kernel && yum install kernel-devel kernel-headers dkms gcc gcc-c++ 

Reinicie la máquina virtual después de la instalación, luego vaya al menú Dispositivos, seleccione «Instalar Adiciones de invitado», que montará la imagen ISO de Adiciones de invitado existente en el invitado (on /media) y, como root, simplemente haga

 # cd /media/VBOXADD$version && sh ./VBoxLinuxAdditions.run 

Después, reinicie de nuevo y tendrá características avanzadas de VirtualBox a su disposición.

Conclusión

Cuando se trata de elegir soluciones de virtualización, como lo es con editores, entornos de escritorio o incluso sistemas operativos, todos tienen una opinión personal basada en la experiencia, la lectura y lo que usan sus amigos. Esta es nuestra experiencia, y te invitamos a experimentar y retocar hasta que encuentres el mejor camino a seguir. Hay, por supuesto, otros paquetes de software de virtualización, pero el espacio limitado no nos permitiría escribir sobre todos ellos. Estas son las soluciones más adecuadas para un usuario doméstico (es decir, de código abierto), pero eso no significa que no se usen a nivel empresarial también. Solo esperamos que esto te ayude a empezar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.