Download experiencia 1 - Escuela de Ingeniería Civil en Informática

Document related concepts
no text concepts found
Transcript
Facultad de Ingenierı́a
Escuela de Ingenierı́a Civil en Informática
EXPERIENCIA 1
Unidad 1: Virtualización
Taller de Sistemas Operativos (INC403, IIN402,IEJ401)
Requisitos: Teorı́a de Sistemas Operativos (INC303, IIN303, IEJ302)
Prof.: Gabriel Astudillo Muñoz
Enero 2013
Aprendizajes Esperados
Se espera que los alumnos desarrollen y estudien esta experiencia para conocer
de las tecnologı́as con respecto a la virtualización, que adquieran conceptos básicos y
utilicen herramientas para su proceso, logrando con ello analizar, relacionar y solucionar
situaciones reales que puedan ser solventadas por este medio.
II
Índice general
Aprendizajes Esperados
II
1. Virtualización
1.1. Tecnologı́as de Virtualización . . . . . . . .
1.1.1. Virtualización de Hardware . . . .
1.1.2. Virtualización de Presentaciones . .
1.1.3. Virtualización de Aplicaciones . . .
1.1.4. Otras Tecnologı́as de Virtualización
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
3
4
5
7
2. Instalación de un Hypervisor
15
2.1. Instalación de VirtualBox en Windows . . . . . . . . . . . . . . . . . . . . 15
2.2. Instalación de VirtualBox en Linux Debian o Ubuntu . . . . . . . . . . . . 18
3. Creación de Máquinas Virtuales
20
3.1. Creación de Máquina Virtual . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2. Configuración del Sistema Operativo . . . . . . . . . . . . . . . . . . . . . 27
4. Ejercicios
4.1. Shell . . . . . . . . . . . .
4.1.1. Algunos Comandos
4.1.2. Editores de Texto .
4.2. Ejercicio 1 . . . . . . . . .
4.3. Ejercicio 2 . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
III
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
30
30
30
31
32
34
Índice de tablas
4.1. Mi Primera Máquina Virtual. . . . . . . . . . . . . . . . . . . . . . . . . . 32
IV
Índice de figuras
1.1. Virtualización de Hardware. . . . . . . . .
1.2. Virtualización de Presentaciones. . . . . . .
1.3. Virtualización de Aplicaciones. . . . . . . .
1.4. Virtualización a Nivel de Sistema Operativo.
1.5. Paravirtualización. . . . . . . . . . . . . .
1.6. NAT - Network Address Translation. . . . .
1.7. Adaptador Puente (Bridge). . . . . . . . . .
1.8. Red Interna. . . . . . . . . . . . . . . . . .
1.9. Adaptador Sólo Anfitrión (Only-Host). . . .
1.10. Redes Avanzadas. . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
5
6
8
9
10
11
12
13
14
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
16
16
17
17
18
3.1. Nueva Máquina. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Mensaje de Bienvenida al Asistente para Crear Máquina Virtual.
3.3. Selección del Sistema Operativo. . . . . . . . . . . . . . . . . .
3.4. Selección de Memoria RAM. . . . . . . . . . . . . . . . . . . .
3.5. Selección del Disco Virtual. . . . . . . . . . . . . . . . . . . .
3.6. Tipo de Archivo Máquina Virtual. . . . . . . . . . . . . . . . .
3.7. Detalle de Almacenamiento de Disco Virtual. . . . . . . . . . .
3.8. Selección Localización y Tamaño del Disco Virtual. . . . . . . .
3.9. Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10. Resumen y Creación de Máquina Virtual. . . . . . . . . . . . .
3.11. Máquina Virtual Creada. . . . . . . . . . . . . . . . . . . . . .
3.12. Configuración de la Máquina Virtual Creada. . . . . . . . . . .
3.13. Selección de Medio de Instalación. . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
21
21
22
22
23
24
25
25
26
26
27
28
Mensaje de Bienvenida. . . . . . . . . . .
Selección de Directorio de Instalación. . .
Accesos Directos. . . . . . . . . . . . . .
Mensaje de Alerta. . . . . . . . . . . . .
Comenzar Instalación. . . . . . . . . . .
Mensaje de Finalización de la Instalación.
V
.
.
.
.
.
.
3.14. Configuración de Red. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.1. Red Virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2. Red Virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
VI
Capı́tulo 1
Virtualización
La virtualización es un concepto nacido en los años 60’, donde las empresas que
contaban con super-computadoras o ”mainframe” deseaban realizar múltiples tareas
(conocido como multiTasking) o particionar lógicamente el hardware (conocido como
máquinas virtuales) para trabajar con aplicaciones o servicios independientes uno del
otro. Durante la década de los 80’ comienza una nueva era de las computadoras donde
eran relativamente más económicas, Éstas trabajan con aplicaciones cliente-servidor y
computación distribuida, donde las enormes mainframes fueron reemplazadas por estas
máquinas y el tema de la virtualización queda en el olvido. Durante la siguientes décadas
de los 90’ existe una enorme revolución y desarrollo a nivel de hardware que provoca que
reaparezca el concepto de virtualización, ya que estas nuevas tecnologı́as eran altamente
eficientes que sólo una aplicación ejecutándose es un desperdicio de recursos, espacio,
energı́a y dinero. Además, no es conveniente tener múltiples usos, aplicaciones en un
sólo servidor convencional ya que entre estas aplicaciones podrı́an surgir problemas de
compatibilidad, configuraciones diferentes, requisitos de seguridad distintas o bien la
ejecución simultánea de servicios pueden provocar conflictos. Es por esto que vuelve a
resurgir la idea de dividir el hardware de tal manera que se ejecuten múltiples servidores
independientes utilizando la misma máquina.
Por tanto la idea principal de la virtualización es la capacidad de emular múltiples
sistemas operativos dentro del mismo medio fı́sico, y como concepto se puede definir como
una tecnologı́a que permite instalar y configurar múltiples computadores y/o servidores
completamente independientes (conocidas como máquinas virtuales) en una sola máquina
fı́sica o real.
A pesar de que las máquinas virtuales compartan los recursos, cada una de ellas tiene
su propio sistema operativo, aplicaciones, configuraciones, lo que hace que trabajen de manera totalmente independiente una de la otra. Por ejemplo si tenemos 5 servidores fı́sicos, y
1
CAPÍTULO 1. VIRTUALIZACIÓN
2
cada uno de ellos ejecutando una aplicación, sólo se estarı́a utilizando alrededor del 10 % de
sus recursos, en cambio, si contamos con un servidor y se instalan las 5 máquinas virtuales
con cada una de sus configuraciones y aplicaciones, el servidor estarı́a utilizando alrededor
de un 50 % a un 70 % de sus recursos, lo que permite tener las siguientes ventajas:
Reducción de Costos: En vez de tener varias máquinas fı́sicas corriendo diversas aplicaciones que generan alto costo en dinero y mantención, se tiene una sola máquina real
con máquinas virtuales independientes.
Escalabilidad: Si una máquina virtual requiere más memoria ram y/o capacidad en disco
duro, se puede agregar y generar mayor memoria ram virtual y discos duros virtuales
rápidamente sin un mayor costo adicional.
Tolerancia a Errores: En el momento que falle una máquina virtual no alterará a otra ya
que cada una de ellas son totalmente independientes.
Seguridad: Con los niveles de seguridad adecuados, una red virtual cuenta con menos
puntos de ataques fı́sicos lo que permite una mayor seguridad. Además, permite un
rápido respaldo de cada máquina virtual, lo que si al momento de fallar se puede
realizar una recuperación fácilmente.
Encapsulamiento: Las máquinas virtuales se guardan en un sólo archivo lo que permite
una fácil movilidad, copiado y resguardo. Las aplicaciones de virtualización reconocen el hardware virtual estandarizado de manera que se garantiza su compatibilidad.
1.1.
Tecnologı́as de Virtualización
Para comenzar a describir algunas tecnologı́as de virtualización se deben tener algunos conceptos definidos [?].
Hypervisor: Es una plataforma que permite aplicar diversas técnicas de control de virtualización para utilizar al mismo tiempo diferentes sistemas operativos en una misma
máquina fı́sica. Conocidos también como software de virtualización de hardware.
Máquina Real: Es el conjunto de hardware fı́sico de un computador.
Máquina Virtual: Es un archivo que ejecutado por el Hypervisor permite emular un
computador, donde se pueden ejecutar aplicaciones como si fueran de una máquina
real.
Máquina Virtuales Nativas: Son aquellas máquinas virtuales que se ejecutan directamente sobre el hardware.
CAPÍTULO 1. VIRTUALIZACIÓN
3
Máquinas Virtuales Huésped o Guest: Son aquellas máquinas virtuales que se ejecutan
como un programa dentro de un sistema operativo mediante el Hypervisor.
Sistema Operativo Anfitrión o Host: Es aquel sistema operativo que se encuentra en la
máquina real.
1.1.1.
Virtualización de Hardware
La virtualización de hardware es sin lugar a dudas una de las técnicas de virtualización que se usa más actualmente. Consiste en que un Hypervisor crea un equipo virtual
que emula un equipo fı́sico, logrando ejecutar simultáneamente varios sistemas operativos
en una misma máquina fı́sica.
Existen diversos software de virtualización de hardware que permiten este tipo de
emulación. Algunos de ellos son:
1. VMware Workstation.
2. VirtualBox.
3. Quemu.
4. DosBox.
5. Microsoft Virtual PC.
6. Parallels Desktop.
CAPÍTULO 1. VIRTUALIZACIÓN
4
La Figura 1.1 ilustra la virtualización de hardware.
Figura 1.1: Virtualización de Hardware.
1.1.2.
Virtualización de Presentaciones
Muchas aplicaciones están diseñadas para ejecutarse y presentar su interfaz de usuario en el mismo equipo. Si bien es lo más normal y mucha veces lo más adecuado, existen
situaciones en las cuales organizaciones buscan centralizar y asegurar la información en
un sólo equipo. Además, se ven obligados a destinar tiempo y recurso para administrar
las aplicaciones que residen en los diferentes equipos. Es por esto que la virtualización de
presentaciones permite ejecutar una aplicación en un servidor remoto, pero que muestre su
interfaz de usuario de manera local. En la Figura 1.2 se ve reflejado lo mencionado.
En otras palabras, este enfoque permite crear sesiones de escritorio remoto de las
aplicaciones que se encuentren en el equipo servidor. Los beneficios que se obtienen al
realizar este tipo de virtualización son:
La información queda almacenada sólo en una parte en vez de tenerla repartida en
varios equipos, logrando con esto una mayor seguridad y orden al momento de ser
almacenada.
Los costos de administración se reducen, por ejemplo, si se requiere actualizar la
aplicación sólo se realiza en el servidor.
CAPÍTULO 1. VIRTUALIZACIÓN
5
Se solucionan problemas de incompatibilidad en casos de que la aplicación no pueda
ser ejecutada de manera local.
Figura 1.2: Virtualización de Presentaciones.
Algunos ejemplos para realizar virtualización de presentaciones son:
1. Terminal Services de Microsoft.
2. Aplicaciones que permitan configurar su aplicación de manera remota.
3. Terminal Server LINUX.
1.1.3.
Virtualización de Aplicaciones
Al momento de ejecutar una aplicación, ésta requiere de diversos recursos del
Sistema Operativo donde se encuentra instalado. Estos recursos pueden ser de servicio,
controladores de dispositivos, asignación de memoria, entre otros. Existen situaciones en
CAPÍTULO 1. VIRTUALIZACIÓN
6
las cuales hay incompatibilidad entre la aplicación y el sistema operativo, por lo que se
logra solucionar con la virtualización de hardware o de presentación, pero a veces existe la
posibilidad de que una aplicación sea incompatible con otra aplicaciones instaladas en un
mismo sistema operativo.
Las aplicaciones, por lo general, comparten varios elementos de un sistema operativo,
lo que puede causar errores. Por ejemplo, una aplicación que requiera una versión especı́fica
de un archivo del sistema operativo y otra aplicación necesita del mismo archivo pero en
una versión distinta. Esto produce un error de incompatibilidad. Para poder evitar esto
existen maneras de solucionarlo. Una de ellas es realizar una exhaustiva prueba antes de
instalar una nueva aplicación, lo que implica un proceso costoso y lento. Otra forma de
solucionar esta problemática es la virtualización de aplicaciones, logrando crear copias de
todos los recursos compartidos que requiera la aplicación creando una aplicación virtual.
La Figura 1.3 muestra lo descrito.
Figura 1.3: Virtualización de Aplicaciones.
CAPÍTULO 1. VIRTUALIZACIÓN
7
La virtualización de las aplicaciones facilita la implementación, logrando que las
aplicaciones instaladas en un sistema operativo no ”compitan” por los recursos compartidos, archivos, controladores, etc. Algunos software para realizar este tipo de aplicaciones
son:
1. Microsoft Application Virtualization (App-V).
2. VMware vSphere.
1.1.4.
Otras Tecnologı́as de Virtualización
Otros tipos de virtualización, no menos importantes, son: Virtualización a Nivel de
Sistema Operativo, Paravirtualización y Virtualización de Redes.
Virtualización a Nivel de Sistema Operativo
Se basa en la modificación del Kernel del sistema operativo para que incluya
mecanismos de virtualización, aunque en la versión más reciente del Linux Kernel 2.6.20
ya incorpora un módulo para soportar la virtualización a este nivel.
La idea de este tipo de virtualización es realizar una emulación nativa de manera
tal que la máquina fı́sica y una parte del sistema operativo (instancia) sea virtualizada en
múltiples partes independientes. El kernel se ejecutará sólo en el sistema operativo real y
se encargará de proveer todas aquellas funcionalidades que el sistema operativo de cada
partición requiera.
Esto significa que serán las máquinas guest que compartan el mismo sistema
operativo que el anfitrión y todos utilizan el mismo kernel, y es el kernel quién decide para
quién trabaja en un determinado instante.
Este tipo de virtualización también se conoce como Jail y cada servidor logra
tener su propia red, espacio de disco, memoria y administración de manera totalmente
independiente una de otra.
Algunos Hypervisor para realizar este tipo de virtualización son:
Virtuozzo.
OpenVZ.
Linux VServer.
Solaris Containers.
CAPÍTULO 1. VIRTUALIZACIÓN
8
FreeBSD Jails.
Algunas ventajas de este tipo de virtualización es que se aprovechan de mejor manera
los recursos de la máquina anfitriona y exige una menor carga. Desventajas se pueden encontrar tales como, la utilización del mismo sistema operativo que de la máquina anfitriona
para las máquinas guest y utilización del mismo kernel por lo que si el núcleo tiene problemas, entonces todas las máquinas se verán afectadas en su funcionamiento. La Figura 1.4
refleja este tipo de virtualización.
Figura 1.4: Virtualización a Nivel de Sistema Operativo.
Paravirtualización
Para realizar este tipo de virtualización se requiere de un software que se ejecute
directamente sobre el hardware, en decir, se necesita un Hypervisor que interactúe con
el hardware de manera directa. Este Hypervisor actuará como administrador de todos
los sistemas operativos guest logrando asegurar una operación paralela de todos ellos
sin provocar inconvenientes. Entonces, en este tipo de medio si un sistema operativo
guest necesita de recursos para realizar alguna operación, es el Hypervisor quien debe
interactuar con el hardware para que maneje los recursos y devuelva los resultados al
sistema operativo guest que lo requiera.
Algunos Hypervisor para realizar este tipo de virtualización son:
Xen.
Virtual Iron.
User Mode Linux.
KVM (Kernel Virtual Machine).
VMware Wotkstation 6.
CAPÍTULO 1. VIRTUALIZACIÓN
9
ESX Server VMWare.
Existen algunas limitaciones para realizar la paravirtualización, una de ella es que se
debe modificar el kernel del sistema operativo guest para lograr una compatibilidad con
el Hypervisor, por lo que se hace difı́cil que sea una solución para sistemas operativos
de Microsoft. Otra limitación corresponde a que el Hypervisor debe conocer y manejar
diversas tareas de los sistemas operativos guest por lo que cada uno de ellos puede funcionar
con diversos drivers, para solucionar este tipo de problemática existen dos maneras de
realizarlo.
1. El Hypervisor utilizado debiera escoger a un sistema operativo guest como paralelo
y favorito, por lo que si otros sistema operativo guest requiere de alguna interfaz que
no tiene reconocido su driver, el Hypervisor recurre a su sistema operativo favorito
para que realice dicha petición.
2. Transformar un Kernel Linux en un Hypervisor (KVM), logrando con esto poder
emular otros sistemas operativos de forma nativa basada en Kernel.
La Figura 1.5 refleja este tipo de virtualización.
Figura 1.5: Paravirtualización.
Redes Virtualizadas
En las máquinas guest se pueden instalar diversas tarjetas de red virtuales para lograr
satisfacer la mejor solución que queramos para un determinado problema. Existen diversas
formas de realizar y algunas de ellas se pasan a describir a continuación [?].
No Conectado: En este modo, la tarjeta virtual existe en el huésped, pero está configurada
como si no tuviera ningún cable conectado.
CAPÍTULO 1. VIRTUALIZACIÓN
10
NAT (Network Address Translation): Este modo permite al huésped navegar por Internet sin necesidad de configurar el sistema operativo guest. En este modo, la máquina
virtual puede conectarse a otras redes mediante un router virtual proporcionado por
el Hypervisor. Dicho router sirve direcciones DHCP del tipo 10.0.x.0/24 donde x=2
para la primera tarjeta de red, x=3 para la segunda tarjeta de red, etc. En el caso de
una única tarjeta de red, el router tiene como puerta de enlace la dirección 10.0.2.2,
como servidor DNS la dirección 10.0.2.3 y la primera dirección DHCP asignada es
la 10.0.2.15
Figura 1.6: NAT - Network Address Translation.
CAPÍTULO 1. VIRTUALIZACIÓN
11
Adaptador Puente (Bridge): En este modo, se crea una tarjeta virtual en el anfitrión que
intercepta el tráfico de red y puede inyectar paquetes en la red de manera que el
huésped se configura como si estuviera conectado por un cable a la tarjeta de red
virtual del anfitrión.
Figura 1.7: Adaptador Puente (Bridge).
CAPÍTULO 1. VIRTUALIZACIÓN
12
Red Interna: En este modo, se crea una red virtual visible entre las máquinas virtuales,
pero invisible al anfitrión o a máquinas externas a la red.
Figura 1.8: Red Interna.
CAPÍTULO 1. VIRTUALIZACIÓN
13
Adaptador Sólo Anfitrión (Only-Host): En este modo se crea una tarjeta de red virtual
en el anfitrión que puede conectarse con las máquinas virtuales sin necesitar que el
anfitrión tenga una tarjeta de red.
Figura 1.9: Adaptador Sólo Anfitrión (Only-Host).
CAPÍTULO 1. VIRTUALIZACIÓN
14
Redes Avanzadas: En este modo, se puede crear una serie de redes virtuales con el fin de
interconectar las distintas máquinas virtuales, esto sirve para simular infraestructuras
de red más complejas, en otras palabras se puede combinar los tipos anteriores.
Figura 1.10: Redes Avanzadas.
Capı́tulo 2
Instalación de un Hypervisor
2.1.
Instalación de VirtualBox en Windows
Para instalar VirtualBox en Windows debemos descargar el archivo de instalación
desde la página principal http://www.virtualbox.org. Una vez descargado ejecutamos el
archivo para proceder a la instalación.
Paso 1:
Mensaje de Bienvenida a la instalación de VirtualBox. Seleccionar Next.
Figura 2.1: Mensaje de Bienvenida.
15
CAPÍTULO 2. INSTALACIÓN DE UN HYPERVISOR
16
Paso 2:
Se debe especificar el directorio de instalación de VirtualBox y luego seleccionar
Next.
Figura 2.2: Selección de Directorio de Instalación.
Paso 3:
Selección de accesos directos al programa y luego seleccionar Next.
Figura 2.3: Accesos Directos.
CAPÍTULO 2. INSTALACIÓN DE UN HYPERVISOR
17
Paso 4:
Mensaje de Alerta que especifica que va a desconectar temporalmente el computador
de la red para la instalación. Seleccionar Next.
Figura 2.4: Mensaje de Alerta.
Paso 5:
Seleccionar Install para comenzar la instalación del programa. En caso de que aparezcan avisos de advertencia que mencionen que la instalación no ha superado la
prueba del logotipo de Windows, entonces seleccione Continuar.
Figura 2.5: Comenzar Instalación.
CAPÍTULO 2. INSTALACIÓN DE UN HYPERVISOR
18
Paso 6:
Aviso de que la instalación ha sido finalizada. Seleccionar Finish.
Figura 2.6: Mensaje de Finalización de la Instalación.
2.2.
Instalación de VirtualBox en Linux Debian o Ubuntu
Para instalar VirtualBox en Debian se debe editar el archivo /etc/apt/sources.list y
agregar una de las siguientes lineas, dependiendo de la version que se tiene.
deb http://www.virtualbox.org/debian etch non-free
deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
deb http://download.virtualbox.org/virtualbox/debian lenny contrib non-free
En caso de realizar la instalación en Ubuntu se debe editar el archivo
/etc/apt/sources.list y agregar una de las siguientes lineas, dependiendo de la version que
se tiene.
deb http://www.virtualbox.org/debian gutsy non-free
deb http://download.virtualbox.org/virtualbox/debian maverick contrib
CAPÍTULO 2. INSTALACIÓN DE UN HYPERVISOR
19
Una vez agregada la linea que corresponda en el archivo mencionado se debe descargar y agregar la clave p˙blica. Se debe realizar en modo root.
$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle vbox.asc -O- — sudo
apt-key add Luego, se actualiza la lista de paquetes e instala VirtualBox con todas sus dependencias.
# apt-get update
# aptitude install virtualbox-4.1
Capı́tulo 3
Creación de Máquinas Virtuales
En esta sección se presenta la creación de una máquina virtual y como puede ser configurada con VirtualBox. Se realizará el ejemplo con la instalación de Microsoft Windows
XP.
3.1.
Creación de Máquina Virtual
Al momento de crear una máquina virtual y seleccionar el sistema operativo, VirtualBox asigna de manera automática los recursos recomendados que debe tener la máquina.
1. Para comenzar con la creación de la máquina virtual debemos seleccionar Nueva
como muestra la Figura 3.1.
Figura 3.1: Nueva Máquina.
20
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
21
2. Una vez seleccionado Nueva, aparece el asistente de creación de la máquina virtual
donde se debe seleccionar Siguiente.
Figura 3.2: Mensaje de Bienvenida al Asistente para Crear Máquina Virtual.
3. Se debe asignar un Nombre a la máquina virtual, para luego seleccionar el Tipo y Version del sistema operativo huésped. Esto se muestra en la Figura 3.3. Pulse Siguiente
para continuar.
Figura 3.3: Selección del Sistema Operativo.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
22
4. En la Figura 3.4 refleja que debemos asignar 256 MB de memoria para el sistema
operativo huésped. Pulse Siguiente para continuar.
Figura 3.4: Selección de Memoria RAM.
5. A continuación, se debe crear un archivo que será el disco duro virtual del sistema
operativo guest. En este caso se creará un disco virtual de 10 GB como muestra la
Figura 3.5. Pulse Siguiente para continuar.
Figura 3.5: Selección del Disco Virtual.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
23
6. Como en el paso anterior seleccionamos crear disco virtual, a continuación se ejecuta
el asistente de creación de disco virtual donde debemos asignar un tipo de archivo.
En este caso se selecciona .VDI como se visualiza en la Figura 3.6. Pulse Siguiente
para continuar.
Figura 3.6: Tipo de Archivo Máquina Virtual.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
24
7. En la Figura 3.7 muestra que se debe seleccionar si el archivo de disco duro sera
de almacenamiento dinámico o reservado. Para este caso se selecciona Reservado
dinámicamente. Pulse Siguiente para continuar.
Figura 3.7: Detalle de Almacenamiento de Disco Virtual.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
25
8. A continuación se debe seleccionar la carpeta donde se creará el archivo y luego
asigne el tamaño máximo del disco virtual como se muestra en la Figura 3.8. Pulse
Siguiente para continuar.
Figura 3.8: Selección Localización y Tamaño del Disco Virtual.
9. Luego se visualiza un resumen del disco virtual que se creará. Pulse Crear para
continuar.
Figura 3.9: Resumen.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
26
10. Finalmente se muestra un resumen de la máquina virtual que se creará. Pulse Crear
para Finalizar.
Figura 3.10: Resumen y Creación de Máquina Virtual.
11. La Figura 3.11 refleja como se ha creado la máquina virtual.
Figura 3.11: Máquina Virtual Creada.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
3.2.
27
Configuración del Sistema Operativo
Una vez creada la máquina virtual se deberá instalar el sistema operativo huésped.
Para ello se necesita del medio de instalación. Por lo general es un CD/DVD de instalación pero para el ejemplo y futuras tareas utilizaremos la imagen ISO 9660 de dicho medio.
1. Seleccionada la máquina virtual creada, escogemos Configuración del menú de VirtualBox donde nos mostrará los diversos ı́tems que podemos configurar. Esto se ve
reflejado en la Figura 3.12.
Figura 3.12: Configuración de la Máquina Virtual Creada.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
28
2. Nos dirigimos a Almacenamiento para agregar la imagen ISO. Se debe seleccionar
nuevo disco CD/DVD del Controlador IDE para que seleccionemos la imagen de
instalación ISO de Windows XP. Debe quedar como muestra la Figura 3.13.
Figura 3.13: Selección de Medio de Instalación.
CAPÍTULO 3. CREACIÓN DE MÁQUINAS VIRTUALES
29
3. Por defecto la red viene predeterminada en modo NAT como se visualiza en la Figura
3.14. En primera instancia lo dejaremos ası́ pero para futuras configuraciones este es
el modo de realizarlo.
Figura 3.14: Configuración de Red.
Finalmente, seleccionamos Aceptar para que luego en el menú de VirtualBox se seleccione
Iniciar y comience el proceso de instalación de Windows XP en la máquina virtual. Una
vez finalizado este proceso obtenemos como resultado una máquina virtual con sistema
operativo huésped, Microsoft Windows XP.
Capı́tulo 4
Ejercicios
Para realizar ésta y las futuras experiencias que se realizarán en el transcurso de este
taller se requiere que los alumnos conozcan y aprendan conceptos y funciones básicas de
un Shell. A continuación se presenta una sección de ayuda, pero se espera que el alumno
aprenda de manera autónoma.
4.1.
Shell
Shell, se conoce también como intérprete de comandos. Este es un tipo de interfaz
que permite ser el intermediario entre el usuario y el computador. En definitiva es un programa que tiene la capacidad de traducir órdenes ingresadas por usuarios a lenguaje máquina.
Se pueden automatizar muchas tareas a través de scripts1 y es muy ˙til para labores de administración. En Microsoft Windows la shell se conoce como el programa COMMAND o
CMD. En Unix/Linux en general existen diversas shell tales como bash, ksh, csh, tsh, wish,
rbash, ash, jsh, etc. [?]. Cada una de estas shell tiene caracterı́sticas distintas y son usadas
dependiendo el interés que tenga el usuario final.
4.1.1.
Algunos Comandos
ls, rm:
Listar, remover archivos.
mkdir, rmdir:
Crear, remover directorios.
ln:
Crea un link simbólico.
1
Archivo de texto plano que contiene instrucciones secuenciales que permite realizar tareas simples.
30
CAPÍTULO 4. EJERCICIOS
31
touch:
Crear, actualizar hora de archivos.
cat, more, less:
Visualiza contenido de archivos.
file:
Determinar el tipo de archivo.
tail, head:
Extrae el final y el comienzo de un archivo.
gzip, bzip2:
Comprimir archivo.
tar:
Agrupar archivos en uno sólo.
df:
Muestra el espacio ocupado por los sistemas de archivos.
du:
Lo mismo pero por archivos.
grep:
Muestra las lı́neas que coinciden con cierto patrón.
awk:
Lenguaje utilizado para extraer patrones en un texto.
sort:
Ordena las lı́neas de un archivo.
find:
Busca archivos.
4.1.2.
Editores de Texto
Los editores de texto crean y modifican ficheros de texto plano. Se utiliza en programación y en configuración de sistemas. Existen diversos editores de texto y algunos de
ellos son:
vi.
edit.
CAPÍTULO 4. EJERCICIOS
32
nano.
emacs.
Para configurar su editor de texto favorito debe escribir en consola.
export=”ruta del directorio del editor”
Para saber cual es la ruta del directorio debe utilizar la función whereis.
Por ejemplo: whereis nano
nano: /bin/nano /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz
Entonces para configurar el editor de texto favorito:
export=”/usr/bin/nano”
4.2.
Ejercicio 1
Mediante este ejercicio se espera que el alumno realice la creación e instalación de
un sistema operativo virtualizado emulando una red virtual a nivel de hardware para su
posterior configuración a nivel de sistema operativo para realizar una conexión SSH, y
configurar un disco duro virtual adicional en el sistema operativo huésped.
Se requiere que el alumno conste de conocimientos básicos de red.
1. Crear una máquina virtual que tenga las caracterı́sticas presentadas en la Tabla 4.1.
Õtems
Nombre
Sistema Operativo
Versión
Memoria RAM
Disco Duro 1
Disco Duro 2
Máquina Virtual
MiPrimeraMaquina
Linux
Debian
200 MB
10[GB], Sata
4[GB], Sata
Tabla 4.1: Mi Primera Máquina Virtual.
2. Descargue
la
imagen
ISO
de
Debian
Squeeze
desde
http://cdimage.debian.org/debian-cd/6.0.5/i386/iso-cd/debian-6.0.5-i386-CD-1.iso y
luego instale la versión de Debian en sus funciones más básicas, sin entorno gráfico
y con servidor SSH, en todo el Disco Duro 1.
CAPÍTULO 4. EJERCICIOS
33
3. Realice las configuraciones necesarias de red a nivel de emulación de hardware para
que sólo la máquina anfitriona tenga conectividad con el sistema operativo guest.
Comprueba conectividad de la máquina anfitriona a la máquina huésped. En caso de
no existir comunicación, utilice por consola en la máquina guest el comando ifconfig
para realizar las modificaciones que correspondan. Si no lo conoce, averigüe como
se utiliza. Realice una conexión SSH mediante Putty 2 desde la máquina anfitriona.
La Figura 4.1 refleja refleja la red virtual requerida.
Figura 4.1: Red Virtual.
4. Mediante la conexión SSH establecida formatee el Disco Duro 2 de tipo ext3.
5. Realice las modificaciones correspondientes en el archivo /etc/fstab para que el Disco
Duro 2 este montado permanentemente en /media/DATA.
6. Averigüe de que se trata las dos maneras de crear un disco virtual (Dinámico /
Estático).
2
http://www.chiark.greenend.org.uk/ sgtatham/putty/download.html
CAPÍTULO 4. EJERCICIOS
4.3.
34
Ejercicio 2
Mediante este ejercicio se espera que el alumno adquiera conocimientos con respecto
a la exportación e importación de una máquina virtual en formato .OVA la cual permite el
encapsulamiento. Se espera que el alumno cree una red virtual interna con salida a Internet
de una de sus máquinas. Finalmente, el alumno deberá realizar una configuración estática
de ip’s para que al momento de apagar una de las máquinas virtuales, éstas no pierdan su
dirección ip.
1. Averigüe y realice el proceso de exportación de un servicio virtualizado mediante
VirtualBox.
2. Importe 2 veces el archivo virtualizado reniniciando las direcciones MAC.
3. Cree la red virtual 10.100.15.0/24 entre las 3 máquinas virtuales. La primera máquina
debe contar con salida a Internet como se muestra en la Figura 4.2. Compruebe conectividad.
Figura 4.2: Red Virtual.
4. Averigüe y realice configuración de ip’s estáticas sin que se pierda la configuración
una vez que se reinicie las máquinas virtuales.
Bibliografı́a
[1] ISO 9660. Iso 9660. http://es.wikipedia.org/wiki/ISO_9660. Último
acceso: 5 de julio de 2012.
[2] Greg Gagne Abrham Silberschatz, Peter Galvin. Operating System Concepts, Seventh
Edition. John Wiley & Sons. INC, *.
[3] DosBox. Dosbox. http://www.dosbox.com/. Último acceso: 5 de julio de
2012.
[4] FreeBSD. Freebsd Jails. http://www.freebsd.org/doc/es/books/
handbook/jails.html. Último acceso: 5 de julio de 2012.
[5] Parallels Holdings. Parallels Desktop. http://www.parallels.com/. Último
acceso: 5 de julio de 2012.
[6] Virtual Iron. Virtual Iron. http://en.wikipedia.org/wiki/Virtual_
Iron. Último acceso: 5 de julio de 2012.
[7] Linux. KVM Linux. http://www.linux-kvm.org/page/Main_Page.
Último acceso: 5 de julio de 2012.
[8] User Mode Linux.
User mode linux.
http://user-mode-linux.
sourceforge.net/. Último acceso: 5 de julio de 2012.
[9] LTSP. Terminal Services Linux. http://www.ltsp.org/. Último acceso: 5 de
julio de 2012.
[10] Microsoft.
Microsoft application virtualization (APP-V).
http:
//www.microsoft.com/en-us/windows/enterprise/
products-and-technologies/virtualization/app-v.aspx.
Último acceso: 5 de julio de 2012.
[11] Microsoft. Microsoft Virtual PC. http://www.microsoft.com/windows/
virtual-pc/. Último acceso: 5 de julio de 2012.
35
BIBLIOGRAFÍA
36
[12] Microsoft.
Terminal Services.
http://www.microsoft.com/spain/
windowsserver2008/virtualization/terminal.mspx. Último acceso: 5 de julio de 2012.
[13] Openvz. Openvx. http://es.wikipedia.org/wiki/OpenVZ. Último acceso: 5 de julio de 2012.
[14] Oracle. Solaris containers. http://www.oracle.com/technetwork/
server-storage/solaris/containers-169727.html. Último acceso:
5 de julio de 2012.
[15] Oracle. Virtualbox. http://www.virtualbox.org/. Último acceso: 5 de julio
de 2012.
[16] X.C. Peris. Sistemas Operativos Monopuesto. Sistemas Operativos Monopuesto.
Bubok Publishing, 2009.
[17] Quemu. Quemu. http://wiki.qemu.org/Main_Page. Último acceso: 5 de
julio de 2012.
[18] Virtuozzo. Virtuozzo. http://es.wikipedia.org/wiki/Virtuozzo.
Último acceso: 5 de julio de 2012.
[19] VMware. Esx Server VMware. http://www.vmware.com/products/
vsphere/esxi-and-esx/index.html. Último acceso: 5 de julio de 2012.
[20] VMware. Vmware. http://www.vmware.com/. Último acceso: 5 de julio de
2012.
[21] VMware.
Vmware vsphere.
http://www.vmware.com/
es/products/datacenter-virtualization/vsphere/
mid-size-and-enterprise-business/overview.html.
Último
acceso: 5 de julio de 2012.
[22] Linux vServer. Linux vserver. http://linux-vserver.org/Welcome_to_
Linux-VServer.org. Último acceso: 5 de julio de 2012.
[23] Xen. Xen. http://xen.org/. Último acceso: 5 de julio de 2012.