Está en la página 1de 39

Network virtualization

con OpenSolaris

USE IMPROVE EVANGELIZE

Ezequiel Singer
Sun Campus Ambassador Argentina

http://blogs.sun.com/argentina_ambassador
ezequiel.singer@sun.com
Agenda

Sun y OpenSource

OpenSolaris

Proyecto Crossbow

Zones

Demo
Sun -> OpenSource...???
Raices de Sun en Open Source

UNIX SVR4

1980 1990 2000 2006


OpenSolaris
Licencia CDDL, aprobada por OSI
Un poco de historia
● Solaris es un sistema operativo UNIX de Sun
Microsystems.
● Ampliamente reconocido por su estabilidad
● El código fue liberada en Junio de 2005 bajo la
licencia CDDL como OpenSolaris
● OpenSolaris :: Linux+GNU
● Código disponible en opensolaris.org
10M de Lineas de Código Fuente
kernel, rctl_action, dtrace_probe
”Core Operating
pool_bind_kmem_enable, zone_enter, System”
chip_t, mutex_exit,
ddi_fm_capable, priv_set_t, putnext, lgrp_mem_rename,
syscall_mstate, vmem_xfree
tcp, dhcp, ipsec, nfs, dlpi, dns, ldap, nis, nis+, ppp, ipqos, ip multicast,
Sistema
ip multipathing, ipv4, ipv6,de Red
rpc, udp, snmp, sctp,
packet filtering
libc, libumem, libsysevent, librt, libnsl, libproc, libsocket, libscf, libw,
Librerías
libkstat, librpcsvc, libxnet, libcurses,del
libbsm,Sistema
libnvpair, libsendfile,
libadm
Kstat, ifconfig, zoneadm, svcadm, traceroute,ppriv, prctl, mdb, pfexec,
Comandos
lofiadm, lari, ifconfig,fmadm, dispadmin, cputrack, crle, ptree
¿Por qué OpenSolaris?

● Es tecnológico!
● ZFS
● Dtrace
● Zones
● Compatibilidad binaria
garantizada
● .. y mucho más
Solaris ≅ GNU/Linux

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

GNOME

X Window System

GNU utilities UNIX utilities

POSIX+ extensions System libraries POSIX

Linux kernel Solaris kernel

Hardware 10
Que puedo hacer en Solaris?
Compiz + Emerald
Proyecto crossbow
Virtualización de redes
●Network virtualization se centra en simular una red
completa, compuesta de software y hardware. Network
virtualization combina virtualización de plataforma y
recursos, y puede ser interna o externa.

●Externa, llevando varias redes a una sola, por ejemplo


VLANs
●Interna permite armar redes en una caja usando
containers y virtual NICs con un sistema como
OpenSolaris Crossbow
Que es Crossbow
●Crossbow provee la construcción de bloques
para la virtualización de redes y recursos para
virtualizar el stack completo y NIC's alrededor de
cualquier servicio (HTTP, HTTPS, FTP, NFS, etc.),
protocolo o Virtual machine.

Se compone de 4 elementos:

● Virtual NICs

● Flow management

● Soporte de Hardware support para flow


processing
● Modelo administración
VNICs

Una única NIC física puede ser subdividda en


múltiples VNICs, las que pueden ser asignadas a
diferentes zones o instancians Xen corriendo en
el mismo sistema. VNICs son manejadas usando
el comando dladm.
Flow Managment
Crossbow crea el concepto de flow (flujo), implica una
clase de tráfico y una política de manejo (limite ancho de
banda, prioridad, etc.)

Un flujo puede por ejemplo corresponder a un protocolo


particular, servicio o virtual machine.

Las squeues que fueron introducidas en Solaris 10, son


extendidas para controlar los recursos utilizados por los
flujos. Esto se logra reemplazando el procesamiento de
paquetes por interrupción, por un mecanismo de polling
donde squeue busca paquetes directamente en el
hardware
Soporte Hardware para Flow Processing

Hard de NICs modernos proveen la capacidad de


clasificar el tráfico en la red según el contenido de
los paquetes, como IP, MAC addresses, puertos
de protocolos superiores, etc. Esta clasificación
permite dividir el tráfico entrante en distintos
dispositivos receptores de llamadas (DMA
channels, FIFOs). Éstas llamadas son asociadas
con flujos, que corresponden a servicios o
máquinas virtuales, controladas por squeues
Modelo Administración

Dladm permite configurar las VNICs de manera


sencilla y similar que otros dispositivos(create,
destroy, modify, show). flowadm(1M) configura los
flujos (create, destroy, modify, show). Cada flujo
es asociado a una sola VNIC. Cada VNIC tiene
un solo flujo cuando es creada.
Crossbow

Se agregará oficialmente al OpenSolaris en


Noviembre 2008

Disponible una imagen ISO para testear en


http://www.opensolaris.org/os/project/crossbow/
Esquema Crossbow
Solaris Zones
¿Qué son las zonas y los containers?
Zones
Instancias aisladas de Solaris, con un filesystem aislado o
compartido, root propio, identidad propia en la red

+
Resource Management
Agrupa un conjunto de procesadores en pool,
provee “fair-share scheduling”

=
Containers

Un sistema liviano de virtualización de Sistemas Operativos


Solaris Containers (Zones)
● Entornos aislados para aplicaciones con
una 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
Las Zones son buenas para...
● Permitir a estudianes o inexpertos tener su propio
entorno UNIX para poder practicar (incluyendo
root access...)
● Crear “sandboxes” de desarrollo para construir e
instalar
● Probar nuevos entornos para nuevas aplicaciones
● Compartir recursos con un equipo de trabajo
● Consolidar muchos servidores en uno solo, en
forma segura
● VIRTUALIZAR REDES COMPLEJAS, EN UN SOLO
EQUIPO
Zones: algunos detalles...
● Default global zone
● Sparse-root or Whole-root filesystem
● Zones requieren 85 MB de disco(sparse-root) y 40 MB de
memoria adicional, < 1% performance hit (ver
www.sap.com/benchmarks)
● En teoría > 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
BrandZ, correr Linux en Solaris
● Las BrandZ zones permiten correr binarios Linux
sin modificarlos dentro de Solaris. Esto permite a
Solaris, ser un container para aplicaciones Linux
● The lx brand no es una distribución Linux y no
contiene software Linux. BrandZ permite el
software de user-level de Linux correr en una
máquina con Solaris, incluyendo las herramientas
necesarias para instalar the tools necessary to
install a CentOS or Red Hat Enterprise Linux
distribution inside a zone on a Solaris system.
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...
Solaris Zones: CLI
% poolcfg – Crea processor sets y resource pools
% pooladm – Instancia configuración de recursos
% priocntl – Cambia el scheduling para procesadores

% zonecfg – Crea y configura zonas


% zoneadm – Instala y bootea zonas
% zlogin – Login en zonas
Solaris Zones/Containers Demo
Global Zone Web Zone Software Zone
1 Processor Share 3 Processor 2 Processor
192.168.1.128 Shares Shares
192.168.1.150 192.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

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

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


Demo
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
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
Configurar una Zone con VNIC
zonecfg :a1-zone> s et ip-type=exclus ive
zonecfg:a1-zone> add net
zonecfg :a1-zone:net> s et 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 <a1-zone>.
Manejo de flows
Creación de flujo para favorecer tráfico https:
# flowadm add-flow -l e1000g0 -a
transport=TCP,local_port=443 https-1
Ver reglas vigentes
# flowadm show-flow https-1
Algunas propiedades para administrar:
priority
maxBW
minBW
cpus
fanout
Virtualizar una red
Virtualizar una red
Fast Track Your Career with Free
Training from Sun

Entrenamiento Web disponible:


● Java

● Solaris 10

● Java Enterprise System

● XML, Perl y mas

http://learningconnection.sun.com
Network virtualization
con OpenSolaris
USE IMPROVE EVANGELIZE

Ezequiel Singer

ezequiel.singer@sun.com
http://blogs.sun.com/argentina_ambassador

Sun Campus Ambassador

También podría gustarte