1. USE IMPROVE EVANGELIZE
Almacenamiento en OpenSolaris
Víctor M. Fernández Gómez
Comunidad OpenSolaris Hispano
vfernandezg@gmail.com
http://vfernandezg.blogspot.com
2. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
2
3. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
3
4. USE IMPROVE EVANGELIZE
Un poco de historia
OpenSolaris nace en Junio de 2005
●
TM
● Base de desarrollo de Solaris 11 (Nevada)
● Licencia CDDL de código abierto aprobada
por la OSI (Open Source Initiative)
● Creación del portal opensolaris.org
(proyectos: http://www.opensolaris.org/os/projects
comunidades: http://www.opensolaris.org/os/communities)
Creación de grupos de usuarios locales
●
● La innovación y el conocimiento están en
marcha
4
5. USE IMPROVE EVANGELIZE
Un poco de historia - Licencia CDDL
5
6. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
6
7. USE IMPROVE EVANGELIZE
Que es OpenSolaris?
Proyecto de código abierto patrocinado
●
inicialmente por Sun Microsystems
Esfuerzo por unir a las comunidades de
●
desarrolladores de cualquier organización de
tipo Open Source
Cualquiera puede contribuir en el código de
●
OpenSolaris y mejorar la tecnología de las
distribuciones -> OpenGrok
7
9. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
9
10. USE IMPROVE EVANGELIZE
Distribuciones Binarias
TM
Solaris 10
●
● SXCE Build 86 (Hypervisor xVM <- Xen)
Solaris Express Community Edition
● SXDE 1/08
(xVM, SAMP, CIFS + NetBeans 6, Sun Studio 12 y D-Light)
Solaris Express Developer Edition
● Nexenta
(Solaris kernel + Entorno usuario / paquetes estilo Ubuntu)
Polaris (PowerPC)
●
● Belenix, SchilliX y Damm Small (Live CD)
● marTux (Live DVD - Sparc)
10
11. USE IMPROVE EVANGELIZE
Distribuciones Binarias
11
12. USE IMPROVE EVANGELIZE
Distribuciones Binarias - Indiana
Producto final de usuario
●
● Binario compilado por la comunidad
● Live CD/DVD, con posibilidad de instalación
● Actualización via repositorios online
● Nuevo instalador gráfico (Caiman)
● Sistema de paquetes al estilo apt
(IPS: Image Packaging System)
● Distribution Constructor Toolkit
(Contruye tu propia distribucion)
● 100% redistribuíble... GPLv3?
12
13. USE IMPROVE EVANGELIZE
Distribuciones Binarias - Caiman
13
14. USE IMPROVE EVANGELIZE
Distribuciones Binarias - GNOME
14
15. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
15
16. USE IMPROVE EVANGELIZE
Negocio (Procesos)
ALMACENAMIENTO
16
17. USE IMPROVE EVANGELIZE
Tecnología (Soluciones)
Solaris Volume Manager (SVM): Solución
●
fácil, sencilla y rápida de gestión de discos
● Zettabyte Filesystem (ZFS): Engloba tanto la
gestión de discos como de sistemas de ficheros.
● Network Attached Storage (NAS): Solución
histórica de compartición de recursos por red
● Storage Area Network (SAN): Funcionalidad
de single/multi-path de acceso a discos remotos
● Availability Suite (AVS): Replicación de
discos locales entre distintos sistemas por red
17
18. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
18
19. USE IMPROVE EVANGELIZE
Solaris Volume Manager (SVM)
Herramienta de gestión de discos, en base a
●
metadispositivos de particiones (hard y soft)
● 100% compatible con Unix Filesystem (UFS)
● 100% compatible con Snapshots y Logging
TM
(Funcionalidad introducida en Solaris 8)
● Actualmente no necesaria compatibilidad con
metadispositivos de tipo “trans”
● Compatible con proyecto OpenHA Cluster, en
base a grupos de discos compartidos “disksets”
● Tolerancia a fallos: RAID 0 (Concat / Stripe),
RAID 1 (Mirror) y RAID 5 (Parity) 19
20. USE IMPROVE EVANGELIZE
Solaris Volume Manager - Concat
Concatenación secuencial de >2 particiones
●
formando un metadispositivo resultado de la
suma del tamaño de todas ellas:
1- RAID 0 => Concat
20
21. USE IMPROVE EVANGELIZE
Solaris Volume Manager - Stripe
Paralelización no secuencial y con acceso
●
simultaneo de >2 particiones de = tamaño
(la diferencia se pierde), formando como
resultado un metadispositivo cuyo tamaño
consiste en la suma de todas ellas:
2- RAID 0 => Stripe
21
22. USE IMPROVE EVANGELIZE
Solaris Volume Manager - Mirror
Metadispositivo no secuencial y de acceso
●
simultaneo de sólo 2 particiones del mismo
tamaño (la
diferencia se
pierde). Espejo
de datos:
Perdida 1/2
3- RAID 1 => Mirror 22
23. USE IMPROVE EVANGELIZE
Solaris Volume Manager - Parity
Paralelización no secuencial y con acceso
●
simultaneo de >3 particiones de = tamaño
(la diferencia se pierde). El metadispositivo
resultante distribuye la tolerancia a fallos en
bandas de paridad: Perdida 1/3
4- RAID 5 => Parity
23
24. USE IMPROVE EVANGELIZE
Solaris Volume Manager - Spare
En cualquiera de las diferentes opciones de
●
tolerancia a fallos o RAID anteriores, SVM
permite la asignacion de metadispositivos de
tipo hot spare. Estos permaneceran offline a
la espera de fallo de uno de que este activo
24
25. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
25
26. USE IMPROVE EVANGELIZE
ZettaByte File System (ZFS)
Sistema de ficheros + Gestión de discos
●
● Limite de 256 cuatrillones de zettabytes
● Tolerancia a fallos (RAID 0, 1 y Z)
● Snapshots y clones por filesystem
● Cuotas, ACLs, compresión y soporte NFS
● Compatible con proyecto OpenHA Cluster
(sistema de ficheros local)
● Administracion delegada por filesystem
● Diferentes niveles de proteccion de datos
● Encriptacion por filesystem (pronto...)
26
27. USE IMPROVE EVANGELIZE
ZettaByte File System - Pool I
Almacen de discos en el cual se define el
●
nivel de tolerancia a fallos:
1- RAID 0 => Stripe
27
28. USE IMPROVE EVANGELIZE
ZettaByte File System - Pool II
2- RAID 1 => Mirror
●
Podemos definir discos a la espera (spare)
28
29. USE IMPROVE EVANGELIZE
ZettaByte File System - Pool III
3- RAID Z => Parity
●
RAID 5 sincrono en escritura y distribución.
29
30. USE IMPROVE EVANGELIZE
ZettaByte File System - Pool IV
4- RAID Z2 => Parity2
●
RAID 5 sincrono en escritura y distribución.
30
31. USE IMPROVE EVANGELIZE
ZettaByte File System - Pool V
Una característica necesaria de cualquier
●
sistema de ficheros es la comprobación de la
integridad de datos, en este caso del pool
31
32. USE IMPROVE EVANGELIZE
ZettaByte File System - Filesystem I
En la definición del filesystem podemos
●
indicar su cuota, su reserva e indicar la
caracteristica de compresión (lzjb)
32
33. USE IMPROVE EVANGELIZE
ZettaByte File System - Filesystem II
Ademas podemos definir si el montaje es
●
automatico o manual, siendo necesario
indicarlo en el arranque (/etc/vfstab)
33
34. USE IMPROVE EVANGELIZE
ZettaByte File System - Snapshot
Volcado en tiempo real del contenido de un
●
filesystem, como imagen
34
35. USE IMPROVE EVANGELIZE
ZettaByte File System - Clon
Copia de la imagen resultante del snapshot
●
que podemos tratar como un filesystem
35
36. USE IMPROVE EVANGELIZE
ZettaByte File System - Backup
Realización del backup de un filesystem
●
enviando el resultado de su snapshot a un
fichero resultante o a un dispositivo de
bloques (ej. unidad de cinta). El contenido del
mismo puede ser total o incremental entre
dos imagenes diferentes en el tiempo
36
37. USE IMPROVE EVANGELIZE
ZettaByte File System - Restore
●
37
38. USE IMPROVE EVANGELIZE
ZettaByte File System - Export
ZFS incorpora la posibilidad de realizar
●
migraciones de los pool creados. Una vez
realizada la exportación (export), podemos
coger fisicamente los discos y llevarnoslos a
otro sistema en el cual realizaremos la
importación (import)
38
39. USE IMPROVE EVANGELIZE
ZettaByte File System - Import
●
39
40. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
40
41. USE IMPROVE EVANGELIZE
Network Attached Storage (NAS)
Exportación de recursos (directorios) por red
●
● Recursos de discos locales o remotos
● NFS (Network Filesystem)
● CIFS (Common Internet Filesystem)
● Protocolos antiguos y poco seguros
● Solución => iSCSI
● Exportación de dispositivos de
bloques (/dev/...)
● Autenticación uni/bi-direccional
(CHAP)
41
42. USE IMPROVE EVANGELIZE
Network Attached Storage - iSCSI
1- Modo Servidor: iSCSI Initiator
●
Permite exportar uno o/y varios filesystems,
resultado de la creación de un pool ZFS (en
este caso de tipo stripe). Se genera un target
asociado, que es lo que veran los clientes
# zpool create stripe c0d1 c1d1 c2t0d0
# zfs create -V 1g stripe/iscsivol01
# zfs set shareiscsi=on stripe/iscsivol01
# iscsitadm create target -b
/dev/zvol/dsk/stripe/iscsivol01 tigger-tgt1
42
...
44. USE IMPROVE EVANGELIZE
Network Attached Storage - iSCSI
2- Modo Cliente: iSCSI Target
●
# iscsiadm add discovery-address IP:3260
# iscsiadm modify discovery --sendtargets
enable
# devfsadm -v -i iscsi
# format
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <Seagate Medalist 34342A cyl 8892 alt 2 hd 15 sec 63>
/pci@1f,0/pci@1,1/ide@3/dad@0,0
1. c1t2d0 <IET-VIRTUAL-DISK-0 cyl 126 alt 2 hd 64 sec 256>
/iscsi/disk@0000iqn.2006-06.com.alegrome%3Astorage.lvm0001,0
...
44
45. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
45
46. USE IMPROVE EVANGELIZE
Storage Area Network (SAN)
Servidores como cabinas de discos remotas
●
2
(EMC , IBM, HP, Fujitsu, Sun Microsystems...)
● RAID (1, 5) a nivel hardware en las cabinas
● Zonning de sistemas en base a FCP
● Tarjetas PCI de tipo HBA en los clientes
(Emulex, Qlogic, JNI...)
● RAID (0: Concat/Stripe) en los sistemas
● Singlepath ó Multipath (1/2 puertos: HBA)
Tolerancia a fallos + Alta disponibilidad
● Alta velocidad (medio fisico fibra: Switches)
46
47. USE IMPROVE EVANGELIZE
Storage Area Network (SAN)
●
47
48. USE IMPROVE EVANGELIZE
Storage Area Network (SAN)
●
48
49. USE IMPROVE EVANGELIZE
Storage Area Network - MPxIO
Componente a nivel de Kernel incorporado
●
TM
en las ultimas releases de Solaris 8
● Depurado y evolucionado bajo el proyecto
OpenSolaris
● Ya no es necesario el software adicional de
los fabricantes de las cabinas (clientes SAN)
● Ya no es necesario el VxVM con el módulo
DMP (Dinamyc MultiPathing) activado
● A diferencia de otros, no es un proceso
● Aumenta el rendimiento, disminuye el coste
49
50. USE IMPROVE EVANGELIZE
Storage Area Network - MPxIO
Una vez configurada la cabina (HP HSV210),
●
instaladas las tarjetas HBA, configuramos este
componente:
# pkgadd -d SUNWemlxs SUNWemlxu
(Tarjetas HBA de tipo Emulex)
# init 6
# format ... -> Se tienen que ver los discos
# luxadm -e port
/devices/pci@82,4000/lpfc@3/fp@0,0:devctl CONNECTED
/devices/pci@82,4000/lpfc@4/fp@0,0:devctl CONNECTED
50
51. USE IMPROVE EVANGELIZE
Storage Area Network - MPxIO
# vi /kernel/drv/fp.conf
mpxio-disable=quot;yesquot;
name=quot;fpquot; parent=/pci@82,4000/lpfc@3 port=0 mpxio-disable=quot;noquot;;
name=quot;fpquot; parent=quot;/pci@82,4000/lpfc@4quot; port=0 mpxio-disable=quot;noquot;
# vi /kernel/drv/scsi_vhci.conf
device-type-scsi-options-list =quot;HP HSV210quot;, quot;symmetric-optionquot;;
symmetric-option = 0x1000000;
# init 6
# format ...
6. c7t600508B4001064A30000500001A10000d0
25GBx2 /scsi_vhci/ssd@g600508b4001064a30000500001a10000
7. c7t600508B4001064A30000500001A40000d0
10GBx5 /scsi_vhci/ssd@g600508b4001064a30000500001a40000
51
52. USE IMPROVE EVANGELIZE
Storage Area Network - MPxIO
Comprobación (Multipath -> 4 LUNs)
●
# luxadm -v display
/dev/rdsk/c7t600508B4001064A30000500001A10000d0s2
Host controller port WWN 10000000c955ae84 Class secondary State ONLINE
Controller /devices/pci@82,4000/lpfc@3/fp@0,0 Device Address
50001fe150072d5c,2
Host controller port WWN 10000000c955af48 Class primary State ONLINE
Controller /devices/pci@82,4000/lpfc@4/fp@0,0 Device Address
50001fe150072d5d,2
Host controller port WWN 10000000c955ae84 Class primary State ONLINE
Controller /devices/pci@82,4000/lpfc@3/fp@0,0 Device Address
50001fe150072d58,2
Host controller port WWN 10000000c955af48 Class secondary State ONLINE
Controller /devices/pci@82,4000/lpfc@4/fp@0,0 Device Address
52
50001fe150072d58,2
53. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
53
54. USE IMPROVE EVANGELIZE
Availability Suite (AVS)
Antiguo software cerrado y propietario
●
realizado por StorageTek
● Liberado tras la adquisición de la compañía
por parte de Sun Microsystems
● Funciona con dispositivos de bloques
(metadispositivos, volumenes, particiones...)
● Mecanismos de funcionamiento:
1- Point in Time Copy de forma planificada
2 - Remote Mirror Copy en tiempo real
● Copia local (1) y replicación TCP/IP (2)
54
55. USE IMPROVE EVANGELIZE
Availability Suite (AVS)
●
55
56. USE IMPROVE EVANGELIZE
Agenda
Un poco de historia
●
● Qué es OpenSolaris?
● Distribuciones Binarias
● Almacenamiento
Negocio - Tecnología
−
Solaris Volume Manager (SVM)
−
Zettabyte Filesystem (ZFS)
−
iSCSI (NAS)
−
MpxIO (SAN)
−
Availability Suite (AVS)
−
Recursos e información
●
56
57. USE IMPROVE EVANGELIZE
Recursos e información - ¡ Unete !
Portal internacional opensolaris.org
●
=> (http://opensolaris.org)
kit de inicio OpenSolaris (KIOPS)
●
=> (http://get.opensolaris.org/)
Portal OpenSolaris Hispano
●
=> (http://es.opensolaris.org)
Lista de distribución OpenSolaris Hispano
●
(http://mail.opensolaris.org/mailman/listinfo/ug-sposug)
Canal IRC OpenSolaris Hispano
●
=> (irc://irc.freenode.net/opensolaris-es)
OpenSolaris Day 08, WHYFLOSS 08 y más...
●
57
58. USE IMPROVE EVANGELIZE
¡ Muchas Gracias !
Víctor M. Fernández Gómez
Comunidad OpenSolaris Hispano
vfernandezg@gmail.com
http://vfernandezg.blogspot.com