network virtualization con opensolaris

Upload: junior-sumosa

Post on 30-May-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Network virtualization con OpenSolaris

    1/39

  • 8/14/2019 Network virtualization con OpenSolaris

    2/39

    OpenSolaris

    Sun y OpenSource

    Agenda

    Proyecto Crossbow

    Demo

    Zones

  • 8/14/2019 Network virtualization con OpenSolaris

    3/39

    Sun -> OpenSource...???

  • 8/14/2019 Network virtualization con OpenSolaris

    4/39

    Raices de Sun en Open Source

    UNIX SVR4

    1980 200620001990

  • 8/14/2019 Network virtualization con OpenSolaris

    5/39

    OpenSolaris

  • 8/14/2019 Network virtualization con OpenSolaris

    6/39

    Licencia CDDL, aprobada por OSI

  • 8/14/2019 Network virtualization con OpenSolaris

    7/39

    Un poco de historia

    Solaris es un sistema operativo UNIX de SunMicrosystems.

    Ampliamente reconocido por su estabilidad

    El cdigo fue liberada en Junio de 2005 bajo lalicencia CDDL como OpenSolaris

    OpenSolaris :: Linux+GNU

    Cdigo disponible enopensolaris.org

  • 8/14/2019 Network virtualization con OpenSolaris

    8/39

    tcp, dhcp, ipsec, nfs, dlpi, dns, ldap, nis, nis+, ppp, ipqos, ip multicast,ip multipathing, ipv4, ipv6, rpc, udp, snmp, sctp,

    packet filtering

    libc, libumem, libsysevent, librt, libnsl, libproc, libsocket, libscf, libw,libkstat, librpcsvc, libxnet, libcurses, libbsm, libnvpair, libsendfile,

    libadm

    Kstat, ifconfig, zoneadm, svcadm, traceroute,ppriv, prctl, mdb, pfexec,lofiadm, lari, ifconfig,fmadm, dispadmin, cputrack, crle, ptree

    10M de Lineas de Cdigo Fuente

    kernel, rctl_action, dtrace_probepool_bind_kmem_enable, zone_enter, chip_t, mutex_exit,ddi_fm_capable, priv_set_t, putnext, lgrp_mem_rename,

    syscall_mstate, vmem_xfree

    Core Operating System

    Sistema de Red

    Libreras del Sistema

    Comandos

  • 8/14/2019 Network virtualization con OpenSolaris

    9/39

    Por qu OpenSolaris?

    Es tecnolgico! ZFS

    Dtrace Zones Compatibilidad binaria

    garantizada .. y mucho ms

  • 8/14/2019 Network virtualization con OpenSolaris

    10/39

    10

    X Window System

    Hardware

    GNOME

    Solaris GNU/Linux

    GNU utilities

    System libraries

    Linux kernel

    POSIX+ extensions

    Mozilla Firefox, Mozilla Thunderbird, OpenOffice.org, ...

    UNIX utilities

    POSIX

    Solaris kernel

  • 8/14/2019 Network virtualization con OpenSolaris

    11/39

    Que puedo hacer en Solaris?

  • 8/14/2019 Network virtualization con OpenSolaris

    12/39

    Compiz + Emerald

  • 8/14/2019 Network virtualization con OpenSolaris

    13/39

    Proyecto crossbow

  • 8/14/2019 Network virtualization con OpenSolaris

    14/39

    Virtualizacin de redes

    Network virtualization se centra en simular una redcompleta, compuesta de software y hardware. Networkvirtualization combina virtualizacin de plataforma yrecursos, y puede ser interna o externa.

    Externa, llevando varias redes a una sola, por ejemploVLANs

    Interna permite armar redes en una caja usandocontainers y virtual NICs con un sistema comoOpenSolaris Crossbow

  • 8/14/2019 Network virtualization con OpenSolaris

    15/39

    Que es Crossbow

    Crossbow provee la construccin de bloquespara la virtualizacin de redes y recursos paravirtualizar el stack completo y NIC's alrededor decualquier servicio (HTTP, HTTPS, FTP, NFS, etc.),

    protocolo o Virtual machine.

    Se compone de 4 elementos: Virtual NICs

    Flow management Soporte de Hardware support para flowprocessing

    Modelo administracin

  • 8/14/2019 Network virtualization con OpenSolaris

    16/39

    VNICs

    Una nica NIC fsica puede ser subdividda enmltiples VNICs, las que pueden ser asignadas adiferentes zones o instancians Xen corriendo enel mismo sistema. VNICs son manejadas usandoel comando dladm.

  • 8/14/2019 Network virtualization con OpenSolaris

    17/39

    Flow Managment

    Crossbow crea el concepto de flow (flujo), implica unaclase de trfico y una poltica de manejo (limite ancho debanda, prioridad, etc.)

    Un flujo puede por ejemplo corresponder a un protocoloparticular, servicio o virtual machine.

    Las squeues que fueron introducidas en Solaris 10, sonextendidas para controlar los recursos utilizados por los

    flujos. Esto se logra reemplazando el procesamiento depaquetes por interrupcin, por un mecanismo de pollingdonde squeue busca paquetes directamente en elhardware

  • 8/14/2019 Network virtualization con OpenSolaris

    18/39

    Soporte Hardware para Flow Processing

    Hard de NICs modernos proveen la capacidad declasificar el trfico en la red segn el contenido delos paquetes, como IP, MAC addresses, puertos

    de protocolos superiores, etc. Esta clasificacinpermite dividir el trfico entrante en distintosdispositivos receptores de llamadas (DMAchannels, FIFOs). stas llamadas son asociadas

    con flujos, que corresponden a servicios omquinas virtuales, controladas por squeues

  • 8/14/2019 Network virtualization con OpenSolaris

    19/39

    Modelo Administracin

    Dladm permite configurar las VNICs de manera

    sencilla y similar que otros dispositivos(create,destroy, modify, show). flowadm(1M) configura losflujos (create, destroy, modify, show). Cada flujoes asociado a una sola VNIC. Cada VNIC tiene

    un solo flujo cuando es creada.

  • 8/14/2019 Network virtualization con OpenSolaris

    20/39

    Crossbow

    Se agregar oficialmente al OpenSolaris en

    Noviembre 2008

    Disponible una imagen ISO para testear enhttp://www.opensolaris.org/os/project/crossbow/

    http://www.opensolaris.org/os/project/crossbow/http://www.opensolaris.org/os/project/crossbow/
  • 8/14/2019 Network virtualization con OpenSolaris

    21/39

    Esquema Crossbow

  • 8/14/2019 Network virtualization con OpenSolaris

    22/39

    Solaris Zones

  • 8/14/2019 Network virtualization con OpenSolaris

    23/39

    Qu son las zonas y los containers?

    Instancias aisladas de Solaris, con un filesystem aislado ocompartido, root propio, identidad propia en la red

    Agrupa un conjunto de procesadores en pool,provee fair-share scheduling

    Un sistema liviano de virtualizacin de Sistemas Operativos

    Zones

    Resource Management

    Containers

    +

    =

  • 8/14/2019 Network virtualization con OpenSolaris

    24/39

    Solaris Containers (Zones)

    Entornos aislados para aplicaciones conuna simple instancia de Solaris

    Cada instancia, un sistema operativo

    separado Aislamiento de name space, seguridad y

    aislamiento de falla

    No requiere hardware dedicado Las aplicaciones no cambian

    Solaris containers son zones agrupadas

    con manejo de recursos

  • 8/14/2019 Network virtualization con OpenSolaris

    25/39

    Las Zones son buenas para...

    Permitir a estudianes o inexpertos tener su propioentorno UNIX para poder practicar (incluyendoroot access...)

    Crear sandboxes de desarrollo para construir einstalar

    Probar nuevos entornos para nuevas aplicaciones

    Compartir recursos con un equipo de trabajo

    Consolidar muchos servidores en uno solo, enforma segura

    VIRTUALIZAR REDES COMPLEJAS, EN UN SOLOEQUIPO

  • 8/14/2019 Network virtualization con OpenSolaris

    26/39

    Zones: algunos detalles... Default global zone

    Sparse-rootor Whole-root filesystem

    Zones requieren 85 MB de disco(sparse-root) y 40 MB dememoria adicional, < 1% performance hit (ver

    www.sap.com/benchmarks)

    En teora > 8000 zones permitidas*

    No necesitan rebooteos globales

    Cada zone puede tener su propio IP Cada zone tiene su propio root

    Zones pueden tener copia local de directorios

    Zones pueden proveer servicios HTTP, ssh, NIS, sendmail

  • 8/14/2019 Network virtualization con OpenSolaris

    27/39

    BrandZ, correr Linux en Solaris

    Las BrandZ zones permiten correr binarios Linuxsin modificarlos dentro de Solaris. Esto permite aSolaris, ser un container para aplicaciones Linux

    The lx brand no es una distribucin Linux y nocontiene software Linux. BrandZ permite elsoftware de user-level de Linux correr en unamquina con Solaris, incluyendo las herramientas

    necesarias para instalar the tools necessary toinstall a CentOS or Red Hat Enterprise Linuxdistribution inside a zone on a Solaris system.

  • 8/14/2019 Network virtualization con OpenSolaris

    28/39

    Solaris Containers (www.sap.com/benchmarks)

    4700/4780 = 0,983263598 menos de 1,7% de overhead!!

    El unico otro particionamiento auditado en SAP es la LPAR de un IBM p670 pero

    nunca auditaron la opcion sin particion...

  • 8/14/2019 Network virtualization con OpenSolaris

    29/39

    Solaris Zones: CLI

    % poolcfg Crea processor sets y resource pools

    % pooladm Instancia configuracin de recursos

    % priocntl Cambia el scheduling para procesadores

    % zonecfg Crea y configura zonas

    % zoneadm Instala y bootea zonas

    % zlogin Login en zonas

  • 8/14/2019 Network virtualization con OpenSolaris

    30/39

    Solaris Zones/Containers Demo

    Ultra 20, AMD Single-Core Opteron, Solaris 10 x86

    Global Zone1 Processor Share192.168.1.128

    Web Zone3 ProcessorShares192.168.1.150

    Software Zone2 ProcessorShares192.168.1.151

    /usr, /platform, /sbin, /lib (r/o) (r/o)

    /etc, /var /etc, /var (r/w) /etc, /var (r/w)

    /usr/local /usr/local (r/w)

    /cdrom /cdrom

    (resource management becomes much more fun on multi-processor machines)

  • 8/14/2019 Network virtualization con OpenSolaris

    31/39

    Demo

  • 8/14/2019 Network virtualization con OpenSolaris

    32/39

    Configurando VNIC's

    Listar Links en el sistema# dladm show-link

    LINK CLASS MTU STATE OVER

    e1000g0 phys 1500 up --

    Crear una VNIC# dladm create-vnic -d e1000g0 a1:Listar VNIC:# dladm show-vnic

  • 8/14/2019 Network virtualization con OpenSolaris

    33/39

    Configurar una Zone con VNIC

    # zonecfg -z a1-zone

    a1-zone: No such zone configured

    Use 'create' to begin configuring a new zone.

    zonecfg:a1-zone> create

    zonecfg:a1-zone> set zonepath=/export/a1-zone

    zonecfg:a1-zone> set autoboot=false

  • 8/14/2019 Network virtualization con OpenSolaris

    34/39

    Configurar una Zone con VNIC

    zonecfg:a1-zone> set ip-type=exclusive

    zonecfg:a1-zone> add net

    zonecfg:a1-zone:net> set phys ical=a1

    zonecfg:a1-zone:net> end

    zonecfg:a1-zone> verify

    zonecfg:a1-zone> commit

    zonecfg:a1-zone> exit

    # zoneadm -z a1-zone install

    Preparing to install zone .

  • 8/14/2019 Network virtualization con OpenSolaris

    35/39

    Manejo de flows

    Creacin de flujo para favorecer trfico https:# flowadm add-flow -l e1000g0 -atransport=TCP,local_port=443 https-1

    Ver reglas vigentes

    # flowadm show-flow https-1

    Algunas propiedades para administrar:

    priority

    maxBWminBW

    cpus

    fanout

  • 8/14/2019 Network virtualization con OpenSolaris

    36/39

    Virtualizar una red

  • 8/14/2019 Network virtualization con OpenSolaris

    37/39

    Virtualizar una red

  • 8/14/2019 Network virtualization con OpenSolaris

    38/39

    Fast Track Your Career with FreeTraining from Sun

    Entrenamiento Web disponible: Java Solaris 10

    Java Enterprise System XML, Perl y mas

    http://learningconnection.sun.com

  • 8/14/2019 Network virtualization con OpenSolaris

    39/39

    USE IMPROVE EVANGELIZE

    Ezequiel Singer

    [email protected]

    http://blogs.sun.com/argentina_ambassador

    Sun Campus Ambassador

    Network virtualizationcon OpenSolaris

    mailto:[email protected]://blogs.sun.com/argentina_ambassadorhttp://blogs.sun.com/argentina_ambassadormailto:[email protected]