3 Dispositivos de Almacenamiento3.1 Introducción Almacenamiento Secundario"El diseño dependerá de las limitantes del medio y del ambiente" Si los archivos se almacenaran en memoria (RAM), no existiría una disciplina para el estudio del manejo de archivos Diferencias entre memoria primaria y secundaria:
3.2 Tipos de dispositivos de almacenamiento
3.2.1 Cintas Magnéticas
3.2.2 Discos3.2.2.1 Tipos de discos
3.2.2.2 Partes de un Disco
Floppy 5 1/4 " |
|
|
|
Partes de un disco duro
Organización de los sectores
- Al principio no eran adyacentes, existía un factor de intercalamiento de 3 o 5
- Actualmente gracias a las velocidades de los discos si pueden estar adyacentes
1 plato de disco con 2 caras y un intercalamiento de 3
Clusters
- Relacionado a cómo ve el Sistema Operativo al disco
- Son un número fijo de sectores continuos (grupo)
- Permiten que se lean "clusters" y asi evitar tener que leer sector por sector
- El número de sectores agrupados se puede ajustar en la mayoría de los OS (1-65535), default 3512
- Tip: clusters grandes para archivos grandes y viceversa
Extents
- Cuando un archivo no puede estar en sectores contiguos ocurre un "extent"
- Si hay demasiados extents tenemos un problema porque se incrementa el tiempo de acceso a disco
Fragmentación Interna
- Sucede cuando un archivo no es del mismo tamaño que los sectores o clusters
- Tip: clusters grandes para archivos grandes y viceversa
Cálculos para conocer información de los discos duros
Track Capacity = number of sectors per track X bytes per sector
Cylinder Capacity = number of sectors per cylinder X track capacity
Drive Capacity = number of cylinders X cylinder capacityNúmero de bytes por sector=512
Número de sectores por track=63
Número de tracks por cilindro=16
Número de cilindros=409263*512=32256
16* 32256=516096
4092*516096=2,111,864,832 = 2.1 Gb
Número de bytes por sector=512
Número de sectores por track=63
Número de tracks por cilindro=16
Número de cilindros=627963*512=32256
16* 32256=516096
59321*516096= 30,615,330,816=30 Gb
Internal Media Transfer Rate
La velocidad interna del disco, para leer la información, alrededor de uno 500 Mbits/s (62.5Mb/s) en promedio.
dle Speed (RPM)
Average Latency (Half Rotation) (ms)
Typical Current Applications
3,600
8.3
Former standard, now obsolete
4,200
7.1
Laptops
4,500
6.7
IBM Microdrive, laptops
4,900
6.1
Laptops
5,200
5.8
Obsolete
5,400
5.6
Low-end IDE/ATA, laptops
7,200
4.2
High-end IDE/ATA, Low-end SCSI
10,000
3.0
High-end SCSI
12,000
2.5
High-end SCSI
15,000
2.0
Top-of-the-line SCSI
External (Interface) Transfer Rate
La velocidad para tranferir los datos desde el disco al resto de la computadora; este valor siempre será mayor que el "internal rate" ya que hablamos de actividades electrónicas. La velocidad depende del tipo de interface que soporte el disco, esto se menciona en las secciones siguientes.
Tipos de Interfaces para transmisión de datos:
- IDE: Integrated Drive Electronics
- ATA, Fast ATA, Fast ATA-2 con LBA (Logical Block Addressing)
- Ultra ATA (UATA)
- Direct Memory Access (DMA) 30 Mb/s
- Ultra Direct Memory Access (UDMA) 60-100 Mb/s
- Serial ATA 150 Mb/s
- USB: Universal serial bus 480Mbits/s
- SCSI: Small Computer System Interface 5-320 Mb/s
- Fiber Channel 2 Gbits/s
Ultra ATA
Direct Memory Access (DMA): es el término para identificar al protocolo de transferencia a través del cual un dispositivo puede enviar/recibir información directamente de memoria sin utilizar el procesador.
Un conector IDE/ATA en un disco (arriba) y un cable regular de 40 conductores IDE/ATA cable (abajo).
Ultra DMA: agrega transicion en ambos extremos del reloj, doblando así la velocidad; también introduce el uso de CRC (cyclical redundancy checking).
80-conductor Ultra DMA IDE/ATA interface cable.
Nótense los conectores azul, gris y negro, así como los 80 cables.
La marca roja indicando el cable #1 está presente también (aunque no se aprecie en la foto)
Comparación entre los cables de 80-conductores y 40-conductores.
SCSI (Small Computer System Interface)
SCSI no es únicamente una interface, es todo un protocolo de comunicación que ha ido evolucionando con el tiempo hasta llegar a convertirse en la interface más rápida en el mercado.
Maximum Cable Length (m)
8
5
5
6
25
16
5
10
6
25
8
10
10
3
25
16
10
20
3
25
8
20
20
1.5
3
25
16
20
40
1.5
3
25
8
40
40
12
25
25
16
40
80
12
25
25
16
40 (DT)
160
12
25
16
40 (DT)
160
12
25
16
40 (DT)
160
12
25
16
80 (DT)
320
12
25
Los tipos de conectores han ido cambiando, permitiendo principalmente:
- D-Shell (D-Sub, DD): El primer SCSI standard, SCSI-1
Un conector macho DD-50 SCSI
Se observa el metal "D-shaped" alrededor de los pins.Cuidado: El conector Apple DB-25 SCSI es mecánicamente indéntico al conector paralelo de una PC, un grave daño puede ocurrir.
- Centronics: otro conector SCSI-1 standard de 50-pin, también llamado "Centronics connector"
Conector macho (arriba) y hembra 50-pin Centronics connectors.
Se observa que los pins son planos y las esquinas poseen pestañas para conectarse.
- High-Density (HD): El conector D-shell basado en el SCSI-1 standard fue reemplazado por uno nuevo de alta densidad basadp en SCSI-2 .
Machos de 50-pin (izquierda) y 68-pin conectores de alta densidad externos.
- Very High Density Cable Interconnect (VHDCI): Para mejorar de manera notable la flexibilidad del hardware SCSI surge este nuevo conector
A male 68-pin VHDCI connector.
Conectores internos (unshielded):
- Regular Density: Definido para SCSI-1 standard para dispositivos de 8 bits. Es una conector rectangular de 25 pins muy similar al de los IDE/ATA excepto por tener 5 pins extra en cada renglón.
Macho (arriba) y hembra 50-pin regular density.
- High Density: SCSI-2 definió estos conectores que llamados de alta densidad porque el espacio entre pins es de la mita que en los antiguos SCSI-1 haciéndolos mucho más pequeños.
Un macho interno, high-density 68-pin connector.
- Single Connector Attachment (SCA): Es el estandar para conectores SCSI internos, no refiriéndose a los cables sino la interface integrada en alguna tarjeta.
Un conector hembra de 80-pin SCA connector.
Serial ATA Interface
1st generation 2nd generation 2nd generation Approximate
Data Rate 150MB/s 300MB/s 600MB/s Approximate
Bus Speed 1.5GB/s 3.0GB/s 6.0GB/s Introduction Mid 2002 Mid 2004 Mid 2007 Signal compatibility - Compatible w/1st generation Compatible w/ 2nd generation
Serial Attached SCSI
Universal Serial Bus (USB)
- Velocidad de 480Mbits/s
- El cable puede tener un largo de 5 metros.
FC Fiber Channel
- Velocidad de 2Gbits/s
- El cable puede medir hasta 15 km
Ejemplos de configuraciones de discos
Los discos pueden sufrir sobrecalentamiento, por eso en algunos casos se recomiendan algunos "Drive Coolers" que son ventiladores muy similares a los que usa el CPU. Se pegan al disco directamente con una cinta térmica sobre el disco.
Otra manera de enfriar los discos es a través de "Bay Coolers" que son gabinetes por ejemplo de 5.25" que envuelven al drive de 3.5" y proveen una excelente ventilación.
Para tranportar un disco es importante mantenerlo alejado de alguna descarga, aún la estática que los humanos podemos tener.
Anti-static bag
SeaShell
Un disco "Retail" incluye:
- Hard Disk Drive: El disco con su empaque
- Instrucciones de Instalación
- Drivers y/o utilerías.
- Mounting Hardware: tornillos y/o placas para instalar el disco en el gabinete
- Interface Cable
- Tarjeta de Garantía
- Cajita
En contraste un OEM "original equipment manufacturer" incluye:
- Hard Disk Drive: El disco con su empaque
- Jumpers: jumpers para configurar el disco
- Muy populares debido a que surgieron con fines musicales, de ahí que sean tan económicos
- El esquema visto en los discos duros (sectores, tracks, etc) no aplica aquí ya que la información es almacenada en forma de espiral
- Escritura del centro hacia afuera del disco
Problema:
- Capacidad limitada en cuanto al espacio de almacenamiento por disco.
- Existe un cuello de botella en lo que se refiere a I/O para aquellos sistemas que requieren de gran performance
- Acceso a disco (milisegundos) vs RAM (nanosegundos)
Soluciones:
- RAID (Redundant Arrays of Inexpensive/Independient Disks)
- Disk Catching
- Existen 6 niveles diferentes los cuales usan múltiples discos duros para mejorar la velocidad, la fiabilidad o ambos.
- Los niveles 1-5 están relacionados con la fiabilidad (redundancia de datos) pero no ofrecen grandes mejoras en lo que se refiere a operaciones de lectura.
- La redundancia permite tener múltiples copias de los mismos datos en varios discos de manera que si alguno falla los datos no se pierden.
- Para que un RAID funcione que requiere invertir en un hardware que permita obtener los beneficios de dicha técnica, de otra manera el maximizar el uso de cache es una buena solución.
- Específico para aumentar el performance, no provee redundancia
- Los datos se envían (almacenan) en los diferentes discos
- Para la computadora varios discos se aprecian como si fueran 1 solo.
- Se requieren al menos 2 discos para implementarlo
- Este nivel produce un "espejo" (mirror) de los datos, los mismos datos son almacenados en 2 discos
- Estos discos pueden o no estar en la misma máquina
- Las lecturas tienden a ser más rápidas que si se hicieran de un solo disco, ya que los datos pueden ser leídos simultáneamente de ambos.
- Las escrituras suelen ser más lentas ya que se están escribiendo 2 copias de los datos.
- Se requieren al menos 2 discos para implementarlo
- Utiliza códigos de corrección de errores para compensar la carencia de dicha funcionalidad en algunos discos
- Actualmente ya no es muy utilizado debido a que la mayoría de los dispositivos posee dicha característica.
- Almacena toda la información en diferentes discos pero a nivel byte.
- Un disco está dedicado exclusivamente a guardar el bit de paridad, de manera que si algun disco falla los datos se puede recuperar gracias a este bit.
- Se requieren al menos 3 discos para implementarlo
- Similar a RAID3 con la diferencia que la paridad se almacena por bloques.
- La paridad también se almacena en un solo disco
- En ambos casos el disco de paridad se puede volver un cuello de botella
- Se requieren al menos 3 discos para implementarlo
- Semejante a RAID4 solo que con la diferencia de que la paridad se divide entre todos los discos del arreglo.
- Resiste la caída o falla de un disco
- Las escrituras son lentas debido a que un sencilla operación de escritura requiere leer los datos del bloque así como su paridad, recalcular la paridad con los nuevos datos y escribir entre los diferentes discos del raid.
- Sin embargo la gran mejora en tiempo de lectura minimiza el overhead que se gasta en las escrituras.
- El rendimiento puede llegar a ser igual o mejor que si trabajáramos con un solo disco.
- Se requieren al menos 3 discos para implementarlo
Otros Niveles de RAID, basados en las ideas generales de los 6 niveles básicos (no se encuentran disponibles en todas las implementaciones disponibles)
- Similar a RAID5
- Incluye un esquema de paridad adicional distribuido a través de los diferentes discos
- Se requieren al menos N+2 discos para implementarlo
- Principalmente implementado a nivel hardware
- Aprovecha propiedad de un sistema operativo inmerso (embedded) para tener las ventajas del bus de transferencia
- Permite grandes velocidades en transferencia de datos
- Marca Registrada por Storage Computer Corporation.
- Es un arreglo de clases (stripes), cada una de ellas compuesta por un arreglo de discos con RAID1
- Es costo de esta implementación es demasiado alto, tanto en recursos como en dinero
- Se requieren al menos 4 discos para implementarlo
- Es un arreglo de clases (stripes), cada una de ellas compuesta por un arreglo de discos con RAID3
- Esto ofrece gran velocidad pero el costo es demasiado alto
- Se requieren al menos 5 discos para implementarlo
- Es un arreglo de discos espejo
- Cada segmento de discos está configurado como un RAID0
Implementaciones de RAID
Conceptos relacionados:
- Disc Spare (Hot Spare): discos o particiones de respaldo que entran automáticamente si alguno de los discos del arreglo tiene alguna falla
- Dispositivos Hot Plug: máquinas/discos que pueden ser agregados al arreglo en caliente; sin necesidad de reiniciar la máquina.
Un RAID puede estar implementado en Hardware o en Software
- Hardware: Son más rápidos, pero más costosos
- Sun StorEdge T3 169Tb
- Software:
- Solaris Volume Manager (Solstice Disk Suite)
- Linux Kernels
- Windows Management Console -> Disk Management
- Utiliza la memoria RAM del sistema o una memoria caché del disco para "cachar" el I/O del disco.
- Debido a estas memorias más rápidas el rendimiento aumenta.
- Cuando se leer algo del disco lo más reciente se almacena en esta cache de manera que cuando se hace otra llamada al disco ésta se intercepta y se revisa si los datos se encuentran en el buffer de memoria, si es así los datos se utilizan de ésta y no del disco.
Implementación de Catching
- La configuración del Disk Catching suele hacerse en el BIOS de la máquina.
- Algunos Sistemas Operativos automáticamente utilizan la memoria RAM libre para realizar el catching
- La incluída en el disco, actualmente 2 MB en drives IDE/ATA y de hasta 16 MB en algunos SCSI.
Es un dispositivo que posee un disco duro, una tarjeta controladora, una tarjeta de red, y el software necesario que incluye los protocolos para que los archivos sean alcanzables desde las demás máquinas (NFS, CIFS, Internetwork Packet Exchange)
Red dedicada creada para permitir a un grupo de servidores el compartir sistemas de almacenamiento de alta velocidad
Libro: Using SANs and NAS, Oreilly
Referencias tomadas de
http://www.acnc.com
http://www.storage.com
http://www.emc.com