Máquinas virtuales
Transcripción
Máquinas virtuales
soluciones para empresas Máquinas virtuales: Una alternativa para PYMES Máquinas virtuales: Una alternativa para PYMES Daniel García [email protected] Con este artículo podrá aprender el concepto de máquina virtual, en qué se basan, su funcionamiento y cómo instalar, compilar y configurar su propia red a base de máquinas. El único requisito es disponer de un PC y ganas de aprender. 18 P ara una correcta explicación de todo el entorno de múltiples ordenadores para el desempeño de sus funciones. pruebas es necesario instalar un sistema base en Por nombrar algunos: una máquina virtual. Por ello también se explicará, paso a paso, este proceso. El sistema a instalar • Desarrolladores: Cuando se desarrolla, sobre todo serserá la distribución GNU/Linux: Debian. Más adelante se vicios web, se suelen necesitar varios PC o servidores. detallan cualquier tipo de duda en cuanto a distribuciones o el Sería realmente útil simular todos estos PCs o redes porqué de la elección de dicha distribución. en su ordenador. Sin necesidad de cualquier tipo de servicio externo. Una vez que todo estuviera probado ¿A quién va dirigido el artículo? y funcionando correctamente podría ser trasladado al Aunque el artículo puede tener un uso generalizado de los servidor real. Como ejemplos podríamos poner: Serusuarios, si usted necesita implantar un entorno de pruebas vidores web, gestores de bases de datos, sistemas de en una PYME y no dispone de mucho presupuesto, tiene siscontrol de versiones, etcétera. temas Linux corriendo en sus máquinas (aunque también • Administradores de sistemas: Normalmente los admifunciona bajo otras plataformas, como Windows), es defennistradores necesitan realizar numerosas pruebas cuando sor del software libre o quiere exprimir al máximo el ren0 aparecen nuevos parches para las diferentes versiones de dimiento de sus servidores, encontrará sumamente útil este software que tengan instaladas. El instalar estos parches artículo. en máquinas que se encuentren en producción es muy El nivel del artículo comenzará siendo muy bajo. No arriesgado: El servicio podría dejar de funcionar. Por se presupondrá ningún tipo de conocimiento previo por eso lo más recomendable es que se probará en una máparte del lector, ni de máquinas virtuales ni Linux. Aunque quina que sea una réplica de la que se quiere actualizar. aquellos profesionales que realmente podrían aprovechar, en Comprobado que todo funciona correctamente, entonces mayor medida, todo lo que se expone, son los que necesitan realizar las actualizaciones en la máquina real. Esto pue- Linux+ 5/2009 soluciones para empresas Máquinas virtuales: Una alternativa para PYMES • • • de aplicarse también para cuando se desea añadir nuevo software. Administradores de redes: Administrando una red media-grande surgen muchos problemas de mantenimiento. Cuando se desean hacer pruebas sobre un nuevo servicio a instalar, probar el funcionamiento de un cortafuegos, simular clientes reales de la red, etc. O tenemos un gran número de PC o creamos máquinas virtuales que lo simulen. Administradores/Auditores de seguridad: Para la gente encargada de seguridad el concepto y uso de máquinas virtuales está a la orden del día, dado que tienen que probar infinidad de sistemas y simular todo tipo de situaciones. Seguramente este artículo les sepa a poco, pero por lo menos me gustaría enseñarles que existen alternativas al software que usan (normalmente comercial). Curiosos: También deberíamos de nombrar a todas esas personas que no se encuentran dentro de ninguno de los anteriores grupos, pero les gusta probar todo tipo de cosas. Sé de gente que ha rescatado sus viejos juegos de MS-DOS en máquinas virtuales. Otros que querían jugar a un juego de Linux en Windows (o viceversa). Muy útil para estudiantes que necesiten hacer prácticas con otros sistemas operativos y no deseen instalarlo en su ordenador. Se podrían nombrar infinidad de casos. ¿Qué debería saber? Para poder seguir satisfactoriamente todo el artículo no hace falta tener prácticamente ningún conocimiento anterior sobre máquinas virtuales ni compilación de paquetes. Incluso el tener demasiados conocimientos sobre GNU/Linux no es necesario, puesto que se parte de la base que el usuario es totalmente nuevo en Linux. Para poder sacar un buen aprovechamiento al artículo sería suficiente con tener una Ubuntu/Kubuntu (o similares) instalada. Hago mención a esta distribución por su extremada sencillez. Sobre todo en lo que al proceso de instalación se refiere. Organización de ideas importante, saber encuadrar todos los concepSé, por experiencia, que cuando uno se adentra tos en cada momento. en un nuevo terreno todo suele ser bastante caótico. Los conceptos se entremezclan y en- Índice de la primera parte revesan sin saber bien donde se sitúa cada cosa. Por ese motivo hay un pequeño índice con • Introducción a las máquinas virtuales: lo pasos que se van a hacer para poder seguir – ¿Qué es una máquina virtual? de forma simple todos los contenidos y, lo más – ¿Porqué una máquina virtual? Listado 1. Compilación e instalación del módulo de VirtualBox # cd /usr/src/vboxdrv-2.0.4 (Compilamos e instalamos) # sudo make && sudo make install (Cargamos el módulo) # modprobe vboxdrv Listado 2. Instalación de todas las dependencias necesarias # apt-get install gcc g++ bcc iasl xsltproc uuid-dev zlib1g-dev libidl-dev \ libsdl1.2-dev libxcursor-dev libasound2-dev libstdc++5 \ libqt3-headers python2.5-dev libqt4-dev qt4-dev-tools libcap-dev libqt3-mt-dev Listado 3. Compilación e instalación de VirtualBox a partir de los fuentes # export CFLAGS="-mtune=core2 -O2" (optimizaciones elegida, según la tabla) # export CXXFLAGS=”-mtune=core2 -O2" (configuramos, compilamos) # ./configure –disable-hardening # source ./env.sh # kmk all (Instalamos librerías y ejecutables) # cp -prf *.so /usr/lib/ # mkdir /usr/local/virtualbox # cp -prf * /usr/local/virtualbox/ # ln -s /usr/local/virtualbox/VirtualBox /usr/local/bin/VirtualBox # ln -s /usr/local/virtualbox/VBoxSVC /usr/local/bin/VBoxSVC (compilamos e instalamos el modulo) # cd out/linux.x86/release/bin/src # make # make install (Actualizamos la lista de módulos del sistema) # depmod Listado 4. Enlazado de librerías problemáticas para arquitecturas de 64 bits Figura 1. Diagrama del diseño en capas de los sistemas virtualizado # ln -s libX11.so.6 /usr/lib32/libX11.so # ln -s libXTrap.so.6 /usr/lib32/libXTrap.so # ln -s libXt.so.6 /usr/lib32/libXt.so # ln -s libXtst.so.6 /usr/lib32/libXtst.so # ln -s libXmu.so.6 /usr/lib32/libXmu.so # ln -s libXext.so.6 /usr/lib32/libXext.so www.lpmagazine.org 19 soluciones para empresas Máquinas virtuales: Una alternativa para PYMES Figura 2. Selección del gestor de paquetes Synaptics – • • • Software disponible actualmente: sus ventajas e inconvenientes, – Orientación que se le dará al artículo. Enfoque del hardware y software. Instalación del software necesario: VirtualBox: – Elección de la versión adecuada – Métodos de instalación. Las diferentes distribuciones y el código fuente – Instalador con un gestor de paquetes: Figura 3. Elección del origen del software Debian, Ubuntu, Gentoo – Instalación a partir del código fuente: • Máquina virtual (también llamada hués32 y 64 bits ped o máquina virtualizada). Es aquella – Preparando VirtualBox que estamos simulando. Físicamente no Primera toma de contacto con VirtualBox: existe como tal. Pero el software de si– Los parámetros de las máquinas virmulación se encarga de hacerle creer al tuales sistema operativo que se instale en dicha – Configuración de las opciones básicas máquina que es un PC físico completo – Los parámetros avanzados y normal. El Sistema operativo no notará – Las pestañas: descripcion y otros diferencia alguna entre la máquina física – Configuración de los discos duros y la virtual. – Configuración del CDROM y disquete – Configuración del dispositivo de sonido – Configuración de las tarjetas de red – Configuración del puerto serie – Directorios compartidos – Instalación de las Guest Additions Configuración de la red Introducción a las máquinas virtuales Podríamos definir una máquina virtual como un software especializado que se encarga de emular un PC completamente. Desde el teclado hasta la tarjeta de vídeo. Siempre que se habla de máquinas virtuales salen a relucir dos conceptos: • Máquina física (también se le suele llamar sistema anfitrión, o anfitrión solamente): Cuando nos referimos a la máquina física estamos haciendo alusión al ordenador propiamente dicho y a todas las piezas que lo componen. Podríamos decir que es la parte que podemos toFigura 4. Añadir la firma del nuevo repositorio car. 20 Linux+ 5/2009 Un ordenador con un software adecuado para la virtualización puede alojar varias máquinas virtuales. El numero dependerá del hardware del que se disponga (para hacer un buen balance habría que realizar un cálculo estimado de consumo de recursos de las máquinas virtuales y el hardware del que se dispone). Todas ellas comparten todos los componentes físicos de la máquina. El software de virtualización se encargará de hacerle pensar a cada una de las máquinas virtualizadas que son dispositivos físicos diferentes.