+ All Categories
Home > Documents > Documentacion Del Proyecto

Documentacion Del Proyecto

Date post: 05-Jul-2015
Category:
Upload: lic-cesar-sosa
View: 166 times
Download: 5 times
Share this document with a friend
Popular Tags:
44
11/2009 VIRTUALIZE IT DOCUMENTACION OFICIAL Autores: EDGARDO LUIS PALOMINO MOLINA EDWIN FERNEY BARRETO DIAZ PABLO ANDRÉS TOVAR LOMBANA JOHN HAROLD HERRERA GUATEQUE ADMINISTRACION DE REDES 40081
Transcript
Page 1: Documentacion Del Proyecto

11/2009

VIRTUALIZE ITDOCUMENTACION OFICIAL

Autores:

EDGARDO LUIS PALOMINO MOLINA

EDWIN FERNEY BARRETO DIAZ

PABLO ANDRÉS TOVAR LOMBANA

JOHN HAROLD HERRERA GUATEQUEADMINISTRACION DE REDES 40081

Page 2: Documentacion Del Proyecto

TABLA DE CONTENIDO

OBJETIVOS.......................................................................................................................................... 3

¿QUÉ ES LA VIRTUALIZACIÓN DE SISTEMAS?.......................................................................................4¿CUÁLES SON LAS VENTAJAS DE LA VIRTUALIZACIÓN?......................................................................4

Varias máquinas (virtuales) al mismo tiempo sobre una máquina física.........................4Diferentes formas de hacer virtualización................................................................................5Programas de virtualizacion en Linux.......................................................................................6

PORQUE ESCOGIMOS SUN VIRTUALBOX...............................................................................................7Instalación virtualbox....................................................................................................................8

CLIENTES LIGEROS..................................................................................................................... 13

TCOS...................................................................................................................................................13Las Ventajas..................................................................................................................................14Las Desventajas............................................................................................................................15Requerimientos de Hardware....................................................................................................18OBTENIENDO AYUDA DE LAS COMUNIDADES TCOS.......................................................18

BIBLIOGRAFÍA.............................................................................................................................. 36

CONCLUCIONES...............................................................................................................................37

Page 3: Documentacion Del Proyecto

OBJETIVOS

o Reutilizar equipos que tengan configuraciones de hardware obsoletas prácticamente.

o Optimizar los recursos de hardware del servidor

o Por medio de la reducción de los servidores físicos, garantizar la disminución en el consumo eléctrico.

o Garantizar la seguridad de los recursos de la red.

o Al centralizar los recursos, permisos y servicios, se proporciona una Administración más adecuada.

o Identificar más fácilmente recursos desperdiciados mas la optimización de procesos y tareas que no se realicen.

o Reducir significativamente el costo de los equipos de computo, remplazándolos por equipos ligeros.

o Por medio de la utilización de software libre reducir el gasto de dinero en licencias de productos como software de pago.

Page 4: Documentacion Del Proyecto

o SERVIDORES VIRTUALES

¿Qué es la virtualización de sistemas?

La virtualización consiste en instalar y ejecutar múltiples sistemas operativos sobre máquinas virtuales que se ejecutan sobre una máquina física denominada anfitrión.

Bueno, esta definición tiene muchos matices pero es un resumen muy sintetizado y que se ajusta al siguiente gráfico explicativo.

¿CUÁLES SON LAS VENTAJAS DE LA VIRTUALIZACIÓN?

He aquí algunas de las ventajas de lo que la virtualización puede hacer por ti…

VARIAS MÁQUINAS (VIRTUALES) AL MISMO TIEMPO SOBRE UNA MÁQUINA FÍSICA. Un ejemplo típico es tener un Windows XP, un viejo Windows 98 y una distribución de LINUX que todavía estás probando, los tres corriendo sobre un anfitrión Windows Vista, Ubuntu Linux o Mac OS. Sí: tendrás los tres sistemas al mismo tiempo, en la misma pantalla, teclado y ratón como si fueran tres PCs en uno.

Esencialmente esta es la mayor ventaja y como consecuencia de ello vienen las siguientes que os cuento.

- Ahorro de espacio fisico. Si antes tenías varios PCs con todos sus cables, pantallas y teclados ahora sólo tendrás uno que contendrá a los demás.

- Compartir recursos hardware. La virtualización permite aprovechar al máximo las prestaciones del PC anfitrión y compartirlas entre sus máquinas virtuales.

- Ahorro de energía. Nada que decir que en este caso enchufarás un sólo PC (el anfitrión) y su

- Fácil traslado de ubicación. Todo lo necesario para arrancar una máquina virtual suele estar en un único directorio. Moviendo (o copiando) ese directorio a otro anfitrión

Page 5: Documentacion Del Proyecto

que soporte el mismo formato nos permite trasladarla en el mismo tiempo que tardan sus GB en transferirse por la red.

- Prolongar la vida de sistemas antiguos. Es típico tener un antiguo programa que sólo iba en un viejo PC con MS-DOS o Windows 98 a punto de destruirse. En muchas ocasiones la virtualización nos permitirá conservar ese sistema muchos años más.

- Entornos de pruebas. ¿Cuántas veces ensuciaste tu sistema por instalar la última versión de un programa que se interfirió con otro software que te funcionaba perfecto y ya no arranca? Muchas veces podemos hacer nuestras pruebas en entornos virtualizados sin miedo a estropear nada.

- Entornos dedicados específicos. Puedes tener un router/firewall virtual, un servidor VPN, o una máquina virtual dedicada sólo a descargas P2P sin riesgo de contagios. Las posibilidades son infinitas…

- Abaratar costes Por fin la razón más poderosa es el ahorro económico derivado del menor gasto en ‘hierro’, espacio físico, energía eléctrica y tiempo de administración

A nivel profesional las ventajas se multiplican pero para el usuario de a pie creo que las razones aportadas son de por sí interesantes como para pensar en si la virtualización le será útil.

DIFERENTES FORMAS DE HACER VIRTUALIZACIÓN Emulación: Es cuando el host simula completamente la máquina virtual de forma que todas las llamadas que hagan los guests sean interpretadas y ejecutadas por parte del host hacia el verdadero hardware. De ésta forma se ha logrado la creación de software para hardware que no ha sido creado todavía. Así se puede avanzar en la salida al mercaro de nuevo hardware. La emulación incluso permite que un sistema operativo diseñado para algún una plataforma específica pueda correr sobre otra plataforma con la cuál técnicamente no es compatible.

Ejemplos de emulación tenemos el qemu sin aceleración, Virtual PC, Bochs y PearPC.

Por mi parte he probado el Qemu y de hecho veremos más adelante cómo implementarlo.

Virtualización nativa: También conocida como virtualización completa. El host emula lo suficientemente bien el hardware como para que los guests puedan correr de forma nativa (sin cambios en el kernel) y además de forma completamente aislada.

Estos guests normalmente pueden correr varios en la misma máquina y compartir eficientemente sus recursos. Yo realmente lo veo como un caso de emulación un poco más avanzado.

El caso más conocido es el VMWare. Que es un producto comercial y no veremos aqui.

Xen y KVM son sistemas open source que permiten realizar éste tipo de virtualización de forma sumamente efectiva. Y por supuesto los veremos.

Page 6: Documentacion Del Proyecto

Paravirtualización El host no ofrece una emulación del hardware. Pero sin embargo ofrece un API que permite que los guests puedan acceder a los recursos de la máquina, controlados por el hospedero por supuesto. Los guests corren de forma aislada y segura de forma tal que no se afectan en caso de problemas.

El kernel de los guests tiene que ser modificado para permitir acceder al API del host y poder manejar y acceder a los recursos del host (disco, red, usb, etc).

Ejemplos de paravirtualización incluyen el VMWare ESX Server y el XEN.

En nuestro caso dedicaremos un tiempo a estudiar el XEN.

Virtualización a nivel del sistema operativo Los guests comparten el mismo sistema operativo que el hospedero. En verdad todos corren el mismo kernel y es el kernel el que se ocupa de determinar para quién trabaja en un momendo determinado. Los guests se ven como si estuvieran sólos pero en verdad todos comparten el mismo kernel cosa que hace que una vulnerabilidad en el kernel afecte a todos.

PROGRAMAS DE VIRTUALIZACION EN LINUX

VMWARE

VMware es un sistema de virtualización por software. Un sistema virtual por software es un programa que simula un sistema físico (un ordenador, un hardware) con unas características de hardware determinadas. Cuando se ejecuta el programa (simulador), proporciona un ambiente de ejecución similar a todos los efectos a un ordenador físico (excepto en el puro acceso físico al hardware simulado), con CPU (puede ser más de una), BIOS, tarjeta gráfica, memoria RAM, tarjeta de red, sistema de sonido, conexión USB, disco duro (pueden ser más de uno), etc.

Un virtualizador por software permite ejecutar (simular) varios ordenadores (sistemas operativos) dentro de un mismo hardware de manera simultánea, permitiendo así el mayor aprovechamiento de recursos. No obstante, y al ser una capa intermedia entre el sistema físico y el sistema operativo que funciona en el hardware emulado, la velocidad de ejecución de este último es menor, pero en la mayoría de los casos suficiente para usarse en entornos de producción.

XEN

Xen es una máquina virtual de código abierto desarrollada por la Universidad de Cambridge.

La meta del diseño es poder ejecutar instancias de sistemas operativos con todas sus características, de forma completamente funcional en un equipo sencillo. Xen proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales en caliente. Los sistemas operativos pueden ser modificados explícitamente para correr Xen (aunque manteniendo la compatibilidad con aplicaciones de usuario). Esto permite a Xen alcanzar virtualización de alto rendimiento sin un soporte especial de hardware. Intel ha realizado diversas contribuciones a Xen que han permitido añadir soporte para sus extensiones de arquitectura VT-X Vanderpool. Esta tecnología permite que sistemas operativos sin

Page 7: Documentacion Del Proyecto

modificar actúen como hosts dentro de las máquinas virtuales de Xen, siempre y cuando el servidor físico soporte las extensiones VT de Intel o Pacifica de AMD.

KVMKernel-based Virtual Machine , o KVM, en español Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux sobre hardware x86. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.

KVM permite ejecutar máquinas virtuales utilizando imágenes de disco que contienen sistemas operativos sin modificar. Cada máquina virtual tiene su propio hardware virtualizado: una tarjeta de red, discos duros, tarjeta gráfica, etc.

KVM fue creado, y está mantenido, por Qumranet.

QEMU

QEMU es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del código binario de la arquitectura fuente en código entendible por la arquitectura huésped). QEMU también tiene capacidades de virtualización dentro de un sistema operativo, ya sea Linux, Windows, o cualquiera de los sistemas operativos admitidos, (de hecho es la forma más común de uso). Esta máquina virtual puede ejecutarse en cualquier tipo de Microprocesador o arquitectura (x86, x86-64, PowerPC, MIPS, SPARC, etc.). Está licenciado en parte con la LGPL y la GPL de GNU.

El objetivo principal es emular un sistema operativo dentro de otro sin tener que reparticionar el disco duro, empleando para su ubicación cualquier directorio dentro de éste.

El programa no dispone de GUI, pero existe otro programa llamado QEMU manager que hace las veces de interfaz gráfica si se utiliza QEMU desde Windows. También existe una versión para Linux llamado qemu-launcher. En Mac OS X puede utilizarse el programa Q que dispone de una interfaz gráfica para crear y administrar las máquinas virtuales.

PORQUE ESCOGIMOS SUN VIRTUALBOX

Soporta el conjunto de instrucciones de virtualización en procesadores Intel VTx y AMD-V, esto mejora el rendimiento y lo sitúa con muy buena puntuación en recientes comparativas de virtualización como Virtualization in Linux

Mantiene una edición de código abierto Open Source Edition (OSE), aunque con unas pocas menos funcionalidades [marcadas con * en esta lista].

Es un proyecto activo y seriamente respaldado desde su adquisición por parte de Sun Microsystems

Se puede instalar en una amplia variedad de sistemas operativos soportados: Debian, Fedora, Mandriva, Ubuntu, RedHat, Open SOlaris, Mac OS X, Xandros, openSUSE, PCLinux OS

Page 8: Documentacion Del Proyecto

Dispone de excelente documentación técnica y de usuario . Yo aprecio mucho la documentación para empaparme desde el principio del cómo sacar elmáximo rendimiento de un producto.

Es sorprendentemente fácil de instalar y poner en marcha en todas las plataformas (yo lo he probado sobre Ubuntu Feisty Fawn y Hardy Heron, Windows XP y Mac OS X Leopard Edition), pero sobre todo en Linux y eso es algo que se agradece.

La interface usuario está traducida a más de 20 idiomas; cuenta con un mecanismo de avisos que nos ayuda a controlar rápidamente opciones como la captura del teclado y ratón o el modo pantalla completa; además dispone de multitud de opciones perfectamente explicadas y cuadros de diálogo muy utiles para organizar discos duros e imágenes ISO; permite múltiples snapshots (instantáneas de la máquina virtual a las que podemos volver)

* Acceso a la consola de cada máquina virtual por red vía Remote Display Protocol (RDP), esto es extremádamente útil ya que resuelve el problema de acceso remoto a cualquier sistema virtualizado independientemente de cual sea: linux, bsd, solaris o win serán accesibles vía RDP.

* Soporte de asignación de dispositivos USB 2.0 entre el anfitrión y la máquina virtual e incluso paso de USB sobre RDP. Esta capacidad es muy potente: podemos conectar dispositivos USB desde máquinas distintas al anfitrión utilizando el cliente RDP.

* El iniciador iSCSI hace posible utilizar almacenamiento en red sin necesidad de que el sistema operativo virtualizado soporte de forma nativa el protocolo iSCSI.

INSTALACIÓN VIRTUALBOX

1. Abre la terminal que se encuentra en Aplicaciones>Accesorios>Terminal

2. Dentro de la terminal ejecuta:

sudo gedit /etc/apt/sources.list

Esto abrira el editor de texto con la lista de nuestros repositorios, al final de este archivo agregamos:

deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

Cierra el editor de texto y volvemos a la terminal.

4. Ahora ejecutamos en la terminal el siguiente comando:

wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

sudo apt-get update

Con esto agregamos la llave que autentica el paquete y  actualizamos nuestra lista de repositorios

Page 9: Documentacion Del Proyecto

5. Por útlimo para instalar VirtualBox ejecutamos:

sudo apt-get install virtualbox-3.0

Nos preguntará si estamos deacuerdo en instalar los paquetes necesarios a los que respondemos con S.

Nos aparecerá la siguiente pantalla donde solo tenemos que seleccionar Aceptar presionando Enter o Intro es sólo para agregar un grupo de usuarios llamado vboxusers:

Pantalla de instalación VirtualBox

Para iniciar VirtualBox lo podemos encontrar en el menú de Aplicaciones>Herramientas del sistema>Sun Virtualbox. Nos aparecerá un diálogo para caceptar la licencia y luego un cuadro para registrar VirtualBox que es opcional.

Creación de las maquinas virtuales

Vamos a ello, comenzamos por darle al botón “Nueva“.

¡Bienvenido al Asistente para crear una Nueva Máquina Virtual – Se nos presenta el asistente y avanzamos (Siguiente).

Nombre de la VM (maq. virt.) y tipo de OS (sist. op.) – Ponemos el nombre que le queremos dar a la máquina virtual.

Page 10: Documentacion Del Proyecto

Memoria – Es la memoria RAM que le vamos a dar a nuestro sistema huésped.

Disco Duro Virtual – Aquí vamos a generar un disco duro virtual para el sistema operativo. Es una porción de nuestro disco duro real donde se va a instalar el sistema huésped y sus aplicaciones. Le damos al botón “New…” para crear uno y entrar en un segundo asistente que nos guiará en este otro proceso:

¡Bienvenido al Asistente para la creación de un Nuevo Disco Virtual! – Se nos presenta este nuevo asistente. Le damos a “Siguiente“.

Tipo de Imagen de Disco Virtual - Tenemos dos opciones: “Imagen de expansión dinámica” y “Imagen de tamaño fijo”. Más adelante le vamos a asignar un tamaño al disco duro virtual que estamos creando. Esta fase es para especificar si queremos que se ocupe ya todo ese espacio que vamos a reservar (segunda opción), o que ocupe lo necesario según vayamos instalando y vaya creciendo según se vaya necesitando.

Resumen – Nos muestra un resumen en lo referente al disco duro virtual. Si está todo en orden le damos a “Terminar“, en caso contrario volvemos “Atrás” y cambiamos lo que queramos.

Configurar maquina virtual

Bien, hemos creado una máquina virtual para instalar en ella un sistema operativo. Como comenté al principio, en el fondo usa los recursos de nuestro ordenador real. Vamos a instalar el sistema huésped (Windows XP) desde un CD, por lo que tendremos que configurar ese recurso, así como la red para poder tener acceso a internet y el sonido.

Page 11: Documentacion Del Proyecto

Pulsamos el icono de “Settings” y seguimos estos pasos.

Configurar CD: Seleccionamos la opción “CD/DVD-ROM” y habilitamos la casilla “Monta la unidad de CD/DVD” y en “Unidad CD/DVD Anfitrión” seleccionamos nuestra unidad lectora, para que nuestra máquina virtual pueda acceder al CD de instalación de nuestro sistema huésped.

Configurar sonido: Seleccionamos la opción “Audio“, habilitamos la casilla de “Habilitar Audio” y en “Controlador de Audio Anfitrión” seleccionamos “PulseAudio” si nuestro sistema operativo lo usao “Controlador Audio ALSA” en caso contrario.

Configurar red: Seleccionamos “Red” y nos aseguramos que el adaptador deseado (si sólo tenéis uno será el 0) esté habilitada la casilla “Habilitar Adaptador de Red“. Seleccionamos la tarjeta de red que estemos usando (si tenemos más de una) aunque probablemente ya se habrá seleccionado sóla y en “Conectar a” lo normal es que sea mediante  “NAT“.

Configurar secuencia de arranque: Como si estuviéramos configurando un ordenador real, tendremos que indicarle que para iniciar el sistema operativo primero mire en el CD y luego en el disco duro. Vamos a “General” y la pestaña “Avanzado“. En la casilla “Orden de Arranque” nos aseguramos que primero esté “CD/DVD-ROM” y después “Disco Duro”.

Instalar el sistema operativo huésped

Aquí ya dependerá del sistema operativo huésped a instalar ya que el proceso de instalación de cada uno de ellos es diferente.

Page 12: Documentacion Del Proyecto

Requerimientos de Hardware

Page 13: Documentacion Del Proyecto

Servidor de Virtualizacion

Procesador: Intel AMD con tecnología VT de virtualización

Memoria RAM: 500 MB para el sistema anfitrión y la RAM adicional depende de la cantidad de sistemas virtuales y del tipo de estos.\

Placa de red: Por lo menos 2 placas de red 10/100 Mbps (una para acceder a Internet y a otra para los terminales locales)

CLIENTES LIGEROS

Hay lugares en los que las redes de computadoras están formadas por equipos de última generación y, que en algunos casos, son utilizados para realizar tareas que consumen poco procesamiento, como por ejemplo: teclear oficios, elaborar planillas electrónicas y navegar por Internet.

Mientras tanto, en empresas y escuelas con bajo poder adquisitivo, las computadoras de las redes son obsoletas e incapaces de procesar las informaciones en tiempo razonable y de permitir el uso de software más actual.

En este último caso, se recomienda el uso de las llamadas redes de “terminales ligeras”. Son redes de bajo costo formadas por varios ordenadores “obsoletos” y por un servidor con alta capacidad de procesamiento. De esa manera, el servidor comparte, con las computadoras cliente, recursos como: acceso a Internet, CD-ROM, almacenamiento de archivos, impresora, aplicativos, sistema operativo, etc.

TCOS

Es un proyecto de Software Libre que permite la utilización y gestión de varios terminales delgados conectados a uno o más servidores de la red, compartiendo el mismo sistema operativo y otros recursos tecnológicos, tales como: la impresora, el acceso a Internet, la sesión gráfica, el CD-ROM, el pendrive, el almacenamiento centralizado de los archivos de los usuarios y aplicaciones entre otros.

Page 14: Documentacion Del Proyecto

En la figura de arriba se puede ver una red con varios terminales que pueden ser ordenadores del tipo desktops o thin clients conectados a un único servidor.

En esa red, los terminales no necesitan tener un disco duro, unidad de CD-ROM, gran cantidad de memoria RAM o un buen procesador. Si necesitan un sistema operativo local para funcionar. Todo eso es compartido por el servidor.

En un escenario de red como el descripto, la mayor parte del procesamiento de los datos es centralizado en el servidor. Todo ese procesamiento es transparente al usuario que cree estar usando exclusivamente, los recursos tecnológicos del terminal para ejecutar las tareas, cuando en realidad está usando los del servidor. Éste procesa la mayor parte de las informaciones y apenas envía, por la red, los resultados para ser visualizados en la pantalla del terminal.

La función de TCOS es integrar los terminales con el servidor, gestionar los procesos ejecutados por cada usuario, generar la imagen del sistema operativo para ser cargada en los terminales, suministrar las informaciones técnicas de cada uno de ellos para que el administrador de la red pueda monitorizarlos y/o gestionarlos de forma rápida y eficiente, además de permitir la re-utilización de los ordenadores obsoletos para ser usados como terminales.

LAS VENTAJAS

Las principales ventajas de utilizar los clientes delgados son:

Reducción del costo de implementación de la red y re-aprovechamiento de los recursos del servidor, pues los terminales pueden ser ordenadores obsoletos y ofrecen el uso de los mismos sin disco duro, unidad de CD-ROM, etc.

Administración centralizada de los terminales y usuarios.

Flexibilidad. Si hubiera algún fallo en el hardware del terminal, basta pedir al usuario iniciar una nueva sesión gráfica en cualquier otro. Así no habrá pérdida de informaciones, pues ellas están centralizadas en el servidor.

Alta escalabilidad. Para aumentar el número de terminales en la red, basta aumentar la capacidad de procesamiento y a cantidad de memoria RAM del servidor.

Page 15: Documentacion Del Proyecto

Es posible personalizar una sesión gráfica para cada usuario liberando o restringiendo el acceso a determinados recursos o aplicaciones del servidor.

La configuración y la generación de la imagen del sistema operativo a ser compartida en los terminales puede ser realizada de forma gráfica y flexible, adaptándola al hardware de los terminales.

Permite el re-uso de ordenadores obsoletos para ser usados como terminales, reduciendo los costes de la red , prolongando su vida útil y reduciendo así considerablemente el impacto ambiental de los equipos.

LAS DESVENTAJAS

Por otro lado, el uso de los clientes ligeros presenta algunas desventajas, tales como:

Alto tráfico de datos generado por la comunicación entre el servidor y los terminales de la red.

El servidor pasa a ser el punto crítico de la red, o sea, si él para de funcionar, todos los usuarios quedan imposibilitados de trabajar.

El servidor queda más vulnerable a ataques si un invasor tuviera acceso a la red.

LOS MÉTODOS DE INICIALIZACIÓN DE LOS TERMINALES

El método de Descarga por TFTP es el estándar y también el más usado. Él intentará obtener el sistema operativo compartido por el servidor vía red usando el protocolo TFTP (Trivial File Transfer Protocol). Para que el funcione es necesario que los terminales tengan una placa de red con soporte el protocolo PXE - Preboot Execution Environment.

El método de Etherboot utiliza una imagen de arranque grabada en disquete, que emula el suporte PXE en los terminales más antiguos. Después de iniciados, los terminales intentarán obtener el sistema operativo del servidor usando TFTP. No obstante, ese método no es el más recomendado.

El arranque via CD-ROM inicia los terminales con la imagen del sistema operativo grabada en el CD-ROM.

Page 16: Documentacion Del Proyecto

En el boot por NFS – Network File System – los terminales intentarán obtener la imagen del sistema operativo a través del servicio NFS. Este método es recomendado cuando los terminales tienen menos de 38 MB de memoria RAM.

Los métodos de arranque restantes son: a partir de la red sin cables, (wireless) cuando los terminales y el servidor poseen placas de red sin cable (el proceso de descarga del sistema es hecho usando el TFTP o el NFS) y a partir de un disco local, cuando los terminales poseen un disco duro y el sistema operativo, grabado en una de las particiones de ese disco.

El Arranque vía Red

Para que un terminal sea iniciado vía red es necesario que tenga una placa de red con soporte para el protocolo PXE - Preboot Execution Environment – y que el mismo esté configurado en la BIOS – Boot Input/Output System - para iniciar vía red.

Cuando el terminal es encendido, el cliente PXE de la placa de red comienza a enviar paquetes de peticiones en broadcast (o sea, para todos los ordenadores) en busca de un servidor DHCP - Dynamic Host Configuration Protocol.

Cuando el servidor responde a esas peticiones, el terminal intentará obtener las configuraciones de red, tales como: dirección IP, máscara de sub-red, IP de la puerta de enlace (gateway), del servidor DNS, del servidor TCOS y la localización del sistema operativo a ser cargado.

Page 17: Documentacion Del Proyecto

Después de esta etapa, el terminal deberá obtener el sistema operativo. Este sistema es bastante pequeño si lo comparamos al que está instalado en el servidor (pudiendo llegar a los 10 MB). Básicamente está formado por tres archivos del servidor, compartidos a partir del directorio /var/lib/tcos/tftp:

vmlinuz => el kernel o núcleo del sistema propiamente dicho; initramfs => este archivo contiene algunos scripts de inicialización, además de

un cliente DHCP y algunos módulos del kernel que son incluidos/borrados en la memoria RAM del terminal, de forma dinámica, para detectar algunos dispositivos como: la placa de vídeo, el pendrive, mouse USB, etc;

usr-xxxxx.squashfs => un archivo comprimido, que contiene las partes restantes del sistema operativo como el interpretador de comandos, el sistema de archivos, una aplicación cliente para el VNC2, un cliente de audio.

La

imagen descargada se carga en la RAM del cliente delgado.

El cliente delgado se conecta con el servidor X y activa el gerenciador gráfico, el cliente manda los datos del usuario al servidor para autenticarse e iniciar una sesión gráfica. A partir de ahora todo el procesamiento se realiza en el servidor, mostrando el resultado en el servidor, de manera transparente para el usuario.

Todo el proceso de inicialización del terminal, descrito anteriormente, dura una media de 35 a 45 segundos, dependiendo de las condiciones de la red.

Page 18: Documentacion Del Proyecto

REQUERIMIENTOS DE HARDWARE

Servidor

Procesador: Pentium IV, Intel Core 2 Duo o AMD Dual (en redes grandes es aconsejable utilizar un servidor con varios procesadores).

Memoria RAM: 500 MB + 80 MB, a cada terminal adicionado en la red.

Placa de red: Por lo menos 2 placas de red 10/100 Mbps (una para acceder a Internet y a otra para los terminales locales)

Terminal

Procesador: Pentium I 166 o superior.

Memoria RAM: 32 a 64 MB

Placa de red: 1 placa de red 10/100 Mbps y con soporte al protocolo PXE.

Switch:

Capacidad de 10/100 Mbps

Software

El servidor requiere cualquier Distribución derivada de Debían, aunque este proyecta se enfoca más hacia la Distribución Ubuntu que es la que estamos utilizando en el proyecto.

OBTENIENDO AYUDA DE LAS COMUNIDADES TCOS

Para tener acceso a más información acerca de TCOS, despejar dudas, dar sugerencias o contribuir con el proyecto compartiendo conocimientos con otros usuarios hay varias formas:

Wiki del Proyecto: http://wiki.tcosproject.org/Main_Page .

Aquí se encuentra disponible un tutorial de instalación y configuración de TCOS traducido al inglés, español, portugués y ruso.

Comunidad de usuarios: Para interactuar con otros usuarios o administradores de red que usan TCOS acceda a los sitios siguientes:

Comunidad española: http://groups.google.con/group/tcos-usuarios?hl=es

Repositorio del TCOS: En el sitio: http://www.tcosproject.org/packages.html están disponibles las listas de repositorios oficiales para las versiones más usadas de las distribuciones Debian y Ubuntu.

SVN: Para los desarrolladores que quieren contribuir con el proyecto, en el sitio: http://trac.tcosproject.org/ está disponible un histórico del desarrollo de la herramienta. Para acceder a los códigos fuentes diríjase al sitio: http://wiki.tcosproject.org/Code/SVN/pt-br y siga las instrucciones.

Page 19: Documentacion Del Proyecto

INSTALANDO TCOS

Acceda a la consola de Ubuntu, disponible en el menú Aplicaciones > Accesorios > Consola. Al abrir la consola obtenga los permisos del usuario root (administrador del sistema) con el comando mostrado abajo (será necesario teclear la contraseña de root).

$ su

Obtenga la llave pública de Mario Izquierdo, el desarrollador de la herramienta. Para eso teclee el comando a seguir:

#wget http://www.tcosproject.org/mariodebian-pub.key

Adicione la llave al APT, el administrador de paquetes del sistema.

# apt-key add mariodebian-pub.key

Use el editor de texto de su preferencia y añada en el archivo /etc/apt/sources.list el siguiente mirror del Proyecto TCOS:

deb http://www.tcosproject.org/ nombre_de la_distribución main

#apt-get update

Para instalar TCOS y el conjunto de herramientas teclee el comando a seguir:

#apt-get install tcos

Después de la instalación del TCOS teclee el comando: # ls /

Con base en la lista mostrada por el comando anterior, verifique si el directorio /tftpboot existe. Se no existiese cree ese directorio:

# mkdir /tftpboot

Ahora ejecute el comando abajo para reconfigurar la instalación:

# dpkg-reconfigure initramfs-tools-tcos

En seguida, instale la herramienta TcosConfig, usada para configurar y generar las imágenes del kernel, que serán compartidas en la red y cargadas por los terminales.

# apt-get install tcosconfig

Configurando el GDM

Page 20: Documentacion Del Proyecto

En el caso que esté utilizando GNOME, el administrador de ventanas, es necesario configurar el Gnome Display Manager – GDM, el administrador de login usado por el GNOME. Este será el responsable de autentificar a los usuarios de los terminales. Para configurarlo edite el archivo /etc/gdm/gdm.conf y en las sesiones: daemon, security y xdmcp, modifique solo las opciones abajo, de modo que tengan los siguientes valores en negrita:

[daemon]

TimedLoginEnable=true

TimedLogin=/usr/sbin/tcos-gdm-autologin|

TimedLoginDelay=10

[security]

AllowRemoteAutoLogin=true

DisallowTCP=false

[xdmcp]

Enable=true

Después de editar el archivo /etc/gdm/gdm.conf reinicie el GDM con el comando siguiente:

# /etc/init.d/gdm restart

Configurando el KDM

En el caso que use KDE, otro administrador de ventanas, es necesario configurar el KDE Display Manager – KDM, el administrador de login usado por KDE. La configuración puede ser hecha de la siguiente manera:

Para el KDE versión 3

Abra el archivo /etc/kde3/kdm/Xaccess y borre el símbolo #, que está antes del símbolo *, en la línea:

#* #any host can get a login window

Page 21: Documentacion Del Proyecto

Y en la línea:

#* CHOOSER BROADCAST #any host indirect host can get a chooser

A continuación abra el archivo /etc/kde3/kdm/kdmrc. En la sesión [XDMCP], cambie la línea:

Enable=false

Por:

Enable=true

Después de editarlos reinicie el KDM con el comando:

# /etc/init.d/kdm restart

Para KDE versión 4

Abra el archivo /usr/lib/kde4/etc/kde4/Xaccess y borre el #, que está antes del símbolo *, en la linea:

#* #any host can get a login window

Y en:

#* CHOOSER BROADCAST #any host indirect host can get a chooser

A continuación abra el archivo /usr/lib/kde4/etc/kde4/kdmrc. En la sesión [XDMCP], cambie la línea:

Enable=false

Por:

Enable=true

Después de editarlos reinicie KDM con el comando a siguiente:

# /etc/init.d/kdm-kde4 restart

Configurando el DHCP

El DHCP permite que los terminales reciban las configuraciones de red, de forma automática, durante la inicialización. Eso evita la configuración manual en cada uno de ellos.

Page 22: Documentacion Del Proyecto

En los servidores que poseen más de una placa de red es preciso especificar a cual del ellas serán dirigidas las peticiones DHCP de los terminales. Para eso, edite el archivo /etc/default/dhcp3-server y especifique la interfaz de red a ser utilizada en la opción INTERFACES. Por ejemplo:

INTERFACES="eth1"

En el ejemplo arriba, eth1 es la interfaz de red que está conectada a los terminales.

A continuación es necesario configurar el servidor DHCP. Esa configuración puede ser hecha para ofrecer direcciones IPs dinámicas o estáticas a los terminales.

Para configurarlo, edite el archivo /etc/dhcp3/dhcpd.conf. El ejemplo mostrado muestra la configuración para ofrecer IPs dinámicas en la red.

allow booting;

allow bootp;

ddns-update-style none;

default-lease-time 21600;

max-lease-time 21600;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.0.255;

option routers 192.168.0.1;

option domain-name-servers 192.168.0.1;

option domain-name "tcos-domain.org";

option option-128 code 128 = string;

option option-129 code 129 = text;

option root-path "192.168.0.1:/tftpboot";

get-lease-hostnames true;

next-server 192.168.0.1;

shared-network THINCLIENTS {

subnet 192.168.0.0 netmask 255.255.255.0 {

Page 23: Documentacion Del Proyecto

range dynamic-bootp 192.168.0.2 192.168.0.254;

if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {

filename "/tftpboot/tcos/pxelinux.0";

}

else{

filename "/tftpboot/tcos/vmlinuz-2.6.24-19-generic";

}

}

}

OBS.: 1- Los terminos en negrita son los parámetros de configuración de la red que deberán ser substituidos de acuerdo con las configuraciones del servidor o de la red a la cual está conectado.

2- En las opciones filename y option root-path deben ser especificados el directorio en que se encuentran los archivos de inicialización de los terminales.

En seguida reinicie el servicio con el comando:

#/etc/init.d/dhcp3-server restart

Instalando el PulseAudio

PulseAudio es un software que, integrado al sistema operativo, permite el control avanzado del sonido, define qué placa de sonido debe usar cada aplicación, así como permitir el uso de placas de sonido remotas. Esta última función será importante para permitir que la música, por ejemplo, procesada en el servidor TCOS pueda ser escuchada en el terminal del usuario.

Para instalar el cliente pulseaudio use el comando siguiente:

# gentcos -instpkg pulseaudio-esound-conpat

Instalando y Configurando Rsync

Rsync es un programa usado para sincronizar los directorios y archivos entre dos o más ordenadores, optimizando la transferencia de los datos. Este será necesario para que TCOS pueda sincronizar los archivos almacenados en el servidor con los que están cargados en la memoria de los terminales.

Page 24: Documentacion Del Proyecto

Para instalarlo teclee el comando:

# apt-get install rsync

Para habilitarlo edite el archivo /etc/default/rsync y sustituya la línea:

RSYNC_ENABLE=false

Por:

RSYNC_ENABLE=true

Cree el archivo /etc/rsyncd.conf y añada las siguientes líneas:

read only = no

use chroot = no

[tcos_share]

path = /tmp/tcos_share

conment = Comparticion Tcos

Después reinicie el servicio con el comando:

#/etc/init.d/rsync restart

Tcosconfig

Page 25: Documentacion Del Proyecto

Seleccionamos plantilla generada por tcosconfig ya que sernos nosotros los que definiremos los parámetros del sistema operativo para los clientes.

Xorg

El Xorg es un servicio que permite el uso de la sesión gráfica en el GNU/Linux. En esta sesión es posible activar la interfaz gráfica en los terminales, incluir los drivers de la placa de vídeo, configurar el mapa y el modelo del teclado, la resolución de la pantalla y el tipo de sesión gráfica.

Conforme mostrado en el tutorial de instalación del TCOS, la sesión gráfica a ser usada es la Sesión gráfica remota (XMDCP). Todavía pueden ser usadas otras sesiones como: Sesión gráfica local, vía SSH, rDesktop y FreeNX.

Page 26: Documentacion Del Proyecto

Configurando el sonido de los terminales.

En esta sesión es posible realizar las siguientes configuraciones:

habilitar el sonido en los terminales, marcando a opción Habilitar el sonido (ALSA), la aplicación que administra el dispositivo de sonido;

definir el volumen por defecto de los terminales;

incluir los módulos de la placa de sonido ISA, usado en terminales muy antiguos;

usar el servidor de sonido PulseAudio, que comparte el sonido emitido en el servidor con los terminales.

Soporte al acceso remoto

La configuración se resume en la elección de la aplicación a ser utilizada para acceder remotamente los terminales, para realizar tareas administrativas. La más usada es el X11VNC.

Page 27: Documentacion Del Proyecto

Configuración de la red inalámbrica

La configuración de esta sesión engloba;

habilitar o no el soporte a red sin hilos en los terminales;

activar los módulos de la placa de red;

definir el tipo de criptografía para la transmisión de los datos entre el servidor y los terminales;

definir la llave WEP/WAP, a ser compartida con los terminales.

Configuración Avanzada

En esta sesión deben ser informados el usuario administrador del terminal y la contraseña (no necesariamente son los mismos registros en el servidor). Otros parámetros que también deben ser informados son:

la cantidad de consolas (tty), que varía entre 1 y 6 y sirve para teclear comandos en modo texto en el terminal;

la dirección IP del servidor, generalmente es auto-detectada en la inicialización del terminal;

activar la autenticación del usuario al usar la primera consola. Es importante que las consolas estén protegidas por cuestiones de seguridad.

Page 28: Documentacion Del Proyecto

Configuración de depuración

En esta sesión se pueden activar/desactivar las siguientes opciones:

Depurar la compilación de las imágenes. Durante la compilación del kernel es mostrada una lista de acciones que están siendo realizadas, así como con los errores y los consejos para corregirlos. Es interesante dejar esta opción activada.

Incluir las herramientas de depuración, utilizadas para depurar la compilación del kernel. Es interesante dejar esta opción activada.

Soporte al Squashfs, un sistema de archivos con permisos apenas de lectura en sistema GNU/Linux. Por defecto, esta opción viene deshabilitada.

Descarga del archivo Squashfs externo. Por defecto, esta opción viene habilitada permitiendo que el terminal obtenga el archivo a partir del servidor.

Definir el límite de memoria RAM a ser usado por el terminal, en el caso de que la inicialización ocurra vía NFS. Por defecto es 38 MB;

Deshabilitar el soporte a los módulos: ACPID (Advanced Configuration and Power Interface), permite una gestión de energia inteligente y consulta los estados de la batería, y RAID (Redundant Array of Independent Drives), un sub-sistema de almacenamiento compuesto por varios discos individuales, con la finalidad de ganar en seguridad y velocidad de acceso. Por defecto, está opción viene habilitada.

Configuración de servicios y demonios

Por defecto los siguientes servicios/demonios vienen habilitados:

TcosMonitor

Inetd, el gestionador de conexiones y demonios.

SSH, el servicio de acceso remoto.

Reconocimiento de hardware discover, este servicio se encargará de detectar/configurar automáticamente el hardware de los terminales.

TcosInstaller, el instalador del TCOS

ACPID

Soporte para impresora inyección de tinta.

Sistema de archivos remoto. El tipo por defecto es el LTSPFS, utilizado para virtualizar dispositivos removibles (pen drives, CD-ROM, etc) conectados a los terminales.

Menú de arranque

Page 29: Documentacion Del Proyecto

En esta parte podremos seleccionar el grub en modo texto o grafico, y seleccionar el uplash por defecto está el de tcos, pero podemos cambiarlo por el de Ubuntu, o cualquier otro que queramos.

En esta sesión de configuración defina la versión del kernel a ser usada, active la exhibición de los módulos del kernel no encontrados, active los módulos extras y habilite/deshabilite el soporte a los dispositivos USB, discos IDE y/o PATA.

En esta sesión se puede habilitar el uso del navegador Web local de los terminales. Si ninguno de los navegadores disponibles fueran seleccionados, será usado el navegador del servidor, compartido junto con las demás aplicaciones.

Método de arranque

Page 30: Documentacion Del Proyecto

Acá seleccionaremos el tipo de arranque el mejor y el que está por defecto es PXE, pero si por ejemplo tenemos terminales con menos de 64 de RAM debemos utilizar NFS para el arranque

Page 31: Documentacion Del Proyecto

Durante la compilación de la imagen serán mostrados los mensajes describiendo las etapas del proceso. Es importante prestar bien atención a esos mensajes, pues si hubiera algún error, el TcosConfig sugerirá los comandos o las configuraciones necesarias para solucionarlos.

Page 32: Documentacion Del Proyecto

INICIANDO LOS TERMINALES

Debemos seleccionar en la BIOS de los clientes para que arranque primero por red..

Despues el cliente envian mensajes broadcast en la red, a la búsqueda de un servidor DHCP, como muestra a figura. Después de encontrarlo, intentará localizar el servidor TCOS para obtener los archivos de boot, entre ellos el archivo pxelinux.0 (un pequeño administrador de boot).

Page 33: Documentacion Del Proyecto

Carga de archivo pxelinux.0

El Cliente esta descargando los archivos del servidor

Page 34: Documentacion Del Proyecto

Después de la autenticación del usuario, la sesión gráfica es iniciada y el usuario podrá utilizar todas las aplicaciones gráficas disponibles.

TCOSMONITOR

TcosMonitor es una herramienta usada para administrar los terminales de la red a partir del servidor o a partir de un terminal.

Posee, entre otras, las siguientes funcionalidades:

Reiniciar/apagar los terminales.

Bloquear o desbloquear la pantalla, teclado y ratón de los terminales.

Controlar un terminal utilizando el VNC1.

Hacer una foto de la pantalla de los terminales.

Cerrar la sesión gráfica de los usuarios.

Ejecutar una aplicación en el terminal.

Enviar mensajes a los usuarios conectados.

Visualizar/cerrar las aplicaciones que están siendo ejecutadas por los usuarios.

Acceder las informaciones del terminal, tales como: la versión de TCOS, las informaciones del procesador, consumo de memoria RAM, conexiones PCI, módulos del kernel, que están siendo usados, configuraciones del interfaz de

Page 35: Documentacion Del Proyecto

red, procesos que están siendo ejecutados, informaciones del servidor gráfico (el servidor X) y informaciones sobre el sonido.

Para instalar el TcosMonitor, teclee use el comando:

#apt-get install tcosmonitor

Page 36: Documentacion Del Proyecto

BIBLIOGRAFÍA

Etherboot Project. Disponible en : http://etherboot.org/wiki/index.php

Operación sin Discos. Disponible en : http://www.openit.con.br/freebsd-hb/network-diskless.html

Guia del Hardware: DHCP. Disponible en :http://www.guiadohardware.net/termos/dhcp

TCOS: Instalación y configuración . Disponible en : http://aulavirtual2.educa.madrid.org/mod/resource/view.php?id=9189

Manual de Usuario. Disponible en : http://aulavirtual2.educa.madrid.org/mod/resource/view.php?id=13360

What is Preboot Execution Environment? Disponible en : http://www.pxe.ca/

Sidux: Backup con Rsync. Disponible en : http://manual.sidux.con/pt-br/sys-admin-rsync-pt-br.htm

TCOS Project: Install/Configure. Disponible en : http://wiki.tcosproject.org/Install/Configure

TCOS Project: Install/Debian. Disponible en : http://wiki.tcosproject.org/Install/Debian

Wikipedia: PulseAudio. Disponible en : http://pt.wikipedia.org/wiki/PulseAudio

Wikipedia: Software Libre. Disponible en : http://pt.wikipedia.org/wiki/Software_livre

Wikipedia: Trivial File Transfer Protocol. Disponible en : http://pt.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

Page 37: Documentacion Del Proyecto

CONCLUCIONES

o Mediante la aplicación de la virtualización se logro la reducción de energía

notablemente en los procesos comunes de los servidores.

o Se logro reutilizar equipos que antes serian desechados sin sacar todo su

potencial hasta el último momento.

o Se probo lo robusto en conceptos de seguridad.

o Se redujo el gasto en equipos de computo tanto como el consumo de energía.


Recommended