III Jornadas por el Software Libre de Elche           12 de noviembre de 2005Almacenamiento en disco: mejora de la velocid...
Algunas preguntas●   ¿Qué queremos realmente de un disco?    –   Velocidad    –   ¡Seguridad!    –   Si es posible, ¡las d...
Índice●   Estructura del almacenamiento●   Sistemas de ficheros●   Planificadores de E/S●   Organización de un disco●   Or...
Índice●   Estructura del almacenamiento●   Sistemas de ficheros●   Planificadores de E/S●   Organización de un disco●   Or...
Estructura de un disco
Estructura del sistema de        almacenamiento                           Aplicaciones de usuario         Sistema de fiche...
Índice●   Estructura del almacenamiento●   Sistemas de ficheros●   Planificadores de E/S●   Organización de un disco●   Or...
¿Qué es un sistemas de ficheros?●   Conjunto de estructuras de datos y    algoritmos para guardar datos en un array    lin...
Tipos de sistemas de ficheros●   Existen 2 grandes tipos:    –   Transaccionales    –   No transaccionales●   Principal di...
Sistemas de ficheros             no transaccionales●   Ext2●   A favor:    –   Se puede convertir en Ext3 sin reformatear ...
Sistemas de ficheros                  transaccionales●   Ext3, XFS, JFS y ReiserFS●   A favor:    –   Recuperación muy ráp...
Sistemas de ficheros               transaccionales●   A favor (continuación):    –   Cambio de tamaño sin reformatear    –...
Comparación de tamaños            máximos   Sistema de       Tamaño máximo de   Tamaño máximo del    Ficheros             ...
Mejora del rendimiento:          opciones de montaje●   Generales:    –   noatime●   Ext3:    –   journal=[data|ordered|wr...
Mejora del rendimiento:          opciones de montaje●   JFS:    –   nointegrity●   ReiserFS:    –   notail    –   nolog●  ...
Mejora del rendimiento:          opciones al formatear●   Muy específicas de cada sistema de    ficheros●   Ext3:    –   «...
Mejora del rendimiento:          opciones al formatear●   XFS (continuación):    –   «-d agcount=valor»    –   «-i size=[2...
Ver la configuración actual de       un sistema de ficheros●   Herramienta disponible:    –   Ext2/Ext3: dumpe2fs    –   X...
Ver la configuración actual de       un sistema de ficheros●   Ejemplo con Ext3:...........Filesystem features:    has_jou...
Índice●   Estructura del almacenamiento●   Sistemas de ficheros●   Planificadores de E/S●   Organización de un disco●   Or...
Planificadores de E/S●   Son necesarios por las características    mecánicas de los discos●   Función:    –   Cuando hay v...
Planificadores de E/S●   Planificador noop:    –   Atención en orden de llegada (FIFO)    –   Útil para discos RAM, memori...
Planificadores de E/S●   Planificador «deadline» (continuación):               Cola: 98, 183, 37, 122, 14, 124, 65, 67    ...
Planificadores de E/S●   Planificador «anticipatory»:    –   Añade un pequeño tiempo de espera tras        atender una pet...
Planificadores de E/S●   Planificador «cfq»:    –   CFQ: Complete Fair Queuing    –   Intenta distribuir el ancho de banda...
Planificadores de E/S●   El planificador a seleccionar depende de    la carga de trabajo●   A diferencia de los sistemas d...
Comparación de planificadores de E/S usando bases de datos Resultados de un test OLTP en una base de datos   de 10GB usand...
Índice●   Estructura del almacenamiento●   Sistemas de ficheros●   Planificadores de E/S●   Organización de un disco●   Or...
Organización de un único disco●   No todas las zonas de un disco son igual    de rápidas. Ejemplo:    [root@portatil ~]# c...
“Consejos” para mejorar el         rendimiento de un disco●   Use varias particiones (intercambio,    raíz, /home, /var, a...
Índice●   Estructura del almacenamiento●   Sistemas de ficheros●   Planificadores de E/S●   Organización de un disco●   Or...
Organización de varios discos●   Si tenemos varios discos, podemos    conseguir:    –   Un dispositivo con una gran capaci...
RAID 0 ●   Se consigue:     –   Un gran dispositivo de         almacenamiento     –   E/S paralela en lecturas         y e...
RAID 1 ●   Se consigue:     –   ¡Seguridad!     –   E/S paralela en lecturas ●   No se consigue:     –   Escrituras en par...
RAID 5 ●   Se consigue:     –   ¡Seguridad!     –   E/S paralela en lecturas         y escrituras     –   Un gran disposit...
Configuración de un RAID 1 en                Linux●   Aplicación: mdadm●   Ejemplo de creación de un RAID1     mdadm --cre...
Convertir un disco con datos y     otro sin datos en un RAID 1●   Paso 1. Crear un RAID1 de 1 disco para el    disco con d...
RAIDs y sistemas de ficheros●   Algunos SSFF de Linux tienen opciones    especiales para los niveles 0, 4, 5 y 6 de    RAI...
Referencias●   ReiserFS.    –   http://www.namesys.com●   XFS.    –   http://oss.sgi.com/projects/xfs●   JFS.    –   http:...
Referencias●   RAID y MDADM.    –   http://www.tldp.org/HOWTO/Software-RAID-HOWTO.h●   Planificadores.    –   http://www.w...
¡Gracias por la atención prestada!  Almacenamiento en disco:   mejora de la velocidad y       de la seguridad          Jua...
Upcoming SlideShare
Loading in …5
×

Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas

892 views

Published on

La mejor explicación sobre el funcionamiento a nivel lógico de discos duros, medidas de seguridad y mejoras de rendimiento que podemos aplicar.
Estas laminas acompañan la ponencia: http://www.youtube.com/watch?v=WMlxj8iM1Vg
http://leninmhs.wordpress.com/2012/09/19/disco-duro-en-gnulinux/
El vídeo nos ayuda a entender:
Estructura del almacenamiento
Sistemas de Archivos: Ext2, Ext3, XFS, JFS y ReiserFS
Planificadores de E/S
Organización de un disco
RAID (Redundant Array of Independent Disks) y LVM (Logical Volume Manager)

Ponencia de Juan Piernas sobre discos duros en sistemas basados en GNU/Linux.

Grabación realizada en las III Jornadas por el Software Libre de Elche por la Asociación de Usuarios de Software Libre de Elche Kleenux el 12 de noviembre del 2005.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
892
On SlideShare
0
From Embeds
0
Number of Embeds
336
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas

  1. 1. III Jornadas por el Software Libre de Elche 12 de noviembre de 2005Almacenamiento en disco: mejora de la velocidad y de la seguridad Juan Piernas Cánovas (piernas@ditec.um.es)
  2. 2. Algunas preguntas● ¿Qué queremos realmente de un disco? – Velocidad – ¡Seguridad! – Si es posible, ¡las dos cosas a la vez!● ¿Todo depende del disco que tengamos? – ¡NO!● ¿Puede el software darnos algo que el hardware no nos ofrezca? – ¡SÍ! El software es una parte fundamental
  3. 3. Índice● Estructura del almacenamiento● Sistemas de ficheros● Planificadores de E/S● Organización de un disco● Organización de varios discos
  4. 4. Índice● Estructura del almacenamiento● Sistemas de ficheros● Planificadores de E/S● Organización de un disco● Organización de varios discos
  5. 5. Estructura de un disco
  6. 6. Estructura del sistema de almacenamiento Aplicaciones de usuario Sistema de ficheros Sistema de ficheros IntercambioMúltiples dispositivos (RAID o LVM)Plan. E/S Plan. E/S Plan. E/S Plan. E/S Disco Disco Disco Disco
  7. 7. Índice● Estructura del almacenamiento● Sistemas de ficheros● Planificadores de E/S● Organización de un disco● Organización de varios discos
  8. 8. ¿Qué es un sistemas de ficheros?● Conjunto de estructuras de datos y algoritmos para guardar datos en un array lineal de bloques● Ejemplo: Ext2
  9. 9. Tipos de sistemas de ficheros● Existen 2 grandes tipos: – Transaccionales – No transaccionales● Principal diferencia: tiempo de recuperación de la consistencia tras una caída● ¿Qué sistema de ficheros elegir? – ¡Depende de nuestra carga de trabajo!
  10. 10. Sistemas de ficheros no transaccionales● Ext2● A favor: – Se puede convertir en Ext3 sin reformatear – Código muy probado y depurado – Muy compatible: ideal para la partición de arranque● En contra: – Recuperación muy lenta de la consistencia – Pobre rendimiento en directorios con miles de ficheros
  11. 11. Sistemas de ficheros transaccionales● Ext3, XFS, JFS y ReiserFS● A favor: – Recuperación muy rápida de la consistencia tras una caída – Estructuras de datos escalables (principalmente, árboles B+ y extensiones) ● Mejor rendimiento en directorios con miles de ficheros ● Mejor rendimiento con fich. grandes (XFS y JFS) ● Adecuados para sistemas de ficheros de varios terabytes (XFS, JFS)
  12. 12. Sistemas de ficheros transaccionales● A favor (continuación): – Cambio de tamaño sin reformatear – Mejores atributos (XFS)● En contra: – No son compatibles. Para pasar de uno a otro hay que reformatear la partición – Código más complejo: depuración costosa y propensos a errores (JFS)
  13. 13. Comparación de tamaños máximos Sistema de Tamaño máximo de Tamaño máximo del Ficheros fichero sistema de ficheros Ext2/Ext3 2 TiB 16 TiB ReiserFS 1 EiB 16 TiB XFS 8 EiB 8 EiB JFS 8 EiB 4 PiB1 GiB (230 bytes) = 1024 MiB1 TiB (240 bytes) = 1024 GiB1 PiB (250 bytes) = 1024 TiB1 EiB (260 bytes) = 1024 PiB
  14. 14. Mejora del rendimiento: opciones de montaje● Generales: – noatime● Ext3: – journal=[data|ordered|writeback] – commit=num_seg● XFS – logbufs=[2-8]
  15. 15. Mejora del rendimiento: opciones de montaje● JFS: – nointegrity● ReiserFS: – notail – nolog● Al ser opciones de montaje, todas se pueden usar o no sin reformatear
  16. 16. Mejora del rendimiento: opciones al formatear● Muy específicas de cada sistema de ficheros● Ext3: – «-J size=tamaño» – «-J device=dispositivo»● XFS: – «-l logdev=dispositivo» – «-l size=tamaño»
  17. 17. Mejora del rendimiento: opciones al formatear● XFS (continuación): – «-d agcount=valor» – «-i size=[256-2048]»● JFS: – «-j dispositivo_registro» – «-s tamaño_registro»● ReiserFS: – «-j dispositivo_registro» – «-s tamaño_registro»
  18. 18. Ver la configuración actual de un sistema de ficheros● Herramienta disponible: – Ext2/Ext3: dumpe2fs – XFS: xfsdump – JFS: jfs_debugfs – ReiserFS: reiserfstune● Permiten ver el valor actual de los parámetros de configuración de cada sistema de ficheros
  19. 19. Ver la configuración actual de un sistema de ficheros● Ejemplo con Ext3:...........Filesystem features: has_journal resize_inode filetype needs_recovery sparse_super large_file...........Errors behavior: Continue...........Inode count: 2501856Block count: 5002208Reserved block count: 250110Free blocks: 3136909Free inodes: 2239406First block: 0Block size: 4096...........Blocks per group: 32768...........Mount count: 4Maximum mount count: 33Last checked: Thu Jul 7 09:14:58 2005Check interval: 15552000 (6 months)
  20. 20. Índice● Estructura del almacenamiento● Sistemas de ficheros● Planificadores de E/S● Organización de un disco● Organización de varios discos
  21. 21. Planificadores de E/S● Son necesarios por las características mecánicas de los discos● Función: – Cuando hay varias peticiones de E/S pendientes, determinan el orden en el que se atienden● A partir de la versión 2.6.9 de Linux es posible: – Indicar uno para cada dispositivo – Cambiarlo en caliente
  22. 22. Planificadores de E/S● Planificador noop: – Atención en orden de llegada (FIFO) – Útil para discos RAM, memorias USB, discos inteligentes, etc.● Planificador «deadline»: – Asigna un plazo máximo de respuesta a cada petición (similar al tiempo-real) – Se atiende inmediatamente a las peticiones con plazo agotado. Si no hay → C-SCAN – Útil para reducir la latencia de E/S
  23. 23. Planificadores de E/S● Planificador «deadline» (continuación): Cola: 98, 183, 37, 122, 14, 124, 65, 67 La cabeza se encuentra en 53 14 37 53 65 67 98 122 124 183 C-SCAN
  24. 24. Planificadores de E/S● Planificador «anticipatory»: – Añade un pequeño tiempo de espera tras atender una petición → mejor localidad – Si expira el tiempo de espera, la siguiente petición se obtiene siguiendo un C-SCAN – Útil para discos lentos, aunque puede incrementar la latencia de E/S
  25. 25. Planificadores de E/S● Planificador «cfq»: – CFQ: Complete Fair Queuing – Intenta distribuir el ancho de banda de E/S disponible equitativamente entre todas las peticiones – También intenta atender peticiones con plazos de espera máximos e incrementar la localidad – Útil en sistemas medianos/grandes con varios procesadores y discos
  26. 26. Planificadores de E/S● El planificador a seleccionar depende de la carga de trabajo● A diferencia de los sistemas de ficheros, ¡es fácil experimentar!● Ejemplo de cambio en caliente: [root@portatil ~]# cat /sys/block/hda/queue/scheduler noop [anticipatory] deadline cfq [root@portatil ~]# echo cfq > / sys/block/hda/queue/scheduler [root@portatil ~]# cat /sys/block/hda/queue/scheduler noop anticipatory deadline [cfq]
  27. 27. Comparación de planificadores de E/S usando bases de datos Resultados de un test OLTP en una base de datos de 10GB usando Oracle y un computador de 2 procesadores, 4 GB de RAM y 8 discos
  28. 28. Índice● Estructura del almacenamiento● Sistemas de ficheros● Planificadores de E/S● Organización de un disco● Organización de varios discos
  29. 29. Organización de un único disco● No todas las zonas de un disco son igual de rápidas. Ejemplo: [root@portatil ~]# cat /proc/ide/hda/capacity 78140160 (en sectores) [root@portatil ~]# time dd if=/dev/hda of=/dev/null bs=1048576 count=100 .......... real 0m5.900s .......... [root@portatil ~]# time dd if=/dev/hda of=/dev/null bs=1048576 count=100 skip=38054 .......... real 0m8.369s (¡Casi un 42% más lento!) ..........● Además, el tiempo de mover las cabezas (tiempo de búsqueda) es el que suele tener más peso
  30. 30. “Consejos” para mejorar el rendimiento de un disco● Use varias particiones (intercambio, raíz, /home, /var, arranque, etc.), con SSFF y opciones de montaje distintos● Si hay una partición que se usa mucho: – Que sea lo más pequeña posible – Que se encuentre en la zona rápida● Si el uso de las particiones es similar: – Sitúe la más usada en el centro del disco – Coloque las otras alrededor, dejando las menos usadas en los extremos
  31. 31. Índice● Estructura del almacenamiento● Sistemas de ficheros● Planificadores de E/S● Organización de un disco● Organización de varios discos
  32. 32. Organización de varios discos● Si tenemos varios discos, podemos conseguir: – Un dispositivo con una gran capacidad de almacenamiento – Mejorar el rendimiento – Mejorar la seguridad de nuestros datos● Es posible conseguir las tres cosas a la vez mediante RAID (Redundant Array of Independent Disks) y LVM (Logical Volume Manager)
  33. 33. RAID 0 ● Se consigue: – Un gran dispositivo de almacenamiento – E/S paralela en lecturas y escrituras ● No se consigue: – Seguridad
  34. 34. RAID 1 ● Se consigue: – ¡Seguridad! – E/S paralela en lecturas ● No se consigue: – Escrituras en paralelo – Un gran dispositivo de almacenamiento ● ¡Buena opción para un PC!
  35. 35. RAID 5 ● Se consigue: – ¡Seguridad! – E/S paralela en lecturas y escrituras – Un gran dispositivo de almacenamiento ● Problema: – Escrituras pequeñas por cálculo de paridad – Mínimo, 3 discos
  36. 36. Configuración de un RAID 1 en Linux● Aplicación: mdadm● Ejemplo de creación de un RAID1 mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/hd[ac]2● Fich. de configuración: /etc/mdadm.conf DEVICE /dev/hda* /dev/hdc* ARRAY /dev/md1 devices=/dev/hda2,/dev/hdc2 level=raid1 MAILADDR piernas@ditec.um.es● Cambiar el tipo de la partición a «fd» (Linux raid autodetect)
  37. 37. Convertir un disco con datos y otro sin datos en un RAID 1● Paso 1. Crear un RAID1 de 1 disco para el disco con datos: mdadm --create /dev/md1 --force --level=1 --raid-devices=1 /dev/hda2● Paso 2. Añadir el nuevo disco al array como disco de repuesto (spare): mdadm /dev/md1 -a /dev/hdc2● Paso 3. Activar el nuevo disco: mdadm --grow /dev/md1 -n 2
  38. 38. RAIDs y sistemas de ficheros● Algunos SSFF de Linux tienen opciones especiales para los niveles 0, 4, 5 y 6 de RAID● Ext2/Ext3: – «-E stride=tamaño»● XFS: – «-d sunit=valor» – «-d swidth=valor»
  39. 39. Referencias● ReiserFS. – http://www.namesys.com● XFS. – http://oss.sgi.com/projects/xfs● JFS. – http://jfs.sourceforge.net● LVM2. – http://sources.redhat.com/lvm2
  40. 40. Referencias● RAID y MDADM. – http://www.tldp.org/HOWTO/Software-RAID-HOWTO.h● Planificadores. – http://www.wlug.org.nz/LinuxIoScheduler● Discos (características). – http://www.seagate.com – http://www.maxtor.com
  41. 41. ¡Gracias por la atención prestada! Almacenamiento en disco: mejora de la velocidad y de la seguridad Juan Piernas Cánovas (piernas@ditec.um.es)

×