Al escoger una solución de almacenamiento masivo los factores más importantes a considerar son velocidad, fiabilidad y coste. Es raro tener los tres por igual; normalmente un dispositivo de almacenamiento masivo veloz y fiable es caro, y para recortar los costes suele sacrificarse la velocidad o la fiabilidad.
Al diseñar el sistema descrito más adelante se eligió el coste como el factor más importante, seguido de la velocidad, y luego la fiabilidad. La velocidad de transferencia de datos para este sistema está, en última instancia, limitada por la red. Y mientras que la confiabilidad es muy importante, el controlador CCD descrito más adelante sirve datos que están respaldados en CD-R y pueden ser reemplazados sin dificultad.
Al escoger una solución de almacenamiento masivo el primer paso es definir sus necesidades. Si prefiere velocidad o fiabilidad por encima del coste, el resultado será distinto del que vamos a describir en esta sección.
Además del disco IDE, el núcleo del disco CCD está compuesto por tres discos IDE discos IDE Western Digital de 30GB y 5400 RPM, que ofrecen aproximadamente 90GB de almacenamiento. Lo ideal sería que cada disco IDE tuviera su propio cable y controlador, pero para minimizar costes no se utilizaron controladores IDE adicionales. En lugar de eso se configuraron los discos con “jumpers” para que cada controlador IDE tuviera un maestro y un esclavo.
Despues de reiniciar la BIOS se configuró para que detectara automáticamente los discos conectados. FreeBSD los detectó al reiniciar:
Si FreeBSD no detecta todos los discos asegúrese de que ha colocado correctamente los “jumpers”. La mayoría de los discos IDE tienen un “jumper” “Cable Select”. Este no es el “jumper” que define la relación maestro/esclavo. Consulte la documentación del disco para identificar el “jumper” correcto.
El siguiente paso es estudiar cómo conectarlos para que formen parte del sistema de ficheros. Investigue Debe investigar vinum(8) (Capítulo 20, El Gestor de Volúmenes Vinum) y ccd(4). Nosotros elegimos ccd(4) para nuestra configuración.
El controlador ccd(4) le permite tomar varios discos idénticos y concatenarlos en un solo sistema lógico de ficheros. Para poder usar ccd(4) necesita un kernel compilado con soporte de ccd(4). Añada esta línea al fichero de configuración de su kernel, recompile y reinstale su kernel:
En sistemas 5.X, use la siguiente línea:
En FreeBSD 5.X no es necesario especificar un número de dispositivos ccd(4), ya que el controlador de dispositivo ccd(4) es capaz de clonarse a sí mismo (se crearán nuevas instancias de dispositivo automáticamente según vayan haciendo falta).
El soporte de ccd(4) también puede cargarse como módulo en FreeBSD 3.0 y posteriores.
Para configurar ccd(4) tendrá que usar disklabel(8) para etiquetar los discos:
Esto crea una etiqueta de disco para
ad1c
,
ad2c
y
ad3c
que abarcan
el disco completo.
A partir de FreeBSD 5.1-RELEASE
bsdlabel(8) reemplazó al antiguo programa
disklabel(8). En bsdlabel(8) se eliminaron muchas
opciones y parámetros obsoletos;
en los ejemplos de arriba la opción -r
deben obviarse. Para más información consulte
bsdlabel(8).
El siguiente paso es cambiar el tipo de etiqueta de disco. Edite los discos con disklabel(8):
Esto abre la etiqueta de disco de cada disco
con el editor declarado en la variable de
entorno EDITOR
, por defecto vi(1).
Esta es una etiqueta de disco sin modificar:
ccd(4) necesita que añada una nueva
partición e
. Puede copiarla desde la
partición c
, pero el tipo de sistema de
ficheros (la opción fstype
) debe ser
4.2BSD
. La etiqueta del disco
debería tener este aspecto:
Puede que todavía no exista el
nodo de dispositivo para ccd0c
.
Si es así, ejecute lo siguiente:
En FreeBSD 5.0 devfs(5) administrará
automáticamente los nodos de dispositivos en
/dev
, así que no tendrá que
usar MAKEDEV
.
Una vez etiquetados todos los discos construya el ccd(4). Utilice ccdconfig(8) con opciones similares a las siguientes:
El uso y el significado de cada una de las opciones se muestra más abajo:
El primer argumento es el dispositivo a configurar, en este
caso | |
El intervalo para el sistema de ficheros. El intervalo define el tamaño de una banda en bloques de disco, normalmente 512 bytes. Por lo tanto, un intervalo de 32 equivaldría 16.384 bytes. | |
Banderas para ccdconfig(8). Si desea disponer sus discos en espejo use aquí una bandera. Esta configuración no necesita discos en espejo, por lo que está dispuesta a 0 (cero). | |
Los últimos argumentos de ccdconfig(8) son los dispositivos a colocar en el array. Utilice la ruta completa para cada dispositivo. |
Despues de ejecutar ccdconfig(8) el ccd(4) estará configurado y podrá instalar un sistema de ficheros. Consulte las opciones de newfs(8) y ejecute:
Seguramente querrá que
ccd(4) esté dispuesto tras cada reinicio. Para
ello, debe configurarlo. Guarde su configuración
en /etc/ccd.conf
mediante lo
siguiente:
Durante el reinicio, el “script”
/etc/rc
ejecuta ccdconfig -C
si encuentra
el fichero /etc/ccd.conf
. De este modo
ccd(4) queda configurado automáticamente para que
pueda montarse.
Si ha arrancando en modo mono usuario necesita ejecutar el siguiente comando antes de que pueda montar el ccd(4) para configurar el array:
Para montar automaticamente el ccd(4)
coloque una entrada para ccd(4) en
/etc/fstab
para que se monte
durante el arranque:
El administrador de volúmenes Vinum es un controlador de dispositivos de bloque que implementa unidades de disco virtuales. Aísla los discos hardware de la interfaz de dispositivos de bloque y mapea datos de modo que revierta en un incremento de flexibilidad, rendimiento y fiabilidad comparados con el sistema de slices de almacenamiento de disco tradicional. vinum(8) implementa los modelos RAID-0, RAID-1 y RAID-5, individualmente o combinados.
Consulte el Capítulo 20, El Gestor de Volúmenes Vinum para mayor información sobre vinum(8).
FreeBSD admite una gran variedad de controladores RAID por hardware. Estos dispositivos controlan un subsistema RAID sin necesidad de software específico para FreeBSD que administre el array.
Puede controlar la mayoría de las operaciones de disco con una tarjeta que incorpore BIOS. El siguiente texto es una breve descripción de configuración utilizando una controladora Promise RAID IDE. Cuando se instala esta tarjeta e inicia el sistema despliega un “prompt” pidiendo información. Siga las instrucciones para entrar a la pantalla de configuración de la tarjeta. Ahí tendrá posibilidad de combinar todos los discos que haya conectado. Hecho esto el disco (o discos) aparecerán como una sola unidad en FreeBSD. Pueden configurarse otros niveles de RAID.
FreeBSD le permite reemplazar en caliente un disco dañado. Esto requiere que lo intercepte antes de reiniciar.
Probablemente vea algo como lo siguiente en
/var/log/messages
o en la salida de
dmesg(8):
Consulte atacontrol(8) para más información:
#
atacontrol list
ATA channel 0:
Master: no device present
Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
#
atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADEDPrimero debe desconectar el disco del array para que pueda retirarlo con seguridad:
#
atacontrol detach 3
Reemplace el disco.
Conecte el disco de repuesto:
#
atacontrol attach 3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device presentReconstruya el array:
#
atacontrol rebuild ar0
El comando de reconstrucción no responderá hasta
que termine la tarea. Puede abrir otra terminal (mediante
Alt+Fn
)
y revisar el progreso ejecutando lo siguiente:
#
dmesg | tail -10
[texto eliminado]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
#
atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completedEspere hasta que termine la operación.
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.