virtualización dentro de los centros de cómputosmaterias.fi.uba.ar/7508/teoria-2015/virtualizacion...

8
Virtualización dentro de los Centros de cómputos

Upload: others

Post on 02-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Virtualizacióndentro de los

Centros de cómputos

Page 2: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Agenda

● Virtualización de cómputo: tipos● Cluster típico vSphere● Capas● Virtualización de cómputo● Virtualización de storage● Virtualización de redes

Page 3: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Virtualización de cómputo: tipos

Propia del SO (Solaris containers)

● Ventajas:● Livianas● Algún aislamiento (mismo kernel

contextualizado)● Alguna gestión de recursos● Velocidad de despliegue

Desventajas:● Dificil manejo del ciclo de vida● Todos los huevos en la misma

canasta● No escalable

Total (vSphere)

Ventajas:● Aislamiento total (kernels independientes)● Gestión total de recursos● HA y LB● Velocidad de despliegue● Ciclo de vida mas simple● Escalable

Desventajas:● Pesadas● Infraestructura compleja● Mas costoso

Con el crecimiento exponencial en la potencia de las máquinas, se comenzó a gestionar el concepto de densidad: incrementar las cargas por unidad de procesamiento y en este concepto la virtualización por contextos fue también protagonista. Si bien esto permite mejorar la eficiencia, también dificulta el ciclo de vida de la infraestructura, ya que múltiples cargas sobre pocas máquinas hace que, por ejemplo, obtener una ventana de mantenimiento sea muy complejo. La virtualización dio entonces un paso adelante, y logró que mediante el uso de clusters y portabilidad de VM's, se desacoplen las capas de infraestructura y servicios, logrando así una simplificación enorme en la gestión del ciclo de vida.

Hoy en día, sin embargo, hay una especie de “vuelta atrás” hacia la virtualización por contextos, pero en este caso, es debido a que las aplicaciones fueron ganando funcionalidades de alta disponibliidad y balanceo de cargas, y es entonces que el desacople se alcanza también, pero una capa mas arriba que en la virtualización por hipervisores. Sin embargo, es importante aclarar que este escenario es posible verlo solamente en empresas muy particulares: de gran tamaño y en general, cuyos ingresos suelen estar constituídos por productos de IT.

Referencias:http://www.oracle.com/technetwork/server-storage/solaris/containers-169727.htmlhttp://en.wikipedia.org/wiki/Solaris_Containers

Page 4: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Caso típico: cluster vSphere

Storage

SAN1 SAN2

LAN LAN

Mundo exterior

Hipervisores

Almacenamiento

Networking

En las organizaciones de mediano y gran tamaño, es muy común hoy día encontrarse con clusters de virtualización con un diagrama básico como el que se ve en la figura: constituídos indefectiblemente, por una capa de almacenamiento (storage) compartido, una de cómputo (Hipervisores) y otra de comunicaciones (networking). Si bien naturalmente cuándo uno piensa en cluster, lo primero que le viene a la mente son los servidores, la realidad es que tanto la capa de almacenamiento, como la de networking son componentes indispensables de los mismos. Analicemos a continuación, las principales funciones de cada una, considerando siempre que la premisa fundamental de todo cluster es que los nodos miembros del mismo compartan cargas y presenten un comportamiento coordinado y colaborativo.

Page 5: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Capa Hipervisores

Hipervisores

Red interna

VirtualMachines

● Alta disponibilidad: independiente del SO guest.

● Balanceo de carga automático.● Mantenimiento en caliente.● Optimización de los recursos: N+1,

evitamos solapamientos de cargas.● Redundancia por defecto para todas

las cargas● Manejo de recursos “en bolsa”.● Capacity planning simplficado.● Mayor escalabilidad

Esta es la mas obvia de las capas, es la que ejecuta las cargas pero al mismo tiempo, gestiona la lógica del cluster y su sincronismo.

Dentro de los clusters solemos encontrar dos funciones bien definidas: aquellas que son propias del servicio que el cluster brinda (ejecución de cargas), en este caso la virtualización de máquinas, y las funciones que permiten que el cluster tenga un comportamiento ordenado que permita que los miembros del mismo trabajen en forma coordinada y colaborativa (sincronismo, mensajería, balanceo de carga, etc).

Referencias:http://pubs.vmware.com/vsphere-55/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-55-availability-guide.pdf

Page 6: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Storage: virtual por definición

Tier 2:SATA

Tier 0:SSD

Tier 1:SAS

Tie

ring

ControladoraBackend

ControladoraBackend

ControladoraFrontend

ControladoraFrontend

SAN1

SAN2

LUNCache

LUN

ClusterFS

Desde el punto de vista de los clusters, si o si, debemos contar con un almacenamiento compartido de alguna manera (SAN, NAS o filesystems distribuidos), ya que no existiría forma sino, de que los datos persistidos por las cargas, sean accedidos por todos los miembros del cluste. Imaginemos como ejemplo, un escenario de falla: si los datos no son accesibles por todos los miembros de un cluster en forma compartida, ¿como haría un nodo para ejecutar la VM de otro hipervisor que haya fallado? Por otra parte, los discos suelen ser utilizados como quorum para desempatar escenarios de incomunicación (“split brain”): si tenemos un cluster de dos nodos y se corta la comunicación entre ellos (falla de red internodos) ¿como determinan ellos si el problema es propio o ajeno (del otro nodo)?

Si hacemos foco en los storage, veremos que ellos siempre manejan conceptos de virtualización: una LUN, que para el servidor es un “disco”, no es mas que una lista de bloques disponibles para que el servidor (o servidores) interactúe con ella. Puertas adentro del storage, esa lista de bloques se mapea contra páginas que suelen estar desaparramadas en un pool, compuesto a su vez por parity groups (arreglos RAID).

Lo que se conoce como tiering, va un paso mas allá y su función es la de monitorear que cantidad de accesos tienen esas páginas, para migrarlas en forma transparente y dinámica dentro del storage, llevando a los discos mas rápidos aquellas páginas mas utilizadas, y a los discos lentos a los que no lo son.

Referencia:http://en.wikipedia.org/wiki/Logical_unit_numberhttp://www.hds.com/assets/pdf/hitachi-tiered-storage-options-design-guide.pdf

Page 7: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Storage 2: Virtual2

CBE

CBE

CFE

CFE

Cache

CBE

CBE

CFE

CFE

Cache

CBE

CBE

CFE

CFE

Cache

ControladoraFrontend

ControladoraFrontend

Cache

SAN1

SAN2

LUN“Portable”

ClusterFS

LUN

Hace varios años, en el mundo del storage, existe una tecnología llamada también “virtualización”, que no es mas que la posibilidad de armar una estructura jerárquica de storage, con la finalidad de tener una gestión centralizada de la capacidad de los mismos,esto nos permite, por ejemplo realizar migraciones en caliente de LUNs (“discos”) entre diferentes equipos.

Nuevamente el objetivo es desacoplar las cargas de la infraestructura que las soportan.

Referencias:http://www.snia.org/sites/default/files/sniavirt.pdf

Page 8: Virtualización dentro de los Centros de cómputosmaterias.fi.uba.ar/7508/Teoria-2015/Virtualizacion en los...Virtualización de cómputo: tipos Propia del SO (Solaris containers)

Networking virtual: haciendo pie

● VLAN: primer aproximación● VxLAN: extendiendo desde 4096

(VLAN) a 16MM de redes lógicas virtuales.

● SDN: Vmware NSX● SDN 2.0: NVF o Cisco ACI

A B

SW Leaf SW Leaf

SW Spine

BD endpoints

Header + Data

Header 2 + Data

Header 2 + Data

Header 2 + Data

Header + Data

rew

rite

rew

rite

Uno de los primeros conceptos de virtualización que aparecieron en networking fue el de VLAN, donde los paquetes se marcaban con un ID (Tag) con un máximo de 4096, que indicaba a que “red virtual” pertenecía el mismo. Así, por un mismo puerto, se podían hacer circular múltiples redes virtuales con sus propios dominios de broadcast.

Con el correr del tiempo, y sobretodo en grandes corporaciones, se encontró que la cantidad de VLANs y su mecánica eran insuficientes, por lo que apareció el concepto de VxLAN, que busca ampliar esa funcionalidad, basándose en el uso de túneles y alcanzando los 16MM de unidades.

Está comenzando a avanzar dentro de los datacenter lo que se conoce como Software Defined Network, que transforma una red de diversos equipos activos trabajando en forma independiente (routers, switches, etc), en un único “servicio de transporte de datos”, gestionado por un controlador central. Se apoyan en el encapsulamiento (VxLAN, por ejemplo) y en la virtualización de funciones de red como firewalls, load balancers, etc.

Referencias:http://www.cisco.com/c/en/us/solutions/data-center-virtualization/application-centric-infrastructure/index.htmlhttp://www.cisco.com/c/dam/en/us/products/collateral/cloud-systems-management/aci-fabric-controller/at-a-glance-c45-729864.pdfhttp://en.wikipedia.org/wiki/Network_functions_virtualizationhttp://www.vmware.com/latam/products/nsxhttps://www.rfc-editor.org/rfc/pdfrfc/rfc7348.txt.pdfhttp://es.wikipedia.org/wiki/VLAN