Está en la página 1de 53

ASI

07 08

Tecnologías de
Almacenamiento en
Disco
Sistemas operativos monousuario y
multiusuario

Sergio Santamaría Bayés


IES Puig Castellar, Sta. Coloma de Gramenet
ASI 07 08
Tecnologías de almacenamiento 2

2
Tecnologías de almacenamiento 3

TECNOLOGIAS DE ALMACENAMIENTO EN DISCO

1. Dispositivos de almacenamiento
• Dispositivos de bloques y de caracteres
• Características y funciones:
 Discos Duros
 Discos ópticos
 Discos de estado sólido (SSD)

2. Particiones
• Concepto
• Tipos
 Particiones Primarias, Extendidas y lógicas

• MBR
 Estructura del MBR
 MBR y particiones
 MBR y arranque del SO
 MBR y identificación de discos

3. Sistemas de ficheros de disco


• Funciones
• Journaling
• Breve descripción de VFAT (16 y 32), EXT3, JFS, XFS y tabla comparativa de
sus características.

4. Gestión de volúmenes lógicos


• Conceptos
• Funciones
• Descripción de LVM y EVMS

5. ZFS
• Introducción.
 ZFS, el sistema de ficheros del futuro
 Desarrollo de ZFS
 Disponibilidad en distintos SO
• Características detalladas
• ¿Por qué utilizar ZFS?

3
Tecnologías de almacenamiento 4

1. Dispositivos de almacenamiento

D
ispositivo de auxiliares). Cuando se hace esta
almacenamiento es todo distinción, el dispositivo de
aparato que se utilice almacenamiento primario es la
para grabar los datos de un memoria de acceso aleatorio
ordenador de forma permanente o (RAM) de la computadora, un
temporal. Una unidad de disco, dispositivo de almacenamiento
junto con los discos que graba, es permanente pero cuyo contenido
un dispositivo de almacenamiento. es temporal. El almacenamiento
A veces se dice que un ordenador secundario incluye los dispositivos
tiene dispositivos de de almacenamiento más
almacenamiento primarios (o permanentes, como unidades de
principales) y secundarios (o disco y de cinta.
4
Tecnologías de almacenamiento 5

1.1. Dispositivos de bloques y de caracteres

Existen dos clases de dispositivos según la manera de tratar datos: archivos de


dispositivo modo bloque y archivos de dispositivo modo carácter. Un
dispositivo en modo bloque escribe y/o lee en grupos de bytes indivisibles
(usualmente múltiplos de 512 ó 1024) llamados bloques, mientras que los
dispositivos de modo carácter pueden leer y/o escribir carácter por carácter (byte).
Hablando de dispositivos de bloques el más conocido es el disco duro, que trata la
información por bloques de tamaño variable según el sistema de archivos
implementado. En dispositivos que trabajen por caracteres nos encontramos con
los terminales, que introducen datos byte a byte y expulsan datos de la misma
manera.

Los dispositivos de caracteres utilizan el acceso secuencial para tratar los datos de
manera que el elemento de lectura del dispositivo debe pasar previamente por
todos los datos almacenados del medio físico almacenado para acceder al
elemento deseado. En los dispositivos de bloques en cambio tienen la capacidad
de acceso aleatorio a los datos, también llamado acceso directo que les permite
acceder a un elemento arbitrario de una secuencia de datos empleando el mismo
tiempo que si estuvieran en secuencia.

5
Tecnologías de almacenamiento 6

El ahorro de tiempo que representa el acceso aleatorio es determinante a la hora


de elegir a los dispositivos de bloques (discos duros) para gestionar los sistemas
de ficheros de cualquier sistema operativo. El software del sistema de ficheros
organizará los bloques (también llamados sectores) del dispositivo de
almacenamiento en archivos y directorios, manteniendo un registro de qué sectores
pertenecen a qué archivos y cuáles no han sido utilizados, acelerando
exponencialmente su gestión.

1.2. Características y funciones

1.2.1. Discos duros

Dentro de los medios magnéticos de almacenamiento el más utilizado es el


disco duro. Es en la mayoría de los casos donde aloja el sistema operativo y
casi todos los datos de un ordenador.

Está formado por una carcasa metálica o similar que dentro contiene una
serie de platos metálicos apilados girando a gran velocidad (entre 4000 y
15000 rpm). Sobre estos platos se sitúan los cabezales encargados de leer o
escribir los impulsos magnéticos.

Tal y como sale de fábrica, el disco duro no puede ser utilizado por un sistema
operativo. Antes tenemos que definir en él un formato de bajo nivel, una o más
particiones y luego hemos de darles un formato que pueda ser entendido por
nuestro sistema.

Este componente, al contrario que el microprocesador o los módulos de


memoria, no se pincha directamente en la placa base, sinó que se conecta a
ella mediante un cable. También va conectado a la fuente de alimentación,
pues, como cualquier otro componente, necesita energía para funcionar.

6
Tecnologías de almacenamiento 7

Hay varios conceptos para referirse a zonas del disco:

• Plato: Cada uno de los discos que hay dentro del disco duro.

• Cara: Cada uno de los dos lados de un plato.

• Cabeza: Número de cabezales.

• Pista: Una circunferencia dentro de una cara; la pista 0 está en el borde


exterior.

• Motor: Acciona y hace girar los platos.

• Electroimán: mueve el cabezal.

• Circuito electrónico de control incluye: interfaz con el ordenador, memoria


caché.

• Cilindro: Conjunto de varias pistas; son todas las circunferencias que están
alineadas verticalmente (una de cada cara).

• Sector: Cada una de las divisiones de una pista. El tamaño del sector no es
fijo, siendo el estándar actual 512 bytes. Antiguamente el nº de sectores por
pista era fijo, lo cual desaprovechaba el espacio significativamente, ya que
en las pistas exteriores pueden almacenarse más sectores que en las
interiores. Así, apareció la tecnología ZBR (grabación de bits por zonas) que
aumenta el número de sectores en las pistas exteriores, y usa más
eficientemente el disco duro.

• Clúster: Conjunto contiguo de pistas de sectores que componen la unidad


más pequeña de almacenamiento de un disco.

7
Tecnologías de almacenamiento 8

Partes de un disco duro Vista de la estructura de un disco.

Desguace de las piezas de un disco duro

8
Tecnologías de almacenamiento 9

Las características que se deben tener en cuenta en un disco duro son:

• Tiempo medio de acceso: Tiempo medio que tarda en situarse la aguja en


el sector deseado; es la suma del Tiempo medio de búsqueda y la Latencia.

• Tiempo medio de búsqueda (seek): Es la mitad del tiempo que tarda la


aguja en ir de la periferia al centro del disco.

• Latencia: Tiempo que tarda el disco en girar media vuelta, que equivale al
promedio del tiempo de acceso (tiempo medio de acceso). Una vez que la
aguja del disco duro se sitúa en el cilindro el disco debe girar hasta que el
dato se sitúe bajo la cabeza; el tiempo en que esto ocurre es, en promedio,
el tiempo que tarda el disco en dar medio giro; por este motivo la latencia es
diferente a la velocidad de giro, pero es aproximadamente proporcional a
ésta.

• Tiempo de acceso máximo: Tiempo máximo que tarda la aguja en situarse


en el cilindro deseado. Es el doble del Tiempo medio de acceso.

• Tiempo pista a pista: Tiempo que tarda en saltar de la pista actual a la


adyacente.

• Tasa de transferencia: Velocidad a la que puede transferir la información al


ordenador. Puede ser velocidad sostenida o de pico.

• Caché de pista: Es una memoria de estado sólido, tipo RAM, dentro del
disco duro de estado sólido. Los discos duros de estado sólido utilizan cierto
tipo de memorias construidas con semiconductores para almacenar la
información. El uso de esta clase de discos generalmente se limita a las
supercomputadores, por su elevado precio.

• Interfaz: Medio de comunicación entre el disco duro y el ordenador. Puede


ser IDE/ATA/PATA, SCSI, SATA, USB, Firewire, SAS, FC...

• Velocidad de rotación: Número de revoluciones por minuto del/de los


plato/s. Ejemplo: 7200rpm.

• Tamaño disco: Se mide en pulgadas. Es el tamaño total físico del disco,


según su aplicación se utilizan diferentes tamaños. Existen de 0,85”, 1”, 1,8”,
2,5” 3,5”, 5,25” y 8”

9
Tecnologías de almacenamiento 10

En la siguiente tabla se comparan las interfaces más comunes en los discos


duros:

Interfaz IDE/ATA/PATA SATA SCSI SAS FC


Intelligent Drive Serial ATA Small Serial Fibre
Electronics/ Computer Attached Channel
Nombre Advanced System SCSI
completo Technology Interface
Attachment//
Parallel ATA
Bus Paralelo Serie Paralelo Serie Fibra óptica
Nº de 2 1 16 16.256 127
dispositivo (master, slave)
s
por puerto
Tiempo de >9 ms 5-6 ms 6-8 ms 5-6 ms <5 ms
acceso
máximo
Longitud 0 ,4 6 m 2m 12 m 8m 500 m-3 km
cable
Velocidad 7.200 7.200 10.000 15.000 15.000
de giro
(RPM)
Velocidad 133 MB/s 600 MB/s 640 MB/s 750 MB/s 850 MB/s
de
transferenci
a
(máxima)
Hotswap No Sí No Sí Sí
(conexión en
marcha)

Imagen

10
Tecnologías de almacenamiento 11

1.2.2. Discos ópticos


En el campo de la informática, la reproducción de sonido y el vídeo, un disco
óptico es una superficie circular de policarbonato donde la información se
guarda realizando unos surcos microscópicos en la superficie del disco. La
información en un disco óptico es almacenada secuencialmente en espiral
desde el círculo más interno hasta el más externo, cubriendo toda la superficie
del disco.
Esta serie de micro perforaciones se denominan Pits y tienen una longitud
variable, aunque el mínimo es de 0,83 µm en CD-ROM y 0,4 en DVD, y una
distancia entre Pits de 1,6 µm en CD-ROM y 0,74 en DVD.
El espacio intermedio entre dos Pits se denomina Land.
En la siguiente imagen podemos ver las diferencias en el tamaño de pits y
lands entre DVD's y CD's.

En un CD o DVD, la información está almacenada digitalmente, codificada


mediante unos y ceros. Un Pit está delimitado por unos, es decir, el principio y
el final de un Pit es un uno, y su longitud está determinada por el número de
ceros que contiene. El espacio entre PITS, denominado Land, representa
solamente ceros y el número de estos depende de la longitud del Land.

11
Tecnologías de almacenamiento 12

El láser al pasar por la superficie del disco, se refleja con diferente intensidad
dependiendo de si pasa por un Pit o por un Land, quedando este reflejo
registrado por un detector fotoeléctrico. La intensidad de la luz reflejada es
menor cuando el láser pasa por un Pit, y mayor cuando lo hace por un Land.
Estos cambios de intensidad (determinados por el principio y el final de un Pit,
o dicho de otra manera, el paso de un Pit a un Land y de un Land a un Pit)
permiten reconocer la información contenida en el disco óptico, ya que al
producirse un cambio en la intensidad de la luz reflejada tenemos un 1, y el
tiempo que dure este cambio de intensidad, se corresponde con el número
de ceros que siguen a ese 1 .

Láser y óptica: aplicaciones en los diferentes tipos de disco


Un disco óptico no es nada si no se dispone de una unidad óptica para su
grabación y su reproducción. La unidad óptica está formada principalmente
por un motor que hace girar el disco y un cabezal móvil con una lente láser
para su lectura y grabación.

La parte más importante de una unidad óptica es el lector óptico. Consiste


generalmente en semiconductores láser, con una lente capaz de proyectar un
haz láser y orientarlo hacia los surcos de la superficie del disco y así detectar
su reflexión.

Inicialmente, el láser utilizado para leer/escribir en los discos tenía una


longitud de onda de 780 nm, situándose dentro de la gama de infrarrojos
(debajo del rojo). Para los siguientes CD y para DVD, la longitud de onda se
redujo a 650 nm (color rojo), y la longitud de onda para Blu-Ray se redujo a
405 nm (color azul). Esta diferencia en la longitud de onda es consecuencia
principal de la diferencia de tamaño y cantidad de micro perforaciones del
disco (surcos) y permiten un aumento progresivo de la capacidad en los
diferentes formatos: un CD se sitúa entre 700-900 MB, un DVD entre 4,7 GB-
18 GB y un BD llega de 25 a 50 GB.

Para la lectura y escritura de discos ópticos se utilizan principalmente dos


servomecanismos, el primero de ellos sirve para mantener la distancia entre la
lente y el disco, normalmente 1 mm, y velar por la orientación del rayo láser. El
segundo mecanismo mueve el cabezal a través del radio del disco,
manteniendo un flujo continuo de datos en espiral.

12
Tecnologías de almacenamiento 13

En medios de sólo lectura (ROM), durante el proceso de fabricación del


disco, hecho de surcos, éste se prensa sobre una superficie plana. Debido a
que la profundidad de los surcos es aproximadamente de una cuarta a una
sexta parte de la longitud de onda del láser, el rayo reflejado varía en relación
con el nuevo haz de lectura, causando una mutua interferencia destructiva y
refleja la reducción de la intensidad del haz. Esto es detectado por fotodiodos
que se interpretan en señales eléctricas de salida.

Un grabador codifica datos en un disco en blanco o virgen ya sea CD-R


(disco compacto), DVD±R (Disco Versátil Digital), o BD-R (Disco Blu-Ray)
de forma selectiva mediante la variación de la temperatura del láser que
“tinta” la capa del disco de un color diferente. Esto cambia la reflectividad del
disco, lo que hace posible la creación de marcas denominados surcos que se
pueden leer. Para los discos grabables, el proceso es permanente y los
medios sólo puede escribirse en una sola vez. Si bien la lectura láser
usualmente no es mayor que 5 mW, el láser de escritura es
considerablemente más potente. En la mayor velocidad de escritura, el láser
dispone de menos tiempo para calentar un punto del disco, por lo que la
potencia ha de aumentar proporcionalmente. Las grabadoras de DVD tienen
picos de alrededor de 100 mW en onda contínua, y de 225 mW en modo
pulsado.

Los discos regrabables CD-RW, DVD±RW, DVD-RAM, o BD-RE, poseen una


capa especial fotosensible para poderse usar hasta 1000 veces. El proceso de
grabación se realiza igual que en los discos de un sólo uso, la diferencia
reside en el material cristalino-metálico de la capa fotosensible. Este material
permite que al aplicar el rayo láser a una temperatura superior a la establecida
para la grabación, restaurar el disco a su estado original quedando listo para
una nueva grabación.

En los discos de doble cara se pueden usar las dos caras del disco pero no
son de fácil acceso con una unidad estándar, ya que exigen que se gire
físicamente el disco para acceder a los datos del otro lado.

En los discos de doble capa (DL) existen dos capas de datos separados por
un semi-capa reflectante que permite grabar el doble de capacidad. Ambas
capas son accesibles desde el mismo lado y requieren que la óptica pueda
cambiar el enfoque del láser. La tradicional capa única (SL) de escritura de
los discos, se introduce con una ranura espiral moldeada en la capa
protectora de policarbonato (no en la capa de grabación de datos), para dirigir
y sincronizar la velocidad de grabación del cabezal. En los discos de doble

13
Tecnologías de almacenamiento 14

capa de escritura existen diferentes capas: una primera capa de policarbonato


con un separador de capas, una primera capa de datos, un semi-capa
reflectante, un segundo separador, una capa de policarbonato con otro
separador, y una segunda capa de datos. El primer surco espiral usualmente
comienza en el borde interior y se extiende hacía fuera, mientras que la
segunda ranura comienza en el borde exterior y se extiende hacia dentro.

Capas de un disco óptico

Mecanismos de rotación

En un unidad óptica el mecanismo de rotación difiere considerablemente de


unidad de disco duro, en este último se intenta mantener una velocidad
angular constante (CAV), en otras palabras, un número constante de
revoluciones por minuto (RPM). Con CAV, se consigue un mayor
rendimiento general, llegando a ser más útil en una zona exterior del disco
que en comparación con la zona interior. Los discos ópticos funcionan de una
manera distinta.

14
Tecnologías de almacenamiento 15

Las unidades ópticas se elaboraron con el supuesto de lograr un rendimiento


constante, en las primeras unidades de CD se conseguía un rendimiento igual
a 150 Kbps. Se trata de una característica importante para el streaming de
datos de audio, que necesitan un flujo constante de datos. Sin embargo, para
garantizar que no se desperdiciaba capacidad del disco, se tenía que
transferir datos a una tasa lineal constante (CLV) en todo momento, sin
frenar en el borde exterior del disco. Por supuesto, la implicación de CLV, en
contraposición a CAV, es que la velocidad angular del disco ya no es
constante, y el cabezal de motor debe ser diseñado para variar la velocidad de
200 RPM en el borde exterior a 500 RPM en el interior del disco.

Más tarde, las grabadoras de CD han mantenido la CLV, pero evolucionando


para lograr una mayor velocidad de rotación. Como resultado de dicha
evolución se creó el estándar ISO9660 en 1989 en la que se describen los
múltiplos de la velocidad base, 150 Kbps, que corresponde a 1x. La tabla está
formada por: 1x (150 Kbps), 2x (300 Kbps), 4x (600 Kbps), 6x (900 Kbps), 8x
(1200 Kbps), 10x (1500 Kbps), 12x (1800 Kbps), 16x (2400 Kbps), 24x (3600
Kbps), 32x (4800 Kbps), 36x (5400 Kbps), 40x (6000 Kbps), 48x (7200 Kbps),
52x (7800 Kbps), 60x (9000 Kbps) y 72x (10800 Kbps).

Para DVD la velocidad de base, o "1x", es 1,385 MB/s, equivalente a 1,32


Mbps, aproximadamente 9 veces más rápido que la velocidad base de CD's.
Para Blu-ray la velocidad base es 6,74 Mbps, equivalente a 6,43 Mbps.

Sin embargo, existen límites físicos en cuanto a la velocidad de un disco. Más


allá de las 10000 RPM, las fuerzas centrífugas pueden desplazar el disco e
incluso destruirlo. En el borde exterior del disco, la limitación de 10000 RPM
equivale aproximadamente a 52x de velocidad, pero en el borde interior el
límite es tan sólo a 20x. Algunas unidades reducen aún más su máxima
velocidad de lectura a 40x para evitar daños estructurales en los discos.

Mantener una constante tasa de transferencia en todo el disco no es tan


importante en los discos modernos. Para mantener la velocidad de rotación
del disco con seguridad a la vez que se maximiza la velocidad de datos, un
movimiento puramente CLV debía ser abandonado. Hoy en día se utilizan
sistemas híbridos denominados Z-CLV (zonas CLV). Esto divide el disco en
varias zonas, cada una con su propia diferente velocidad lineal constante. Un
grabador Z-CLV con una máxima velocidad de grabación de "52X", por
ejemplo, escribe a 20X en la zona interior y luego aumenta progresivamente la
velocidad hasta 52X en el borde exterior.

15
Tecnologías de almacenamiento 16

Nomenclatura y designación

Capas Diámetro Capacidad


Designación Caras
(total) (cm) (GB) (GiB)
DVD-1 SS SL 1 1 8 1.46 1.36
DVD-2 SS DL 1 2 8 2.66 2.47
DVD-3 DS SL 2 2 8 2.92 2.72
DVD-4 DS DL 2 4 8 5.32 4.95
DVD-5 SS SL 1 1 12 4.70 4.37
DVD-9 SS DL 1 2 12 8.54 7.95
DVD-10 DS SL 2 2 12 9.40 8.74
DVD-14 DS DL/SL 2 3 12 13.24 12.32
DVD-18 DS DL 2 4 12 17.08 15.90
DVD-R 1.0 SS SL 1 1 12 3.95 3.68
DVD-R 2.0 SS SL 1 1 12 4.70 4.37
DVD-R 2.0 DS SL 2 2 12 9.40 8.75
DVD-RW 2.0 SS SL 1 1 12 4.70 4.37
DVD-RW 2.0 DS SL 2 2 12 9.40 8.75
DVD+R 2.0 SS SL 1 1 12 4.70 4.37
DVD+R 2.0 DS SL 2 2 12 9.40 8.75
DVD+RW 2.0 SS SL 1 1 12 4.70 4.37
DVD+RW 2.0 DS SL 2 2 12 9.40 8.75
DVD-RAM 1.0 SS SL 1 1 12 2.58 2.40
DVD-RAM 1.0 DS SL 2 2 12 5.16 4.80
DVD-RAM 2.0 SS SL 1 1 12 4.70 4.37
DVD-RAM 2.0 DS SL 2 2 12 9.40 8.75
DVD-RAM 2.0 SS SL 1 1 8 1.46 1.36
DVD-RAM 2.0 DS SL 2 2 8 2.65 2.47
CD-ROM 74 min SS SL 1 1 12 0.682 0.635
CD-ROM 80 min SS SL 1 1 12 0.737 0.687
CD-ROM SS SL 1 1 8 0.194 0.180

16
Tecnologías de almacenamiento 17

1.2.3. Discos de Estado Sólido (SSD)

Existe otro tipo de discos denominados de estado sólido que utilizan cierto
tipo de memorias construidas con semiconductores de 50nm para almacenar
la información.

El uso de esta clase de discos generalmente se limitaba a superordenadores,


por su elevado precio, aunque hoy en día ya se pueden encontrar en el
mercado unidades mucho más económicas de baja capacidad (hasta 64 GB)
para el uso en ordenadores personales (sobre todo portátiles). Sin embargo,
estos discos aún son demasiado caros para la capacidad que ofrecen.

La principal baza de estos discos es la velocidad. El caché de pista es una


memoria de estado sólido, tipo memoria RAM, lo que hace que el movimiento
de datos dentro de los conductores se realice a velocidades muy superiores a
las que mecánicamente pueden hacerlo los discos magnéticos de hoy en día.

Además, el ahorro de energía es considerable ya que es necesario ningún


motor que haga girar los platos ni mover el cabezal. Por otra parte, al ser
dispositivos puramente electrónicos, no son tan frágiles a golpes o
movimientos bruscos del ordenador que puedan estropearlos y/o destruirlos.

Disco SSD de SAMSUNG de 64 GB

17
Tecnologías de almacenamiento 18

2. Particiones

U
na partición de disco, en unidad de almacenamiento
informática, es el nombre completamente formateada es en
de cualquier división de realidad una partición primaria que
un disco, siendo el disco duro el ocupa todo el disco; en dicho caso,
caso más común para esta técnica. el término partición es poco usado,
La técnica consiste en dividir un siendo en este caso sustituido por
disco en varias partes, las cuales otro termino más familiar, como
actúan y son tratadas por el formato del disco. Esta técnica
sistema como discos simple que puede considerarse
independientes, sin embargo, estas como un precursor de la gestión de
divisiones están presentes en un volúmenes lógicos, en inglés
mismo disco físico. Cualquier Logical Volume Management
(LVM).

18
Tecnologías de almacenamiento 19

2.1. Concepto

Cuando un disco es dividido en dos particiones primarias, el sistema operativo


reconoce al único disco físico como dos discos electrónicamente independientes
conectados al sistema; siempre y cuando el sistema reconozca el formato de
dichas particiones. Si por ejemplo, particionamos un disco duro de 100 GB en dos
particiones del mismo tamaño, cada partición tendrá entonces 50 GB. Esto implica,
que cada partición puede tener su propio sistema de archivos (formato), y de esta
manera, tener un disco duro físico que funciona en realidad como dos unidades de
almacenamiento independientes. Esto es útil para el usuario que necesite o desee
tener dos o más sistemas operativos en una misma máquina o disco.

Un único disco físico puede contener hasta cuatro particiones primarias;


prácticamente todo tipo de discos magnéticos y memorias flash (como pendrives)
pueden particionarse. Sin embargo, para tener la posibilidad de más particiones en
un solo disco, se utilizan las particiones extendidas, las cuales pueden contener
un número ilimitado de particiones lógicas en su interior. Para este último tipo de
particiones, no es recomendado su uso para instalar ciertos sistemas operativos,
sino que son más útiles para guardar documentos o ejecutables no indispensables
para el sistema. Los discos ópticos (DVD, CD) no soportan particiones.

19
Tecnologías de almacenamiento 20

2.2. Tipos
El formato o sistema de archivo de las particiones (e.j. EXT3) no debe ser
confundido con el tipo de particiones (e.j. partición primaria), ya que en realidad no
tienen directamente mucho que ver. Independientemente del sistema de archivos
de una partición existen 3 tipos diferentes de particiones: particiones primarias,
extendidas y lógicas.

2.2.1. Partición primaria

Son las divisiones crudas o primarias del disco, sólo puede haber 4 de éstas.
Depende de una tabla de particiones. Un disco físico completamente
formateado, consiste en realidad de una partición primaria que ocupa todo el
espacio del disco y posee un sistema de archivos. Este tipo de particiones
cualquier sistema operativo puede detectarlas y asignarles una unidad,
siempre y cuando el sistema operativo reconozca su formato (sistema de
archivos).

Tradicionalmente usan una estructura llamada Tabla de Particiones, que


apunta al final del registro de arranque maestro (MBR o sector 0). La tabla no
puede contener más de 4 registros de particiones (también llamados partition
descriptors)En dicha tabla se especifíca para cada partición su principio, final
y tamaño en los diferentes modos de direccionamiento, también como un solo
número llamado partition type (tipo de partición), y un marcador que indica si
la partición está activa. En cada momento sólo puede estar activa una
partición.

El marcador se usa durante el arranque; después de que el BIOS cargue el


registro de arranque maestro en la memoria y lo ejecute, la MBR comprueba
la tabla de partición a su final, y localiza la partición activa. Entonces cargar el
sector de arranque de esta partición en memoria y la ejecuta. A diferencia del
registro de arranque maestro, generalmente independiente del sistema
operativo, el sector de arranque está instalado junto con el sistema operativo
y sabe cómo cargar el sistema ubicado en ese disco en particular.

Notar que mientras la presencia de un marcador activo se estandariza, éste


normalmente no lo utiliza cualquier programa, aunque sí el gestor de
arranque, para que no esté obligado a cargar la partición que se marcó como
activa. Algunos gestores usan esto para arrancar sistemas operativos desde

20
Tecnologías de almacenamiento 21

particiones no activas. Por ejemplo, los gestores LILO, GRUB (muy comunes
en el sistema Linux) y XOSL no buscan por encima de la tabla de partición en
total; simplemente carga una segunda etapa (que puede ser contenida en el
resto del sector 0 ó en el sistema de archivo).

Después de cargar la segunda etapa, se utiliza el sector de arranque para


cargar desde cualquiera de las particiones del disco (así habilitando al usuario
cargar el sistema desde éste), o si el gestor conoce cómo localizar el kernel
(núcleo) del sistema operativo en una de las particiones y cargarlo (para
propósitos de recuperación, puede permitir al usuario especificar opciones de
kernel adicionales).

2.2.2. Partición extendida

Es otro tipo de partición que actúa como una partición primaria; sirve para
contener infinidad de unidades lógicas en su interior. Fue ideada para romper
la limitación de 4 particiones primarias en un solo disco físico. Solo puede
existir una partición de este tipo por disco, y solo sirve para contener
particiones lógicas. Por lo tanto, es el único tipo de partición que no soporta
un sistema de archivos directamente.

El campo de inicio de una partición extendida tiene la ubicación del primer


descriptor de dicha partición, que a su vez tiene un campo similar con la
ubicación de la siguiente; así se crea una lista enlazada de descriptores de
partición. Los demás campos de una partición extendida son indefinidos, no
tienen espacio asignado y no pueden usarse para almacenar datos. Esta
información recibe el nombre de etiquetas de disco (BSD).

Las particiones iniciales de los elementos de la lista enlazada son las


llamadas unidades lógicas; son espacios asignados y pueden almacenar
datos. Los sistemas operativos antiguos ignoraban las particiones extendidas
con número de tipo 0x05, y la contabilidad se mantenía. Este esquema
reemplaza al antiguo ya que todas las particiones de un disco duro se pueden
poner dentro de una sola partición extendida.

21
Tecnologías de almacenamiento 22

2.2.3. Partición lógica

Es la división interior de una partición extendida y ocupa un trozo o la


totalidad de la misma. Cada partición lógica puede formatearse con un
tipo específico de sistema de archivos (FAT32, NTFS, ext2,...) y se le
asigna una unidad o nombre mediante el cual el sistema operativo las
reconoce y puede trabajar con ellas.

Representación gráfica de un disco particionado.


Particiones primarias, Particiones Extendidas y dentro Particiones Lógicas
Espacio sin particionar. El espacio en blanco representa un sistema de ficheros

22
Tecnologías de almacenamiento 23

2.3. MBR ( Master Boot Record)

Un master boot record (MBR) es el primer sector ("sector cero") de un dispositivo


de almacenamiento de datos, normalmente referido a un disco duro. A veces, se
emplea para el arranque del sistema operativo con bootstrap, otras veces es
usado para almacenar una tabla de particiones y, en ocasiones, se usa sólo para
identificar un dispositivo de disco individual, aunque en algunas máquinas esto
último no se usa y es ignorado.

En la práctica, el MBR casi siempre se refiere al sector de arranque de 512 bytes,


o el partition sector de una partición para ordenadores derivados de IBM. Debido a
la amplia implantación de ordenadores tipo PC, este tipo de MBR se usa mucho,
hasta el punto de representar un estándar y ser incorporado en otros tipos de
ordenador y en nuevas estándares plataformas para el particionado y el arranque.

2.3.1. Estructura del MBR

512 Bytes Primer sector físico del disco (pista cero)


 446 Bytes: Código máquina (gestor de arranque)
 64 Bytes: Tabla de particiones
 2 Bytes: Firma de unidad arrancable (bootable - “55H AAH” en
hexadecimal)

2.3.2. MBR y particiones

Cuando un dispositivo de almacenamiento de datos se ha particionado con


un esquema de tabla de particiones del MBR, éste contiene las entradas de
particiones primarias en la tabla de particiones. Cómo hemos visto
anteriormente, las entradas de particiones secundarias se almacenan en
registros de particiones extendidas (BSD) y particiones de meta datos del
Logical Disk Manager que son descritas por esas entradas de particiones
primarias.

23
Tecnologías de almacenamiento 24

Por convención, hay exactamente cuatro entradas de particiones primarias en


el esquema de la Tabla de Particiones, aunque en algunos sistemas (pocos)
se ha extendido ese número a cinco u ocho.
Cuando un dispositivo de almacenamiento de datos se ha particionado con
Tabla de Particiones GUID (Globally Unique Identifier, número hexadecimal
pseudoaleatorio de 16 Bytes), el MBR no contiene la tabla de particiones,
aunque sí contiene modelos de estructuras de datos. Esto sirve como
protección frente a software que pueda modificar la Tabla de Particiones.

2.3.3. MBR y arranque del Sistema Operativo

En los ordenadores modernos x86 que usan el esquema de la Tabla de


Particiones del MBR, el firmware para el arranque (bootstrapping) que se
encuentra en la ROM del BIOS carga y ejecuta el master boot record. Como
los procesadores de la familia x86 arrancan en modo real, el código del MBR
está compuesto de instrucciones de lenguaje máquina en modo real. Ese
código pasa, normalmente, el control mediante chain loading al Volume Boot
Record de la partición primaria activa, aunque algunos gestores de arranque
reemplazan ese código convencional por el suyo.

El código convencional del MBR espera que se use el esquema de la Tabla


de Particiones del MBR, y escanea la lista de entradas de particiones
primarias en la tabla de particiones buscando una que esté marcada como
activa para luego cargar y ejecutar el Volume Boot Record para esa partición.

El código del MBR, modificado por algunos gestores de arranque, puede


realizar una serie de tareas que son distintas según el gestor de arranque.
Por ejemplo, en algunos gestores, ese código carga el resto del código del
gestor de arranque desde la primera pista del disco (que es espacio libre no
asignado a ninguna partición de disco) y lo ejecuta. En otros, usa una tabla
de posiciones de disco, que se encuentra en el mismo espacio que el código,
para localizar el código del resto del gestor de arranque y poder cargarlo y
ejecutarlo. Ambas formas tienen problemas. La primera confía en el
comportamiento (que no es el mismo en todas) de las utilidades de
particionado de disco y la segunda requiere que la tabla de posiciones de
disco se actualice una vez se hayan hecho los cambios para localizar el resto
del código.

24
Tecnologías de almacenamiento 25

2.3.4. MBR e identificación de discos

Además del código del arranque y la tabla de particiones, hay un tercer


campo que puede estar contenido en un MBR: la firma del disco. Tiene 32
bits para identificar unívocamente el hardware de disco (no confundir con la
unidad de disco — no tienen por qué ser lo mismo en discos duros
extraíbles).

La firma del disco fue introducida por Windows NT, pero actualmente la
usan varios sistemas operativos, incluida las versiones de la 2.6 en adelante
del kernel de Linux. Se usa la firma del disco como un índice del registro del
SO, donde guarda la relación entre particiones y letras/dispositivos de disco.
Windows NT también lo usa en el fichero boot.ini para indicar las particiones
con marca bootable y Linux usa la firma del disco al arrancar para determinar
la posición del volumen de arranque.

25
Tecnologías de almacenamiento 26

3. Sistemas de ficheros de disco

L
os sistemas de sectores en archivos y
archivos (filesystem en directorios y mantiene un
inglés), estructuran la registro de qué sectores
información guardada en una pertenecen a qué archivos y
unidad de almacenamiento cuáles no han sido utilizados.
(normalmente un disco duro) En la práctica, un sistema de
de un ordenador, que luego archivos también puede ser
será representada ya sea utilizado para acceder a datos
textual o gráficamente generados dinámicamente,
utilizando un gestor de como los recibidos a través de
archivos. una conexión de red (sin la

El software del sistema de intervención de un dispositivo

archivos es responsable de la de almacenamiento).

organización de estos

26
Tecnologías de almacenamiento 27

3.1. Funciones
Los sistemas de archivos tradicionales proveen métodos para crear, mover,
renombrar y eliminar tanto archivos como directorios, pero carecen de métodos
para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro
en Unix) o renombrar enlaces padres (".." en Unix).

El acceso seguro a sistemas de archivos básicos puede estar basado en los


esquemas de lista de control de acceso o capacidades. Las listas de control de
acceso hace décadas que demostraron ser inseguras, por lo que los sistemas
operativos experimentales utilizan el acceso por capacidades. Los sistemas
operativos comerciales aún funcionan con listas de control de acceso.

Generalmente un sistema de archivos tiene directorios que asocian un nombre de


archivo a cada archivo, usualmente conectando el nombre de archivo a un índice
en una tabla de asignación de archivos de algún tipo —como FAT en sistemas de
archivos MS-DOS o los inodos de los sistemas Unix—.

La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque


en algún caso podría ser plana. En algunos sistemas de archivos los nombres de
archivos son estructurados, con sintaxis especiales para extensiones de archivos y
números de versión. En otros, los nombres de archivos son simplemente cadenas
de texto y los meta datos de cada archivo son alojados separadamente.

En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación


precisa de un archivo con una cadena de texto llamada "ruta" —o path en
inglés—. La nomenclatura para rutas varía ligeramente de sistema en sistema,
pero mantienen por lo general una misma estructura. Una ruta viene dada por una
sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente

27
Tecnologías de almacenamiento 28

de izquierda a derecha y separados por algún carácter especial que suele ser una
barra ('/') o barra invertida ('\') y puede terminar en el nombre de un archivo
presente en la última rama de directorios especificada.

Características de los sistemas de ficheros

• Listas de control de acceso (ACLs)


• Seguridad o permisos
• UGO (Usuario, Grupo, Otros, o por sus siglas en inglés, User, Group,
Others)
• Capacidades granuladas
• Atributos extendidos (e.j.: sólo añadir al archivo pero no modificar, no
modificar nunca, etc.)
• Mecanismo para evitar la fragmentación
• Capacidad de enlaces simbólicos o duros
• Integridad del sistema de archivos (Journaling)
• Soporte para archivos dispersos
• Soporte para cuotas de disco
• Soporte de crecimiento del sistema de archivos nativo

28
Tecnologías de almacenamiento 29

3.2. Journaling
El journaling es un mecanismo por el cual un sistema informático puede
implementar transacciones. También se le conoce como "registro por diario".

Se basa en llevar un journal o registro de diario en el que se almacena la


información necesaria para restablecer los datos afectados por la transacción en
caso de que ésta falle por corte del suministro eléctrico del sistema, por ejemplo.

El procedimiento es básicamente el siguiente:

1. Se bloquean las estructuras de datos afectadas por la transacción para que


ningún otro proceso pueda modificarlas mientras dura la transacción.

2. Se reserva un recurso para almacenar el journal. Por lo general suelen ser


unos bloques de disco, de modo que si el sistema se para de forma abrupta
(corte eléctrico, avería, fallo del sistema operativo...) el journal siga
disponible una vez reiniciado el sistema.

3. Se efectúan una a una las modificaciones en la estructura de datos.


Para cada una:

1. Se apunta en el journal como deshacer la modificación y se asegura


de que esta información se escribe físicamente en el disco.

2. Se realiza la modificación.
4. Si en cualquier momento se quiere cancelar la transacción se deshacen los
cambios uno a uno leyéndolos y borrándolos del journal.

5. Si todo ha ido bien, se borra el journal y se desbloquean las estructuras de


datos afectadas.

29
Tecnologías de almacenamiento 30

Las aplicaciones más frecuentes de los sistemas de journaling se usan para


implementar transacciones de sistemas de bases de datos y, más recientemente,
para evitar la corrupción de las estructuras de datos en las que se basan los
sistemas de archivos modernos.

En el caso concreto de los sistemas de archivos, el journaling se suele limitar a las


operaciones que afectan a las estructuras que mantienen información sobre:

• Estructuras de directorio.

• Bloques libres de disco.

• Descriptores de archivo (tamaño, fecha de modificación...)

El hecho de que no se suela implementar el journaling de los datos concretos de


un archivo suele carecer de importancia, puesto que lo que persigue el journaling
de sistemas de archivos es evitar los engorrosos y largos chequeos de disco que
efectúan los sistemas al apagarse bruscamente, ya que el sistema al arrancar solo
deberá deshacer el journal para tener un sistema coherente de nuevo.

Sistemas de ficheros que utilizan Journaling


• Ext3 de Linux
• Ext4 de Linux
• NTFS de Windows NT
• ReiserFS de Linux
• Reiser4 de Linux
• UFS de SUN Solaris
• XFS de IRIX y Linux
• JFS de Linux, OS/2 y AIX
• HFS+ de Mac OS X

30
Tecnologías de almacenamiento 31

3.3. Breve descripción de algunos filesystem

• ext3: sistema de Linux nativo con journaling. Similar a ext2 pero con diario de
transacciones para evitar que apagados accidentales puedan deteriorar el sistema
de ficheros. Posee características avanzadas del trato de meta datos de los
ficheros y es un sistema de ficheros que soporta prácticamente cualquier
plataforma de sistema operativo.

• ext2: Es el sistema de ficheros que utiliza Linux por defecto, básicamente igual que
ext3 pero sin journaling. Soporta características avanzadas: propietarios, permisos,
enlaces, etc. Permite gestionar meta datos en los ficheros y soporta gran variedad
de sistemas operativos.

• vfat: es una ampliación del sistema de ficheros msdos, con soporte para nombres
largos de ficheros. Existen los tipos VFAT16 y VFAT32 (versiones de 16 y 32 bits
respectivamente), y en ambos casos sólo tienen características monousuario: no
admiten propietarios de ficheros y los permisos son muy limitados. Los caracteres y
la longitud de los nombres de archivos están muy limitados. Sin embargo es el
sistema más utilizado en memorias portátiles dada su ligereza y simplicidad.

• jfs: viene del inglés Journaled File System, es un sistema de archivos con respaldo
de transacciones desarrollado por IBM y usado en sus servidores. JFS sigue el
principio de metadata only. En vez de una completa comprobación sólo se tienen
en cuenta las modificaciones en los meta datos provocadas por las actividades del
sistema. Esto ahorra una gran cantidad de tiempo en la fase de recuperación del
sistema tras una caída.

• xfs: es un sistema de archivos de 64 bits con journaling de alto rendimiento creado


por SGI (antiguamente Silicon Graphics Inc.) para su implementación de UNIX
llamada IRIX. En mayo del 2000, SGI liberó XFS bajo una licencia de código
abierto. XFS soporta un sistema de archivos de hasta 8 exabytes, aunque esto
puede variar dependiendo de los límites impuestos por el sistema operativo. En
sistemas Linux de 32 bits, el límite es 16 terabytes.

31
Tecnologías de almacenamiento 32

Tabla comparativa:

Filesystem ext2 ext3 vfat jfs xfs

16 32
Nombre completo 2nd 3rd Virtual File Journaled XFS
extended extended Allocation Table File
file system file System
system
Fecha introducción 1993 2001 1988 1996 1990 1994
Tamaño máx. 2 TiB 16 GiB – 4 GiB 4 PiB 8 EB
archivo 2 TiB
Tamaño máx. 16 TiB 2 TiB – 32 4 GiB 2 TiB 32 PiB 8 EB
Volumen TiB
Longitud nombre 255 bytes 255 bytes 8 bytes + 3 de 255 bytes 255 bytes
de archivo extensión, 255
bytes con LFNs
Nº máx. archivos 1018 Variable 65517 Sin límite Sin límite
268.435.43 definido definido
7
Compresión/Cifrad Si(opciona No/No(en No/No No/No No/No(en No/No(en
o l)/No bloques bloques bloques
Transparentes dispositivo) dispositivo) dispositivo)

Permisos de Sí Sí (Unix, No No Sí Sí
acceso a archivos (POSIX) Linux, (POSIX,
ACLs) ACLs)
Meta datos No Sí No No Sí Sí
Journaling No Sí No No Sí Sí
SO soportados Linux, Linux, Tarjetas de AIX, IRIX, Linux,
BSD, BSD, memoria y OS/2, FreeBSD
Windows Windows pendrives, Linux
(mediante (mediante disquetes,
IFS), IFS), Windows, Linux
MacOS X MacOS X

32
Tecnologías de almacenamiento 33

4. Gestión de volúmenes lógicos

E
n ciertas ocasiones, el es un engorro.
particionado tradicional de
También se puede presentar el
un disco duro no es
caso en el que necesitemos
suficiente para aprovechar al
particiones muy grandes, para un
máximo el espacio. Los
servidor ftp por ejemplo. Los
volúmenes lógicos son una
enlaces simbólicos podrían
solución a este problema. Cuando
solventar un poco el problema,
se crean particiones para un
pero con el tiempo se convertirán
sistema GNU/Linux, se hace un
en una chapuza que nos hará la
cálculo aproximado del tamaño que
vida imposible. Los volúmenes
vamos a necesitar, pero si
lógicos permiten añadir espacio
necesitamos aún más, tendremos
adicional a volúmenes ya creados
que reparticionar el disco, lo cual
de manera transparente y simple.

33
Tecnologías de almacenamiento 34

4.1. Conceptos

La gestión de volúmenes lógicos proporciona una vista de alto nivel sobre el


almacenamiento en un ordenador, en vez de la tradicional vista de discos y
particiones.

Los volúmenes de almacenamiento bajo el control de un gestor de volúmenes


lógicos pueden ser redimensionados y movidos a voluntad, aunque esto quizá
necesite actualizar las herramientas del sistema.

Este gestor también permite la administración en grupos definidos por el usuario,


permitiendo al administrador del sistema tratar con volúmenes llamados, por
ejemplo, "ventas" o "desarrollo", en vez de nombres de dispositivos físicos, como
sda o sdb.

4.2. Funciones

Ventajas de usar LVM en un sistema pequeño

Una de las decisiones que afronta un usuario instalando GNU/Linux es cómo


particionar el disco duro. La necesidad de estimar cuanto espacio será necesario
para el sistema, para los temporales o para los datos personales, puede convertirse
en algo problemático, por lo que muchos usuarios optan por crear una partición que
ocupe todo el disco y allí introducir los datos. Aun habiendo estimado
correctamente cuanto espacio se necesita para /home, /usr, /tmp, o cualquier otro
directorio importante, es bastante común que nos quedemos sin espacio en estas
particiones, cuando tenemos espacio de sobra en alguna otra.

34
Tecnologías de almacenamiento 35

Con el uso de un administrador de volúmenes lógicos, el disco completo puede ser


asignado a un único grupo lógico y definir distintos volúmenes lógicos para
almacenar /home u otros directorios. En el caso que nos quedemos sin espacio,
por ejemplo, en /home, y tenemos espacio en /opt, podríamos redimensionar /home
y /opt y usar el espacio que le hemos quitado a /opt y añadírselo a /home. Hay que
tener en cuenta, que para realizar esto, nuestro sistema de ficheros debe soportar
el redimensionado por arriba y por abajo, como ReiserFS.

Otra alternativa sería dejar una cierta cantidad de espacio del disco sin asignar y
cuando fuera necesario, expandir el volumen.

Ventajas de usar LVM en un sistema grande

Administrar un sistema con muchos discos es un trabajo que consume tiempo, y se


hace particularmente complejo si el sistema contiene discos de distintos tamaños.
Balancear los requerimientos de almacenamiento de distintos usuarios (a menudo
conflictivos) puede ser una tarea muy laboriosa y compleja.

Los grupos de usuarios (por ejemplo explotación, administración, desarrollo...)


pueden tener sus volúmenes lógicos y éstos pueden crecer lo que sea necesario, y
el administrador puede realizar las operaciones oportunas sobre dichos volúmenes.

Cuando un nuevo disco se añade al sistema, no es necesario mover los datos de


los usuarios. Simplemente se añade el nuevo disco al grupo lógico correspondiente
y se expanden los volúmenes lógicos todo lo que se considere adecuado. También
se pueden migrar los datos de discos antiguos a otros nuevos, de forma totalmente
transparente al usuario.

35
Tecnologías de almacenamiento 36

4.3. Descripción

4.3.1. LVM
Un Logical Volume Manager se descompone en tres partes:
• Volúmenes físicos (PV): son los discos duros, particiones o cualquier otra
"cosa" que parezca un disco duro (RAID)

• Volúmenes lógicos (LV): es el equivalente a una partición en un sistema


tradicional. El LV es visible como un dispositivo estándar de bloques, por lo
que puede contener un sistema de archivos (por ejemplo /home)

• Grupos de volúmenes (VG): es la parte superior de la LVM. Es la "caja" en


la que tenemos nuestros volúmenes lógicos (LV) y nuestros volúmenes
físicos (PV). Se puede ver como una unidad administrativa en la que se
engloban nuestros recursos. Hay que hacer notar que mientras un PV no se
añada al VG, no podemos comenzar a usarlo.

A su vez, un PV se divide en chunks de datos, que se conocen como PE


(physical extents), que son del mismo tamaño que los PE del VG. Además,
un LV se divide también en LE (logical extents), cuyo tamaño es el mismo
para todos los LV del VG.

Por ejemplo, teniendo como referencia la imagen del comienzo del artículo,
supongamos que tenemos un VG llamado CASA, con 4MB de PE, al que
queremos añadir un LV para /tmp/. Añadimos dos particiones de disco,
/dev/sda4 y /dev/sdb3, que se llamarán PV1 y PV2 (se las puede renombrar
a discreción del usuario). Los PV's pueden ser de distinto tamaño y por lo
tanto, tendrán un número distinto de PE, por lo que supongamos que
tenemos para PV1 99 PE's y para PV2 248 PE's. Ahora, podemos crear el
LV que necesitamos, que puede ser de cualquier tamaño entre 1 y 347
(99+248) PE. De esta forma se crea una tabla que relaciona PE's y LE's y si,
por ejemplo, escribimos 4 MB en el LE número 1 del LV, se corresponderán
con el PE 51 de la PV1.

36
Tecnologías de almacenamiento 37

La tabla que relaciona PE's y LE's, se llama tabla de mapeo, y la


correspondencia puede ser de dos tipos:

• Directo: se asigna un rango de PE's a otro rango de LE's en orden. Por


ejemplo, las LE's del número 1 al 99 se mapean sobre las PE's del 100 al
347 de PV2.

• Entrelazado: las LE's se entrelazan sobre las PE's de los volúmenes


físicos, por ejemplo:

Destino Origen
Primer chunk Primer chunk
de la LE1 de la PV1
Segundo
Primer chunk
chunk de la
de la PV2
LE1
Tercer chunk Segundo chunk
de la LE1 de la PV1
... ...

Instantáneas (Snapshots)

Las instantáneas (snapshots) permiten al administrador crear un nuevo


dispositivo que será una copia exacta del LV, congelada en algún punto del
tiempo. Normalmente esto se realiza de forma automática, para no alterar el
funcionamiento normal del sistema. Cuando la instantánea ha terminado, el
administrador puede quitar el dispositivo sin mayor complicación. Además,
no es necesario que los datos en el LV se encuentren en un estado
consistente, ya que muchos sistemas de ficheros en el kernel 2.6 lo realizan
de forma automática.

Una diferencia importante entre la versión 1 de LVM (LVM1 a partir de ahora)


y la versión 2 (LVM2) es que en la primera, los snapshots eran de sólo
lectura, mientras que en LVM2 son de lectura y escritura. ¿Cuál es la
diferencia? En LVM1, se crea lo que se llama una tabla de excepciones, que
se usa para mantener una lista de qué bloques en disco han cambiado. Si un
bloque va a ser modificado en el origen, primero se copia en la instantánea,

37
Tecnologías de almacenamiento 38

se marca como copiado en la tabla de excepciones y luego los nuevos datos


se copian al volumen original. En LVM2, las instantáneas funcionan como en
LVM1, pero con la característica de que si los datos se escriben en el
snapshot (una vez montado), ese bloque se marca como usado en la tabla
de excepciones y no se copia al volumen original. Esta característica es muy
útil debido a que podemos crear nuestra instantánea, montarla y probar un
programa o un nuevo navegador de ficheros. Si ocurre algo desastroso, la
desmontamos, la borramos y volvemos a colocar el volumen original.

Un ejemplo práctico

Tenemos un disco duro con tres particiones. Cada una de estas particiones
va a ser posteriormente el punto de montaje para /var /usr que es donde van
a tener los datos en su mayoría los servidores. Las particiones son /dev/sdb1
y /dev/sdb2 (cada cual tendrá sus particiones). Lo primero es crearlas o si ya
las tenemos creadas darles el tipo 8e que es el tipo LVM. Para esta tarea he
usado el cfdisk:

cfdisk /dev/sdb

Aquí creo y borro como yo quiera y elijo el tipo de partición, como ya he


dicho 8e.

Ahora entramos en la parte de la preparación de las particiones para que


LVM pueda trabajar correctamente. (Esta acción borra todos los datos que
hubiese en esas particiones o discos). El comando que vamos a usar es
pvcreate:

pvcreate /dev/sdb1

pvcreate /dev/sdb2

Os debería salir lo siguiente si todo ha ido bien:

pvcreate -- physical volume "/dev/sdbX" sucessfully created

Donde la X sería 1 o 2, o en vuestro caso el número de la partición.

38
Tecnologías de almacenamiento 39

Configuración de un grupo volumen

Vamos a crear un grupo volumen que se llame grupo_servidores:

vgcreate grupo_servidores /dev/sdb1 /dev/sdb2

Si todo ha ido bien obtendréis una respuesta así:

vgcreate -- INFO: using default physical extent size 4 MB


vgcreate -- INFO: maximum logical volume size is 255.99 Gigabyte
vgcreate -- doing automatic backup of volume group "grupo_servidores"
vgcreate -- volume group "grupo_servidores" successfully created and
activated

Ahora que hemos generado el grupo volumen vamos a verificarlo


con el comando vgdisplay:

Vgdisplay

La salida del comando si todo ha ido bien es:

--- Volume group ---


VG Name grupo_servidores
VG Access read/write
VG Status available/resizable
VG # 0
MAX LV 256
Cur LV 0
Open LV 0
MAX LV Size 255.99 GB
Max PV 256
Cur PV 2
Act PV 2

39
Tecnologías de almacenamiento 40

VG Size 8.46 GB
PE Size 4 MB
Total PE 2166
Alloc PE / Size 0 / 0
Free PE / Size 2166 / 8.46 GB
VG UUID qFePyg-SvH1-Q10s-i885-1ZF2-hurF-VsPCnW

Lo más importante que hay que observar son los tres primeros elementos.
También es importante que el VG Size sea aproximadamente igual al
tamaño de los discos o particiones sumados. En mi caso deberían ser 9 GB,
pero se quedan en 8.46 GB. Imagino que es por información que usa en
cada una de las particiones para uso interno del LVM.

Creación del Volumen Lógico

Si hasta ahora no hemos tenido ningún problema podemos pasar a a la


creación de un volumen lógico. Podemos hacer el volumen lógico del
tamaño que queramos. (Es muy parecido a una partición que no pertenezca
a un sistema LVM.) Voy a crear dos volúmenes lógicos de tamaños 8.40 / 2,
es decir 4.20 GB cada uno.

El comando es lvcreate. Con -L le decimos el tamaño del volumen, y con -n


le damos un nombre al volumen lógico, tenemos que indicar por último el
grupo volumen en el que queremos crearlo:

lvcreate -L4.20G -n usr grupo_servidores


lvcreate -L4.20G -n var grupo_servidores

Si estos comando van bien obtendremos algo parecido a esto:

lvcreate -- rounding size up to physical extent boundary


lvcreate -- doing automatic backup of "grupo_servidores"
lvcreate -- logical volume "/dev/grupo_servidores/usr" successfully created

40
Tecnologías de almacenamiento 41

Creación del Sistema de Ficheros

Ahora solo nos queda crear un sistema de ficheros en los volúmenes


lógicos. Es muy sencillo. Aquí depende del sistema de ficheros que vamos a
montar, yo en mi caso voy a usar ReiserFS, por lo que sólo hay que hacer lo
siguiente:

mkfs.reiserfs /dev/grupo_servidores/usr
mkfs.reiserfs /dev/grupo_servidores/var

Nota: si no tenéis el comando mkfs.reiserfs es que os falta instalar el


paquete siguiente:

apt-get install reiserfsprogs

Con esto ya tendríamos lo que queríamos.

Puntos finales

Bien ahora solo queda hacer que cada una de las particiones sea realmente
/usr y /var para ello vamos a montar primero /dev/grupo_servidores/usr y var
en /mnt para copiar en el sistema montado lo que tenemos en /usr. Veamos
como hacerlo:

mount /dev/grupo_servidores/usr /mnt


cp -R /usr/* /mnt
umount /mnt
mount /dev/grupo_servidores/var /mnt
cp -R /var/* /mnt
umount /mnt

Nota: Mejor que usar cp es utilizar el siguiente comando para “copiar


TODO”:

41
Tecnologías de almacenamiento 42

mount /dev/grupo_servidores/usr /mnt


cd /usr && find . -depth -print0 | afio -px -0a /mnt
umount /mnt
mount /dev/grupo_servidores/var /mnt
cd /var && find . -depth -print0 | afio -px -0a /mnt
umount /mnt

Ahora hay que añadir las entradas al fstab para que cuando se inicie el
sistema se consigan montar las particiones y así funcionar sobre LVM. El
archivo fstab quedaría así:

/dev/grupo_servidores/usr /usr reiserfs defaults 0 0


/dev/grupo_servidores/var /var reiserfs defaults 0 0

Finalmente hay que añadir al Init del sistema que active el grupo volumen
para que así pueda montar el kernel el sistema de ficheros de manera
correcta. Entonces en /etc/rcS.d/ añadimos lo siguiente:

ln -s /etc/init.d/lvm S25lvm

Esto lo tenéis que hacer sólo si no tenéis hecho ya el enlace, en Debian ya


debería de estar.

Nada más, ahora solo que reiniciar el sistema. Una cosa deberíais de tener
una manera por ahí para poder arrancar en caso de que esto “casque”, un
cd de knoppix o el rescue de Debian.

42
Tecnologías de almacenamiento 43

4.3.2.EVMS
El Enterprise Volume Management System (EVMS) es un software de
gestión de volúmenes flexible e integrado que permite gestionar sistemas de
almacenamiento bajo GNU/Linux.

Sus principales características son:

• Gestiona volúmenes EVMS, LVM y LVM2 bajo GNU/Linux


• Es compatible con una gran cantidad de esquemas de particionamiento
de disco
• Es compatible con diferentes sistemas de archivo: ext2, ext3, FAT, JFS,
NFS, OCFS2, OpenGFS, ReiserFS, Linux swap, XFS, etc.
• Gestión multi-disco (MD)
• RAID software de tipo 0, 1, 4 y 5
• Enlazado de discos (concatenación de discos)
• Soporte multiruta (multipath)
• Gestiona clústeres de almacenamiento compartidos
• Puede expandir y contraer volúmenes y sistemas de archivo online y
offline, dependiendo de las características del sistema.
• Instantáneas (imágenes "congeladas" de volúmenes), en modo escritura
de forma opcional
• Conversión entre diferentes tipos de volúmenes
• Desplazamiento de particiones
• Creación, comprobación y reparación de sistemas de archivo
• Recolocación de bloques erróneos
• Tres tipos de interface de usuario: GUI o gráfica, texto ó TUI (ncurses) y
consola
• Puede hacer copias de seguridad y restaurar meta datos EVMS

EVMS está licenciado bajo la GPL v2 ó posterior.

43
Tecnologías de almacenamiento 44

5 . ZFS

Z
FS es una nueva ZFS no es una mejora
clase de sistema de incremental de la tecnología
ficheros que existente; es
proporciona una fundamentalmente un nuevo
administración simple, acercamiento a la
semántica transaccional, administración/gestión de
integridad de los datos, y una datos.
inmensa escalabilidad.

44
Tecnologías de almacenamiento 45

5.1. Introducción

5.1.1. ZFS, el sistema de ficheros del futuro

ZFS destaca por su gran capacidad (128 bits), integración de los conceptos
anteriormente separados de sistema de ficheros y administrador de
volúmenes en un solo producto (detección y corrección de errores y sistema
Z-RAID integrado), nueva estructura sobre el disco (bloques de tamaño
variable), sistemas de archivos ligeros, y una administración de espacios de
almacenamiento sencilla.

5.1.2. Desarrollo de ZFS

ZFS es un sistema de ficheros desarrollado por Sun Microsystems para su


sistema operativo Solaris. El significado original era 'Zettabyte File System',
pero ahora es un acrónimo recursivo. ZFS fue diseñado e implementado por
un equipo de Sun liderado por Jeff Bonwick.

El anuncio oficial de ZFS se produjo en Septiembre del 2004. El código


fuente del producto final se integró en la rama principal de desarrollo de
Solaris el 31 de octubre del 2005 y fue lanzado el 16 de noviembre de 2005
como parte del build 27 de OpenSolaris.

5.1.3. Disponibilidad de ZFS en distintos SO

ZFS es parte de Solaris, el sistema operativo de Sun Microsystems y, por


tanto, disponible tanto en SPARC cómo los sistemas basados en x86. Como
el código de ZFS ha sido liberado, se puede desarrollar con otros sistemas
operativos y plataformas sin la participación de Sun.

OpenSolaris

OpenSolaris es la versión libre de Solaris, el sistema operativo de Sun


Microsystems. La última versión, 2008,05, ya utiliza ZFS como su sistema
de archivos por defecto.

45
Tecnologías de almacenamiento 46

Nexenta

Nexenta OS, es un sistema operativo completamente libre desarrollado


conjuntamente por GNU y Sun que utiliza el kernel de OpenSolaris e incluye
una aplicación ZFS en la versión alpha.

Más recientemente, Nexenta Systems anunció NexentaStore, su dispositivo


de almacenamiento ZFS que proporciona soporte para NAS / SAN / iSCSI
sobre la base de Nexenta OS. NexentaStore incluye una interfaz gráfica que
simplifica el proceso de utilización de ZFS.

Por otra parte, Nexenta anunció en febrero de 2008 una importante


liberación, llamada Plataforma NexentaCore versión 1.0, de su sistema
operativo que sirve de base para el software de Nexenta y otras
distribuciones.

FreeBSD

Pawel Jakub Dawidek se ha comprometido a utilizar ZFS en su nueva


versión FreeBSD 7.0, liberado el 28 de febrero de 2008.La recomendación
actual es que sólo se utilice sobre amd64 y en plataformas con suficiente
memoria.

Mac OS X

En opensolaris.org han publicado que Apple Inc anunció la portabilidad de


ZFS a sus nuevas versiones de Mac OS X, su sistema operativo. Desde
Mac OS X 10.5 Developer Seed 9A321, se ha incluido el soporte para ZFS,
pero carece de la capacidad de actuar como una partición raíz. Por otra
parte, los intentos para dar formato a las unidades locales mediante ZFS no
tuvieron éxito, lo que es un fallo conocido.

El 6 de junio de 2007, Jonathan I. Schwartz CEO de Sun anunció que Apple


haría de ZFS el sistema de ficheros de Mac OS 10.5 Leopard. Marc
Hamilton, vicepresidente de marketing de Solaris más tarde escribió para
aclarar que, en su opinión, Apple planifica la implementación de ZFS en
futuras versiones de Mac OS X, pero no necesariamente como el sistema
de archivos predeterminado para Mac OS X Leopard 10,5.

46
Tecnologías de almacenamiento 47

En la versión de Mac OS X 10,5, ZFS está disponible en modo de sólo


lectura desde el terminal de comandos, que carece de la posibilidad de
crear zpools y que se escriba en ellos, sin embargo Apple ha liberado
también el "ZFS Read / Write Developer Preview 1,1 por Leopard", que
permite lectura-escritura y la creación de zpools.

El instalador para "ZFS Read / Write 1.1 Developer Preview de Leopard" por
el momento sólo se trabaja en la versión 10.5.0, y no ha sido actualizado
para la versión 10.5.1 y superior. A partir de enero de 2008, Apple pone a
disposición los binarios y el código fuente pero debe ser instalado
manualmente. Alex Blewitt ha puesto juntos el instalador para los binarios y
ya no es necesaria ninguna instalación manual.

El último proyecto de Apple recibe el nombre de "Snow Leopard" y consiste


en su nueva versión de Mac OS X Server que utilizará ZFS.

Linux

El portar ZFS a Linux se complica por el hecho de que la Licencia Pública


General de GNU, que regula el núcleo de Linux, prohíbe la vinculación con
el código bajo de ciertas licencias, como la CDDL, licencia de ZFS.

La solución a este problema es portar ZFS a Linux mediante el Framework


FUSE que se ejecuta en el espacio de usuario y no en el kernel. El
programa Google's Summer of Code lanzó el proyecto ZFS on FUSE en
2006 para este propósito. El proyecto se encuentra en fase beta desde
marzo del 2008.

Mantener un sistema de ficheros fuera del kernel del Unix tradicional puede
tener un impacto significativo en el rendimiento. Sin embargo, NTFS-3G
(otro sistema de archivos basado en FUSE) obtiene un buen rendimiento
en comparación con el sistema de ficheros habitual. Esto demuestra que es
posible un rendimiento excelente de ZFS en Linux después de una
optimización adecuada. Por otra parte Sun Microsystems ha afirmado que
están investigando la portabilidad a Linux.

47
Tecnologías de almacenamiento 48

5.2. Características detalladas

ZFS presenta un modelo reunido de almacenamiento que elimina totalmente el


concepto de volúmenes y los problemas asociados de particiones, del
aprovisionamiento, del ancho de banda perdido y del almacenamiento
inmovilizado. Los millares de sistemas de ficheros pueden escribirse en un pool de
almacenamiento común, cada uno consumiendo solamente tanto espacio como
realmente necesite.

El ancho de banda combinado de E/S de todos los dispositivos en el pool está


siempre disponible para todos los sistemas de ficheros. Todas las operaciones son
transacciones ‘copy-on-write’, así que el estado de los datos en disco son siempre
válidos. No es necesario realizar fsck(1M) en ZFS, nunca. Cada bloque es
comprobado para prevenir la corrupción silenciosa de datos y éstos son
comprobados en (duplicado espejo ó en RAID) configuraciones replicadas. Si se
daña una copia, ZFS la detectará y utilizará otra copia para repararla.

ZFS introduce un nuevo modelo de replicación de datos llamado RAID-Z. Es


similar al RAID-5, pero emplea anchura variable para eliminar el agujero de
escritura que deja RAID-5 (corrupción debido a pérdida de energía entre los datos
y las actualizaciones de paridad). Todo el RAID-Z escribe en full-stripe. NO hay
ninguna imposición de lectura-modificación-escritura, no hay agujeros en la
escritura, y -la mejor parte-, ninguna necesidad de NVRAM en hardware. A ZFS le
gustan los discos baratos.

Pero los discos baratos pueden fallar, así que ZFS proporciona “barrido” del disco.
Al igual que la memoria ECC, la idea es leer todos los datos para detectar errores
latentes mientras éstos puedan ser corregidos. Un “barrido” atraviesa el pool entero

48
Tecnologías de almacenamiento 49

del almacenamiento para leer cada copia de cada bloque, validarla contra la suma
de comprobación 256-bit, y repararla en caso de necesidad. Todo ésto sucederá
mientras el pool de almacenamiento siga vivo y en uso.

ZFS tiene un motor canalizado de E/S, similar en concepto a las tuberías de la


CPU. La tubería funciona sobre dependencias de E/S y proporciona scoreboarding,
prioridad, programación de plazo, out-of-order y agregación de E/S . La carga de
E/S que traen otros sistemas de ficheros a sus rodillas son manejadas con facilidad
por la tubería de E/S de ZFS.

ZFS proporciona snapshots ilimitados y clonaciones. Un snapshot es una copia


inalterable de un punto en el tiempo de un sistema de ficheros, mientras que una
copia es una copia escribible de un snapshot. Las clonaciones proporcionan una
manera extremadamente eficiente de almacenar muchas copias de datos sobre
volúmenes compartidos, tales como espacios de trabajo (workspaces),
instalaciones de software, y clientes diskless (sin discos).

Las copias de seguridad (backup) y el restaurado (restore) ZFS son realizados a


través de snapshots. Cualquier snapshot puede generar un backup completo, y
cualquier par de snapshot puede generar un backup incremental. Los backup
incrementales son tan eficientes que pueden ser utilizados para la replicados
remotos -por ejemplo transmitir una actualización incremental cada 10 segundos-.

No hay límites arbitrarios en ZFS. Puedes tener tantos ficheros como desees; offset
de 64-bit del fichero; enlaces/links ilimitados, entradas de directorio, snapshots,
etcétera.

49
Tecnologías de almacenamiento 50

ZFS proporciona compresión incorporada. Además de reducir uso del espacio en


x2 ó x3, la compresión también reduce la cantidad de E/S de 2 a 3 veces. Por ésta
razón, permitir la compresión hace realmente que algunas cargas de trabajo vayan
más rápidamente. Además de sistemas de ficheros, los pools de almacenamiento
ZFS pueden proporcionar volúmenes para usos que necesitan la semántica raw-
device. Por ejemplo, los volúmenes de ZFS se pueden utilizar como dispositivos
de intercambio o swap. Y si permitimos la compresión en un volumen de
intercambio/swap, ahora tendríamos memoria virtual comprimida.

50
Tecnologías de almacenamiento 51

5.3. ¿Por qué utilizar ZFS?

ZFS no es un "simple file system". Es un filesystem+LVM+RAID+Compresión+(...).


Lo cual permite ganar mucho ancho de banda comprimiendo bloques. De hecho el
disponer de bloques de tamaño variable le permite ahorrar espacio y reservarlo
para otras opciones.
Lo que gana de ancho de banda, lo invierte implementando RAIDS, volúmenes,
etc

Por otra parte dispone de self healing, autoreparación y autochequeo de errores a


nivel de fichero, que permite detectar errores en el disco, memoria, fuente de
alimentación antes de que todo se convierta en un desastre.

Utiliza también RAIDZ, uno de los pocos sistemas de raid (tipo raid 5) que no
sufren del temido "write hole" gracias a la implementación de sistemas de "copy on
write".

Sencillez,con ZFS es todo más sencillo. Lo que en Linux y otros sistemas se


consigue con capas y más capas de abstracción así como infinidad de drivers y
comandos, en ZFS se consigue con 3 órdenes, incluso la creación de zpools
virtuales exportables vía iSCSI se hace un simple juego de niños.

El soporte de snapshots en ZFS es impresionante (tanto para read como write) no


está limitado a un número de 64 ó 24 como en otros sistemas, en ZFS
teóricamente son ilimitados.

Por todo esto, los ejemplos de uso pueden llegar a ser innumerables; resumiendo
diré que cualquier proyecto o aplicación informática que requiera el manejo de
muchos datos a la vez y sean de tamaño considerable y que necesite acceso
continuo e ininterrumpido a los mismo así como garantizar un control total sobre
su estructura, la mejor opción que tiene es ZFS.

51
Tecnologías de almacenamiento 52

Bibliografía

• Wikipedia: La enciclopedia Libre


http://en.wikipedia.org/
http://es.wikipedia.org/
• Instituto de Ingeniería Eléctrica de la Facultad de Ingeniería de Uruguay,
Curso de Administración UNIX
http://iie.fing.edu.uy/ense/asign/admunix/devices.htm#ArchivosDispositivos

• Monografías de diversos autores y temas


http://www.monografias.com/

• Página dedicada en exclusiva a la información de discos duros


http://www.harddisk.com

• Eduardo Quiroga Gómez, “Unidades de Disquete, CD y DVD”


http://observatorio.cnice.mec.es/modules.php?op=modload&name=News&file=articl
e&sid=250

• Nikos Drakos y Ross Moore, Linux (Unix ) para usuarios, 1993-1999. Traducción
por Pedro Pablo, 2001
http://fabregaruz.net/shell/node1.html

• Fernando Gómez, LVM - Volúmenes lógicos paso a paso, 2005


http://www.linuca.org/body.phtml?nIdNoticia=326

• Daniel Lombraña González, Como montar LVM en una máquina Debian, 2003
• http://bulma.net/body.phtml?nIdNoticia=1859

• Red Hat, Inc, Red Hat Enterprise Linux 3: Manual de administración del
sistema, 2003
http://web.mit.edu/rhel-doc/3/rhel-sag-es-3/index.html

52
Tecnologías de almacenamiento 53

• Fernando Remiro Domínguez, Antonio J. Gil Padilla, Luís Cuesta García, Jesús
García García-Doncel, Germán Lorenzo (revisión técnica) , Arquitectura de
equipos y sistemas informáticos, 2005 Ed. McgrawHill

• Web oficial del proyecto EVMS en Sourceforge


http://evms.sourceforge.net/

• Web oficial del proyecto OpenSolaris de Sun Microsystems, Inc


http://opensolaris.org/os/community/zfs/

• Cristian R. Arroyo, Web argentina de software libre


http://www.vivalinux.com.ar
http://www.vivaserver.com.ar/

53

También podría gustarte