II. El almacenamiento como servicio (1)

II. El almacenamiento como servicio (1)

Primera parte de la segunda sesión del curso de Integración de Sistemas del Máster Oficial de Software Libre de la URJC (2012-13).

0b8127384c277a7a0672b91f6ea2ba96?s=128

FLOSSystems

April 12, 2013
Tweet

Transcript

  1. 1.

    RAID LVM FS ZFS 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 1 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  2. 2.

    RAID LVM FS ZFS c 2010-2013 Miguel Vidal, Jose Castro

    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)
  3. 3.

    RAID LVM FS ZFS Contenidos del curso Sesi´ on I:

    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)
  4. 4.

    RAID LVM FS ZFS Motivaci´ on Por qu´ e estudiar

    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)
  5. 5.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    est´ andar de RAID RAID 5 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  6. 6.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  7. 7.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  8. 8.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  9. 9.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  10. 10.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  11. 11.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  12. 12.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  13. 13.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  14. 14.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    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)
  15. 15.

    RAID LVM FS ZFS Qu´ e es un RAID Niveles

    est´ andar de RAID Ejercicios con RAID 15 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  16. 16.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    ogicos (LVM) Ejemplo de LVM LVM 16 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  17. 17.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  18. 18.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  19. 19.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  20. 20.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  21. 21.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  22. 22.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    ogicos (LVM) Ejemplo de LVM Ejemplo de LVM 22 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  23. 23.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  24. 24.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  25. 25.

    RAID LVM FS ZFS Gesti´ on de Vol´ umenes L´

    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)
  26. 26.

    RAID LVM FS ZFS FS 26 / 47 Miguel Vidal

    – Jose Castro II. El Almacenamiento como Servicio (1)
  27. 27.

    RAID LVM FS ZFS ¿Qu´ e es un sistema de

    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)
  28. 28.

    RAID LVM FS ZFS El sistema de ficheros ¿Qu´ e

    podemos encontrarnos en un “sistema de ficheros”? 28 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  29. 29.

    RAID LVM FS ZFS El sistema de ficheros ¿Qu´ e

    podemos encontrarnos en un “sistema de ficheros”? Procesos 28 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  30. 30.

    RAID LVM FS ZFS El sistema de ficheros ¿Qu´ e

    podemos encontrarnos en un “sistema de ficheros”? Procesos Puertos serie 28 / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  31. 31.

    RAID LVM FS ZFS El sistema de ficheros ¿Qu´ e

    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)
  32. 32.

    RAID LVM FS ZFS El sistema de ficheros ¿Qu´ e

    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)
  33. 33.

    RAID LVM FS ZFS El sistema de ficheros ¿Qu´ e

    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)
  34. 34.

    RAID LVM FS ZFS El sistema de ficheros ¿Qu´ e

    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)
  35. 35.

    RAID LVM FS ZFS El sistema de ficheros de Unix

    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)
  36. 36.

    RAID LVM FS ZFS La organizaci´ on del ´ arbol

    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)
  37. 37.

    RAID LVM FS ZFS El sistema de ficheros ´ Ordenes

    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)
  38. 38.

    RAID LVM FS ZFS Journaling Un sistema de ficheros que

    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)
  39. 39.

    RAID LVM FS ZFS ext3fs El sistema de ficheros principal

    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)
  40. 40.

    RAID LVM FS ZFS XFS y JFS XFS (SGI) y

    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)
  41. 41.

    RAID LVM FS ZFS Linux ext3 vs. ext4 35 /

    47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  42. 42.

    RAID LVM FS ZFS B-tree file system (btrfs) Se propone

    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)
  43. 43.

    RAID LVM FS ZFS ZFS 37 / 47 Miguel Vidal

    – Jose Castro II. El Almacenamiento como Servicio (1)
  44. 44.

    RAID LVM FS ZFS Un vistazo a ZFS ZFS es

    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)
  45. 45.

    RAID LVM FS ZFS ZFS: caracter´ ısticas ´ unicas (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)
  46. 46.

    RAID LVM FS ZFS ZFS: caracter´ ısticas ´ unicas (y

    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)
  47. 47.

    RAID LVM FS ZFS ZFS: limitaciones ZFS no es un

    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)
  48. 48.

    RAID LVM FS ZFS ZFS: pools de almacenamiento Los sistemas

    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)
  49. 49.

    RAID LVM FS ZFS Modo transaccional COW en ZFS 43

    / 47 Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  50. 50.

    RAID LVM FS ZFS Vol´ umenes vs. ZFS Pools Partici´

    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)
  51. 51.

    RAID LVM FS ZFS RAID-Z RAID no est´ andar: espec´

    ı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)
  52. 52.

    RAID LVM FS ZFS Ejercicios con ZFS 46 / 47

    Miguel Vidal – Jose Castro II. El Almacenamiento como Servicio (1)
  53. 53.

    RAID LVM FS ZFS 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)