Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Ganeti-SanFrancisco

No description
by

Admin Admin

on 4 September 2010

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Ganeti-SanFrancisco

Consolidación de servicios "Consiste en agrupar dos o más servicios en un mismo servidor físico, utilizando los recursos de este de forma más eficiente (en promedio)" Gran parte del tiempo (cerca de un 60%) dichas aplicaciones no demandan recursos de hardware, utilizando por lo general solo del 20 al 30% de su potencia de cómputo Desventajas

Si bien se reducen los puntos de falla, cada punto pasa a tener un costo asociado superior. Por lo que en caso de falla de un servidor físico (Hardware por lo general), no perdemos un servicio, sino que perdemos todos los servicios que se encuentran consolidados en el mismo. Que es la virtualización?

Se denomina Virtualización a la técnica de abstraer, por medio de una capa de software, los recursos de hardware de una computadora. Esta capa de abstracción es llamada Hypervisor o VMM (Virtual Machine Monitor) y es la encargada de manejar, gestionar y arbitrar los recursos de hardware. Nos permite gestionar el Data-Center como un pool de recursos o agrupación de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible en nuestra infraestructura.

Mejora en los procesos de clonación y copia de sistemas: Mayor facilidad para la creación de entornos de tests.

Aislamiento :
- Un fallo general de sistema de una máquina virtual no afecta al resto de máquinas virtuales.
- Aislamiento de las cargas de trabajo.
- Mayor seguridad.
En este tipo de virtualización, El Hypervisor se encarga de emular el hardware subyacente. Su principal tarea es la traducción de las peticiones de las máquinas virtuales, para que se ejecuten en el hardware real.
Su principal ventaja, es que permite ejecutar maquinas virtuales con diferentes sistemas operativos (Linux, Windows, etc), sin la necesidad de que estos deban ser modificados. Ejemplos de virtualización full son:
Xen HVM.
VMWare Server.
VMWare WorkStation/Player.
VMWare ESX.
VirtualBox.
KVM.
QEmu. La paravirtualización es una técnica que consiste en utilizar una versión modificada de un sistema operativo (kernel), que permite el dialogo entre este y el hypervisor.

La principal diferencia con la virtualización full, es que el hypervisor no emula el hardware real, sino que hace de intermediario entre los distintos SO (instancias ó VM) y el hardware.

Su principal desventaja, es que es necesario modificar el sistema operativo para que utilice esta técnica, algo no muy sencillo de lograr con ciertos sistemas (Windows por ejemplo).
Que se modifica de un sistema operativo para que use paravirtualización?

El hecho de que se use paravirtualización implica que se debe usar una versión modificada del sistema operativo, lo que implica modificar el acceso a todos los recursos (disco, red, usb,etc), pero son dos los grandes cambios:

Que el sistema operativo deba correr en un anillo de privilegios inferior al del hypervisor. En el caso de la arquitectura x86, el sistema operativo corre en el anillo 0, así que debería correr en el 1 o en el 2 (el 3 es para aplicaciones).

Que a la hora de paginar (acceder a la memoria para leer o escribir), no debe hacerlo directamente, sino que debe pedir autorización al hypervisor antes de realizar la escritura o lectura de las páginas (por seguridad y para garantizar el aislamiento). Ejemplos de Para-virtualización son:

Xen Para-Virtualized.
KVM.
UML
L4Linux.
En esta técnica se utiliza un sistema operativo que se encarga de “aislar” los procesos de los diferentes sistemas virtualizados. Todos comparten el sistema operativo del anfitrión, y es el kernel quien se encarga de hacer la división de los procesos, por lo que se necesita una versión modificada de este.

Su principal ventaja es la eficiencia dado que es una ejecución nativa.

Su principal desventaja es que no existe un verdadero “aislamiento”, dado que todos los sistemas dependen del sistema operativo host. Ejemplos de Virtualización Host-based son:
OpenVZ.
Linux-Vserver.
LXC (Linux container tools). La paravirtualización permite alcanzar un alto rendimiento, es decir, bajas penalizaciones del rendimiento, típicamente alrededor del 2%, con los peores casos rondando el 8%; esto contrasta con las soluciones de Full-Virtualizacion que habitualmente sufren penalizaciones en el orden del 20%.
La principal desventaja de la para-virtualización es que como se necesita una versión modificada del sistema operativo, no contamos con una gran gama de sistemas operativos para utilizar (solo aquellos que hayan sido portados), tipicamente GNU/Linux, FreeBSD, Windows XP (no del todo bien). RAID RAID (Redundant array of independent/inexpensive disks)
RAID (Redundant array of independent/inexpensive disks)
RAID (Redundant array of independent/inexpensive disks) conjunto redundantes de discos independientes/baratos. Es un sistema de almacenamiento que utiliza múltiples discos duros para:
Guardar información de forma redundante
Lograr un mejor rendimiento
Obtener un volumen lógico con la capacidad de varios discos físicos independientes El SO gestiona los discos del conjunto a través de una controladora de disco normal (IDE/ATA, SATA, etc).

Son más flexibles (permitiendo, agrupar en un mismo RAID discos conectados en varias controladoras)

Al ser gestionada por el SO, compite con los demás procesos por el uso del CPU.

No posee costo Software Hardware SOPORTE Requiere una controladora RAID específica
Suele ofrecer un mejor rendimiento, ya que puede ser totalmente transparente para el SO.
Suelen soportar sustituciones en caliente (hot swapping)
Añaden un punto de fallo más al sistema (la controladora RAID).
Pueden incorporar un caché de escritura no volátil Distintos niveles de RAID RAID 0 RAID 1 RAID 5 Conjunto de discos divididos sin tolerancia a fallos (No redundante)

Ventajas:
Se incrementa el ancho de banda de entrada/salida
Se obtiene un volumen con la suma de la capacidad de todos los discos que intervienen

Inconvenientes:
No proporciona tolerancia a fallos. Espejo (mirror)

Ventajas:
Tolerancia a fallos
Cada uno de los discos del RAID 1 es una replica bloque a bloque de los otros discos, puede utilizarse como un disco simple en un sistema que no soporte RAID.
Incremento de la velocidad de lectura

Inconvenientes:
Utilizar varios discos sólo permite obtener un volumen con la capacidad de uno de ellos
Alta carga Conjunto de discos independientes con bloques de datos y de paridad distribuidos.

Ventajas:
Gran velocidad de lectura

Inconvenientes:
Mayor complejidad en la controladora
Mayor complejidad (comparado con RAID 1) en la reconstrucción de un disco tras un error Ventajas
Reducción de costos (ahorro engético, de soporte y de espacio)

Simplificación de la infraestructura.
Formas de consolidación Servidores con múltiples sistemas.

Servidores dedicados por servicios.

Virtualización. Ventajas Tipos de virtualización Virtualización Completa Para-Virtualización Virtualización
Host-based Full-virtualización vs Para-virtualización (Logical Volume Management o Administración de Volúmenes Lógicos)

LVM es una implementación de un administrador de volumenes lógicos para el kernel de linux. Fue escrito originalmente en 1998.
Esta conformado por un modulo que esta integrado en el kernel de linux a partir de su versión 2.4 y por un conjunto de herramientas utilizadas para su administración.

Incluye características tales como:

• Redimensionado de grupos de volúmenes
• Redimensionado y traslado de volúmenes lógicos
• Snapshots de sólo lectura (LVM2 ofrece lectura y escritura)
• RAID 0 de volúmenes lógicos ¿Como funciona? Distributed Replicated Block Device (Dispositivo de bloque replicado distribuido) Es un sistema de almacenamiento distribuido para plataformas basadas en linux.
Consiste en un modulo de kernel, herramientas para manejar los discos y una serie de scripts.
Es usado normalmente en cluster de alta disponibilidad.
Es similar a un RAID1, pero por red. Virtualización Completa
Para-Virtualización.
Virtualización Host-Based.
Experiencia en el Rectorado de la Universidad Nacional del Litoral Inicio del estudio sobre virtualización en el año 2007.

Primer prueba con XEN para-virtualized y XEN HVM en el 2007.

A finales del 2008 se empezó con el estudio de Ganeti.

Primeras instancias de ganeti a principio del 2009.

A finales de 2009 se termino de migrar las instancias XEN a ganeti.
Hoy contamos con el 90% de nuestro Data-center, corriendo en un cluster con Ganeti. Contamos con 4 nodos (servidores físicos), que se distribuyen 74 instancias.

Esta infraestructura cuenta con dos entornos de trabajo:

Producción, con 55 instancias (máquinas virtuales).

Desarrollo con 19 Instancias. Infraestructura Comparativas Linux Nativo
XEN
VMWare
UML Recursos Dell 2650 Dual core 2.4GHz
RAM 2GB
RED Broadcom Tigon 3 Gigabit
DISCO SCSI Hitachi 10K RPM
FILESYSTEM ext3
Kernel Linux 2.6.21 XEN Objetivos Poder ejecutar instancias de SO
con todas sus características,
de forma funcional en equipos sencillos Características Corre exclusivamente sobre Linux
Rendimiento en ejecución casi nativo
Soporta múltiples arquitecturas
Escala muy bien con hasta 100 vm
Aislamiento seguro
Control de QoS
Modificación de vm "en caliente"
Guardado, restauración y reubicación en vivo
Para-virtualización y Full-virtualización
Permite la migración en caliente Todos son servidores Dell PowerEdge 2950. Nodo 1:
Procesador: Intel Xeon x5460 (Quad-core), 12Mb de cache, 3.16Ghz.
Memoria: 32 Gb.
Disco: 600 Gb.

Nodo 2 :
Procesador: Intel Xeon x5460 (Quad-core), 12Mb de cache, 3.16Ghz.
Memoria: 32 Gb.
Disco: 600 Gb.

Nodo 3 :
Procesador: Intel Xeon x5355 (Quad-core), 8Mb de cache, 2.66Ghz.
Memoria: 8 Gb.
Disco: 700 Gb.

Nodo 4 :
Procesador: Intel Xeon x5355 (Quad-core), 8Mb de cache, 2.66Ghz.
Memoria: 16 Gb.
Disco: 700 Gb. Dell Power Edge 2950
(Gama media) Servidores web (16) (apache + php, mongrel + Ruby on Rails).
Servidor de bases de datos Postgres (85 bases)
41 bases de datos en producción.
44 bases de datos en el entorno de desarrollo.
Un total de 18Gb entre las 85 bases.
La base más grande contiene 10Gb de datos.
Servidor de bases de datos Informix
27 bases de datos.
Un total de 14 Gb entre las 27 bases.
El tamaño de la base más grande es de 2Gb.
Redirectores web (Pound).
Servidor de aplicaciones java (Glassfish).
Servidor de aplicaciones
Servidor proxy de cache (Squid).
Servidor de control de versiones (Subversion).
Sistema de tickets y seguimiento de proyectos (Trac).
Filtro de contenidos web (Dansguardian).
Servidor de correo y webmail (Postfix, dovecto, horde).
Servidores de configuraciones (Puppet).
Servidor de backup (Bacula).
DNS (3servidores).
Dhcp (6 servidores).
Ldap (6 servidores).
Mirror de debian.
etc. En el cluster corren los siguientes servicios: Uso imprescindible de Monitoreo.
Automatización de tareas por medio de scripts.
Uso del svn para guardar las configuraciones.
División en dos ó más entornos de trabajo.
Documentación (tickets, wiki,etc).
Buen manejo de ssh. Consejos para administrar este tipo de infraestructuras. Alta disponibilidad con ganeti? Preguntas? XEN Organizacion de la RED Como funciona XEN XEN Migración de vm Las vm se pueden migrar en caliente entre equipos físicos sin pararlos, la
memoria es copiada iterativamente al
destino sin detener su ejecución.
El tiempo de baja de servicio es de entre
60 y 300ms para realizar la sincronización
final. Windows en XEN Ganeti Características SL para la administración de clústeres de servidores virtuales
Automatización
Escalabilidad

Funciona sobre XEN o KVM
Portabilidad de vm
Abstracción de las herramientas de virtualización

Replicación de datos mediante DRBD
Alta disponibilidad de los datos Características Tolerancia a fallos
Failover de nodo maestro e instancias

Redundancia
Disco
Memoria

Transparencia
Todos los comandos se ejecutan desde el nodo maestro
Auntenticación ssh sin contraseñas

Flexibilidad
Todo integrado en una única interface Ganeti Terminolgía Nodo
Máquina física
XEN Dom0

Instancia
Máquina Virtual
XEN DomU

DRBD
Distributed Replication Block Device
Usado para la replicación de datos

LVM
Logical Volume Group
Usado para administrar los volúmenes de las instancias Ganeti Failover Ganeti Failover Ganeti Failover Ganeti Failover LVM ¿Por qué Ganeti y no solo Xen? Es una vmm, software que crea un entorno virtual entre la plataforma de la computadora y el usuario Que es XEN Virtualizacion soportada en XEN RAID LVM DRBD Virtualización de
servidores con
Ganeti Oradores Leandro D'Angelo
Maximiliano Boscovich
Miguel A. Robledo San Fransisco - Córdoba
Sábado 28 de Agosto de 2010 Futuro de XEN Entre las capacidades mejoradas con la versión 4 se incluyen la memoria, con la introducción de algoritmos como Transcendent Memory y Page Sharing para aumentar su rendimiento. Otros avances son el refuerzo de la tolerancia a fallos mediante el soporte de sincronización transaccional en vivo de estados de máquinas virtuales (VM) entre servidores físicos.

Además, Xen 4.0 aprovecha las funcionalidades de fiabilidad, disponibilidad y operabilidad (RAS) de los nuevos procesadores Intel y AMD, incluye una nueva implementación de disco duro virtual denominada Biktap2 y diseñada para proporcionar snapshots de VM de alto rendimiento, e introduce NetChannel2, tecnología que utiliza NIC con capacidades multicola y SR-IOV para mejorar las capacidades de procesamiento de datos. Por otra parte, esta versión soporta una nueva opción del kernel Linux, PVOps, que permite a los administradores acceder a los dispositivos más recientes.

Con respecto a las directrices seguidas para desarrollar esta nueva versión de Xen, Ian Pratt, fundador y presidente de Xen.org, ha dicho que son la explosión del cloud computing y las crecientes demandas de los clientes empresariales las que guían los continuos avances tecnológicos de la comunidad Xen. Según Pratt, el hipervisor de virtualización Xen se encuentra ya en las mayores clouds del mundo y su base de clientes espera que la comunidad Xen marque el camino en infraestructuras de virtualización. Ganeti según Google En Google, utilizamos Ganeti en el entorno corporaivo interno para facilitar la administración de clúster de servidores virtuales, el aumento de la eficacia de la utilización de HW y ahorro de espacio, energía y refregieración. Ganeti también proporciona la recuperación rápida y simple tras fallos físicos.

Cuando halla granjas de servidores tan grandes como Google, todos los ahorros de costos incrementales sobre el espacio, la energía y el tiempo es enorme.

Rápida recuperación a fallos. A esta altura todo el mundo espera que una empresa como Google no falle, pero es inevitable que la gente comete errores y las máquinas fallan. Es aquí cuando brilla la conmutación por errores de manera rápida y sin "fisuras". Cuando un equipo falla siempre hay una o más máquinas para hacerse cargo de la carga de trabajo. Benchmarks SPEC INT2000: Se utiliza para medir y comparar el rendimiento de de un sistema sobre cargas de trabajo intensivas para el procesamiento de enteros. Miden el rendimiento de procesador y memoria, pero no miden disco, red y gráficos.

Linux Build Time: Mide las cargas de compilación del Kernel de Linux sobre un sistema ext3 con compilador gcc 2.96. Mide operaciones de acceso a disco, memoria y procesamiento.

OSDB (Open Source Database Benchmark): Tiene dos series de análisis IR (Recuperación de Información) y OLTP (Procesos de Transacciones En Línea). Fue hecho sobre una base de datos postgresql y la configuración del producto por defecto. Mide operaciones de acceso a disco en gran proporción.

DBench: Herramienta para generar cargas altas de acceso a disco simulando un sistema servidor de archivos o para una red CIFS o NFS. "

SPEC WEB99: Mide las cargas de un servidor web. La carga de trabajo que se emula es una combinación de operaciones que acceden a contenidos dinámicos, HTTP POST y ejecución de scripts CGI, por lo que la carga no es solo de acceso de lectura a disco, sino se incluyen comportamiento del SO, la red y el servidor web. Soporte para XEN full- vitualizado Tanto Intel como AMD han trabajado en conjunto con el equipo de desarrollo de Xen para dotar a sus procesadores con directivas que permitan la full-virtalización en Xen. Para saber si un procesador soporta estas directivas, podemos mirar si nuestro procesador tiene las flags ‘'vmx' (en el caso de intel) ó ‘svm’ (en el caso de amd), lo que podemos saber revisando el archivo /proc/cpuinfo:

cat /proc/cpuinfo | grep flags

flags: fpu de tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm fdfgfgfg dfdfdfdfdf
Full transcript