Estructura de archivos


Realice un esquema sobre cómo se estructura cada bloque de información sobre varios discos bajo RAID niveles 0, 1 y 5.

 

Raid 0

 

DISCO 0

DISCO 1

A1

A2

A3

A4

A5

A6

A7

A8

 

espacio total

El primer nivel de RAID brinda una ganancia tanto en espacio total, dado

que presenta un volumen grande en vez de varios discos más pequeños (simplificando la tarea del administrador) como de velocidad, dado que las lecturas

y escrituras al volumen ya no estarán sujetas al movimiento de una sola cabeza, sino que habrá una cabeza independiente por cada uno de los discos que

conforme al volumen.

 

 

confiabilidad

La confiabilidad del volumen, sin embargo, disminuye respecto a si cada uno de los discos se manejara por separado: basta con que uno de los discos presente daños para que la información contenida en el volumen se pierda. Un arreglo RAID nivel 0 puede construirse con un mínimo de dos discos.

 

velocidad de acceso

El objetivo de implementar un RAID 0 es la de proporcionar buenas velocidades de acceso a los datos que estén guardados en los discos duros, ya que la información está equitativamente repartida en ellos para tener acceso simultáneo a mayor cantidad de datos con sus discos funcionando en paralelo

 

 

 

Raid 1

2.                  

DISCO 0

DISCO 1

A1

A1

A2

A2

A3

A3

A4

A4

 

espacio total

El objetivo de implementar un RAID 0 es la de proporcionar buenas velocidades de acceso a los datos que estén guardados en los discos duros, ya que la información está equitativamente repartida en ellos para tener acceso simultáneo a mayor cantidad de datos con sus discos funcionando en paralelo

 

velocidad de acceso

La velocidad de acceso a los datos bajo RAID 1 es mayor a la que se lograría con un disco tradicional: basta con obtener los datos de uno de los discos; el controlador RAID (sea el sistema operativo o una implementación en hardware) puede incluso programar las solicitudes de lectura para que se vayan repartiendo entre ambas unidades. La velocidad de escritura se ve levemente reducida, dado que hay que esperar a que ambos discos escriban la información.

 

confiabilidad

Este nivel está principalmente orientado a aumentar la confiabilidad de la información: los datos son grabados de forma simultánea e idéntica en todos los discos que formen parte del volumen. El costo de mantener los datos en espejo, claro está, es el del espacio empleado: en su configuración habitual, de dos discos por volumen, 50% del espacio de almacenamiento se pierde por fungir como respaldo del otro 50 por ciento.

 

 Raid 5

DISCO 0

DISCO 1

DISCO 2

DISCO 3

A1

A2

A3

Ap

B1

B2

Bp

B4

C1

Cp

C3

C4

Dp

D2

D3

D4

 

velocidad de acceso

n, la velocidad de acceso de este nivel puede ser es ligeramente menor que la obtenida de los discos que no operan en RAID, o ligeramente menor a la que se logra con RAID nivel 0. Dado que la electrónica en los discos actuales notificará explícitamente al sistema operativo en caso de fallo de lectura, cuando el sistema requiere leer datos, estos pueden ser solicitados únicamente a n − 1 discos (e ignorar al de paridad); si el arreglo está configurado para verificar la paridad en lecturas, todas tendrán que obtener la franja correspondiente de todos los discos del arreglo para poder calcularla. El algoritmo de verificación y recuperación de RAID 5 es sorprendentemente eficiente y simple: el de una suma XOR, ilustrado en la figura C.11. La operación booleana XOR (de Exclusive OR) suma los bits individuales, columna por columna. Si es un número par, almacena un 0, si es impar, almacena un 1. Esta operación es muy eficiente computacionalmente.

 

 

espacio total

El nivel 5 de RAID proporciona un muy buen equilibrio respecto a las características que se han mencionado: brinda el espacio total de almacenamiento de todos los discos que formen parte del volumen menos uno. Para cada una de las franjas, RAID 5 calcula un bloque de paridad. Para obtener una mayor tolerancia a fallos, este bloque de paridad no siempre va al mismo disco, sino que se va repartiendo entre todos los discos del volumen, desplazándose a cada franja, de modo que cualquiera de los discos puede fallar, y el arreglo continuará operando sin pérdida de información. Esta debe notificarse al administrador del sistema, quien reemplazará al disco dañado lo antes posible (dado que, de no hacerlo, la falla en un segundo disco resultará en la pérdida de toda la información).

 

 

confiabilidad

Con RAID 5, una sola unidad fallida no pierde datos, pero si dos unidades fallan, los datos se pierden, Si falla más de un disco, los datos se tienen que restaurar a partir del medio de copia de seguridad. Lógicamente, la capacidad de una unidad de disco está dedicada a almacenar datos de paridad en un conjunto de paridad.

 

 

 

 

c. Conteste la siguiente pregunta: ¿Cuál es el tamaño máximo de archivo que podrá manejar este sistema de archivos? Partiendo del siguiente sistema de archivos basado en asignación indexada; cada cluster mide 4.096 bytes, y el apuntador a un bloque requiere 32 bits (4 bytes). Dados los metadatos que van a almacenarse en el i-nodo del archivo, dentro del i-nodo principal puede guardar 24 apuntadores directos, y está considerando permitir indirección sencilla y doble.

 

con cuatro clusters, se hace necesario extender al i-nodo con una lista adicional. La implementación más común de este mecanismo es que, dependiendo del tamaño del archivo, se emplean apuntadores con los niveles de indirección que vayan haciendo falta. ¿Qué tan grande sería el archivo máximo direccionable bajo este esquema y únicamente tres indirecciones? Suponiendo magnitudes típicas hoy en día (clusters de 4 KB y direcciones de 32 bits), en un cluster vacío caben 128 apuntadores ( 4 096 32 ). Si los metadatos ocupan 224 bytes en el i-nodo, dejando espacio para 100 apuntadores: Un archivo de hasta (100 − 3) × 4 KB = 388 KB puede ser referido por completo directamente en el i-nodo, y es necesario un sólo acceso a disco para obtener su lista de clusters. Un archivo de hasta (100 − 3 + 128) × 4 KB = 900 KB puede representar 7.2. ESQUEMAS DE ASIGNACIÓN DE ESPACIO 283 con el bloque de indirección sencilla, y obtener su lista de clusters significa dos accesos a disco adicionales. Con el bloque de doble indirección, puede hacerse referencia a archivos mucho más grandes: (100 − 3 + 128 + (128 × 128)) × 4 KB = 66 436 KB ≈ 65 MB Sin embargo, a estas alturas comienza a llamar la atención otro importante punto: para acceder a estos 65MB, es necesario realizar hasta 131 accesos a disco. A partir de este punto, resulta importante que el sistema operativo asigne clusters cercanos para los metadatos (y, de ser posible, para los datos), pues la diferencia en tiempo de acceso puede ser muy grande. Empleando triple indirección, se puede llegar hasta: (100 − 3 + 128 + (128 × 128) + (128 × 128 × 128)) × 2 KB = 8 455 044 kb ≈ 8 GB Esto es ya más de lo que puede representarse en un sistema de 32 bits. La cantidad de bloques a leerse, sin embargo, para encontrar todos los clusters significaron hasta 16 516 accesos a disco (en el peor de los casos).

 

 

d. Describa el funcionamiento de un sistema de archivos con bitácora (journaling file system) y responda la siguiente pregunta: ¿Cómo se asegura que el sistema se mantendrá consistente después de una interrupción abrupta del suministro eléctrico?

Si se lleva el concepto del sistema de archivos con bitácora a su límite, y se designa a la totalidad del espacio en el volumen como la bitácora, el resultado es un sistema de archivos estructurado en bitácora (log-structured file systems). Obviamente, este tipo de sistemas de archivos presenta una organización completa radicalmente diferente de los sistemas de archivo tradicionales.

Si se lleva el concepto del sistema de archivos con bitácora a su límite, y se designa a la totalidad del espacio en el volumen como la bitácora, el resultado es un sistema de archivos estructurado en bitácora (log-structured file systems). Obviamente, este tipo de sistemas de archivos presenta una organización completa radicalmente diferente de los sistemas de archivo tradicionales. Las ideas básicas detrás de la primer implementación de un sistema de archivos de esta naturaleza (Ousterhout y Rosenblum, 1992) apuntan al empleo agresivo de caché de gran capacidad, y con un fuerte mecanismo de recolección de basura, acomodando la información que esté más cerca de la cola de la bitácora (y liberando toda aquella que resulte redundante). Este tipo de sistemas de archivos facilita las escrituras, haciéndolas siempre secuenciales, y buscan –por medio del empleo del caché ya mencionado– evitar que las cabezas tengan que desplazarse con demasiada frecuencia para recuperar fragmentos de archivos. Una consecuencia directa de esto es que los sistemas de archivos estructurados en bitácora fueron los primeros en ofrecer fotografías (snapshots) del sistema de archivos: es posible apuntar a un momento en el tiempo, y –con el sistema de archivos aún en operación– montar una copia de sólo lectura con la información del sistema de archivos completa (incluyendo los datos de los archivos). Los sistemas de archivo estructurados en bitácora, sin embargo, no están optimizados para cualquier carga de trabajo. Por ejemplo, una base de datos relacional, en que cada uno de los registros es típicamente actualizado de forma independiente de los demás, y ocupan apenas fracciones de un bloque, resultaría tremendamente ineficiente. La implementación referencia de Ousterhout y Rosenblum fue parte de los sistemas BSD, pero dada su tendencia a la extrema fragmentación, fue eliminado de ellos.

 

 

 

 

Comentarios

Entradas populares