Los sistemas operativos modernos tienen muchas características para mejorar la seguridad de los datos y la usabilidad. En este artículo, compararemos RAID LVM y RAID mdadm, dos tecnologías interesantes cuyo objetivo principal es mantener su servidor, computadora o NAS en funcionamiento y guardar sus datos en caso de fallos de hardware.
Contenido
- ¿Cuál es la diferencia entre Lvm y mdadm?
- Comparación entre RAID LVM y RAID mdadm
- ¿Es posible utilizar mdadm y LVM al mismo tiempo?
- ¿Cómo recuperar datos perdidos?
¿Cuál es la diferencia entre Lvm y mdadm?
Lvm y mdadm son dos utilidades similares y al mismo tiempo completamente diferentes diseñadas para manejar información de discos. La similitud radica en el hecho de que tanto LVM como mdadm distribuyen datos entre unidades a nivel de software. Es decir, puedes crear una matriz RAID de software o discos Lvm utilizando solo las capacidades del sistema operativo. No se necesita hardware adicional. Para entender la diferencia, primero expliquemos cada tecnología una por una.
LVM (administrador de volúmenes lógicos) es una capa abstracta entre el controlador de disco y el sistema operativo. De hecho, es un subsistema mediante el cual el usuario puede combinar el espacio de varios discos en un solo volumen y luego particionarlo en varios discos lógicos.
Supongamos que tenemos dos discos de 100 GB. Usando LVM podemos combinarlos en un volumen de 200 GB (100 GB + 100 GB) y luego crear tres discos lógicos: uno con 120 GB y dos con 40 GB. De esta manera, tomamos una parte de la memoria del otro disco y la unimos al primero.
Es decir, gracias a la tecnología de LVM podemos distribuir memoria entre los discos sin estar limitados por el tamaño de ninguno de los discos. La única limitación será la cantidad de memoria compartida por todos los discos.
Además, LVM permite agregar dinámicamente nuevos discos para aumentar la memoria disponible, administrar de manera flexible los discos a nivel físico (agregar discos sin detener el servidor, NAS o computadora) y cambiar discos deteniendo el almacenamiento solo durante el tiempo de reemplazo físico del disco (sin tener que detener mientras se agrega un disco a nivel de software). Estoy de acuerdo, LVM es una característica muy útil. Sin embargo, LVM no proporciona redundancia.
Sí, LVM puede implementar una especie de matriz RAID utilizando sus soluciones, pero serán severamente inferiores en rendimiento o pasarán comandos a la utilidad md, es decir, al propio dispositivo mdraid. Pero, hablaremos de esto un poco más adelante.
Hablemos de qué es mdadm.
Mdadm es una utilidad especial del sistema operativo Linux cuyo objetivo principal es crear y administrar matrices RAID. Es decir, el propósito principal de mdadm es proporcionar redundancia, lo que significa salvar los datos si uno o más discos fallan (dependiendo del tipo de RAID seleccionado). De hecho, mdadm se comunica con los discos y distribuye datos entre ellos a nivel físico, sin tener absolutamente nada que ver con la partición lógica de los discos. Toda la matriz RAID de varios discos se muestra en el sistema operativo como una unidad de disco separada que se puede manipular de la misma manera que una unidad de disco regular.
Comparación entre RAID LVM y RAID mdadm
Como se mencionó anteriormente, es posible crear un RAID de software utilizando la tecnología LVM (por ejemplo, LVM RAID 0 o LVM RAID 5).
El LVM RAID se refiere a un método especial de construir una partición LV que utiliza un controlador DM (Device Mapper) para gestionar las particiones LV y un controlador MD para distribuir la información entre los discos.
También es posible crear un LVM RAID sin utilizar el controlador MD, pero en este caso, el rendimiento de dicho conjunto se verá gravemente afectado. Además, si algo le sucede a alguno de los discos, su reemplazo y recuperación de datos será muy difícil.
Hasta aquí todo parece claro. Ahora hablemos de las desventajas de esta solución.
En primer lugar, vale la pena mencionar que al trabajar con volúmenes LVM estándar, es necesario conocer una gran cantidad de comandos y utilidades para poder trabajar correctamente con los volúmenes, ya que no hay una interfaz gráfica.
En segundo lugar, al trabajar con LVM, es importante saber qué sistemas de archivos utilizar (es decir, aquellos que son escalables) y cuáles no. La elección del sistema de archivos tiene implicaciones para agregar nuevos discos.
En resumen, LVM es bastante complejo de mantener y requiere que el usuario tenga un conocimiento exhaustivo del sistema operativo.
Vale la pena mencionar que el sistema operativo Windows y Mac OS no admiten el trabajo con LVM.
Otra desventaja de LVM surge al utilizarlo en SSDs. Para entender esto, descubramos cómo funciona LVM.
Toda la información en LVM se divide en «extensiones» (que son bloques de información) que se escriben en el disco. El tamaño mínimo de una extensión es de 4 MB. Existen varios algoritmos para escribir extensiones en los discos. Tomaremos el más simple, llamado «lineal», ya que es la forma más fácil de entender cómo funciona LVM.
Al utilizar el algoritmo «lineal», todas las extensiones se escriben en los discos en orden. Si no hay suficiente espacio en el disco para escribir las extensiones, se escriben en orden en el segundo disco, y así sucesivamente.
Es decir, físicamente el archivo puede estar almacenado en varios discos al mismo tiempo, pero el subsistema LVM recuerda el orden de las extensiones y, por lo tanto, sabe en qué orden leerlas para abrir el archivo deseado. Esquemáticamente, se puede mostrar de la siguiente manera:
Sin embargo, esta es una desventaja de LVM, ya que todas las extensiones se escriben de forma secuencial. La escritura en el siguiente disco SSD solo comenzará cuando el primero esté completamente lleno. Como sabemos, no se recomienda llenar los discos SSD, ya que esto degrada severamente el rendimiento y reduce el rendimiento del recolector de basura (en otras palabras, reduce la velocidad y reduce la vida útil del disco).
Y aquí muchos dirán que se puede utilizar el método de distribución (un análogo de RAID 0 en mdadm). Tendrán razón en parte, ya que la carga en los discos disminuirá y la velocidad de lectura/escritura aumentará en proporción directa al número de discos utilizados, ya que la información se escribirá en todos los discos simultáneamente. Sin embargo, también hay algunas dificultades aquí…
La cuestión es que para expandir nuestro volumen tendremos que utilizar un múltiplo del número de discos ya utilizados. Es decir, si utilizamos 3 discos, entonces podemos agregar 3, 6, 9, etc. discos.
Pero lo más importante es que al agregar un nuevo grupo de discos, la distribución no se hará entre todos los discos al mismo tiempo, sino dentro de cada grupo de discos.
Esto significa que la escritura en un nuevo grupo de discos comenzará solo cuando el primero esté lleno. De aquí se desprende que el primer grupo de discos trabajará bajo estrés.
Mdadm puede resolver este problema, ya que sus nuevas versiones permiten agregar nuevos discos al conjunto RAID 0 sin problemas, después de lo cual la escritura en ellos se distribuirá con los discos instalados previamente, reduciendo la carga y el nivel de desgaste de los discos SSD.
De hecho, mdadm es una utilidad altamente funcional que agrega soporte RAID a Linux a nivel de kernel (es por eso que LVM utiliza el controlador MD para trabajar con los discos a nivel físico).
También existe una interfaz gráfica para mdadm llamada «Webmin», lo que significa que el usuario puede crear un conjunto RAID de software de casi cualquier tipo con solo unos pocos clics (incluyendo RAID 10, 50, 60), en lugar de utilizar una serie de comandos, etc. (no se requiere un conocimiento especial del sistema operativo). Puedes leer cómo hacer esto en el artículo «Cómo crear un RAID de software«.
También vale la pena mencionar que los conjuntos RAID creados con la utilidad mdadm tienen el mayor rendimiento, ya que no tienen «intermediarios» en forma de controladores y utilidades adicionales para enviar comandos a los discos. También es la razón por la cual un disco fallido puede ser reemplazado más rápidamente que con LVM RAID, ya que no se necesita ninguna manipulación adicional del subsistema LVM.
Por esta razón, recomendamos utilizar mdadm para crear un RAID de software, ya que será más rápido y confiable.
Resumiendo todo lo anterior, se puede llegar a la siguiente conclusión:
Las ventajas de LVM:
- asignación flexible del espacio en disco;
- adición dinámica de discos (sin detener el servidor);
Las desventajas de LVM:
- complejidad de administración (requiere conocer una gran cantidad de comandos y utilidades);
- es muy difícil reemplazar los discos en un conjunto RAID;
- los conjuntos creados con LVM serán más lentos;
- no se recomienda utilizarlos en discos SSD;
- es necesario saber qué sistemas de archivos se pueden utilizar y cuáles no;
- muchos sistemas operativos no admiten LVM;
Las ventajas de mdadm:
- conjuntos RAID de máxima velocidad;
- adición dinámica de discos al conjunto RAID (utilizando discos de repuesto en caliente);
- reemplazo rápido y fácil de discos fallidos;
- administración sencilla (gracias a la interfaz gráfica Webmin);
Las desventajas de mdadm:
- el usuario no puede asignar el espacio en disco de forma flexible (está limitado por el tamaño de los discos y el tipo de RAID utilizado);
Basándose en lo anterior, se puede elegir la tecnología que mejor se adapte a sus necesidades, pero ¿qué sucede si se desea tanto la confiabilidad de los conjuntos RAID como la flexibilidad de los volúmenes LVM?
Hay una respuesta a esta pregunta y se describe detalladamente en el siguiente párrafo de este artículo.
¿Es posible utilizar mdadm y LVM al mismo tiempo?
Ya hemos dicho que la mejor manera de crear matrices RAID es con la utilidad mdadm. Sin embargo, si deseas tener la flexibilidad de crear volúmenes además de la confiabilidad, puedes utilizar LVM sobre RAID. Es decir, primero creas un RAID del tipo requerido (por ejemplo, RAID 5) y luego utilizas LVM para crear varios discos lógicos.
Esto proporcionará confiabilidad y velocidad, además de que puedes particionar el espacio en disco como desees. Además, si alguna vez necesitas agregar un nuevo disco al sistema, puedes hacerlo con mdadm.
La desventaja es que debes conocer muchos comandos para trabajar correctamente con los volúmenes de LVM, porque aunque puedes crear una matriz RAID en unos pocos clics con Webmin, LVM sigue siendo difícil de administrar y no hay nada que puedas hacer al respecto.
Nota importante: Si decides utilizar RAID en combinación con LVM, debes hacer primero el RAID y luego construir los volúmenes de LVM sobre él. Si haces lo contrario, obtendrás una matriz muy difícil de administrar y que tampoco es muy rápida. Y si alguno de los discos falla, será muy difícil reemplazarlos.
¿Cómo recuperar datos perdidos?
A pesar del uso de diversas tecnologías, como arreglos RAID, nadie puede garantizar un 100% de seguridad de datos. Y aunque el uso de arreglos RAID permite aumentar en cierta medida el nivel de seguridad de datos, diferentes tipos de complementos, como LVM, pueden causar la pérdida de datos importantes en lugar de agregar nuevas funcionalidades. Además, aunque LVM ofrece cierta similitud con RAID, es menos confiable que RAID mdadm.
Pero incluso esta tecnología no puede dar una garantía del 100% de que no se pierda información, ya que existen fallos de controlador y no se puede descartar la eliminación accidental de datos o el formateo accidental del arreglo.
Por eso, el usuario debe saber qué hacer si pierde información importante por cualquier motivo. En tal situación, se debe utilizar de inmediato un reconstructor de RAID profesional que pueda proporcionar una recuperación exitosa de datos del arreglo RAID.
Le sugerimos utilizar RS RAID Retrieve, la mejor solución para reasemblar un arreglo RAID roto y luego recuperar datos perdidos.
El programa es simple y fácil de usar y admite prácticamente todos los arreglos RAID (incluidos los híbridos) y las configuraciones LVM. Además, RS RAID Retrieve admite TODOS los sistemas de archivos modernos, así como almacenamiento NAS. También le permite recuperar datos de arreglos RAID sin importar en qué sistema operativo se estuvieran ejecutando, ya sea Windows, Linux, MacOS o Solaris.
Solo conecte todos los discos del arreglo a una computadora en funcionamiento y siga una serie de pasos sencillos:
Paso 1: Descargue e instale RS RAID Retrieve. Ejecute la aplicación después de instalarla. Se abrirá el «constructor de RAID«. Haga clic en «Siguiente«
Paso 2: Elija el método de agregar un arreglo RAID para escanear. RS RAID Retrieve ofrece tres opciones para elegir:
- Modo automático: le permite simplemente especificar las unidades que formaban el arreglo y el programa determinará automáticamente su orden, tipo de arreglo y otros parámetros;
- Búsqueda por fabricante: esta opción debe elegirse si conoce el fabricante de su controlador RAID. Esta opción también es automática y no requiere ningún conocimiento sobre la estructura del arreglo RAID. Tener la información del fabricante le permite reducir el tiempo de construcción del arreglo y, por lo tanto, es más rápido que la opción anterior;
- Creación manual: esta opción vale la pena usarla si sabe qué tipo de RAID está utilizando. En este caso, puede especificar todos los parámetros que conoce y los que no conoce, el programa los determinará automáticamente
Después de seleccionar la opción adecuada, haga clic en «Siguiente«.
Paso 3: Seleccione los discos que forman el arreglo RAID y haga clic en «Siguiente«. Comenzará el proceso de detección de las configuraciones del arreglo. Cuando esté completo, haga clic en «Finalizar«.
Paso 4: Después de que el constructor construya el arreglo, aparecerá como una unidad normal. Haga doble clic izquierdo en él. Se abrirá el Asistente de recuperación de archivos. Haga clic en «Siguiente«
Paso 5: RS RAID Retrieve ofrecerá escanear su arreglo en busca de archivos para recuperar. Tendrá dos opciones: un escaneo rápido y un análisis completo del arreglo. Seleccione la opción deseada. Luego seleccione el tipo de sistema de archivos que se utilizó en el arreglo. Si no conoce esta información, marque todas las opciones disponibles, como en la captura de pantalla. Vale la pena mencionar que RS RAID Retrieve admite TODOS los sistemas de archivos modernos.
Paso 6: Comenzará el proceso de escaneo del arreglo. Cuando termine, verá la estructura anterior de archivos y carpetas. Encuentre los archivos necesarios, haga clic derecho en ellos y seleccione «Recuperación«
Paso 7: Especifique la ubicación donde se guardarán los archivos recuperados. Puede ser un disco duro, un archivo ZIP o un servidor FTP. Haga clic en «Siguiente«
Después de hacer clic en el botón «Siguiente«, el programa comenzará el proceso de recuperación. Cuando termine, los archivos seleccionados estarán en la ubicación especificada.
Después de que todos los archivos se hayan recuperado con éxito, vuelva a crear su arreglo RAID y luego copie los archivos de vuelta.
Como puede ver, el proceso de recuperación de datos RAID es bastante simple y no requiere mucho conocimiento de PC, lo que hace de RS RAID Retrieve la aplicación perfecta tanto para profesionales como para usuarios novatos.