PDF de programación - Virtualización y redes en GNU/Linux

Imágen de pdf Virtualización y redes en GNU/Linux

Virtualización y redes en GNU/Linuxgráfica de visualizaciones

Actualizado el 28 de Julio del 2017 (Publicado el 14 de Enero del 2017)
1.324 visualizaciones desde el 14 de Enero del 2017
185,5 KB
23 paginas
Creado hace 13a (07/05/2007)
Utilización y Administración avanzada
de sistemas GNU/Linux y aplicaciones

Software Libre para estudiantes

universitarios

Virtualización y redes en GNU/Linux

José María Peribáñez

Utilización y Administración avanzada de sistemas GNU/Linux y aplicaciones Software Libre para
estudiantes universitarios: Virtualización y redes en GNU/Linux
por José María Peribáñez

Copyright (c) 2.007 José María Peribáñez <chema@softlibre.net>.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy
of the license is included in the section entitled "GNU Free Documentation License".

Historial de revisiones
Revisión 1.0 10-04-2007 Revisado por: José María Peribañez

Tabla de contenidos

1. Virtualización y redes............................................................................................................................1
1.1. Virtualización en GNU/Linux.....................................................................................................1
1.1.1. VMWare y la red ............................................................................................................4
1.1.2. Qemu y TUN/TAP..........................................................................................................5
1.1.3. Ejemplos .........................................................................................................................6
1.1.4. Instalar QEMU ...............................................................................................................7
1.1.5. Crear una imagen con Qemu ..........................................................................................8
1.1.6. Listados de ejemplos de TUN/TAP ................................................................................9
A. GNU Free Documentation License....................................................................................................13
A.1. PREAMBLE ............................................................................................................................13
A.2. APPLICABILITY AND DEFINITIONS ................................................................................13
A.3. VERBATIM COPYING...........................................................................................................14
A.4. COPYING IN QUANTITY .....................................................................................................15
A.5. MODIFICATIONS...................................................................................................................15
A.6. COMBINING DOCUMENTS.................................................................................................17
A.7. COLLECTIONS OF DOCUMENTS ......................................................................................17
A.8. AGGREGATION WITH INDEPENDENT WORKS..............................................................18
A.9. TRANSLATION ......................................................................................................................18
A.10. TERMINATION.....................................................................................................................18
A.11. FUTURE REVISIONS OF THIS LICENSE.........................................................................19
A.12. ADDENDUM: How to use this License for your documents................................................19

iii

Capítulo 1. Virtualización y redes

1.1. Virtualización en GNU/Linux

Mediante la virtualización en una sola máquina es posible tener varios sistemas, como si en lugar de un
PC tuviéramos varios. Así, un ISP que ofrezca servidores dedicados puede ofrecer varios servidores
virtuales sobre una máquina: cada uno funcionará como un servidor independiente con su propia IP, se
podrán instalar todo tipo de servicios (DNS, mail, Jabber, web, PostgreSQL) y reiniciar y administrar
independientemente.

Al sistema sobre el que se ejecuta el virtualizador se le llama host; a veces también se habla de domain 0,
porque cada sistema que se ejecuta se le considera un dominio. A cada uno de los sistemas que se
ejecutan sobre el virtualizador se les denomina guest. En algunos casos no hay sistema host porque el
virtualizador se ejecuta directamente sobre el hardware.

Hay hardware como los mainframes de IBM, que soportan virtualización. Los Pcs no soportan
virtualización: hay instrucciones de modo protegido que impiden ejecutar dos sistemas operativos
simultáneamente, pero mediante software se pueden suplir (con bastante complejidad) las carencias de
hardware. Así mismo mediante sofware se emulan componentes del hardware como discos, tarjeta
gráfica, de red y de sonido.

Además de la virtualización de la CPU, está la del resto del hardware: tarjeta de red, discos, tarjeta
gráfica... Para esta parte la mayoría de los proyectos libres toman código de Qemu.

Hay varios métodos de implementar la virtualiación del procesador:

1. Emuladores totales: emulan totalmente el hardware, incluyendo el procesador. Es el caso de Booch.

Su rendimiento es muy pobre.

2. Emuladores con compilación JIT: es el caso de Qemu, cuando se ejecuta sin el módulo kqemu. El
código necesita "compilarse" para la máquina virtual, si bien como los compiladores JIT de Java se
hace sólo la primera vez que se ejecuta el código, luego ya está compilado. Mucho más rápidos que
los emuladores totales, pero más lentos que el resto de soluciones. Se puede ejecutar como usuario
normal sin instalar nada como root. Se pueden emular procesadores distintos.

3. Virtualizadores completos: es el caso de Vmware (software privativo), Qemu con el módulo de

aceleración Kqemu (antes privativo ahora libre) y Virtual Box (software con una versión libre y otra
más funcional privativa). Se basan en un VMM (Virtual Machine Monitor, también conocido como
hypervisor) que mediante complicadas técnicas (como traps y análisis del código antes de su
ejecución) detecta en tiempo de ejecución el código que no puede ejecutarse directamente porque

1

Capítulo 1. Virtualización y redes

afectaría a todo el sistema, modificando dinámicamente las instrucciones conflictivas. El
rendimiento varía mucho según lo avanzado que sea el VMM: Vmware tiene varias patentes. Estos
tres programas permiten instalar un sistema operativo sobre un virtualizador del mismo modo que
sobre un PC: la ventana del virtualizador asemeja el monitor de un PC, podemos entrar en la BIOS,
reiniciar el ordenador...

4. Paravirtualizadores: es el caso de Xen y UML (User mode Linux). En lugar de tener que detectar un

VMM los casos conflictivos en tiempo de ejecución, se modifica el código fuente de los sistemas
operativos para evitar esos casos conflictivos. En lugar de el VMM tener que analizar el código, es el
código quien invoca al VMM cuando sea necesario. Esta técnica simplifica muchísimo el VMM y
ofrece muy buen rendimiento, aunque en el caso concreto de UML el rendimiento es mediocre. La
pega es que haya que parchear el sistema operativo, sobre todo para poder ejecutar Windows. Xen
parcheó un Windows XP en un programa de investigación que permitía acceso al código fuente de
Microsoft, pero ese tipo de licencias no permitía distribuir el resultado. UML también se puede
considerar dentro de esta categoría, pues es una modificación del kernel de Linux para que pueda
ejecutarse dentro de otro Linux. Xen no emula una tarjeta gráfica SVGA "completa" como Qemu,
Vmware o VirtualBox, pero utiliza VNC que para el sistema guest se ve como una tarjeta VGA.

Vmware y VirtualBox no son paravirtualizadores, pero utilizan esta técnica para virtualizar la E/S en
los drivers especiales que se ejecutan en el sistema guest (por ejemplo el driver de red y el de la
tarjeta gráfica: se comunican con el hipervisor en lugar de ser drivers normales sobre el hardware
emulado). Lo mismo planea hacer KVM.

5. Virtualizadores apoyados en el hardware (un tanto pretenciosamente llamados nativos): los nuevos

procesadores de Intel (los Core Duo y la mayoría, pero no todos, ver la wikipedia, de los Core Duo2
añaden las extensiones VT) y los más recientes de AMD (a partir de stepping F; las extensiones se
llaman SVM) cuentan con nuevas instrucciones que permiten la virtualización de la CPU. De este
modo ya no es necesario ni un complicado VMM ni parchear el sistema operativo, si bien sigue
siendo necesario virtualizar otros dispositivos y emular discos, tarjetas gráficas, de red... Ejemplos
de estas soluciones son KVM (integrado en el kernel desde la versión 2.6.20, utiliza qemu para la
virtualización del resto del hardware) y Virtual Iron (basado en Xen, pero ya no es paravirtualizador;
en cualquier caso es una solución propietaria, con algo de código bajo GPL). Además Xen soporta
también estas instrucciones, como método para poder ejecutar Windows o simplemente sistemas sin
paravirtualizar. Los virtualizadores apoyados en el hardware son más lentos que los
paravirtualizadores e incluso que los virtualizadores completos, al menos que los que tienen un
VMM avanzado. VirtualBox no usa por defecto estas instrucciones, aunque las soporte, por este
motivo. Lo mismo ocurre con Vmware, aunque sí lo utiliza para poder utilizar como host un sistema
operativo de 64bits (VirtualBox actualmente no permite esta configuración).

6. Virtualización a nivel de sistema operativo (OS level Virtualization): no permite ejecutar dos

sistemas operativos simultáneamente, sino servidores privados virtuales (SVP) dentro de un único
servidor, es decir, es un único kernel, pero que permite aislar (isolate) los servidores. Cada servidor
tendrá su propia red, espacio de disco, de memoria, se podrá reiniciar.. así mismo tendrá limitación
de uso de CPU con el fin de evitar que un servidor virtual esquilme recursos de los otros. También
esta tecnolo
  • Links de descarga
http://lwp-l.com/pdf1145

Comentarios de: Virtualización y redes en GNU/Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad