Instalación y configuración de Computadores y Periféricos
Escuela Técnica de Ingeniería Informática de Gijón
3º Ingeniería Técnica en Informática de Sistemas

RAID 0 por software en Windows 2000

Autores: Francisco Javier Rosado Piñera y Pablo de las Cuevas Onandía

Fecha: 21 de mayo de 2004

Ver o hacer comentarios sobre este trabajo
Índice de todos los trabajos

Objetivos

El objetivo del presente trabajo es conocer las posibilidades que ofrece Windows 2000 en lo que a creación y mantenimiento de discos dinámicos se refiere.

Para ello nos hemos propuesto instalar y estudiar un sistema RAID 0 por software en un equipo doméstico con el fin de obtener una unidad con un rendimiento más alto que el que puedan tener los discos de partida. La velocidad extra de esa unidad podría ser interesante como destino de archivos temporales para vídeo digital o para montar un servidor, por poner unos ejemplos.

Teoría básica

Discos dinámicos

Si bien lo habitual en un PC es tener uno o varios discos duros divididos cada uno de ellos en una o varias particiones -ya sean físicas o lógicas-, Windows 2000 permite otro modo de gestión para éstos, que consiste en considerarlos como un conjuntos de volúmenes. Así pues, desde la perspectiva del usuario un volumen será lo mismo que una partición, pero internamente podrá estar formado por partes de uno o más discos duros. Los volúmenes se formatean mediante un sistema de archivos, como FAT o NTFS, y se les asigna una letra de unidad.

Los discos duros preparados por el propio Windows para tal funcionamiento reciben el nombre de discos dinámicos. Las ventajas de dichos discos son, principalmente, las siguientes:

La herramienta que gestiona los discos dinámicos en Windows 2000 se denomina Administrador de discos, y se accede a ella desde Panel de Control,Herramientas Administrativas, Administración de equipos.

RAID

Es el acrónimo de Redundant Array of Inexpensive Disks, o matriz redundante de discos baratos. Es una estructura de discos en la que todos sus componentes se comportan como uno solo ya sea de cara al sistema operativo -en el caso de los RAID vía hardware-, o de cara a los programas de usuario -caso de los RAID vía software-.

Básicamente el RAID tiene dos fines:

La capa RAID no tiene absolutamente nada que ver con la capa del sistema de ficheros. Puede poner cualquier sistema de ficheros sobre un dispositivo RAID, tal y como haría con cualquier otro dispositivo de bloques.

Existen además otros modos RAID, como el 5, en el que dos discos se configuran en striping y un tercero hace las veces de disco de paridad para los dos primeros, característica que es útil para aquellos sistemas en que prime tanto la velocidad como la fiabilidad, típicamente los servidores.

A decir verdad, si bien el RAID surgió, como su propio nombre indica, como alternativa barata para obtener bien velocidad, bien fiabilidad, lo cierto es que hasta hace poco los sistemas RAID estuvieron relegados al mundo de los servidores. Esto era así porque apenas existía hardware para configurar un RAID en un sistema ATA, y el material SCSI siempre ha sido mucho más caro, con lo que no falta quien la palabra inexpensive de la definición la ha cambiado por un menos arriesgado independent. Sin embargo, la gran bajada del precio de los discos duros, la aparición del interfaz SATA -el cual hace desaparecer la limitación típica de dos maestros y dos esclavos por controladora-, y las nuevas necesidades de flujos altos de transferencia -debido sobretodo al vídeo digital- ha vuelto a acercar el RAID al usuario doméstico.

Hay que tener muy presente que sólo se debería tener un dispositivo por bus IDE. El uso de discos como maestro/esclavo es funesto para el rendimiento. IDE es realmente ineficiente accediendo a más de un disco por bus. Naturalmente, todas las placas madre modernas tienen dos buses IDE, por lo que puede configurar dos discos en RAID sin comprar más tarjetas controladoras.

Configuración de partida

El equipo en el que se va a realizar la práctica consta de:

Desarrollo

Primer paso: instalación del sistema operativo y particionado de los discos

Teniendo en cuenta que, en un principio, para montar un sistema RAID es recomendable utilizar dos discos duros semejantes que posiblemente haya que formatear, instalaremos el operativo en el disco Quantum de 4 GB y dejamos los otros dos para las pruebas. La configuración física de los IDE queda así:

El sistema operativo instalado es el Windows 2000 Professional con Service Pack 4 y todos los parches disponibles en Windows Update. Además se han instalado los últimos controladores nativos disponibles para el chipset de la placa y para las diferentes tarjetas.

El particionado de los discos se refleja claramente en la siguiente imagen del Administrador de discos:

Imagen de como quedan los discos particionados Ampliar

Como se puede ver, el Quantum está dividido en dos particiones de 2 GB: una con el operativo, llamada QUANTUM1 (C:) y otra libre, QUANTUM2 (Q:). Por otra parte, los otros dos discos poseen sendas particiones de 2 GB que dejan la mayor parte de cada disco libre, y que se llaman W_DIGITAL1 (W:) e IBM1 (I:).

Segundo paso: selección de los benchmarks

A sabiendas de que los discos duros convertidos en discos dinámicos no se pueden revertir a discos básicos decidimos medir el rendimiento de las unidades actuales antes de realizar ninguna conversión. Por eso, en primer lugar hemos de escoger con qué herramientas haremos las pruebas de rendimiento.

Como benchmark sintético -es decir: que simula el comportamiento de un sistema informático con un trabajo más o menos real- nos quedamos con el PCMark 2004, ya que si bien puede medir el rendimiento de todo el sistema, también puede ejecutar sólo las distintas pruebas de los discos duros -mejor dicho: de las unidades lógicas-, dando el resultado en forma de índice numérico. Este es el aspecto del menú principal del PCMark 2004:

Imagen del aspecto del menú principal del PCMark 2004 Ampliar

Además de un índice sintético también nos interesa conocer el rendimiento bruto de las nuevas unidades, por lo que tras mucho buscar el programa adecuado nos quedamos para esta tarea con el HD_Speed, el cual tiene la ventaja de poder ejecutarse sobre unidades tanto lógicas como físicas. Además mide tanto la transferencia continua como la conseguida a ráfagas, que sirve para indicarnos aproximadamente la velocidad de los buses. Este es su interfaz:

Imagen del interfaz de HD_Speed Ampliar

El único problema que presenta el HD_Speed es que no nos indica el consumo de CPU que requieren las unidades para sus máximas transferencias -dato que quizá sea relevante dado que el RAID se gestiona por software-, pero nos apoyaremos en las herramientas de monitorización de Windows 2000 para hallarlo. Más concretamente, haremos uso del menú Rendimiento que se halla dentro de Herramientas Administrativas, tomando como índice el tiempo de procesador en tanto por ciento. He aquí una vista de dicho monitor durante una medición cualquiera:

Imagen de la herramienta de monitorización de Windows 2000 Ampliar

Tercer paso: análisis del rendimiento de las unidades físicas

Una vez tenemos el equipo funcionando y hemos escogido los benchmarks, pasamos a tomar las primeras medidas. Antes de eso, nos cercioramos de que todos los discos duros están correctamente configurados en Windows, hecho que se verifica en esta imagen:

Imagen que muestra los discos duros correctamente configurados Ampliar

Así las cosas, los resultados que arroja el PCMark 2004 tras configurarse para que se ejecute en cada partición son:

Por su parte, las transferencias obtenidas por el HD_Speed para cada disco físico, junto con el consumo de CPU, son las siguientes:

Como era de suponer tanto el Quantum como el IBM obtienen la misma transferencia en lectura a ráfagas, pues sus interfaces poseen la misma tasa de transferencia (33 MB/s teóricos). Por su parte, los dos megas de caché del Western Digital compensan la mayor velocidad de giro del IBM, al que acaba sacando un 50% más de transferencia. Respecto a los consumos de CPU cabe decir que las herramientas de monitorización de Windows 2000 a duras penas indican algo más del 0%, lo que da a entender que los modos DMA funcionan a la perfección.

Cuarto paso: creación de los discos dinámicos y del sistema RAID

Llega el momento de transformar los discos en dinámicos, por lo que vamos al Administrador de discos y comenzamos por el IBM, dando con el botón derecho en el recuadro que se indica en la siguiente figura:

Imagen del Administrador de discos Ampliar

A partir de ahí seguimos las indicaciones que se nos muestran en pantalla y, una vez tenida en cuenta la advertencia de que no se puede reconvertir un disco dinámico a un disco básico -término que emplea Windows para referirse a los discos habituales-, tendremos nuestro disco convertido. Vemos que lo que antes era la partición IBM1 que tenía asignada la letra I:, ahora es el volumen IBM1 y no tiene letra asignada, así que le volvemos a poner la I:.

Seguimos el mismo proceso con el Western Digital, aunque, con el fin de comprobar los pormenores de la gestión de discos dinámicos bajo Windows 2000, ahora reconvertimos un disco que contiene múltiples archivos y directorios. Vemos que esto último resulta indiferente, ya que el proceso dura lo mismo -unos segundos- y no existe pérdida de información. Acabamos teniendo la siguiente vista:

Imagen de como quedan los discos Ampliar

Comprobamos el rendimiento de los nuevos volúmenes I: y W: -recordemos que ya no son particiones- con PCMark 2004 y vemos que permanece idéntico, así que nos disponemos a crear un volumen RAID. Para ello damos con el botón derecho del ratón al espacio no asignado de uno de los discos dinámicos, y escogemos la opción de crear nuevo volumen. Una vez presentado el asistente vemos el siguiente menú:

Imagen del Asistente para crear volúmenes Ampliar

Marcando cada una de las tres opciones obtenemos la explicación de en qué consiste y para qué sirve cada tipo de volumen. Resumiendo, un volumen simple es análogo a una partición en un disco básico; un volumen distribuido es aquel que permite obtener una única unidad a base de agregar volúmenes de varios discos duros; y un volumen seccionado es el que nos interesa: el que distribuye la información entre volúmenes de diferentes discos con el fin de mejorar el rendimiento.

En la siguiente pantalla nos pregunta qué discos dinámicos -con espacio libre- queremos que formen parte del nuevo volumen seccionado. Marcamos en el recuadro de la izquierda el disco que haya -el 1 ó el 2, en función de con cuál hayamos empezado- y lo agregamos:

Imagen de como pide que seleccionemos los dicos dinámicos Ampliar

Al hacerlo, vemos que el máximo tamaño para todos los discos que permite es de 7593 MB, que es el espacio libre que hay en el IBM -es decir: el máximo espacio disponible en el disco con menor espacio de todos-. Para nuestras pruebas seleccionaremos 2000 MB:

Imagen de que seleccionamos 2000 Mb por disco Ampliar

En la siguiente pantalla seleccionamos una letra. Escogemos la X:, por ejemplo:

Imagen seleccionando X como letra de unidad Ampliar

Ya por último, establecemos la etiqueta del volumen (RAID1) y el tipo de sistema de archivos de entre FAT, FAT32 y NTFS -y nos quedamos con este último-:

Imagen formateando con NTFS y etiqueta RAID1 Ampliar

En la siguiente pantalla se nos muestra un resumen con las opciones que hemos escogido. Dando a "Finalizar" se genera el volumen RAID que buscábamos:

Imagen de opciones que hemos escogido Ampliar

Quinto paso: Análisis del rendimiento de la unidad RAID

Ahora comprobaremos si un volumen RAID funcionando en un equipo doméstico ofrece realmente un rendimiento superior. Ejecutamos, pues, los mismos benchmarks que antes:

Observamos perplejos que el volumen RAID obtiene peores resultados en el PCMark 2004 que cuando el Western Digital trabaja solo.

El consumo de CPU tampoco es el esperado, pues intuíamos que un sistema RAID sería computacionalmente pesado y, por suerte, nos hemos equivocado, ya que apenas influye en la CPU

Por otra parte, en lo que a tasa de transferencia sostenida se refiere se observa un notable aumento, pero no el esperado, pues pensábamos que obtendríamos la suma de las transferencias de los discos por separado. El hecho de que 25,4 sea justo el doble de los 12,7 MB/s que transfería el IBM por sí solo, unido a que la transferencia a ráfagas sea la del más lento, nos hace sospechar que en este sistema RAID el disco rápido esté funcionando a la velocidad del lento, y que sea ésta la que se duplique. Para comprobar nuestras sospechas tomamos medidas drásticas: anulamos los modos DMA para el disco IBM, de modo que transfiera sólo usando los modos PIO, y medimos sus resultados cuando trabaja sólo. Esto es lo que obtenemos:

Ahora, veamos los resultados del volumen RAID manteniendo el IBM en modo PIO:

Nuestras sospechas estaban bien encaminadas: no sólo la capacidad del sistema RAID es el doble de la del más pequeño, sino que su transferencia es también el doble de la del disco más lento.

En vista de que el modo PIO requiere una gran cantidad de CPU, y que las medidas de consumo de ésta hasta la fecha no han dado resultados interesantes -pues siempre hemos rondado el 1%-, nos disponemos a anular los modos DMA también en el Western Digital para intentar sacar alguna conclusión:

Imagen de anular los modos DMA Ampliar

Los resultados de las lecturas en modo PIO de unos y de otros son:

Vemos que aquí se rompe la norma de que la transferencia es múltiplo de la del disco más pequeño.

Sexto paso: RAID con 3 discos dinámicos

Como el fin de esta práctica es la investigación y aún no tenemos claras las repercusiones de montar un volumen RAID en un equipo, vamos a ver si es posible hacer RAID con tres discos. Para eso primero eliminamos la segunda partición del disco Quantum -QUANTUM2, Q:- e intentamos transformarlo en dinámico -nótese que este disco no sólo no está vacío, sino que es el de arranque-.

En esta ocasión el Administrador de discos nos manda reiniciar el equipo para aplicar los cambios y, una vez reiniciado, el sistema operativo nos pide volver a reiniciar porque ha encontrado dispositivos nuevos. Una vez hecho esto ya tenemos tres discos duros dinámicos:

Imagen de tres discos duros dinámicos Ampliar

Procedemos análogamente a como hicimos para crear el primer RAID, sólo que ahora seleccionaremos tres discos donde corresponda:

Imagen seleccionando tres discos Ampliar

Como letra de unidad escogemos la Y:, y como etiqueta, RAID2. Ahora el Administrador de discos nos muestra lo siguiente:

Imagen seleccionando Y como letra de unidad y etiqueta RAID2 Ampliar

Pasamos ahora a comprobar el rendimiento de la nueva unidad. Según lo visto hasta ahora, debería transferir tres veces más que el más lento de los discos duros. Una vez restaurado el modo UDMA en el IBM, el disco más lento vuelve a ser el Quantum, con sus, aproximadamente, 8 MB/s, por lo que esperamos una transferencia conjunta de 24 MB/s en lectura secuencial con DMA y los mismos 31 de antes en lectura a ráfagas:

Se confirma que con los modos DMA desactivados no existe ninguna mejora de rendimiento al utilizar volúmenes RAID. Se ve además que el consumo de CPU sube un 1% al usar tres discos con respecto a cuando utilizábamos dos, lo que nos confirma lo que se veía en los modos DMA: que la gestión de este tipo de volúmenes es realmente ligera.

Por otra parte, ¿por qué esa caída de transferencia con respecto a lo esperado cuando trabajamos con DMA? Pensando un poco nos damos cuenta de que el Quantum comienza a transferir para la unidad Y: a partir de la mitad, y teniendo en cuenta que los discos transfieren menos según van avanzando concluimos que la transferencia del Quantum en la zona media ha de ser de unos 7,5 MB/s. Comprobémoslo poniéndole un offset del 50% al HD_Speed, tal y como se ve aquí:

Imagen de un offset del 50% al HD_Speed Ampliar

Efectivamente: ya no cabe duda de que la tasa de transferencia de un volumen RAID es igual al número de discos que lo integran multiplicado por la transferencia del más lento.

Séptimo paso: herramientas para la gestión de discos dinámicos

El Administrador de discos de Windows 2000 advierte que transformar un disco básico en uno dinámico es irreversible, y hemos decidido cerciorarnos de tal cosa buscando herramientas alternativas para la gestión de discos duros.

Comenzamos por la que quizá sea la más conocida: el Partition Magic. En su versión para Windows ya advierte que no da soporte para discos dinámicos, así que ni lo instalamos. Probándolo en su versión 8.2 para DOS observamos que sí detecta este tipo de discos pero no da opción a realizar absolutamente ninguna acción sobre ellos, ni siquiera ver su distribución en volúmenes.

Seguimos con el Paragon Partition Manager 5.5 para DOS, un programa semejante al Partition Magic en cuanto a concepto, aunque un poco más tosco en cuanto a interfaz. Éste no permite hacer ningún cambio en los discos dinámicos, pero sí permite ver su contenido, diferenciando los volúmenes entre simple y stripe e indicando sus etiquetas. Eso sí: no indica explícitamente qué volúmenes de qué discos conforman cada volumen seccionado, pero se puede intuir al considerar que todos habrán de tener la misma capacidad.

El Ranish Partition Manager 2.44 detecta los discos como si estuvieran particionados en unidades que define como Unknown, y sobre las que no puede hacer nada.

Para acabar acabamos encontrando la herramienta más completa: el Partition Commander 8.01, también para DOS. De este programa sorprende que si bien no permite ver el contenido de los discos dinámicos, tiene una opción entre sus menús para convertirlos a básicos. Sin dudarlo intentamos convertir el IBM y... no nos deja, diciendo que no puede tener acceso al disco. En nuestro afán investigador volvemos a Windows y eliminamos el volumen RAID2 -aquel que se seccionaba entre los tres discos duros-. Nuestros discos quedan así:

Imagen despues de eliminar RAID2 Ampliar

Volvemos al Partition Commander y volvemos a intentar la reconversión. Ahora sí nos deja, y tras un proceso que dura entorno a 40 minutos obtenemos esto:

Imagen después de la reconversión Ampliar

Una vez más vamos al Partition Commander. No sabemos por qué pero no nos deja reconvertir el Western Digital, así que probamos suerte con el Quantum -recordemos que es nuestro disco de sistema-. La reconversión se "cuelga", y tenemos que reiniciar. Hay un momento crítico: el equipo no arranca. Vamos a Partition Magic y vemos que lo que ocurre es que el Quantum vuelve a ser un disco normal -o básico-, pero no tiene ninguna partición activa, así que hacemos lo propio con la que tiene el operativo. Windows al reiniciar encuentra varios errores en la unidad E:, y los subsana. Luego en el Administrador de discos obtenemos esta imagen:

Imagen del Administrador de discos Ampliar

El Quantum vuelve a ser como era antes de su conversión a dinámico. Por su parte, la unidad E: pasa a tener el nombre y tamaño de nuestra primera unidad RAID, la RAID1. Entrando en la unidad E: desde el explorador de Windows descubrimos que tiene una papelera de reciclaje defectuosa -que el propio explorador nos obliga a reemplazar- y la típica carpeta System Volume Information, con un archivo perfectamente accesible dentro. Sin embargo, el hecho de que en otras pruebas no obtuviéramos tal unidad de reemplazo para los volúmenes RAID, y que perdiéramos todo su contenido, nos hace desconfiar de este sistema para revertir sin pérdida de información este tipo de volúmenes.

Nos queda reconvertir el Western Digital. Primero, eliminamos los volúmenes erróneos -con el menú que sale al darles con el botón derecho- y los supuestos discos que los contienen -con la opción "Expulsar" del menú de éstos-. Obtenemos esto:

Imagen después de eliminar los volúmenes erróneos Ampliar

Ahora el Partition Commander 8.01 nos permite realizar la reconversión sin ningún problema. Sus resultados son estos:

Imagen después de la reconversión Ampliar

No queda más que reasignar las letras de unidad como las tuvimos en un principio y eliminar las particiones lógicas y extendidas del IBM para volver a tener nuestros discos en el mismo estado en que estaban antes de comenzar la conversión a dinámicos:

Imagen de todo al final Ampliar

Octavo paso: Discos dinámicos con otros sistemas operativos

Según se comenta en la página de Tom's Hardware que habla de este tema -véase la sección de Enlaces-, los discos dinámicos de Windows 2000 no son correctamente detectados por el programa de instalación del propio Windows, por lo que la opción de instalar un segundo Windows 2000 en un disco dinámico parece descartada.

Lo que desconocemos -y puede ser más útil- es si se podrá instalar linux en un disco dinámico. Para ello vamos a intentar instalar linux Mandrake 9.2 en el Western Digital, el cual dejamos sólo con un volumen sencillo de 2 GB -W_DIGITAL- y con otro seccionado entre él y el IBM de 4 GB -nuestro famoso RAID1-. Manos a la obra, llega el momento de seleccionar el punto de instalación observamos satisfechos cómo linux detecta todos los discos dinámicos, así como la distribución en volúmenes de éstos, por lo que decidimos crear un nuevo volumen/partición de 2 GB en el espacio libre como punto de montaje para "/", y otro de 384 MB de para swapping. Sin acabar la instalación por completo, puesto que sólo queríamos estudiar el manejo de los volúmenes, reiniciamos el equipo con Windows y los resultados no pueden haber sido peores: no sólo han desaparecido los volúmenes del Western Digital, sino que Windows lo marca como erróneo y sólo da opción a revertirlo a básico.

Sucede que el primer volumen del disco contiene datos de importancia, por lo que nos vemos obligados a investigar cómo recuperar dicho volumen. Desde DOS volvemos a ejecutar el Partition Magic, el Paragon Partition Manager y el Ranish Partition Manager sin resultados. Por su parte, sólo el Partition Commander nos da esperanzas: detecta el volumen creado, así como el desaguisado hecho por linux -dos particiones lógicas dentro de una extendida, todo ello dentro de un disco dinámico-, y nos da opción a copiarlo a otro sitio, así que hacemos lo propio llevándolo al disco IBM -una vez hemos revertido éste a básico-. Al reiniciar Windows vemos aliviados cómo, tras asignar una letra de unidad a la partición creada en el IBM por el Partition Commander -la cual mantiene incluso la etiqueta original-, volvemos a tener todos nuestros archivos. Eso sí: tenemos que volver a DOS para ejecutar de nuevo el Partition Commander con el fin de eliminar todo lo habido en el Western Digital, porque Windows es incapaz de hacer nada con ese disco.

Parece que linux no se instala correctamente en un disco dinámico, pero nos queda por averiguar si puede manejar el contenido de estos discos. Para ello volvemos a crear los volumenes W_DIGITAL, IBM y RAID1 en los discos que no contienen el operativo, y arrancamos linux Knoppix 3.3 -por ser ésta una distribución linux que se ejecuta desde CD sin necesidad de instalación- para estudiar los resultados. Vemos cómo linux detecta correctamente los volúmenes simples, permitiendo acceder al contenido de los archivos sin problemas, pero sólo en modo lectura aún después de remontar los volúmenes en lectura-escritura, pues knoppix los monta por defecto en sólo lectura-. Respecto al volumen RAID, linux interpreta que existen dos volúmenes vacíos en otros tantos discos duros de 2 GB cada uno en los que no existe ningún fichero -ni da posibilidad a crearlos.

Dado que los volúmenes simples son accesibles en modo lectura, decidimos hacer otra prueba para cerciorarnos de si tal limitación se debe a que estemos usando NTFS como sistemas de archivos. Así pues, creamos un volumen simple FAT32, de modo que la distribución de los discos nos queda así:

Imagen después de crear un volumen simple FAT32 Ampliar

Volvemos a arrancar con Knoppix y el resultado es el mismo: sobre los volúmenes simples sólo se tiene acceso de lectura.

Conclusiones

Hemos encontrado tanto pros como contras de cara a la utilización de discos dinámicos y, más concretamente, de volúmenes RAID 0 bajo Windows 2000.

Puntos a favor:

Puntos en contra:

Enlaces

Esta práctica se inspiró en una página de Tom's Hardware: http://www6.tomshardware.com/howto/20010906/index.html

La web del HD_Speed: http://www.steelbytes.com

La web del PCMark: http://www.futuremark.com/

Una interesante muestra del software probado para medir transferencias se encuentra en http://www.benchmarkhq.ru/english.html?/be_hdd.html