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.

Documentos relacionados