Ir al contenido principal

#Comparacion de #Virtuales #VirtualBox contra #Docker #Xen #KVM

Rapida introduccion

VirtualBox emula software sobre haredware combinadamente, se desarrollo por Innotek que despues paso a Sun y termino con Oracle, se provee gratis y libre, exceptuando adiciones en el paquete de extensiones, es especial porque combina virtualizacion de hardware soportado por virtualizacion por software como el unico software que hace esto y el primero en proveer pravirtualizacion.

Docker lo hizo Solomon Hykes como una mininube, despues evoluciona integrando Linux Container, usando la libreria asi proveyendo la faltante optimizacion con acceso a hardware, idea original de Sun sobre solaris que hoy dia se llama Solaris containers, ahora es extremadamente rapido y optimo como la solucion virtual mas liviana pero menos segura ya que la paravirtualizacion implicita accede directo al hardware. 

Qemu (y Xen/KVM) son emulacion de traduccion binaria, tecnica puramente de software virtualizacion pero gracias KVM de Avi Kivity y Red Hat se integro el KVM en el kernel y soporta paravirtualizacion sin embargo limitada a sistemas Alpha y ARM o x86/64 muy modernos. Ian Pat trabajaba en XEN junto Simon Crosby con una fundacion la cual se adquiere por Cirix y comienza una fuerte integracion Linux por un API de maquinas virtuales. Con esto Qemu, Xen y KVM se integran al api de la nueva LibVirt en una infraestructura donde Qemu se une y despues lo haria VirtualBox y Docker.

Tabla comparativa software virtuales

item virtualbox bochs qemu y/o KVM vmware(soft) Docker/Xen
Hardware VT Intel-VT/AMD-V NO, soft only Indirect-access Direct-access Direct-access
Limites disco, cpu, ram disco, 1 cpu, ram disco, cpu, ram, gpu disco Ilimitados
Rendimiento Cercano al real Pobre y flexible Mediano Cercano Alto, bueno
CPU/instala x86/x64 x86/x64/ARM/PwrPC x86/x64/ARM/PwrPC/m68k x86/x64 solo el os
CPU/emula x86/x64/PwrPC x86/x64 x86/x64[ARM/PwrPC/m68k] x86/x64 solo el os
OS/emula Linux,Mac,BSD.Win Lnx,Mac,BSD,Os2,Win Lnx,Mac,BSD,Os2,Win Linux,Win solo el os
OS/instala Linux,Mac,BSD.Win Lnx,Mac,BSD,Os2,Win Lnx,Mac,BSD,Os2,Win Linux,Win Linux
InterfazGUI Si, completa NO Si, terceros/incomplet Si, completa No
Pausar Si, recuperable NO Si, recuperable Si Si, recuperab
Ram (dinam) Si, reasignable NO Si, reasignable Dinamica No, la del os

Tabla comparativa de imagenes disco virtuales y acceso

tipo virtualbox bochs qemu/KVM vmware Docker/Xen
ISO Si Si Si Si No
USB 1.1 Si Si Si Si Si
USB 2/3 No No Si Si Si
HDD(disco) Si Si Si Si Si
HDD(parti) Si Si Si Si Si
RAW Si Si Si No Si
VDI Si No No No No
VHD Si Si No No Si
VMDK4 Si Si No Si No
VMDK3 Si Si Si Si No
QCOW Si No Si No No
QCOW2 Si No Si No No

Conclusiones

Para emular y contener en general, el mejor caso es VirtualBox para iniciados y administracion nivel novato o medio es VirtualBox. Virtualbox a diferencia de los contenedores como docker emulan un sistema diferente al "host" incluso de distinta arquitectura y completamente aislado.

Configurar un Docker o un VMWare es complicado si no se tiene el conocimiento, especialmente si no provee interfaces graficas para los iniciados.

Qemu resulta en una solucion muy complicada ya que requiere de XEN o KVM en si no emula con buen rendimiento y no es facil de administrar

Para alto rendimiento se requiere mejor Docker si no es software de distinto OS/arch, ya que los contenedores acceden directo, pero requiere mayor nivel de experiencia con estos.

En el futuro Docker reemplazara VMWare exceptuando casos especiales de software para sistemas distintos.

Casos de usos virtualbox vs contenedores

Un docker no puede emular software de distinta arquitectura, mucho menos de distinto sistema operativo.

Las maquinas virtuales son mejores y mas faciles de administrar por su aislamiento, es decir, se le puede dejar la administracion de la virtualizada a un experto sin que este altere el entorno real, de esta manera no hay que administrar accesos reales al sistema real, si algo malo sucede, se reestablece el respaldo facilmente.

Los contenedores Docker deben usarse cuando se emplee porciones de software, mientras que las maquinas virtuales separan por completo el entorno invitado (emulado/guest) proveyendo mayor facilidad en la seguridad.

Las maquinas virtuales se pueden migrar/exportar a otras reales (host) sin alteraciones, los contenedores requiren volver adaptarse al nuevo sistema que los ejecutan, puestos estos dependen del sistema operativo que los implementan.

Los contenedores son muchisimos mas veloces y optimos que una maquina virtual.

Las maquinas virtuales aislan el entorno, los contenedores o Docker son alterados con las actualizaciones respecto el sistema operativo que los ejecutan. Esto aplica cuando se necesita ejecutar un software especial para otros sistemas distintos ejemplo arquitectura distinta o incluso ditinto sistema operativo.

Comentarios

Entradas más populares de este blog

Zabbix monitorizacion y admnistracion de redes - introduccion

  Esta herramienta, Zabbix se centra en los hosts: por lo que es la opción correcta para monitorear redes distribuidas (se desarrolló originalmente para monitorear servidores). Zabbix también es administrador , y está listo para ipv6! Con un proxy como hombre en el medio y también con funciones para redes ocultas y con cortafuegos. En los casos en los que no existe la opción de instalar un agente, Zabbix ofrece una supervisión básica sin agentes. Con él, puede verificar la disponibilidad de los servicios de red, así como ejecutar comandos remotos, con esta introducción comenzamos una serie de publicaciones sobre el despliegue de Zabbix en alpine y / o debian linux, también para redes distribuidas. Entonces empezemos a entender a zabbix:

Errores de pam_mysql: símbolo my_make_scrambled_password y dlerror

. el viejo Linux siempre funciona, los más nuevos son una mierda, pero aquí estamos y debemos solucionar.. para que se arregle esa basura: pam_mysql simplemente no se carga en Debian, porque se mueve a "ubicaciones segura"s, además, viene con algunos problemas en Debian 7, Debian 8 y Debian 9 si usas diferentes versiones de Mysql / Mariadb. Aquí las soluciones simples y otras:

ostiket 1.9.X solucion a STARTTLS failed code: 220, response OK

  ..en osticket 1.12, 1.10 asi como 1.9 si tiene un sistema de corro fuertemente configurado.. y quiere conectarse localmente (es decir no necesitamos alta seguridad) la configuracion es imposible con localhost aun cuando su puertos estan 100% cerrados y es ILOGICO TANTA SEGURIDAD!!! El mas ilogico de sus problemas fue " oticket authentication failure [SMTP: STARTTLS failed (code: 220, response: Ok)] ",...

bandeja de iconos e indicadores desaparecen con ayatana - Linux no es más GNU linux

En Alpine sabemos que todo es la vieja escuela, si intentas instalar en Alpine todo a mano, o en Debian a mano sin las recomendaciones activadas; en ambos casos, notaras que no apareceran los iconos en la barra de tareas! Si! tal cual sospechas, tiene que ver con una mierda windowisada y estandares! Si caiste de la mata con la inclusion de codigo Microsoft en el kernel, si la mierda ya huele con la invasion de shitstemd, te caeras y volveras a caer cuando te enteres que Canonical creo un estandar para el area de notificacion "que unifica todo los indicadores del sistema"! Si .. mas software que intenta tomar control unificado. Winlinux se acerca.. y no hacemos nada para proteger la libertad de diversidad que ofrecia linux! ! .

libretro viene y pronto estara en tu tv o telefono

Libretro es un multisistema como mame, pero enfocado a multimedia, es decir   no se extrañen pronto jugar viejos games o poner roms emuladores de play en su tv o bluray   player! porque libretro esta hasta para televisores!

Actualizando debian (old)stable a debian (new)stable

Debian 11 fue lanzado, ahora le mostraremos cómo actualizar de cualquier Debian a cualquier Debian nuevo. Significa que puede actualizar cualquiera, por ejemplo, Debian 12 futuro a Debian 13 futuro, o inclusive oldoldstable a siguiente oldstable.

Tomando en cuidado optimizaciones para estupidos novatos

En general, los ignorantes y los lammers al compilar algo, en su mal conocimiento, simplemente siguen algunas palabras y obedecen las introducciones a la mala comodidad ... Si le preguntas a StackOverFlow, solo hay noobs que le darán respuestas incorrectas .. Verifiquemos este caso: ...

Diversidad de los Sistemas de Inicio en peligro en Debian afecta a otras distros

Una posible mancha ocupara la libertad de elección de usuarios avanzados para la distro madre: Debian; uno que respete la diversidad y la libertad de elección a nivel de «Sistemas de Inicio (Init), todo debido a la futura Resolución General del Proyecto DEBIAN sobre como la gran Distro Madre debe abordar la Diversidad existente sobre los Sistemas de Inicio. Resumiendo hay 3 resoluciones que eliminan las libertades de diversidad, dejando solo el "systemd", de allí el que mas gente odie a systemd, a todo esto se le denomina "un enfoque sano de PID1" en el argot técnico. Sus consecuencias: muerte/obstrucción al trabajo de otras distros mediante carga de trabajo extra debido a que solo existirá systemd: Devuan y MXLinux entre otras.

virtualbox GURU_MEDITATION y VERR_PGM_PHYS_PAGE_RESERVED, casos y soluciones

Error ocurre cuando se tiene mala configuracino de CPU, RAM o NET, por ejemplo la maquina esta en 32bit y el os es 64, o se configuro mucha ram o casi mas de la mitad respecto la real. Guru Meditation -1618 (VERR_PGM_PHYS_PAGE_RESERVED pero encontrar como arreglarlo es dificil ya que no se sabe la causa real puesto es un probelma de configuracion del xml/vdm y sucede mcuho cuadno se crean VM por linea de comandos, asi que pongo los casos mas comunes que lo pueden solventar: CASO1: memoria mal asignada o no accedible es muy comun si usas varias VM y estas son de usuarios distintos, aqui es facil si tienes 2G de ram y ya tienes uan VM con 1G asignada, si tratas de arrancar otra VM con tambien 1G asignada esta fallara con ese error la solucion es disminuir ambas a 512 ya que no puedes arrancar varias VM y estas abarquen mas de la mitad de la ram del sistema real. Menos si son desde ditintos usuarios en la misma maquina real. CASO 2: mala configuracion de discos/ide...