<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Virtualizacion on Marco Antonio Blanco</title><link>https://marcoantonioblanco.es/tags/virtualizacion/</link><description>Recent content in Virtualizacion on Marco Antonio Blanco</description><generator>Hugo -- gohugo.io</generator><language>es-es</language><copyright>Marco Antonio Blanco</copyright><lastBuildDate>Tue, 08 Apr 2014 10:56:48 +0000</lastBuildDate><atom:link href="https://marcoantonioblanco.es/tags/virtualizacion/index.xml" rel="self" type="application/rss+xml"/><item><title>Conversión de máquinas virtuales VMWare a Xen</title><link>https://marcoantonioblanco.es/2014/04/conversion-de-maquinas-virtuales-vmware-a-xen/</link><pubDate>Tue, 08 Apr 2014 10:56:48 +0000</pubDate><guid>https://marcoantonioblanco.es/2014/04/conversion-de-maquinas-virtuales-vmware-a-xen/</guid><description>&lt;p&gt;A la hora de implantar una nueva aplicación de servidor es imprescindible realizar un detallado estudio de la misma que incluya entre otras cosas pruebas de funcionamiento y requerimientos técnicos. En estos casos lo habitual es generar un entorno &lt;em&gt;sandbox&lt;/em&gt; en el que instalar la aplicación y llevar a cabo el estudio sin miedo a &amp;ldquo;estropear nada&amp;rdquo;. Sin duda, la mejor opción para obtener un entorno aséptico es el uso de la virtualización.&lt;/p&gt;&#10;&lt;p&gt;De hecho, es muy habitual que los proveedores de las aplicaciones ofrezcan máquinas virtuales preinstaladas para que sólo tengamos que lanzarlas y realizar el estudio. Sin embargo, la mayoría de dichas VM de prueba están basadas en VMWare debido a la popularidad que éste tiene en entornos corporativos. Personalmente, prefiero utilizar &lt;a class="link" href="http://www.xenproject.org/" target="_blank" rel="noopener"&#10; &gt;Xen&lt;/a&gt; como solución de virtualización en servidores porque, aparte de que es software de licencia libre, ofrece un impresionante conjunto de funcionalidades y capacidades que nos permiten virtualizar prácticamente cualquier sistema operativo bajo cualquier circunstancia técnica.&lt;/p&gt;&#10;&lt;p&gt;La escasa disponibilidad de VM de prueba en formato Xen no me ha impedido utilizarlas, ya que lo que hago es traducirlas desde el formato de VMWare. La receta que sigo para ello es lo que quiero compartir en el artículo de hoy. Antes de nada, debo apuntar que sólo he migrado VMs basadas en Linux. Si alguien necesita hacerlo con VMs basadas en Windows (le deseo suerte), un buen punto de partida previo es &lt;a class="link" href="http://support.microsoft.com/kb/314082" target="_blank" rel="noopener"&#10; &gt;éste artículo de Microsoft&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Para ello, vamos a necesitar tener instalado el paquete &lt;code&gt;qemu&lt;/code&gt; en nuestro servidor. En Debian es tan sencillo como:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# apt-get install qemu&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Lo siguiente es comprobar el formato concreto de la imagen de la VM origen (&lt;code&gt;vmdk&lt;/code&gt; o &lt;code&gt;raw&lt;/code&gt;), cuyo fichero tiene extensión &lt;code&gt;vmdk&lt;/code&gt;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# qemu-img info Test1.vmdk&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;image: Test1.vmdk&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;file format: vmdk&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;virtual size: 82G (88081432576 bytes)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;disk size: 2.0G&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En este caso el formato de la imagen es el nativo de VMWare, así que debemos proceder a su conversión.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qemu-img convert Test1.vmdk -O raw Test1.img&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Veamos un ejemplo con una imagen en formato &lt;code&gt;raw&lt;/code&gt;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# qemu-img info Test2.vmdk&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;file format: raw&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;virtual size: 82G (88081432576 bytes)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;disk size: 2.0G&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En este caso, basta con que renombremos la extensión a &lt;code&gt;img&lt;/code&gt;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# mv Test2.vmdk Test2.img&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ahora toca guardar la imagen en su directorio correspondiente:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# mkdir -p /home/xen/domains/test1/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# mv Test1.img /home/xen/domains/test1/&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Para terminar, tenemos que generar el fichero de configuración de la nueva VM, que guardaremos en &lt;code&gt;/etc/xen&lt;/code&gt;. En nuestro ejemplo, el fichero se llamará &lt;code&gt;/etc/xen/Test1.cfg&lt;/code&gt; y tendrá el siguiente contenido:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;disk = [ &amp;#39;file:/home/xen/domains/test1/Test1.img,xvda,w&amp;#39; ]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Las imágenes VMWare suelen venir acompañadas de un fichero con extensión &lt;code&gt;vmx&lt;/code&gt;, que contiene información sobre el hardware virtualizado de la VM. Suele ser muy interesante consultarlo y copiar a la configuración de la máquina Xen aquellas características que nos puedan ser de utilidad. En nuestro ejemplo, nos encontramos lo siguiente:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# less Test1.vmx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;memsize = &amp;#34;2048&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;numvcpus = &amp;#34;2&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y lo trasladamos al fichero Test1.cfg de Xen así:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;memory = &amp;#39;2048&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vcpus = &amp;#39;2&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Estamos preparados para arrancar la nueva máquina Xen:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# xm create -c Test1.cfg&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Using config file &amp;#34;/etc/xen/Test1.cfg&amp;#34;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Started domain Test1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;...&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En caso de que todo vaya bien, podemos incluir en el fichero de configuración más información, como el nombre de la máquina, la configuración de red o el comportamiento de la VM ante el cierre del sistema:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;name = &amp;#39;test1.ejemplo.com&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vif = [ &amp;#39;ip=192.168.10.55&amp;#39; ]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;on_poweroff = &amp;#39;destroy&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;on_reboot = &amp;#39;restart&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;on_crash = &amp;#39;restart&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Por último, una vez estemos satisfechos con el resultado, deberíamos incorporar esta nueva máquina a la gestión de dominios de Xen:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# xm new Test1.cfg&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Using config file &amp;#34;Test1.cfg&amp;#34;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Un último apunte antes de terminar. A veces nos podemos encontrar con imágenes VMWare que están divididas en varios ficheros. En ese caso procederemos a convertir cada fichero antes de unirlos en una sola imagen Xen final. Por ejemplo:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ls&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Test3-s001.vmdk Test3-s004.vmdk Test3.vmdk&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Test3-s002.vmdk Test3-s005.vmdk Test3.vmx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Test3-s003.vmdk Test3-s006.vmdk &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# for i in `ls *[0-9].vmdk`; do qemu-img convert $i -O raw ${i/vmdk/raw} ; done&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# cat *.raw &amp;gt;&amp;gt; Test3.img&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Espero que esta receta os sea de utilidad a la hora de probar nuevas aplicaciones y servicios para vuestros servidores. Espero vuestros comentarios.&lt;/p&gt;&#10;</description></item><item><title>Virtualización en escritorios (y IV): KVM/QEMU</title><link>https://marcoantonioblanco.es/2014/03/virtualizacion-en-escritorios-y-iv-kvmqemu/</link><pubDate>Fri, 07 Mar 2014 13:12:02 +0000</pubDate><guid>https://marcoantonioblanco.es/2014/03/virtualizacion-en-escritorios-y-iv-kvmqemu/</guid><description>&lt;p&gt;Hace tiempo que tenía pendiente terminar esta serie de artículos dedicados a la virtualización en escritorios y como en el artículo anterior mencionaba esta técnica como una herramienta útil en el proceso de migración de un sistema informático a Linux, la ocasión era inmejorable para publicar unas líneas sobre una solución 100% libre y que viene de serie en el propio núcleo de Linux: KVM&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="http://www.linux-kvm.org/" target="_blank" rel="noopener"&#10; &gt;KVM&lt;/a&gt; son las siglas de &lt;em&gt;Kernel-based Virtual Machine&lt;/em&gt; y se trata de un módulo del núcleo de Linux que permite a un programa de usuario utilizar las capacidades de virtualización por hardware que incluyen diversos procesadores. En resumen, KVM convierte el núcleo de Linux en un hipervisor. Actualmente, KVM soporta los procesadores Intel y AMD más recientes (a través de un segundo módulo especializado del núcleo), así como una serie de plataformas menos populares en nuestros escritorios, como PowerPC, S/390 y ARM. Se incluyó por primera vez en el núcleo de Linux en la versión 2.6.20, publicada en Febrero de 2007.&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://marcoantonioblanco.es/images/wp/2014/03/kvm-qemu.jpg" &gt;&lt;img alt="KVM y QEMU emulando varias sistemas" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://marcoantonioblanco.es/images/wp/2014/03/kvm-qemu-300x187.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;KVM y QEMU emulando varios sistemas&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;A través de KVM es posible ejecutar múltiples máquinas virtuales corriendo imágenes sin necesidad de adaptación de &lt;a class="link" href="http://www.linux-kvm.org/page/Guest_Support_Status" target="_blank" rel="noopener"&#10; &gt;numerosos sistemas operativos&lt;/a&gt;, incluyendo Linux, Windows, BSD, Solaris y Android. De este modo, cada máquina virtual cuenta con su propio hardware virtualizado: disco, red, vídeo, audio, etc.&lt;/p&gt;&#10;&lt;p&gt;Sin embargo, KVM no realiza ningún tipo de emulación, por lo que es necesario un interfaz en espacio de usuario que permita la creación y uso de las máquinas virtuales. La mejor opción en este sentido es &lt;a class="link" href="http://qemu.org/" target="_blank" rel="noopener"&#10; &gt;QEMU&lt;/a&gt;, un emulador y virtualizador de máquinas genérico de licencia libre.&lt;/p&gt;&#10;&lt;p&gt;Cuando se utiliza junto con KVM, QEMU consigue un rendimiento cercano al nativo a través de la ejecución del código de la máquina virtual en el procesador de la máquina física. Así, es incluso posible ejecutar Mac OS X con una versión especialmente modificada de QEMU. Como curiosidad, añadiré que QEMU es compatible con otras soluciones de virtualización, como Xen&lt;/p&gt;&#10;&lt;p&gt;La puesta en marcha de la pareja KVM/QEMU es muy sencilla en Debian. En primer lugar procedemos a la instalación de las herramientas de espacio de usuario, ya que como he comentado antes el soporte de virtualización KVM ya viene de serie con el núcleo de Linux:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# apt-get install qemu-kvm libvirt-bin&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En este momento ya tendríamos instalado QEMU listo para su uso con KVM, aunque sólo a través de herramientas de línea de comandos. Si queremos un buen interfaz gráfico de gestión, algo muy recomendable en el manejo de máquinas virtuales en un escritorio, mi recomendación es instalar &lt;a class="link" href="http://freecode.com/projects/aqemu" target="_blank" rel="noopener"&#10; &gt;AQEMU&lt;/a&gt;, que nos ofrece un interfaz muy al estilo de Virtualbox:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# apt-get install aqemu&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a class="link" href="https://marcoantonioblanco.es/images/wp/2014/03/aqemu.jpg" &gt;&lt;img alt="aqemu" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://marcoantonioblanco.es/images/wp/2014/03/aqemu-300x282.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Ventana principal de AQEMU&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;La primera vez que ejecutamos AQEMU nos presentará en pantalla un asistente de configuración, cuyo primer paso es elegir el idioma del interfaz (desgraciadamente no tenemos el Español como opción). En el segundo paso se nos pregunta por el directorio en el que residirán las máquinas virtuales (podemos dejar el valor por defecto a menos que se trate de un sistema de ficheros remoto o removible), si queremos utilizar el modo &amp;ldquo;Gestor de dispositivos&amp;rdquo; (recomiendo su activación) y queremos experimentar con un visor VNC empotrado en la ventana principal de AQEMU (aquí recomiendo que no, es demasiado inestable aún).&lt;/p&gt;&#10;&lt;p&gt;El siguiente paso nos pregunta por los &amp;ldquo;emuladores&amp;rdquo; que tenemos instalados. Pulsamos en &amp;ldquo;Search&amp;rdquo; y AQEMU buscará (y encontrará) las herramientas de KVM y QEMU. Si estamos de acuerdo con el resultado, continuamos con el siguiente paso en el que se va a configurar QEMU. Pues bien, lo mejor es dejarlo todo en sus valores por defecto y finalizar el asistente, con lo que se nos presentará la venta principal de AQEMU. Si queremos ejecutar de nuevo el asistente, tenemos la opción en el menú &amp;ldquo;File&amp;rdquo;, al igual que podemos cambiar la configuración directamente a través de las opciones &amp;ldquo;General Settings&amp;rdquo; y &amp;ldquo;Advanced Settings&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://marcoantonioblanco.es/images/wp/2014/03/aqemu2.jpg" &gt;&lt;img alt="AQEMU y los 3 sistemas más populares" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://marcoantonioblanco.es/images/wp/2014/03/aqemu2-300x282.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;AQEMU y los 3 sistemas más populares&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;Ahora es cuestión de utilizar el asistente de creación de máquinas virtuales (segundo icono por la izquierda en la barra de herramientas) para generar la primera. Cuando se nos pregunte qué emulador vamos a utilizar, probaremos primero con KVM. Si hay problemas de compatibilidad, entonces probamos de nuevo con QEMU.&lt;/p&gt;&#10;&lt;p&gt;Con esto tendremos KVM a pleno rendimiento (nuna mejor dicho) en nuestro escritorio. Como se puede ver, se trata de una solución relativamente sencilla de instalar y utilizar y que además es libre. En su contra tiene que QEMU ofrece pocos drivers de dispositivos multimedia y que no incluye aun soporte para el modelo de arranque UEFI. Aún así, se trata de una opción muy a considerar cuando necesitemos virtualizar sistemas para utilizarlos en nuestros escritorios. Espero que la probéis y compartáis vuestras experiencias.&lt;/p&gt;&#10;</description></item><item><title>Virtualización en escritorios (III): VMWare</title><link>https://marcoantonioblanco.es/2013/02/virtualizacion-en-escritorios-iii-vmware/</link><pubDate>Tue, 12 Feb 2013 10:43:31 +0000</pubDate><guid>https://marcoantonioblanco.es/2013/02/virtualizacion-en-escritorios-iii-vmware/</guid><description>&lt;p&gt;Continuamos con la serie de artículos dedicada a la virtualización en escritorios con el repaso a otra de las soluciones más populares del mercado. En esta ocasión se trata de VMWare, uno de los pioneros en esto de la virtualización de sistemas, siendo al igual que Virtualbox una de las opciones más sencillas de instalar y utilizar, aunque con el inconveniente de que se trata de una solución completamente privativa con versiones tanto de pago como gratuitas.&lt;/p&gt;&#10;&lt;p&gt;VMWare fue desarrollado por VMware Inc., que presentó al público en Mayo de 1999 un producto para escritorios, VMWare Workstation. Posteriormente entró en 2001 en el mercado de servidores con VMware GSX Server y VMware ESX Server. En 2004, la empresa se convirtió en filial de EMC Corporation.&lt;/p&gt;&#10;&lt;p&gt;Los productos de VMWare se ejecutan sobre Linux, Windows y Mac OS X sobre procesadores Intel, y es capaz de alojar a una gran cantidad de sistemas virtualizados. En el ámbito que nos ocupa, el de los escritorios, VMWare ofrece un producto gratuito llamado VMWare Player, que no solo ejecuta máquinas virtuales sino que también es capaz de crearlas. Su instalación es tan sencilla como &lt;a class="link" href="http://www.vmware.com/go/downloadplayer" target="_blank" rel="noopener"&#10; &gt;descargarse de la web oficial el instalador&lt;/a&gt; correspondiente al sistema operativo anfitrión de nuestra elección y proceder a su ejecución. En el caso de Debian, es más que interesante seguir las &lt;a class="link" href="http://wiki.debian.org/VMware#VMWare_Player_4_and_VMWare_Workstation_8" target="_blank" rel="noopener"&#10; &gt;instrucciones&lt;/a&gt; del wiki oficial del proyecto.&lt;/p&gt;&#10;&lt;p&gt;La existencia de una versión gratuita para escritorios convierte a VMWare en una opción muy asequible para los usuarios incluso de entornos corporativos, ya que su licencia así lo permite. Además, el formato que utiliza para los discos virtuales es gestionable incluso desde herramientas de licencia libre. Por último, existen numerosas máquinas virtuales con aplicaciones instaladas disponibles para su descarga en Internet, lo que hace ganar puntos a VMWare como opción interesante para nuestros escritorios.&lt;/p&gt;&#10;&lt;p&gt;VMWare basa su funcionamiento en la virtualización parcial del hardware, es decir, emula ciertas partes de la plataforma hardware sobre la que corre el sistema huésped, como el adaptador de vídeo, la tarjeta de red y los controladores de disco, mientras que pasa directamente al hardware real las llamadas a ciertos componentes, como los dispositivos USB, serie y paralelo. Esto implica una alta portabilidad entre anfitriones, siendo posible pausar una VM en un sistema, copiarla a otro y seguir allí su ejecución como si nada hubiese pasado. Asimismo, el rendimiento es generalmente superior al de soluciones de virtualización completa, aunque esto depende del uso que se le dé a la virtualización.&lt;/p&gt;&#10;&lt;p&gt;Al igual que en el caso de Virtualbox, quiero daros un consejo a la hora de crear nuevas máquinas virtuales. Cuando tengamos que crear el almacenamiento de la VM y se nos pregunte por el tipo de asignación del espacio, debemos asegurarnos de que sea dinámico y no fijo, de forma que no perdamos en el disco físico todo el espacio reservado para la VM mientras no esté en uso.&lt;/p&gt;&#10;&lt;p&gt;A pesar de las virtudes de VMWare y de tratarse de un producto robusto y estable con numerosas posibilidades, para mí chirría el hecho de que se trata de un producto privativo, por lo que prefiero otras soluciones que son tan completas como VMWare pero de licencia libre como KVM, que revisaremos en un artículo próximo. En cualquier caso, espero vuestras experiencias con VMWare.&lt;/p&gt;&#10;</description></item><item><title>Virtualización en escritorios (II): Virtualbox</title><link>https://marcoantonioblanco.es/2013/01/virtualizacion-en-escritorios-ii-virtualbox/</link><pubDate>Fri, 18 Jan 2013 11:10:58 +0000</pubDate><guid>https://marcoantonioblanco.es/2013/01/virtualizacion-en-escritorios-ii-virtualbox/</guid><description>&lt;p&gt;Tras la presentación de lo que es la virtualización de sistemas, sus ventajas y los casos de uso más habituales, voy seguir esta serie de artículos dedicada a la virtualización en escritorios con el repaso a las soluciones más populares existentes en el mercado. Para ello, empezaré con Virtualbox, una de las opciones más sencillas de instalar y utilizar.&lt;/p&gt;&#10;&lt;p&gt;Virtualbox fue originalmente desarrollado por la empresa alemana innotek GmbH, que lo vendió en 2008 a Sun Microsystems, terminando en manos de Oracle con el resto de activos de Sun (como Java, MYSQL, Solaris, etc.) cuando se produjo la famosa adquisición. Se ejecuta en los sistemas operativos más populares y en otros minoritarios, como el propio Solaris o FreeBSD, y es capaz de alojar a una ingente cantidad de sistemas virtualizados, incluyendo OS/2. Su instalación es tan sencilla como descargarse de la web oficial el instalador correspondiente al sistema operativo anfitrión de nuestra elección y proceder a su ejecución, tras lo cual hay que proceder también a descargar e instalar el &amp;ldquo;VirtualBox extension pack&amp;rdquo;, que amplía las posibilidades del paquete original con soporte USB 2.0, RDP y arranque PXE. Sin embargo, en el caso de Debian es aún más sencillo como veremos más adelante.&lt;/p&gt;&#10;&lt;p&gt;La existencia del &amp;ldquo;VirtualBox extension pack&amp;rdquo; se debe a la especial licencia del software. En la actualidad, el núcleo de Virtualbox se distribuye bajo la licencia libre GPLv2, mientras que las características extendidas antes mencionadas sólo están accesibles mediante una licencia privativa para uso y evaluación personal. Esto convierte a Virtualbox en una opción muy asequible para usuarios domésticos y en entornos educativos, pero pierde enteros en entornos corporativos frente a soluciones completamente libres y, en lo referente a costes de licencias, gratuitas.&lt;/p&gt;&#10;&lt;p&gt;Virtualbox basa su funcionamiento en la virtualización completa (&lt;em&gt;full virtualization&lt;/em&gt;), es decir, en la emulación al 100% de la plataforma hardware sobre la que corre el sistema huésped, de forma que éste nunca accede directamente a los recursos del hardware del anfitrión. Así, es posible instalar prácticamente cualquier sistema operativo sin modificar ni adaptar al entorno virtualizado, a cambio de una apreciable pérdida de rendimiento por la emulación por software del hardware. Sin embargo, los desarrolladores de Virtualbox han hecho un buen trabajo intentando que dicha pérdidad de rendimiento no sea tan grande, sobre todo gracias al uso del soporte de virtualización en hardware que los procesadores modernos traen de serie.&lt;/p&gt;&#10;&lt;p&gt;Como comentaba antes, la instalación en Debian es aún más sencilla que en otros sistemas gracias al uso de repositorios. Aunque Virtualbox está disponible en los repos oficiales, yo prefiero utilizar los que Oracle pone a disposición de los usuarios ya que así nos aseguramos tener siempre acceso a la última versión disponible. De hecho, a la hora de escribir este artículo, he comprobado que en Debian tenemos la versión 4.1, mientras que en el repositorio de Oracle contamos con la 4.2, publicada en Septiembre de 2012.&lt;/p&gt;&#10;&lt;p&gt;Empezamos por tanto la instalación añadiendo el repositorio oficial de Oracle a nuestra lista, bien a través del Centro de Software o bien editando directamente el fichero &lt;code&gt;/etc/apt/sources.list&lt;/code&gt;, operaciones que sólo podemos realizar como administradores del sistema. Utilizaremos esta línea si usamos Squeeze:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deb http://download.virtualbox.org/virtualbox/debian squeeze contrib&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;o bien ésta otra si usamos Wheezy:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;deb http://download.virtualbox.org/virtualbox/debian wheezy contrib&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ahora actualizamos la base de datos de paquetes:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# apt-get update&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y procedemos a instalar Virtualbox:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# apt-get install virtualbox-4.2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sólo queda darle permisos de acceso a Virtualbox a aquellos usuarios del sistema anfitrión que queramos. Para ello, basta con añadirlos al grupo de usuarios &lt;code&gt;vboxusers&lt;/code&gt;, de forma que Virtualbox pueda ejecutarse con pleno acceso a los recursos que necesita cuando es invocado por dichos usuarios. Por ejemplo, si queremos darle permiso al usuario &lt;code&gt;marco&lt;/code&gt;, lanzamos el siguiente comando:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# adduser marco vboxusers&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Listo. Ahora invocamos Virtualbox desde el icono que se ha debido instalar en nuestros menús y debería aparecer una pantalla como ésta:&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://marcoantonioblanco.es/images/wp/2013/01/virtualbox2.png" &gt;&lt;img alt="Virtualbox recién instalado" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://marcoantonioblanco.es/images/wp/2013/01/virtualbox2-300x227.png"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Virtualbox recién instalado&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;En el caso de que la licencia nos lo permita, podemos proceder entonces a instalar el &amp;ldquo;extension pack&amp;rdquo;, que descargaremos previamente de la &lt;a class="link" href="https://www.virtualbox.org/wiki/Downloads" target="_blank" rel="noopener"&#10; &gt;página de descargas de Virtualbox&lt;/a&gt; (una única descarga para todas las plataformas). Una vez hayamos cerrado Virtualbox, procedemos a la instalación del paquete como administradores con este comando:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.6-82870.vbox-extpack&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Alguien me dirá que es más sencillo hacer un simple doble click sobre el fichero del paquete o instalarlo a través del menú de preferencias del propio Virtualbox (y no les falta razón), pero de este modo sólo se instala para el usuario que está instalando el paquete y no para todos los del sistema anfitrión. Además, desde línea de comandos tendremos acceso a cualquier error que se produzca y, aunque parezca increible, podremos actualizar el paquete, algo que no parece posible desde los otros métodos si no desinstalamos primero el existente.&lt;/p&gt;&#10;&lt;p&gt;Sólo queda crear nuestras propias máquinas virtuales a través del sencillo asistente que Virtualbox ofrece al pulsar el botón &amp;ldquo;Nueva&amp;rdquo; y personalizarlas a través del botón &amp;ldquo;Configurar&amp;rdquo;, como se puede ver en la siguiente pantalla:&lt;/p&gt;&#10;&lt;p&gt;&lt;a class="link" href="https://marcoantonioblanco.es/images/wp/2013/01/virtualbox1.png" &gt;&lt;img alt="virtualbox1" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://marcoantonioblanco.es/images/wp/2013/01/virtualbox1-300x227.png"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;Virtualbox con una VM creada&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;Como se puede apreciar en el pantallazo, tengo una máquina virtual (VM) ya creada basada en Debian y que tengo suspendida en plena ejecución, de forma que cuando la inicie seguirá corriendo por donde iba cuando se detuvo.&lt;/p&gt;&#10;&lt;p&gt;Un consejo a la hora de crear nuevas máquinas virtuales. El asistente nos preguntará por el almacenamiento de la VM, que debería ser en un fichero alojado en un dispositivo local (trabajar con VMs en red supone una enorme pérdida de rendimiento). Cuando nos pregunte por el tipo de asignación del espacio, debemos asegurarnos de que sea dinámico y no fijo, de forma que no perdamos en el disco físico todo el espacio reservado para la VM mientras no esté en uso.&lt;/p&gt;&#10;&lt;p&gt;Si además nos aseguramos de que en la configuración de cada VM estén activas las extensiones de virtualización del procesador, tendremos un sistema de virtualización completo y lleno de posibilidades para nuestro escritorio. Espero vuestras experiencias con Virtualbox.&lt;/p&gt;&#10;</description></item><item><title>Virtualización en escritorios (I): casos de uso</title><link>https://marcoantonioblanco.es/2012/12/virtualizacion-en-escritorios-i-casos-de-uso/</link><pubDate>Mon, 10 Dec 2012 12:48:00 +0000</pubDate><guid>https://marcoantonioblanco.es/2012/12/virtualizacion-en-escritorios-i-casos-de-uso/</guid><description>&lt;p&gt;La virtualización es sin duda alguna una de las tecnologías más de moda, a la vez que útil, actualmente. A pesar de tener unos cuantos años encima (aún recuerdo lo alucinante que era ver VMware en funcionamiento a finales de los 90), la virtualización ha obtenido una gran popularidad en los últimos años gracias a diversos factores: al soporte nativo de virtualización en las CPUs modernas, a los nuevos mecanismos de virtualización (como la paravirtualización) y al enorme avance en funcionalidades y características del software de virtualización.&lt;/p&gt;&#10;&lt;p&gt;Pero sobre todo, lo que ha hecho que la virtualización sea tan popular hoy en día son una serie de necesidades computacionales que se resuelven todas del mismo modo: ejecutando un sistema operativo completo dentro de otro. Aunque donde se está utilizando más la virtualización es en la consolidación de servidores y centros de datos, quiero enfocar este artículo y los sucesivos al escritorio (sobre todo al basado en Linux) con el objetivo de que cualquier usuario pueda sacar provecho de esta tecnología tan útil e interesante.&lt;/p&gt;&#10;&lt;p&gt;En este primer artículo voy a enumerar esas necesidades computacionales que he mencionado antes, casos de uso en los que la virtualización supone la mejor solución a ciertos problemas tecnológicos. Pero antes, para los no iniciados en estos menesteres, definiré la virtualización como la abstracción de un recurso tecnológico (generalmente una plataforma hardware) a través de un software especializado de forma que permita la instalación y ejecución simultánea de varios sistemas operativos alojados (conocidos como máquinas virtuales o VMs) repartiendo el uso de dicho recurso tecnológico entre ellos. De este modo, por ejemplo es perfectamente posible tener como sistema anfitrión una Debian Squeeze sobre la que instalamos un Windows XP, un Windows 7, un Mac OSX, una Debian Wheezy y una Fedora, todos virtualizados y ejecutándose simultáneamente (si así lo queremos).&lt;/p&gt;&#10;&lt;p&gt;Veamos los casos de uso en los que la virtualización se revela como solución crítica a ciertos problemas:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Banco de pruebas: Ya sea para probar un nuevo sistema operativo o una nueva aplicación, podemos crear VMs en las que instalar el software que queramos y hacerle todas las pruebas que nos vengan en gana sin miedo a &amp;ldquo;ensuciar&amp;rdquo; nuestro sistema operativo principal.&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;Sandbox&lt;/em&gt;: Muy relacionado con el caso anterior, este concepto pertenece al campo de la seguridad informática. Con un &lt;em&gt;sandbox&lt;/em&gt; podemos probar software de dudosa procedencia, visitar páginas web sospechosas y realizar otras actividades que a priori puedan ser peligrosas para la integridad del sistema anfitrión. Asimismo, podemos utilizar un &lt;em&gt;sandbox&lt;/em&gt; para instalar software con vulnerabilidades conocidas y entrenar nuestras habilidades como consultores en seguridad informática, de nuevo sin poner en peligro nuestro sistema principal de trabajo.&lt;/li&gt;&#10;&lt;li&gt;Uso de software específico: Existen ocasiones en las que un usuario requiere de un software concreto para el que no hay alternativa que le satisfaga en Linux. En este caso, una buena opción es una VM en la que instalar dicho software y poder utilizarlo a la vez que trabaja en su escritorio Linux.&lt;/li&gt;&#10;&lt;li&gt;Uso de software antiguo: Parecido al caso anterior, puede ocurrir que el usuario necesite seguir utilizando un software para el que ya no existe soporte y que es incompatible con cualquier sistema operativo moderno (por ejemplo, la típica aplicación de gestión para MS-DOS). Una VM con un sistema operativo antiguo pero compatible es sin duda una gran solución para que el usuario pueda seguir utilizando dicho software, aunque sea simplemente a nivel de consulta de datos históricos. Casualmente, este es el caso que más nos consultan nuestros clientes en Activa Sistemas.&lt;/li&gt;&#10;&lt;li&gt;Entorno de desarrollo: Este caso es un guiño para mis colegas informáticos, sobre todo los que se dedican a la programación. Ellos saben bien el lío que se les puede formar en su escritorio a la hora de instalar todas las herramientas que pueden necesitar para su trabajo, sobre todo si estamos hablando de desarrollar con lenguajes de programación diferentes. Una VM para cada entorno de desarrollo es una buena solución para no caer en el caos de las herramientas y posibles incompatibilidades entre ellas.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Estos son los casos más habituales y que generalmente me encuentro. ¿Se os ocurren otras situaciones en las que la virtualización en el escritorio sea la mejor solución?&lt;/p&gt;&#10;&lt;p&gt;En próximos artículos revisaré algunas de las soluciones más interesantes que existen en el mercado, qué ofrecen y cómo ponerlas en marcha en nuestros escritorios Linux.&lt;/p&gt;&#10;</description></item><item><title>Migración de máquinas virtuales Xen</title><link>https://marcoantonioblanco.es/2010/03/migracion-de-maquinas-virtuales-xen/</link><pubDate>Fri, 26 Mar 2010 10:29:14 +0000</pubDate><guid>https://marcoantonioblanco.es/2010/03/migracion-de-maquinas-virtuales-xen/</guid><description>&lt;p&gt;Esta semana nos hemos visto en la tesitura de tener que migrar unas máquinas virtuales basadas en &lt;a class="link" href="http://es.wikipedia.org/wiki/Xen" target="_blank" rel="noopener"&#10; &gt;Xen&lt;/a&gt; desde un servidor físico a otro con más recursos. A pesar de que Xen incluye herramientas especializadas para estas tareas, hemos preferido seguir nuestra propia &amp;ldquo;receta&amp;rdquo; en previsión de una serie de obstáculos que imaginábamos nos podíamos encontrar durante el proceso de migración. Voy a describir a continuación cuales han sido estos obstáculos y las soluciones que utilizamos en cada caso.&lt;/p&gt;&#10;&lt;p&gt;La situación era la siguiente: teníamos que migrar varias máquinas virtuales Xen que contenían sendos portales web desde un servidor físico a otro. Aquí se nos presentaba la primera dificultad. A pesar de que las arquitecturas hardware de los servidores eran prácticamente idénticas, no era así en el caso de los sistemas operativos, ya que el origen tenía instalado Debian 4.0 y el destino Debian 5.0. Habrá quien piense que soy un exagerado y que eso no es tanta diferencia. Nada más lejos de la realidad, ya que las versiones de núcleo Linux y del software de virtualización Xen son diferentes, lo que de algún modo impedía el correcto funcionamiento de la herramienta &amp;ldquo;xm migrate&amp;rdquo;, que fallaba inmediata e indefectiblemente con un error críptico cada vez que era invocada desde la línea de comandos del servidor de origen. A pesar de preparar concienzudamente ambos servidores para permitir la migración al vuelo, la herramienta propia de Xen no hacía su trabajo.&lt;/p&gt;&#10;&lt;p&gt;La solución fue relativamente sencilla. Todo consistió en hacer lo mismo que se suponía debía hacer &amp;ldquo;xm migrate&amp;rdquo; pero a mano y paso a paso. Lo primero era parar la máquina virtual con &amp;ldquo;xm shutdown&amp;rdquo;, para proceder a continuación a su copia al servidor destino. Aunque nosotros lo hicimos por SSH, las posibilidades aquí son amplias (FTP, NFS, SMB, USB, etc.). La copia de cada máquina virtual comprendía el fichero imagen del disco principal, el fichero imagen de la memoria de intercambio o &lt;em&gt;swap&lt;/em&gt; y el fichero de configuración correspondiente.&lt;/p&gt;&#10;&lt;p&gt;Una vez copiados los ficheros al servidor destino, el siguiente paso es arrancar las máquinas virtuales una a una con &amp;ldquo;xm create&amp;rdquo;. Sin embargo, no iba a ser tan sencillo, ya que Xen se quejó de que le faltaban el núcleo Linux y el &lt;em&gt;initrd&lt;/em&gt; de las máquinas virtuales, que procedimos a copiar desde el servidor origen, con lo que el arranque se produjo después sin más problemas.&lt;/p&gt;&#10;&lt;p&gt;Para finalizar, quedaban por ajustar algunas cosas, como la configuración de red de Xen (en el servidor origen se usaba el modo &lt;em&gt;bridge&lt;/em&gt; mientras que en el destino estaba activo por defecto el modo NAT), la actualización de los DNS de los portales web con la IP del servidor destino y la configuración del proxy inverso residente en los servidores físicos que gestiona las peticiones realizadas a cada máquina virtual.&lt;/p&gt;&#10;&lt;p&gt;De esta historia puede obtenerse una valiosa lección. Aunque cualquier sistema de virtualización, incluyendo Xen, hacen su trabajo a un buen nivel, podemos encontrarnos en cualquier momento una serie de problemas que impidan su adecuada gestión y mantenimiento, más teniendo en cuenta lo delicados y exigentes que son. En este sentido, es fundamental tener unos profundos conocimientos y experiencia en administración de sistemas en general y en el sistema de virtualización de nuestra elección en particular para evitarnos males mayores y salir airosos de cualquier situación.&lt;/p&gt;&#10;</description></item></channel></rss>