tecnologías de almacenamiento en disco
DESCRIPTION
Curso: Ciclo Formativo de Grado Superior de Administración de Sistemas InformáticosAsignatura: Sistemas operativos monousuario y multiusuarioTema: Tecnologías de Almacenamiento en DiscoAutor: Sergio Santamaría BayésCentro: IES Puig Castellar, Sta. Coloma de Gramenet, ASI 07 08Índice1. 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?TRANSCRIPT
Tecnologías de
Almacenamiento en
Disco Sistemas operativos monousuario y
multiusuario
ASI 07 08
Sergio Santamaría Bayés
IES Puig Castellar, Sta. Coloma de Gramenet
ASI 07 08
2
2 Tecnologías de almacenamiento
3
3 Tecnologías de almacenamiento
TECNOLOGIAS DE ALMACENAMIENTO EN DISCOTECNOLOGIAS DE ALMACENAMIENTO EN DISCOTECNOLOGIAS DE ALMACENAMIENTO EN DISCOTECNOLOGIAS 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?
4
4 Tecnologías de almacenamiento
11.. DDiissppoossii tt iivvooss ddee aallmmaacceennaammiieennttoo
ispositivo de
almacenamiento es todo
aparato que se utilice
para grabar los datos de un
ordenador de forma permanente o
temporal. Una unidad de disco,
junto con los discos que graba, es
un dispositivo de almacenamiento.
A veces se dice que un ordenador
tiene dispositivos de
almacenamiento primarios (o
principales) y secundarios (o
auxiliares). Cuando se hace esta
distinción, el dispositivo de
almacenamiento primario es la
memoria de acceso aleatorio
(RAM) de la computadora, un
dispositivo de almacenamiento
permanente pero cuyo contenido
es temporal. El almacenamiento
secundario incluye los dispositivos
de almacenamiento más
permanentes, como unidades de
disco y de cinta.
D
5
5 Tecnologías de almacenamiento
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.
6
6 Tecnologías de almacenamiento
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.
7
7 Tecnologías de almacenamiento
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.
8
8 Tecnologías de almacenamiento
Partes de un disco duro Vista de la estructura de un disco.
Desguace de las piezas de un disco duro
9
9 Tecnologías de almacenamiento
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”
10
10 Tecnologías de almacenamiento
En la siguiente tabla se comparan las interfaces más comunes en los discos
duros:
Interfaz IIDDEE//AATTAA//PPAATTAA SSAATTAA SSCCSSII SSAASS FFCC
Nombre completo
IInntteelllliiggeenntt DDrriivvee EElleeccttrroonniiccss// Advanced
Technology Attachment// PPaarraalllleell AATTAA
SSeerriiaall AATTAA SSmmaallll CCoommppuutteerr SSyysstteemm
IInntteerrffaaccee
SSeerriiaall AAttttaacchheedd
SSCCSSII
FFiibbrree CChhaannnneell
Bus PPaarraalleelloo SSeerriiee PPaarraalleelloo SSeerriiee FFiibbrraa óóppttiiccaa
Nº de dispositivo
s por puerto
22 ((mmaasstteerr,, ssllaavvee))
11 1166 1166..225566 112277
Tiempo de acceso máximo
>>99 mmss 55--66 mmss 66--88 mmss 55--66 mmss <<55 mmss
Longitud cable
00,,4466 mm 22 mm 1122 mm 88 mm 550000 mm--33 kkmm
Velocidad de giro
(RPM)
77..220000 77..220000 1100..000000 1155..000000 1155..000000
Velocidad de
transferencia
(máxima)
113333 MMBB//ss 660000 MMBB//ss 664400 MMBB//ss 775500 MMBB//ss 885500 MMBB//ss
Hotswap (conexión en
marcha)
NNoo SSíí NNoo SSíí SSíí
Imagen
11
11 Tecnologías de almacenamiento
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.
12
12 Tecnologías de almacenamiento
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 tipo s 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.
13
13 Tecnologías de almacenamiento
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
14
14 Tecnologías de almacenamiento
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.
15
15 Tecnologías de almacenamiento
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.
16
16 Tecnologías de almacenamiento
Nomenclatura y designación
Designación Caras Capas (total)
Diámetro Capacidad
(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
17
17 Tecnologías de almacenamiento
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
18
18 Tecnologías de almacenamiento
22.. PPaarrtt iicc iioonneess
na partición de disco, en
informática, es el nombre
de cualquier división de
un disco, siendo el disco duro el
caso más común para esta técnica.
La técnica consiste en dividir un
disco en varias partes, las cuales
actúan y son tratadas por el
sistema como discos
independientes, sin embargo, estas
divisiones están presentes en un
mismo disco físico. Cualquier
unidad de almacenamiento
completamente formateada es en
realidad una partición primaria que
ocupa todo el disco; en dicho caso,
el término partición es poco usado,
siendo en este caso sustituido por
otro termino más familiar, como
formato del disco. Esta técnica
simple que puede considerarse
como un precursor de la gestión de
volúmenes lógicos, en inglés
Logical Volume Management
(LVM).
U
19
19 Tecnologías de almacenamiento
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.
20
20 Tecnologías de almacenamiento
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
21
21 Tecnologías de almacenamiento
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.
22
22 Tecnologías de almacenamiento
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
23
23 Tecnologías de almacenamiento
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.
24
24 Tecnologías de almacenamiento
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.
25
25 Tecnologías de almacenamiento
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.
26
26 Tecnologías de almacenamiento
3. SSiisstteemmaass ddee ff iicchheerrooss ddee ddiissccoo
os sistemas de
archivos (filesystem en
inglés), estructuran la
información guardada en una
unidad de almacenamiento
(normalmente un disco duro)
de un ordenador, que luego
será representada ya sea
textual o gráficamente
utilizando un gestor de
archivos.
El software del sistema de
archivos es responsable de la
organización de estos
sectores en archivos y
directorios y mantiene un
registro de qué sectores
pertenecen a qué archivos y
cuáles no han sido utilizados.
En la práctica, un sistema de
archivos también puede ser
utilizado para acceder a datos
generados dinámicamente,
como los recibidos a través de
una conexión de red (sin la
intervención de un dispositivo
de almacenamiento).
L
27
27 Tecnologías de almacenamiento
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
28
28 Tecnologías de almacenamiento
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
29
29 Tecnologías de almacenamiento
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.
30
30 Tecnologías de almacenamiento
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
31
31 Tecnologías de almacenamiento
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.
32
32 Tecnologías de almacenamiento
Tabla comparativa:
Filesystem ext2 ext3 vfat jfs xfs
16 32
Nombre completo
2nd extended file system
3rd extended file system
Virtual File Allocation Table
Journaled File System
XFS
Fecha introducción 1993 2001 1988 1996 1990 1994
Tamaño máx. archivo
2 TiB 16 GiB – 2 TiB
4 GiB 4 PiB 8 EB
Tamaño máx. Volumen
16 TiB 2 TiB – 32 TiB
4 GiB 2 TiB 32 PiB 8 EB
Longitud nombre de archivo
255 bytes 255 bytes 8 bytes + 3 de extensión, 255 bytes con LFNs
255 bytes 255 bytes
Nº máx. archivos 1018 Variable 65517 268.435.437
Sin límite definido
Sin límite definido
Compresión/Cifrado Transparentes
Si(opcional)/No
No/No(en bloques dispositivo)
No/No No/No No/No(en bloques dispositivo)
No/No(en bloques dispositivo)
Permisos de acceso a archivos
Sí (POSIX)
Sí (Unix, Linux, ACLs)
No No Sí (POSIX, ACLs)
Sí
Meta datos No Sí No No Sí Sí
Journaling No Sí No No Sí Sí
SO soportados Linux, BSD, Windows (mediante IFS), MacOS X
Linux, BSD, Windows (mediante IFS), MacOS X
Tarjetas de memoria y pendrives, disquetes, Windows, Linux
AIX, OS/2, Linux
IRIX, Linux, FreeBSD
33
33 Tecnologías de almacenamiento
44.. GGeesstt iióónn ddee vvoollúúmmeenneess llóóggiiccooss
n ciertas ocasiones, el
particionado tradicional de
un disco duro no es
suficiente para aprovechar al
máximo el espacio. Los
volúmenes lógicos son una
solución a este problema. Cuando
se crean particiones para un
sistema GNU/Linux , se hace un
cálculo aproximado del tamaño que
vamos a necesitar, pero si
necesitamos aún más, tendremos
que reparticionar el disco, lo cual
es un engorro.
También se puede presentar el
caso en el que necesitemos
particiones muy grandes, para un
servidor ftp por ejemplo. Los
enlaces simbólicos podrían
solventar un poco el problema,
pero con el tiempo se convertirán
en una chapuza que nos hará la
vida imposible. Los volúmenes
lógicos permiten añadir espacio
adicional a volúmenes ya creados
de manera transparente y simple.
E
34
34 Tecnologías de almacenamiento
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.
35
35 Tecnologías de almacenamiento
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.
36
36 Tecnologías de almacenamiento
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.
37
37 Tecnologías de almacenamiento
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:
Dest ino Origen Primer chunk de la LE1
Primer chunk de la PV1
Segundo chunk de la LE1
Primer chunk de la PV2
Tercer chunk de la LE1
Segundo chunk 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,
38
38 Tecnologías de almacenamiento
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.
39
39 Tecnologías de almacenamiento
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
40
40 Tecnologías de almacenamiento
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
41
41 Tecnologías de almacenamiento
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”:
42
42 Tecnologías de almacenamiento
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.
43
43 Tecnologías de almacenamiento
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.
44
44 Tecnologías de almacenamiento
55.. ZZFFSS
FFSS eess uunnaa nnuueevvaa
ccllaassee ddee ssiisstteemmaa ddee
ffiicchheerrooss qquuee
pprrooppoorrcciioonnaa uunnaa
aaddmmiinniissttrraacciióónn ssiimmppllee,,
sseemmáánnttiiccaa ttrraannssaacccciioonnaall,,
iinntteeggrriiddaadd ddee llooss ddaattooss,, yy uunnaa
iinnmmeennssaa eessccaallaabbiilliiddaadd..
ZZFFSS nnoo eess uunnaa mmeejjoorraa
iinnccrreemmeennttaall ddee llaa tteeccnnoollooggííaa
eexxiisstteennttee;; eess
ffuunnddaammeennttaallmmeennttee uunn nnuueevvoo
aacceerrccaammiieennttoo aa llaa
aaddmmiinniissttrraacciióónn//ggeessttiióónn ddee
ddaattooss..
ZZ
45
45 Tecnologías de almacenamiento
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.
46
46 Tecnologías de almacenamiento
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.
47
47 Tecnologías de almacenamiento
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.
48
48 Tecnologías de almacenamiento
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
49
49 Tecnologías de almacenamiento
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.
50
50 Tecnologías de almacenamiento
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.
51
51 Tecnologías de almacenamiento
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.
52
52 Tecnologías de almacenamiento
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 di scos 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=article&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
53
53 Tecnologías de almacenamiento
• 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 Microsy stems, 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/