Particionado de Discos y Sistemas de Archivos

in #steemstem5 years ago (edited)

Las unidades físicas de almacenamientos Discos duros, SSD, cintas, unidad flash, son piezas de hardware diseñadas para almacenar diversas cantidades de información, por otro lado para poder utilizarlas es necesario definir la forma en que será utilizado este espacio, configuraciones lógicas donde se definen los espacios de los dispositivos de almacenamiento.


Entenderemos entonces que las divisiones lógicas realizadas a un dispositivo de almacenamiento, que permite tener un sistema de archivos, es una partición. Existen múltiples métodos de particionado de unidades, FAT, NTFS, EXT2, EXT4, Btrfs, XFS, Reiser4, utilizadas en dispositivos de almacenamiento como discos duros y SSD.


En dispositivos de almacenamiento como CD y DVD sin embargo se utiliza otro tipo de almacenamiento llamado UDF (Universal Disc Format).


Sin importar que sistema operativo se utilice es necesario adoptar un sistema de particionado, estos tienen diferentes formas de trabajar y pueden tener diferentes bondades, sin embargo todo tienen puntos de encuentro.


Existen sistemas de partición diseñados bajo el concepto de código abierto, con un desarrollo donde cualquiera puede utilizarlo y acceder a sus código, para su uso o mejora. Sin importar de qué sistemas de partición se hable, bien sea de código abierto o privativo, existen tres tipos de particiones.


Primarias: volúmenes o divisiones del disco sobre las cuales se puede aplicar un sistema de particionamiento directamente, de estas se pueden generar máximo 4 volúmenes en un disco. Pueden ser usadas para el arranque del sistema.


Extendidas: para solventar la limitación de 4 unidades lógicas por disco, puede existir una unidad extendida o secundaria por disco y esta puede contener otras unidades lógicas.


Lógicas: volúmenes que son contenidos dentro de las extendidas, sobre los cuales se puede aplicar un sistema de particionado.


Es importante diferenciar sistema de particionado y partición, una partición delimita el espacio físico del disco donde se podrá trabajar, mientras el sistema de particionado se encarga de definir cómo funcionará el sistema de archivos dentro de ese espacio limitado.


Cuando pensamos en los volúmenes originalmente pensamos en la utilización de una unidad física sobre la cual creamos los volúmenes, pero existen métodos mediante los cuales se utilizan múltiples discos creando un volumen lógico que trabajaremos posteriormente como una unidad física de mayor tamaño.


LVM Gestor de Volúmenes lógicos


LVM permite generar único a partir de varias unidades, entre sus características se encuentra el que no pueden ser utilizadas como unidades de inicio del sistema, por lo cual deberá separarse un espacio de alguno de los discos para esta función.


Entre sus virtudes los LVM permiten agregar nuevos discos al volumen lógico y así permitir ampliar el tamaño total del espacio de trabajo, conteniendo dentro de si las particiones con sus sistemas de particionamiento simulando un solo disco.


Por otro lado no es un sistema que garantice la integridad de la data. No podemos considerar LVM como un tipo de partición, es un método para generar un volumen lógico que simula una gran unidad física.



Imagen realizad por @ubaldonet en Inkscape


Sistemas de RAID


Si continuamos pensando en tener varias unidade físicas sobre las cuales queremos trabajar es necesario conocer los arreglos de discos o matrices de discos. Con la idea de poder trabajar con múltiples unidades se utiliza este método de trabajo, a diferencia de las LVM su fin no es únicamente aumentar el tamaño de las unidades mediante una unidad lógica que simule un gran volumen, los RAID también tienen como objetivo la redundancia y mejora de velocidad, por lo cual existen diferentes tipos de Raid que se combinan para obtener volúmenes más grandes y rápidos con resistencia a fallos, finalmente el volumen resultante puede ser tratado como un volumen lógico y crear particiones sobre estos como en los LVM.


Los tipos de RAID más conocidos son RAID 0, RAID1 y RAID5 (el RAID 5 está siendo sustituido en la actualidad por RAID 6).


Raid 0 Crea un volumen donde la data es dividida entre las diferentes unidades, sin redundancia, su uso permite aumentar el desempeño en procesos de escritura y lectura, puede ser creado con discos de diferentes tamaños usando el más pequeño como base de las sumatorias, por lo cual el volumen final sera el tamaño del más pequeño por el número de discos.


JaviMZN [CC BY 3.0 (https://creativecommons.org/licenses/by/3.0)]


Raid 1 También llamado Espejo duplica la información de un disco en un segundo disco creando una copia exacta, esto enlos Raid 1 modernos ayuda a mejorar la velocidad de lectura pues la lectura de información se puede realizar de forma simultanea en ambos discos.



JaviMZN [CC BY 3.0 (https://creativecommons.org/licenses/by/3.0)]


Raid 5 Distribuye la paridad de información entre todos los discos del arreglo de esta forma la información puede ser escrita y respalda en cualquiera de los discos, ayuda a reducir costos de redundancia de la información, si bien usa todos los discos simultaneamente los paquetes de paridad no son utilizados para la lectura de información. Se necesita mínimo 3 discos para su creación y su capacidad de fallo es de N-1, por lo cual si un disco se daña puede ser reconstruido a raíz de la información de paridad almacenada en los restantes.



JaviMZN [CC BY 3.0 (https://creativecommons.org/licenses/by/3.0)]


Cuando se combinan diferentes tipos de Raid para obtener los volúmenes se habla de Raid anidados se puede combinar tipos de Raid como 0+1, donde se crean 2 volúmenes de dos o más discos con Raid 0 y luego de espejan los dos volúmenes entre sí con Raid 1.


Paridad


Anteriormente se ha comentado del uso de la paridad en los Raid, un método mediante el cual se realiza detección de errores para permitir una tolerancia de la información a errores en sus paquetes.


Sistemas de Partición ext4


Ya tenemos claro que las particiones son espacios de las unidades y que mediante diferentes métodos podemos crear volúmenes lógicos más grandes sobre los cuales realizar dichas particiones, cuando las particiones han sido definidas es necesario definir un sistema de particionado a utilizar, existen diferentes tipos y para usos variados.


Según el sistema operativo las particiones son nombradas, en sistemas windows el uso del “C” es conocido, en sistemas basados en Linux por ejemplo “/” indica la raíz, también puede darse un nombre como “/home” a una partición en Linux.


Existen sistemas de particiones para uso específicos, las particiones swap son un ejemplo, estas particiones son utilizadas para definir las particiones de intercambio de memoria, usadas por el sistema cuando la memoria RAM está ocupada y se requiere guardar información en algún sitio.


En Linux en la actualidad el sistema de particionado más arraigado es “ext4”, “ext” fue el primer sistema de archivos para Linux , es un sistema de archivos transaccional, este sistema evolucionó hasta convertirse en “ext4” el cual cuenta con mejoras comenzando a permitir volúmenes de 1 exabibyte y ficheros de 16 Tib.


Redujo la fragmentación trabajando con conjunto de bloques físicos contiguos para el manejo de la información, mediante los llamados extents, su migración ha sido relativamente rápida desde ext3 al permitir la migración modificando ciertos parámetros de sistemas pero sin necesidad de formatear nuevamente. Sin embargo el proceso inverso no es posible debido al uso de la tecnología extent.


Permite anidar hasta 64000 subdirectorios, se implementó la suma de verificación checksums para mejorar la fiabilidad en los registros.Además de permitir defragmentar el sistema en línea sin necesidad de desmontar las unidades. Aun cuando la fragmentación se redujo con el uso de multibloques asignando múltiples bloques para un fichero en una sola operación.


Btrfs


Con el objetivo de sustituir ext3 se empieza el diseño de Btrfs, buscando aumentar el tamaño de los archivos y mejorar la tolerancia en casos de fallos, si bien su desarrollo fue iniciado por Oracle este fue creado bajo licencia de Software Libre bajo la GPL.


Entre sus características actuales tenemos:


  • Almacenamiento de archivos basado en extensiones
  • Tamaño de archivo 2 ^ 64 byte
  • Empaquetado de archivos pequeños
  • Instantáneas grabables
  • Subvolumenes
  • Reconocimiento SSD y optimizaciones
  • Manejo de Copias de seguridad incremental
  • Comprobación de archivos fuera de línea (unidad no montada)
  • Defragmentación del sistema de archivos en línea
  • Conversión desde archivos existentes ext3 3 y 4 y RaiserFS
  • Soporte de cuotas de subvolumenes


Si bien aún en los sistemas de escritorio muchos prefieren usar ext4 por ser más veloz con archivos pequeños, Btrfs se viene dando como una alternativa viable en centros de cómputos y comienza a tomar usuarios que lo prefieren por su mejor manejo de archivos de gran tamaño, lo cual es más frecuente hoy día.


Sistemas XFS


Es un sistema de archivos de 64 bits con registro de bitácora, bajo licencia de código abierto. soporta archivos de hasta 8 exabytes. El journalist no es más que un proceso donde los cambios se escriben en un diario antes de ser colocados en el disco. Su adaptación en particiones LVM es eficaz.


El registro de XFS se maneja de forma asincrónica y permite recuperar los datos anteriores a un fallo de forma automática al momento de montar la partición. Su alta velocidad con volúmenes grandes, escritura y lectura de archivos lo hace ideal en soluciones de servidores de archivos y sistemas NAS.


Por otro lado se adapta muy bien a la modificación de sus volúmenes en caliente, por lo cual puede ser ampliada su capacidad aun estando montada la partición. Lo cual es muy útil en el caso de servidores en línea.


Consideraciones


Las unidades de almacenamiento de hoy en día han avanzado considerablemente en tamaño y velocidad, archivos que en una época eran difíciles de almacenar son de uso cotidianos y mantener grandes cantidades de información ya no es solo costumbre de las empresas. Así también las estructuras lógicas mediante las cuales manejamos nuestros archivos también han venido evolucionando, sistemas de particiones que en la actualidad pueden ser funcionales y maduros como ext4, tienen detrás de ellos nuevos desarrollos que quieren adaptarse a los nuevos tiempos. Hasta hace poco todo el almacenamiento de gran capacidad era sólo mediante dispositivos electromecánicos, los famosos discos duros que crecieron en tamaño y estabilidad pero que tienen limites en su velocidad, se les asignaron caches de velocidad más rápidas y llevaron a sus límites, pero la utilización de almacenaje electrónico con el uso de las Nand en SSD y NVMe se han vuelto tecnologías con precios razonables y su uso crece constantemente.


Con este aumento en los tamaños y las velocidades sistemas como Btrfs pueden convertirse en el nuevo estándar, así como seguramente podrá llegar a ser necesario el uso de un nuevo tipo de sistemas de archivos.


Referencias


Wikipedia Artículo

Referencia en Post

Wikipedia Artículo

Wikipedia Artículo

Wikipedia BTRFS Artículo

Web Soporte DELL Manual

Wikipedia Artículo

Sort:  

Hi @ubaldonet!

Your post was upvoted by Utopian.io in cooperation with @steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

Contribute to Open Source with utopian.io

Learn how to contribute on our website and join the new open source economy.

Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV

Gracias por el apoyo/ Thanks




This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie and @utopian-io.

If you appreciate the work we are doing, then consider supporting our witness stem.witness. Additional witness support to the curie witness and utopian-io witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Thanks for having added @steemstem as a beneficiary to your post. This granted you a stronger support from SteemSTEM.

Thanks for having used the steemstem.io app. You got a stronger support!

Thanks

Posted using Partiko Android


Repollo es un proyecto que tiene como misión entregar recompensas a todos los creadores de contenido. Tú puedes recibir un voto de Repollo siempre si decides adquirir una membresía delegando desde 50 SP. @cervantes apoya a Repollo, Puedes votar por ellos como Witness aquí. No te olvides de seguir promocionando tus publicaciones en nuestro Discord.

Gracias

Posted using Partiko Android