Integraci´ on de Sistemas Miguel Vidal Jose Castro Twitter: @mvidallopez Twitter: @jfcastroluis M´ aster oficial en Software Libre 12 de abril 2013 1 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
This work is licensed under a Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0 2 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
Introducci´ on al software libre en servidores Sesi´ on II: El Almacenamiento como Servicio Sesi´ on III: El Arte de la Virtualizaci´ on Sesi´ on IV: De la Virtualizaci´ on al Cloud Computing Sesi´ on V: Clusters de Alta Disponibilidad 3 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
las tecnolog´ ıas de almacenamiento: Es una de las tecnolog´ ıas b´ asicas que se combina con clusters, virtualizaci´ on y cloud computing. Rendimiento y escalabilidad, replicaci´ on, migraci´ on no disruptiva de datos... Virtualizaci´ on del almacenamiento. Reducci´ on de los requerimientos de espacio y ahorro en costes de energ´ ıa. 4 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID ´ Indice 1 RAID Qu´ e es un RAID Niveles est´ andar de RAID 2 LVM Gesti´ on de Vol´ umenes L´ ogicos (LVM) Ejemplo de LVM 3 FS 4 ZFS 6 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID Qu´ e es un RAID Redundant Array of Independent Disks Es un sistema que utiliza varios discos duros para distribuir y/o replicar datos a trav´ es de los discos. Evita p´ erdida de datos. Minimiza tiempos de ca´ ıda asociados a fallos de hardware (a menudo los reduce a cero). Tambi´ en puede incrementar el rendimiento. Se puede implementar en el hardware o v´ ıa software. 7 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID Tipos de RAID Un RAID puede hacer dos cosas b´ asicas: 1 Puede mejorar el rendimiento dividiendo los datos a trav´ es de varios discos (stripping), que trabajan simult´ aneamente con un flujo ´ unico de datos. 2 Puede duplicar datos a trav´ es de varios discos (mirror), reduciendo el riesgo asociado al fallo de un disco. 8 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID ´ Indice 1 RAID Qu´ e es un RAID Niveles est´ andar de RAID 2 LVM Gesti´ on de Vol´ umenes L´ ogicos (LVM) Ejemplo de LVM 3 FS 4 ZFS 9 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID Niveles est´ andar de RAID RAID 0: (stripping) discos divididos sin paridad ni espejo RAID 1 (mirroring o duplicaci´ on) es el primer nivel que ofrece redundancia. RAID 4 divide el volumen con paridad dedicada. Compite (y pierde en consistencia) con RAID 5. RAID 5 Volumen dividido (stripped) con paridad distribuida. RAID 5 requiere al menos 3 discos. RAID 10 RAID 1+0 (o 10) es un volumen de datos espejado (RAID 1) que a su vez es dividido (RAID 0). RAID 10 requiere al menos 4 discos. 10 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID RAID 0 RAID 0 (discos divididos sin paridad ni mirroring): usa dos o m´ as discos de igual tama˜ no para reducir los tiempos de acceso y escritura. Se emplea exclusivamente para mejorar rendimiento. Tolerancia a fallos: 0 discos 11 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID RAID-1 Volumen duplicado (“espejado”) sin paridad ni stripping: ofrece redundancia. Los datos son duplicados en dos o m´ as discos de forma simult´ anea. Tolerancia a fallos: n-1 discos 12 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID RAID-4 Discos divididos con un disco dedicado a informaci´ on de paridad. Por ello incurre en tiempos de espera cuando escribe la paridad, lo que hace que pierda con RAID-5, su competidor. Requiere al menos 3 discos. Tolerancia a fallos: 1 disco Excepto que tengas una buena raz´ on, desc´ artalo en favor de RAID-5. 13 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
est´ andar de RAID RAID-5 Volumen dividido con paridad distribuida: es el nivel est´ andar m´ as completo de RAID. Dividiendo datos e informaci´ on de paridad, crea una arquitectura redundante que al mismo tiempo mejora los tiempos de lectura/escritura. Tolerancia a fallos: 1 disco. RAID-5 requiere al menos 3 discos. 14 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM Antes de los vol´ umenes l´ ogicos Al principio cada sistema de ficheros manejaba un ´ unico disco: Figure: No era muy grande. 17 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM Por qu´ e existen vol´ umenes l´ ogicos Los usuarios precisaban m´ as espacio, ancho de banda, fiabilidad y flexibilidad: Figure: F´ acil: inserta un “volumen” para juntar discos. 18 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM ´ Indice 1 RAID Qu´ e es un RAID Niveles est´ andar de RAID 2 LVM Gesti´ on de Vol´ umenes L´ ogicos (LVM) Ejemplo de LVM 3 FS 4 ZFS 19 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM Ventajas de LVM M´ as flexible que los esquemas de particionado convencionales. LVM permite que el espacio sea din´ amicamente asignado desde una partici´ on grande a las particiones que van necesit´ andose. Permite concatenar, dividir, juntar o cualquier otra combinaci´ on entre particiones en una partici´ on virtual mayor, que los sysadmins pueden cambiar el tama˜ no o mover. Idealmente sin interrupci´ on del sistema. 20 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM Ventajas de LVM LVM ayuda a los sysadmins a asignar el espacio disponible en disco entre particiones. LVM es una de las muchas formas de virtualizaci´ on del almacenamiento. 21 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM ´ Indice 1 RAID Qu´ e es un RAID Niveles est´ andar de RAID 2 LVM Gesti´ on de Vol´ umenes L´ ogicos (LVM) Ejemplo de LVM 3 FS 4 ZFS 23 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM Ejemplo de LVM en Linux Creaci´ on de vol´ umenes f´ ısicos # pvcreate /dev/sdb1 # pvcreate /dev/sdb2 Creaci´ on del Virtual Group # vgcreate mynew vg /dev/sdb1 /dev/sdb2 A˜ nadir nuevos vol´ umenes f´ ısicos a un grupo virtual # vgextend mynew vg /dev/sdb3 24 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ogicos (LVM) Ejemplo de LVM Ejemplo de LVM Creaci´ on de Vol´ umenes L´ ogicos # lvcreate -L 400 -n vol01 mynew vg # lvcreate -L 1000 -n vol02 mynew vg Mostrar Grupos y Vol´ umenes L´ ogicos # vgdisplay # lvdisplay Creaci´ on de un sistema de ficheros en vol´ umenes l´ ogicos # mkfs.ext3 /dev/mynew vg/vol01 # mount /dev/mynew vg/vol01 /home/foobar 25 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ficheros? (FS) 1 Permite al SO almacenar, organizar, manipular y recuperar datos. 2 Es usado en toda clase de dispositivos de almacenamiento (discos duros, cdroms, etc.). 3 *BSD (UFS/FFS), Familia Solaris (ZFS, UFS) 4 Linux Second Extended Filesystem (ext2, ext3 o ext4): similar e inspirado por ufs/ffs. 5 Sistema de archivos de red: NFS, SMB (CIFS) 6 Sistemas de ficheros distribuidos: GFS, OCFS2 http://en.wikipedia.org/wiki/Comparison_of_file_systems 27 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
podemos encontrarnos en un “sistema de ficheros”? Procesos Puertos serie Estructuras de datos del y par´ ametros de ajuste 28 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
podemos encontrarnos en un “sistema de ficheros”? Procesos Puertos serie Estructuras de datos del y par´ ametros de ajuste Canales de comunicaci´ on entre procesos 28 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
podemos encontrarnos en un “sistema de ficheros”? Procesos Puertos serie Estructuras de datos del y par´ ametros de ajuste Canales de comunicaci´ on entre procesos Ficheros 28 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
podemos encontrarnos en un “sistema de ficheros”? Procesos Puertos serie Estructuras de datos del y par´ ametros de ajuste Canales de comunicaci´ on entre procesos Ficheros Enfoque Unix: todo es un fichero 28 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
En abstracto, el sistema de ficheros de Unix comprende cuatro componentes principales: Un espacio de nombres: un modo de nombrar las cosas y organizarlas en una jerarqu´ ıa. Una API: un conjunto de llamadas al sistema para navegar y manipular objetos. Un modelo de seguridad: un esquema para proteger, olcutar y compartir cosas. Una implementaci´ on: software que enlaza el modelo l´ ogico con el hardware real. 29 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
de ficheros Estructura est´ andar de directorios: /bin Comandos necesarios para una m´ ınima operabilidad del sistema /sbin Comandos para el arranque, reparaci´ on y recuperaci´ on del sistema /boot Kernel y ficheros necesarios para cargar el kernel /lib Librer´ ıas y partes del compilador C /etc Archivos de configuraci´ on y de inicio /dev Entradas de dispositivo para discos, impresoras, pseudo-terminales, etc. /proc Informaci´ on sobre procesos ejecut´ andose /home Directorios personales de usuarios /var Datos variables /tmp Ficheros temporales que desaparecen entre reboots. /root Directorio personal del superusuario 30 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
relativas a sistemas de ficheros Unix: chmod El comando chmod cambia los permisos de un fichero. chown El comando chown cambia el propietario y el grupo de un fichero. umask Asigna los permisos por defecto. Atributos de un fichero: # ls -l /bin/gzip -rwxr-xr-x 1 root root 57388 2010-01-19 22:45 /bin/gzip 31 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
hace seguimiento de los cambios en un journal antes de escribirlos en el sistema de ficheros. Incrementa la fiabilidad: puede mantener la consistencia del sistema de ficheros incluso ante incidencias inesperadas como cortes de energ´ ıa, cuelgues o reinicios no previstos. Puede haber un gran impacto en el rendimiento (los datos se escriben dos veces): solo metadatos es un compromiso entre fiabilidad y rendimiento. Es una modificaci´ on conceptualmente simple que incrementa notablemente la fiabilidad: ext3, reiserfs, jfs, xfs, ext4, ntfs... 32 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
de Linux. El c´ odigo para ext2 fue escrito espec´ ıficamente para Linux, adoptando muchos conceptos de Berkeley FFS/UFS (Unix BSD). Es una extensi´ on a ext2fs que a˜ nade capacidad de journaling. Las extensiones ext3fs se implementaron sin cambiar la estructura de ext2fs: puede montarse un sistema ext3fs como ext2fs (simplemente el journaling quedar´ ıa desactivado). 33 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
JFS (IBM): mayores competidores de ext3 en Linux. Soportados nativamente por el kernel Linux y las distribuciones basadas en ´ el. Alto rendimiento con journaling. XFS tiene mayor fragmentaci´ on y gesti´ on extendida. El rendimiento general es similar a ext3fs (lo que ha motivado su escasa implantaci´ on). 34 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
reeemplazar ext3 y trasladar muchas de las funcionalidades de ZFS al mundo Linux (copy-on-write, snapshots, optimizado para SSD, etc.). Incorporado al kernel Linux 2.6.29 en enero 2009. No apto para producci´ on. Futuro incierto (es de Oracle, tambi´ en due˜ na de ZFS) Pero se puede experimentar con ´ el instalando btrfs-tools y btrfsptogs en Ubuntu u OpenSUSE. 36 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
un potente, escalable (128bit) y moderno sub-sistema de almacenamiento. Fiable, administraci´ on sencilla, integridad de datos y servicios integrados. ZFS combina la funcionalidad de RAID, Vol´ umenes y Sistema de Ficheros. La idea es que el disco deber´ ıa ser algo similar a los m´ odulos DIMM de RAM, conectar y usar. Integraci´ on con SSD: ZFS sabe c´ omo usarlo. Fiabilidad e integridad de nivel empresarial (equiparable a soluciones privativas tipo NetApp). 38 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
Pool de almacenamiento: elimina por completo el viejo concepto de volumen l´ ogico como capa aparte. ZFS es Copy-on-Write transaccional: si m´ ultiples procesos piden recursos iguales, se les devuelven punteros al mismo recurso. Siempre consistente (no necesidad de fsck) Integridad de datos: detecta y corrige silenciosamente corrupci´ on de datos. Inmensa escalabilidad 39 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
2) Caracter´ ısticas avanzadas: snapshots, clones, rollbacks, deduplicaci´ on, compresi´ on, replicaci´ on, cifrado, compartici´ on nativa v´ ıa nfs, cifs o iscsi... ZIL y L2ARC: ´ unico FS que permite combinar uso de HDDs mec´ anicos con SSDs de forma transparente y con lo mejor de cada. Administraci´ on simplificada: zfs y zpool. Estado del arte, marca el camino a los futuros FS (como btrfs) En el proceso de escritura (I/O), un bloque puede ser comprimido, cifrado, realizada la suma de comprobaci´ on y a continuaci´ on deduplicado, en ese orden. 40 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
FS de tipo cluster ni un sistema distribuido o paralelo. Muy exigente en recursos. Nativo de Solaris y derivados. Incompatibilidad con la GPL. 41 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
de ficheros se crean sobre pools de almacenamiento virtual llamados zpools. Un zpool se construye a partir de dispositivos virtuales (vdevs) desde dispositivos de bloques: ficheros, particiones de disco duro o discos enteros. 42 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
on/volumen para cada FS Crece o se reduce manualmente Cada FS tiene ancho de banda limitado El almacenamiento se fragmenta No hay particiones que manejar Crece o se reduce autom´ aticamente Todo el ancho de banda est´ a siempre disponible Todo el almacenamiento en el pool es compartido 44 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
ıfico de ZFS. Similar a RAID 5, pero evita el write hole de RAID 5 (si se produce un apag´ on durante una escritura, paridad o datos pueden quedar inconsistentes/corruptos). Existe tambi´ en RAID-Z2 que dobla (o triplica) la estructura de partidad alcanzando resultados similares a RAID 6. En Julio de 2009, se incorpor´ o RAID-Z de triple paridad a OpenSolaris. No precisa ning´ un hardware especial. 45 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
Integraci´ on de Sistemas Miguel Vidal Jose Castro Twitter: @mvidallopez Twitter: @jfcastroluis M´ aster oficial en Software Libre 12 de abril 2013 47 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)