SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
III Jornadas por el Software Libre de Elche
           12 de noviembre de 2005




Almacenamiento en disco:
 mejora de la velocidad y
     de la seguridad


          Juan Piernas Cánovas
            (piernas@ditec.um.es)
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
Índice
●   Estructura del almacenamiento
●   Sistemas de ficheros
●   Planificadores de E/S
●   Organización de un disco
●   Organización de varios discos
Índice
●   Estructura del almacenamiento
●   Sistemas de ficheros
●   Planificadores de E/S
●   Organización de un disco
●   Organización de varios discos
Estructura de un disco
Estructura del sistema de
        almacenamiento

                           Aplicaciones de usuario



         Sistema de ficheros            Sistema de ficheros   Intercambio



Múltiples dispositivos (RAID o LVM)



Plan. E/S     Plan. E/S    Plan. E/S                    Plan. E/S

 Disco         Disco           Disco                      Disco
Índice
●   Estructura del almacenamiento
●   Sistemas de ficheros
●   Planificadores de E/S
●   Organización de un disco
●   Organización de varios discos
¿Qué es un sistemas de ficheros?
●   Conjunto de estructuras de datos y
    algoritmos para guardar datos en un array
    lineal de bloques
●   Ejemplo: Ext2
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!
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
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)
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)
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 PiB

1 GiB (230 bytes) = 1024 MiB
1 TiB (240 bytes) = 1024 GiB
1 PiB (250 bytes) = 1024 TiB
1 EiB (260 bytes) = 1024 PiB
Mejora del rendimiento:
          opciones de montaje
●   Generales:
    –   noatime
●   Ext3:
    –   journal=[data|ordered|writeback]
    –   commit=num_seg
●   XFS
    –   logbufs=[2-8]
Mejora del rendimiento:
          opciones de montaje
●   JFS:
    –   nointegrity
●   ReiserFS:
    –   notail
    –   nolog
●   Al ser opciones de montaje, todas se
    pueden usar o no sin reformatear
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»
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»
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
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:            2501856
Block count:            5002208
Reserved block count:   250110
Free blocks:            3136909
Free inodes:            2239406
First block:            0
Block size:             4096
...........
Blocks per group:       32768
...........
Mount count:            4
Maximum mount count:    33
Last checked:           Thu Jul 7 09:14:58 2005
Check interval:         15552000 (6 months)
Índice
●   Estructura del almacenamiento
●   Sistemas de ficheros
●   Planificadores de E/S
●   Organización de un disco
●   Organización de varios discos
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
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
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
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
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
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]
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
Índice
●   Estructura del almacenamiento
●   Sistemas de ficheros
●   Planificadores de E/S
●   Organización de un disco
●   Organización de varios discos
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
“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
Índice
●   Estructura del almacenamiento
●   Sistemas de ficheros
●   Planificadores de E/S
●   Organización de un disco
●   Organización de varios discos
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)
RAID 0
 ●   Se consigue:
     –   Un gran dispositivo de
         almacenamiento
     –   E/S paralela en lecturas
         y escrituras
 ●   No se consigue:
     –   Seguridad
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!
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
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)
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
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»
Referencias
●   ReiserFS.
    –   http://www.namesys.com
●   XFS.
    –   http://oss.sgi.com/projects/xfs
●   JFS.
    –   http://jfs.sourceforge.net
●   LVM2.
    –   http://sources.redhat.com/lvm2
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
¡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)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (11)

Que es el disco duro
Que es el disco duroQue es el disco duro
Que es el disco duro
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Bases de Datos - Parte 7/10 Almacenamiento físico
Bases de Datos - Parte 7/10 Almacenamiento físicoBases de Datos - Parte 7/10 Almacenamiento físico
Bases de Datos - Parte 7/10 Almacenamiento físico
 
El disco duro
El disco duroEl disco duro
El disco duro
 
El disco duro
El disco duroEl disco duro
El disco duro
 
El disco duro
El disco duroEl disco duro
El disco duro
 
Almacenamiento De Datos
Almacenamiento De DatosAlmacenamiento De Datos
Almacenamiento De Datos
 
Memoria externa
Memoria externaMemoria externa
Memoria externa
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
Informatica cuestionario (tatiana vargas)
Informatica cuestionario (tatiana vargas)Informatica cuestionario (tatiana vargas)
Informatica cuestionario (tatiana vargas)
 

Destacado

C:\fakepath\nuevo acuerdo de capital ro
C:\fakepath\nuevo acuerdo de capital   roC:\fakepath\nuevo acuerdo de capital   ro
C:\fakepath\nuevo acuerdo de capital ro
Servicios IFB
 
Presentación domotica 802
Presentación domotica 802Presentación domotica 802
Presentación domotica 802
SaraMZ
 
La.filosofia.de.house.todos.mienten
La.filosofia.de.house.todos.mientenLa.filosofia.de.house.todos.mienten
La.filosofia.de.house.todos.mienten
jose0550
 
Lupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuito
Lupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuitoLupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuito
Lupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuito
Lupins Rioter
 
Una computadora por dentro
Una computadora por dentroUna computadora por dentro
Una computadora por dentro
majoochiessa
 
Iglesia bautista manantial de vida.
Iglesia bautista manantial de vida.Iglesia bautista manantial de vida.
Iglesia bautista manantial de vida.
zona bautista
 
Gestionde proyectos sesion5
Gestionde proyectos sesion5 Gestionde proyectos sesion5
Gestionde proyectos sesion5
Taringa!
 

Destacado (20)

Presentación
PresentaciónPresentación
Presentación
 
Las peores cosas que existen
Las peores cosas que existenLas peores cosas que existen
Las peores cosas que existen
 
100727 analisis bvc v1.0 ar
100727 analisis bvc v1.0 ar100727 analisis bvc v1.0 ar
100727 analisis bvc v1.0 ar
 
C:\fakepath\nuevo acuerdo de capital ro
C:\fakepath\nuevo acuerdo de capital   roC:\fakepath\nuevo acuerdo de capital   ro
C:\fakepath\nuevo acuerdo de capital ro
 
Plan de gobierno de Susana Villarán para Lima Metropolitana
Plan de gobierno de Susana Villarán para Lima MetropolitanaPlan de gobierno de Susana Villarán para Lima Metropolitana
Plan de gobierno de Susana Villarán para Lima Metropolitana
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Presentación domotica 802
Presentación domotica 802Presentación domotica 802
Presentación domotica 802
 
La.filosofia.de.house.todos.mienten
La.filosofia.de.house.todos.mientenLa.filosofia.de.house.todos.mienten
La.filosofia.de.house.todos.mienten
 
Ricardo Coelho - La historia del prof que sobrevivió a las tic
Ricardo Coelho - La historia del prof que sobrevivió a las ticRicardo Coelho - La historia del prof que sobrevivió a las tic
Ricardo Coelho - La historia del prof que sobrevivió a las tic
 
7 maravillas
7 maravillas7 maravillas
7 maravillas
 
Outlook 5683486
Outlook 5683486Outlook 5683486
Outlook 5683486
 
Lupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuito
Lupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuitoLupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuito
Lupin Sistemas Electronicos Apunte d calculo d Coductores en corto circuito
 
Una computadora por dentro
Una computadora por dentroUna computadora por dentro
Una computadora por dentro
 
Fotografía II // Expo // Arocha, Odoardi, Prato
Fotografía II // Expo // Arocha, Odoardi, Prato Fotografía II // Expo // Arocha, Odoardi, Prato
Fotografía II // Expo // Arocha, Odoardi, Prato
 
Iglesia bautista manantial de vida.
Iglesia bautista manantial de vida.Iglesia bautista manantial de vida.
Iglesia bautista manantial de vida.
 
Adoracion
AdoracionAdoracion
Adoracion
 
Tercera Cultura
Tercera CulturaTercera Cultura
Tercera Cultura
 
Gestionde proyectos sesion5
Gestionde proyectos sesion5 Gestionde proyectos sesion5
Gestionde proyectos sesion5
 
Proyecto
ProyectoProyecto
Proyecto
 
Ficha nª2
Ficha nª2Ficha nª2
Ficha nª2
 

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

Arquitectura sistema operativo-particiones
Arquitectura sistema operativo-particionesArquitectura sistema operativo-particiones
Arquitectura sistema operativo-particiones
Larry Srd
 
Disco duro
Disco duro Disco duro
Disco duro
maiteo9
 
Qu es el disco duro
Qu es el disco duroQu es el disco duro
Qu es el disco duro
cayuda
 
Que es el disco duro
Que es el disco duroQue es el disco duro
Que es el disco duro
amilac
 
Algoritmosplanificacin
AlgoritmosplanificacinAlgoritmosplanificacin
Algoritmosplanificacin
Barbara brice?
 
El disco duro
El disco duroEl disco duro
El disco duro
anderaoiz
 

Similar a Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas (20)

Disco duro
Disco duroDisco duro
Disco duro
 
Disco duro
Disco duroDisco duro
Disco duro
 
Ud 5 (1)
Ud 5 (1)Ud 5 (1)
Ud 5 (1)
 
Arquitectura sistema operativo-particiones
Arquitectura sistema operativo-particionesArquitectura sistema operativo-particiones
Arquitectura sistema operativo-particiones
 
Ortiz Perez Angel Arso Pec1
Ortiz Perez Angel Arso Pec1Ortiz Perez Angel Arso Pec1
Ortiz Perez Angel Arso Pec1
 
Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Disco duro
Disco duro Disco duro
Disco duro
 
Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL Server
 
Administración de Linux - Manejo de Discos
Administración de Linux - Manejo de DiscosAdministración de Linux - Manejo de Discos
Administración de Linux - Manejo de Discos
 
Disco duro
Disco duroDisco duro
Disco duro
 
Disco duro
Disco duroDisco duro
Disco duro
 
Disco duro
Disco duroDisco duro
Disco duro
 
Qu es el disco duro
Qu es el disco duroQu es el disco duro
Qu es el disco duro
 
Qu es el disco duro
Qu es el disco duroQu es el disco duro
Qu es el disco duro
 
Que es el disco duro
Que es el disco duroQue es el disco duro
Que es el disco duro
 
Que es el disco duro
Que es el disco duroQue es el disco duro
Que es el disco duro
 
Algoritmosplanificacin
AlgoritmosplanificacinAlgoritmosplanificacin
Algoritmosplanificacin
 
El disco duro
El disco duroEl disco duro
El disco duro
 
E s1-silber
E s1-silberE s1-silber
E s1-silber
 
Qnap Ts h1886 xu-ts-h1683xu_ts-h2483xu_es
Qnap Ts h1886 xu-ts-h1683xu_ts-h2483xu_esQnap Ts h1886 xu-ts-h1683xu_ts-h2483xu_es
Qnap Ts h1886 xu-ts-h1683xu_ts-h2483xu_es
 

Más de Lenin Hernandez

Alta disponibilidad-postgres
Alta disponibilidad-postgresAlta disponibilidad-postgres
Alta disponibilidad-postgres
Lenin Hernandez
 

Más de Lenin Hernandez (8)

Presentación Live CDs - 2005
Presentación Live CDs - 2005Presentación Live CDs - 2005
Presentación Live CDs - 2005
 
PostgreSQL - El camino de la disponibilidad
PostgreSQL - El camino de la disponibilidadPostgreSQL - El camino de la disponibilidad
PostgreSQL - El camino de la disponibilidad
 
Entendiendo Yii
Entendiendo YiiEntendiendo Yii
Entendiendo Yii
 
Tripticos komunal
Tripticos komunalTripticos komunal
Tripticos komunal
 
Manual de usuario Komunal
Manual de usuario KomunalManual de usuario Komunal
Manual de usuario Komunal
 
Alta disponibilidad-postgres
Alta disponibilidad-postgresAlta disponibilidad-postgres
Alta disponibilidad-postgres
 
Alta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-IIAlta Disponibilidad con PgPool-II
Alta Disponibilidad con PgPool-II
 
Presentacion YII
Presentacion YIIPresentacion YII
Presentacion YII
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

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

  • 1. III Jornadas por el Software Libre de Elche 12 de noviembre de 2005 Almacenamiento en disco: mejora de la velocidad y de la seguridad Juan Piernas Cánovas (piernas@ditec.um.es)
  • 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. Índice ● Estructura del almacenamiento ● Sistemas de ficheros ● Planificadores de E/S ● Organización de un disco ● Organización de varios discos
  • 4. Índice ● Estructura del almacenamiento ● Sistemas de ficheros ● Planificadores de E/S ● Organización de un disco ● Organización de varios discos
  • 6. Estructura del sistema de almacenamiento Aplicaciones de usuario Sistema de ficheros Sistema de ficheros Intercambio Múltiples dispositivos (RAID o LVM) Plan. E/S Plan. E/S Plan. E/S Plan. E/S Disco Disco Disco Disco
  • 7. Índice ● Estructura del almacenamiento ● Sistemas de ficheros ● Planificadores de E/S ● Organización de un disco ● Organización de varios discos
  • 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. 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. 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. 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. 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. 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 PiB 1 GiB (230 bytes) = 1024 MiB 1 TiB (240 bytes) = 1024 GiB 1 PiB (250 bytes) = 1024 TiB 1 EiB (260 bytes) = 1024 PiB
  • 14. Mejora del rendimiento: opciones de montaje ● Generales: – noatime ● Ext3: – journal=[data|ordered|writeback] – commit=num_seg ● XFS – logbufs=[2-8]
  • 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. 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. 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. 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. 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: 2501856 Block count: 5002208 Reserved block count: 250110 Free blocks: 3136909 Free inodes: 2239406 First block: 0 Block size: 4096 ........... Blocks per group: 32768 ........... Mount count: 4 Maximum mount count: 33 Last checked: Thu Jul 7 09:14:58 2005 Check interval: 15552000 (6 months)
  • 20. Índice ● Estructura del almacenamiento ● Sistemas de ficheros ● Planificadores de E/S ● Organización de un disco ● Organización de varios discos
  • 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. 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. 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. 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. 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. 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. 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. Índice ● Estructura del almacenamiento ● Sistemas de ficheros ● Planificadores de E/S ● Organización de un disco ● Organización de varios discos
  • 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. “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. Índice ● Estructura del almacenamiento ● Sistemas de ficheros ● Planificadores de E/S ● Organización de un disco ● Organización de varios discos
  • 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. RAID 0 ● Se consigue: – Un gran dispositivo de almacenamiento – E/S paralela en lecturas y escrituras ● No se consigue: – Seguridad
  • 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. 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. 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. 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. 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. 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. 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. ¡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)