Montar sistemas de archivos automáticamente
con
/etc/fstabCuando se acaba de instalar un sistema Red Hat Enterprise Linux, todas las
particiones de disco definidas y/o creadas durante la instalación son configuradas
para montarse automáticamente cuando el sistema arranca. No obstante, ¿qué
pasa cuando se añaden unidades de disco adicionales a un sistema después de
efectuar la instalación? La respuesta es "nada" porque el sistema no fue
configurado para montarlos automáticamente. Sin embargo, esto se puede
cambiar fácilmente.
La respuesta recae en el archivo
/etc/fstab. Este archivo es utilizado para
controlar qué sistemas de archivos son montados cuando el sistema arranca, así
como también para suministrar valores por defecto para otros sistemas de
archivos que pueden ser montados manualmente de vez en cuando. He aquí una
muestra del archivo
/etc/fstab:
LABEL=/ / ext3 defaults 1 1 /dev/sda1 /boot ext3 defaults 1 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/homedisk /home ext3 defaults 1 2 /dev/sda2 swap swap defaults 0 0
Cada línea representa un sistema de archivos y contiene los campos siguientes:
El especificador del sistema de archivos — Para los sistemas de archivos
basados en disco, bien sea un nombre de archivo de dispositivo
(
/dev/sda1), una especificación de etiqueta (
LABEL=/) o un enlace simbólico
manejado por
devlabel(
/dev/homedisk)
Punto de montaje — Excepto para las particiones swap, este campo
especifica el punto de montaje a utilizar cuando se monta el sistema de
archivos (
/boot)
Tipo de sistema de archivos — El tipo de sistema de archivos presente en
el dispositivo especificado (observe que se puede especificar
autopara
seleccionar la detección automática del sistema de archivos a montar, lo
que es útil para la media removible tal como unidades de disquete)
Opciones de montaje — Una lista de opciones separadas por comas que se
puede utilizar para controlar el comportamiento
de
mount(
noauto,owner,kudzu)
Frecuencia de descarga — Si se utiliza la utilidad para respaldos
dump, el
número en este campo controla el manejo de
dumpdel sistema de archivos
especificado
Orden de verificación del sistema de archivos — Controla el orden en
que
fsckverificará la integridad del sistema de archivos
5.9.6. Añadir/Eliminar almacenamiento
Mientras que la mayoría de los pasos necesarios para añadir o eliminar
almacenamiento dependen más en el hardware del sistema que en el software,
hay aspectos del procedimiento que son específicos a su entorno operativo. Esta
sección explora los pasos necesarios para añadir o eliminar almacenamiento que
son específicos a Red Hat Enterprise Linux.
5.9.6.1. Añadir almacenamiento
El proceso de añadir almacenamiento a un sistema Red Hat Enterprise Linux es
relativamente directo. He aquí los pasos que son específicos a Red Hat Enterprise
Linux:
Particionar
Formatear la partición(es)
Actualizar
/etc/fstabLas secciones siguientes exploran cada paso con más detalles.
5.9.6.1.1. Particionar
Una vez instalado en disco duro, es hora de crear una o más particiones para
hacer el espacio disponible a Red Hat Enterprise Linux.
Hay más de una forma de hacer esto:
Usando el programa de línea de comandos
fdisk
Usando
parted, otro programa utilitario de línea de comandos
Aunque las herramientas pueden ser diferentes, los pasos básicos son los
mismos. En el ejemplo siguiente, se incluyen los comandos necesarios para
efectuar estos pasos usando
fdisk:
1.
Seleccione la nueva unidad de disco (el nombre de la unidad se puede
identificar siguiendo la convención de nombres descrita en la
Sección
5.9.1
). Usando
fdisk, esto se hace incluyendo el nombre del dispositivo
cuando arranca
fdisk:
fdisk /dev/hda
2.
Revise la tabla de particiones de la unidad para verificar que la unidad a
particionar es, en realidad, la correcta. En nuestro ejemplo,
fdiskmuestra
la tabla de partición usando el comando
p:
Command (m for help): p
Disk /dev/hda: 255 heads, 63 sectors, 1244 cylinders Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System /dev/hda1 * 1 17 136521 83 Linux /dev/hda2 18 83 530145 82 Linux swap /dev/hda3 84 475 3148740 83 Linux /dev/hda4 476 1244 6176992+ 83 Linux
3.
Borre cualquier partición no deseada que pueda existir en la nueva unidad
de disco. Esto se hace usando el comando
den
fdisk:
Command (m for help): d Partition number (1-4): 1
4.
El proceso se repetirá para todas las particiones no deseadas presentes el
el disco.
5.
Cree la(s) nueva(s) partición(es), asegurándose de especificar el tamaño
deseado y el tipo de sistemas de archivos. Usando
fdisk, esto es un
proceso de dos pasos — primero, cree la partición (usando el comando
n):
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-767): 1
Last cylinder or +size or +sizeM or +sizeK: +512M
6.
Segundo, configure el tipo de sistema de archivos (usando el comando
t):
Command (m for help): t Partition number (1-4): 1
Hex code (type L to list codes): 82
8.
Guarde sus cambios y salga del programa de particionamiento. Esto se
hace en
fdiskejecutando
w:
Command (m for help): w
Atención
Cuando particione un nuevo disco, es
vital
que esté seguro de que la
unidad que piensa particionar es la correcta. De lo contrario, puede
inconscientemente particionar una unidad que ya está en uso, lo que
resultaría en la pérdida de los datos.
También verifique que ha decidido el mejor tamaño para su partición.
Siempre tome este punto seriamente, pues cambiarlo más adelante es
mucho más difícil que tomarse un poco de tiempo ahora en pensar las
cosas.
5.9.6.1.2. Formatear la partición
El formateo de particiones bajo Red Hat Enterprise Linux se hace usando el
programa de utilidades
mkfs. Sin embargo,
mkfsen realidad no hace el trabajo de
escribir la información específica del sistema de archivos en el disco; en cambio
pasa el control a uno de los muchos programas que crean el sistema de archivos.
Este es el momento de observar la página man de
mkfs.<fstype>para el sistema
de archivos que ha seleccionado. Por ejemplo, vea la página man
de
mkfs.ext3para revisar las opciones disponibles durante la creación de un
sistema de archivos ext3. En general, los programas
mkfs.<fstype>suministran
valores por defecto razonables para la mayoría de las configuraciones; sin
embargo, he aquí algunas de las opciones que los administradores de sistemas
cambian más a menudo:
Configuran una etiqueta de volumen para su uso posterior en
/etc/fstab En discos duros muy grandes, configuran un porcentage más pequeño de
espacio reservado para el super-usuario
Configuran un tamaño de bloque no estándar y/o bytes para las
configuraciones de inodos, que deben soportar tamaños de archivos muy
grandes o muy pequeños
Una vez creados los sistemas de archivos en todas las particiones apropiadas, la
unidad de disco estará configurada adecuadamente para su uso.
Luego, siempre es bueno volver a verificar su trabajo manualmente montando la
partición(es) y asegurándose de que está en orden. Una vez que todo está
verificado, es el momento de configurar su sistema Red Hat Enterprise Linux para
que monte automáticamente el nuevo sistema de archivos durante el arranque.
5.9.6.1.3. Actualizar /etc/fstab
Como se describió en la
Sección 5.9.5
, primero debe añadir las líneas necesarias
a
/etc/fstabpara asegurarse de que se monte el nuevo sistema de archivos
cuando arranque el sistema. Una vez actualizado
/etc/fstab, pruebe su trabajo
ejecutando un comando "incompleto" de
mount, especificando solamente el
dispositivo o punto de montaje. Algo similar a alguno de los comandos siguientes
es suficiente:
mount /home mount /dev/hda3
(Reemplace
/homeor
/dev/hda3con el punto de montaje o dispositivo para su
situación específica.)
Si la entrada correspondiente en
/etc/fstabes correcta,
mountobtiene la
información faltante desde el archivo y completa la operación de montaje.
En este punto puede estar confiado de que
/etc/fstabestá configurado
correctamente para montar automáticamente el nuevo almacenamiento cada vez
que el sistema arranca (aunque si se puede permitir un reinicio rápido, no hace
daño — simplemente para estar seguros).
5.9.6.2. Eliminar Almacenamiento
El proceso de eliminar almacenamiento desde un sistema Red Hat Enterprise
Linux es relativamente directo. He aquí los pasos específicos para Red Hat
Enterprise Linux:
Elimine las particiones de disco desde
/etc/fstab Desmonte las particiones activas del disco
Borre los contenidos de la unidad de disco
Las secciones siguientes cubren estos tópicos en más detalles.
Usando el editor de texto de su preferencia, elimine la(s) línea(s)
correspondiente(s) a la(s) partición(es) de disco desde el archivo
/etc/fstab.
Puede identificar las líneas correctas por alguno de los métodos siguientes:
Haciendo corresponder los puntos de montaje con los directorios en la
segunda columna de
/etc/fstab
Haciendo corresponder el nombre del archivo de dispositivo con el nombre
de archivo en la primera columna de
/etc/fstabSugerencia
Asegúrese de ver líneas en
/etc/fstabque identifican particiones swap en
la unidad de disco a eliminar; se pueden dejar pasar por accidente.
5.9.6.2.2. Terminar el acceso con umount
Luego, se deben terminar todos los accesos. Para particiones con sistemas de
archivos activos en ellas, esto se hace con el comando
umount. Si una partición
swap existe en el disco, se debe desactivar con el comando
swapoffo se debe
reiniciar el sistema.
Desmontar las particiones con el comando
umountrequiere que usted especifique
el nombre de archivo de dispositivo, o el punto de montaje.
umount /dev/hda2 umount /home
Solamente se puede desmontar una partición si esta no se encuentra en uso. Si la
partición no se puede desmontar mientras se encuentra en el nivel de ejecución
normal, arranque en modo de rescate y elimine la entrada de la partición
de
/etc/fstab.
Cuando utilice
swapoffpara desactivar el swapping en una partición, debe
especificar el nombre de archivo de dispositivo representando la partición swap:
swapoff /dev/hda4
Si no puede desactivar el swapping usando
swapoff, arranque en modo de rescate
y elimine la entrada de la partición desde
/etc/fstab.
Borrar los contenidos desde una unidad de disco bajo Red Hat Enterprise Linux es
un procedimiento directo.
Después de desmontar todas las particiones del disco, ejecute el comando
siguiente (conectado como root):
badblocks -ws <device-name>
Donde
<device-name>representa el nombre del archivo de la unidad de disco que
desea borrar, excluyendo el número de la partición. Por ejemplo,
/dev/hdbpara la
segunda unidad ATA.
Se muestra la salida siguiente mientras se ejecuta
badblocks:
Writing pattern 0xaaaaaaaa: done Reading and comparing: done Writing pattern 0x55555555: done Reading and comparing: done Writing pattern 0xffffffff: done Reading and comparing: done Writing pattern 0x00000000: done Reading and comparing: done
Tenga en mente que
badblocksen realidad está escribiendo cuatro patrones de
datos diferentes a cada bloque en la unidad de disco. Para las unidades grandes,
este proceso puede tomar un largo tiempo — a menudo varias horas.
Importante
Muchas compañías (y agencias del gobierno) tienen métodos específicos
de borrar datos desde sus unidades de disco y otras medias de
almacenamiento.
Siempre
debería asegurarse de que entiende y sigue
estos requerimientos; en muchos casos hay consecuencias legales si no
las sigue. El ejemplo de arriba no se debería de considerar el método
perfecto para limpiar una unidad de disco.
No obstante, es mucho más efectivo que utilizar el comando
rm. Esto se
debe a que cuando usted elimina un archivo usando
rmsolamente marca el
archivo como borrado —
no
elimina los contenidos del archivo.
5.9.7. Implementación de Cuotas de Disco
Red Hat Enterprise Linux es capaz de llevar un seguimiento del espacio en disco
en una base de por usuario y por grupo a través del uso de cuotas. Las secciones
siguientes proporcionan una vista general de las funcionalidades presentes en las
cuotas de disco bajo Red Hat Enterprise Linux.
5.9.7.1. Antecedentes de las Cuotas de Discos
Las cuotas de disco bajo Red Hat Enterprise Linux tiene las siguientes
características:
Implementación por sistemas de archivos
Contabilidad de espacio por usuario
Contabilidad de espacio por grupo
Seguimiento del uso de bloques de disco
Seguimiento de uso de inodes
Límites rígidos
Límites suaves
Períodos de gracia
Las secciones siguientes describen cada característica con más detalles.
5.9.7.1.1. Implementación por sistema de archivo
Las cuotas de disco bajo Red Hat Enterprise Linux se pueden usar en una base
por sistema de archivos. En otras palabras, las cuotas se pueden habilitar o
inhabilitar para cada sistema de archivos individualmente.
Esto proporciona una gran flexibilidad para el administrador del sistema. Por
ejemplo, si el directorio
/home/está en su propio sistema de archivos, se pueden
activar las cuotas allí, haciendo cumplir un uso equitativo del espacio en disco
entre todos los usuarios. Sin embargo, el sistema de archivos de root se podría
dejar sin cuotas, eliminando la complejidad de mantener cuotas en un sistema de
archivos donde solamente reside el sistema operativo.
5.9.7.1.2. Contabilidad del espacio por usuario
Las cuotas pueden realizar la contabilidad del espacio por usuarios. Esto significa
que se puede hacer un seguimiento del uso de espacio por usuario individual.
También significa que cualquier limitación en uso (lo que se discute en las
secciones siguientes) se hacen igualmente basada en usuarios.
El tener la posibilidad de seguir de cerca el uso del espacio para cada usuario
individual, permite a un administrador de sistemas asignar límites diferentes a
diferentes usuarios, de acuerdo a sus responsabilidades y necesidades de
almacenamiento.
Las cuotas de disco también pueden realizar seguimiento del uso de disco por
grupos. Esto es ideal para aquellas organizaciones que utilizan grupos como
formas de combinar usuarios en un solo recurso global al proyecto.
Mediante el establecimiento de cuotas globales a grupos, el administrador del
sistema puede manejar más de cerca la utilización del almacenamiento al darle a
los usuarios individuales solamente la cuota de disco que requieren para su uso
personal, a la vez que se les proporcionan cuotas más grandes para proyectos
con múltiples usuarios. Esto es una gran ventaja para aquellas organizaciones que
usan un mecanismo de "cobranzas" para asignar costos de centro de datos para
aquellos departamentos y equipos que utilicen los recursos del centro de datos.
5.9.7.1.4. Seguimiento del uso de bloques de disco
Las cuotas de disco mantienen estadísticas del uso del bloques de disco. Debido a
que todos los datos en un sistema de archivos se almacenan en bloques, las
cuotas son capaces de directamente correlacionar los archivos creados y borrados
en sistema de archivos con la cantidad de almacenamiento que esos archivos
utilizan.
5.9.7.1.5. Seguimiento del uso de inodes
Además de seguir el uso por bloque, las cuotas también permiten hacer
seguimiento por inodes. Bajo Red Hat Enterprise Linux, los inodes son utilizados
para almacenar varias partes del sistema de archivos, pero más importante aún,
los inodes guardan información para cada archivo. Por lo tanto, al controlar el uso
de inodes, es posible controlar la creación de nuevos archivos.
5.9.7.1.6. Límites rígidos
Un límite rígido es el número máximo absoluto de bloques de disco (o inodes) que
un usuario (o un grupo) puede temporalmente utilizar. Cualquier intento de utilizar
un sólo bloque o inode adicional, fallará.
5.9.7.1.7. Límites suaves
Un límite suave es el número máximo de bloque (o inodes) que un usuario (o un
grupo) puede utilizar permanentemente.
El límite suave se configura por debajo del límite rígido. Esto permite a los
usuarios que se excedan temporalmente de su límite suave, permitiendoles
terminar lo que sea que estaban realizando y dándoles algún tiempo para revisar
sus archivos y poner en orden su uso del espacio por debajo del límite suave.
5.9.7.1.8. Períodos de gracia
Como se estableció anteriormente, cualquier uso del disco más allá del límite
suave es temporal. Es el período de gracia el que determina el largo del tiempo
que un usuario (o grupo) puede extender su uso más allá del límite suave y hacia
el límite rígido.
Si un usuario continúa usando más de su límite suave y el período de gracia
expira, no se le permitirá más uso adicional de disco hasta que el usuario (o el
grupo) reduzca su uso a un punto por debajo del límite suave.
El período de gracia se puede expresar en segundos, minutos, horas, días,
semanas o meses, dándole al administrador del sistema una gran libertad para
determinar cuánto tiempo le dará a sus usuarios para poner sus cosas en orden.
5.9.7.2. Activando Cuotas de Disco
Nota
Las secciones siguientes suministran una breve descripción general de los
pasos necesarios para habilitar las cuotas de disco bajo Red Hat Enterprise
Linux. Para información en más detalles sobre esto, lea el capítulo sobre
cuotas de discos en el
Manual de administración del sistema de Red
Hat Enterprise Linux
.
Para utilizar cuotas de disco, primero debe activarlas. Este proceso implica varios
pasos:
1.
Modificar
/etc/fstab2.
Remontar el(los) sistema(s) de archivo(s)
3.
Ejecutar
quotacheck4.
Asignar cuotas
El archivo
/etc/fstabcontrola el montaje de sistemas de archivos bajo Red Hat
Enterprise Linux. Debido a que las cuotas de discos se implementan en una base
de por archivo, hay dos opciones —
usrquotay
grpquota— que se deben añadir a
ese archivo para activar las cuotas de discos.
La opción
usrquotaactiva las cuotas basadas en disco, mientras que la
opción
grpquotaactiva las cuotas basadas en grupos. Se puede activar una o
ambas opciones colocándolas en el campo de opciones para el sistema de
archivos deseado.
Se debe entonces desmontar el sistema de archivos afectado y volver a montar
para que las opciones referentes a las cuotas surtan efecto.
Luego, se utiliza el comando
quotacheckpara crear los archivos de cuotas de
disco y para reunir la información referente al uso actual de los archivos ya
existentes. Los archivos de cuota de disco
(llamados
aquota.usery
aquota.grouppara las cuotas basadas en usuario y
grupos) contienen la información relacionada a cuotas necesaria y residen en el
directorio raíz del sistema.
Para asignar cuotas de disco, se utiliza el comando
edquota.
Este programa de utilidades utiliza un editor de texto para mostrar la información
de cuotas para el usuario o grupo especificado como parte del comando
edquota.
He aquí un ejemplo:
Disk quotas for user matt (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/md3 6618000 0 0 17397 0 0
Esto muestra que el usuario matt actualmente está utilizando más de 6GB de
espacio en disco y más de 17.000 inodes. No se ha asignado ninguna cuota (soft
o hard) para los bloques o inodes, lo que significa que no existe un límite en el
espacio en disco que este usuario puede utilizar actualmente.
Utilizando el editor de texto mostrando la información de cuotas, el administrador
del sistema puede modificar los límites rígidos y suaves como lo desee:
Disk quotas for user matt (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/md3 6618000 6900000 7000000 17397 0 0
En este ejemplo, se le ha asignado al usuario matt un límite suave de 6.9GB y un
límite rígido de 7GB. No se establecen límites suaves o rígidos para inodes de
este usuario.
Sugerencia
El programa
edquotatambién se puede utilizar para establecer un período
de gracia por archivo usando la opción
-t.
Realmente es poco lo que se tiene que hacer para manejar las cuotas de disco
bajo Red Hat Enterprise Linux. Esencialmente lo que se requiere hacer es:
Generar informes de uso del disco a intervalos regulares (y hacer un
seguimiento de los usuarios que parecen tener problemas con manejar
efectivamente su espacio de disco asignado)
Asegurarse de que las cuotas de discos permanecen exactas
La creación de un informe sobre el uso del disco implica la ejecución del programa
de utilidades
repquota. Usando el programa
repquota /homeproduce la salida
siguiente:
*** Report for user quotas on device /dev/md3 Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace --- root -- 32836 0 0 4 0 0 matt -- 6618000 6900000 7000000 17397 0 0
Se puede encontrar más información sobre
repquotaen el
Manual de
administración del sistema de Red Hat Enterprise Linux
, en el capítulo sobre
cuotas de disco.
Cada vez que se desmonta un sistema de archivo de forma abrupta (debido a una
falla del sistema, por ejemplo), es necesario ejecutar
quotacheck. Sin embargo,
muchos administradores de sistemas recomiendan
ejecutar
quotacheckregularmente, aún si el sistema no falla.
El proceso es similar al uso inicial de
quotacheckcuando se activan cuotas de
disco.
He aquí un ejemplo del comando
quotacheck:
quotacheck -avug
La forma más fácil de ejecutar
quotacheckde forma regular es usando
cron. La
mayoría de los administradores de sistemas ejecutan
quotacheckuna vez a la
semana, sin embargo, pueden haber razones válidas para seleccionar un intervalo
más largo o más corto, dependiendo de sus condiciones específicas.
5.9.8. Creación de Formaciones RAID
Además de soportar las soluciones de hardware RAID, Red Hat Enterprise Linux
soporta también software RAID. Hay dos formas de crear software RAID:
Después de instalar Red Hat Enterprise Linux
Las secciones siguientes revisan estos dos métodos.
5.9.8.1. Mientras se instala Red Hat Enterprise Linux
Durante el proceso normal de instalación de Red Hat Enterprise Linux, se pueden
crear formaciones RAID. Esto se hace durante la fase de particionamiento de la
instalación.
Para comenzar, debe particionar manualmente sus discos duros usando Disk
Druid. Primero debe crear una nueva partición del tipo "software RAID." Luego,
seleccione las unidades de disco que desea que formen parte de la formación
RAID en el campo Unidades admisibles. Continue seleccionando el tamaño
deseado y si desea que la partición sea primaria.
Una vez creadas todas las particiones requeridas por la formación(es) RAID que
desea crear, debe pulsar el botón
RAIDpara realmente crear las formaciones.
Luego se le presentará una caja de diálogo donde puede seleccionar el punto de
montaje de la formación, el tipo de sistema de archivos, el nombre del dispositivo
RAID, nivel RAID y las particiones de "software RAID" en las que se basa la
formación.
Una vez creados las formaciones deseadas, el proceso de instalación continúa
como de costumbre.
Sugerencia
Para más información sobre la creación de formaciones RAID durante el
proceso de instalación de Red Hat Enterprise Linux, consulte el
Manual de
administración del sistema de Red Hat Enterprise Linux
.
5.9.8.2. Después de instalar Red Hat Enterprise Linux
La creación de una formación RAID después de que Red Hat Enterprise Linux ha
sido instalado es un poco más compleja. Como con la adición de cualquier tipo de
almacenamiento, primero se debe instalar y configurar el hardware necesario.
El particionamiento es un poco diferente para RAID que con las unidades de
discos únicas. En vez de seleccionar el tipo de partición como "Linux" (tipo 83) o
"Linux swap" (tipo 82), todas las particiones que son parte de una formación RAID
se deben configurar a "Linux raid auto" (tipo fd).
Luego, es necesario crear el archivo
/etc/raidtab. Este archivo es responsable
de la configuración correcta de todas las formaciones RAID en su sistema. El
formato del archivo (el cual se documenta en la página man de
raidtab(5)) es
relativamente fácil de entender. He aquí un ejemplo de una
entrada
/etc/raidtabpara una formación RAID 1.
raiddev /dev/md0 raid-level 1 nr-raid-disks 2 chunk-size 64k persistent-superblock 1 nr-spare-disks 0 device /dev/hda2 raid-disk 0 device /dev/hdc2 raid-disk 1
Algunas de las secciones más notables en esta entrada son:
raiddev
— Muestra el nombre del archivo del dispositivo para la formación
RAID
[2]
raid-level
— Define el nivel de RAID utilizado por esta formación
nr-raid-disks
— Indica cuántas particiones de disco físicas seran parte de
la formación
nr-spare-disks
— El software RAID bajo Red Hat Enterprise Linux permite
la definición de uno o más particiones de repuesto; estas particiones
pueden automáticamente tomar el lugar de un disco que no esté
funcionando bien
device
,
raid-disk— Juntos definen las particiones de disco físicas que
conforman la formación RAID
Luego, es necesario crear la formación RAID. Esto se logra con el
programa
mkraid. Usando nuestro archivo de ejemplo
/etc/raidtab, crearemos la
formación RAID
/dev/md0con el comando siguiente:
mkraid /dev/md0
La formación RAID
/dev/md0ahora está lista para ser formateada y montada. El
proceso en este punto no es diferente a formatear y montar un disco único.
5.9.9. Administración día a día de las formaciones RAID
Es poco lo que hay que hacer para mantener la formación RAID operativa.
Siempre y cuando no surjan problemas de hardware, la formación debería
funcionar como si se tratase de una sola unidad física de discos. Sin embargo, de
la misma forma que un administrador de sistemas debería verificar periódicamente
el estado de todos los discos duros en el sistema, también se debería verificar el
estatus de las las formaciones RAID.
5.9.9.1. Uso de
/proc/mdstatpara verificar el estado de la formación
RAID
El archivo
/proc/mdstates la forma más fácil de verificar el estado de todas las
formaciones RAID en un sistema particular. He aquí una muestra
mdstat(vista con
el comando
cat /proc/mdstat):
Personalities : [raid1] read_ahead 1024 sectors
md1 : active raid1 hda3[0] hdc3[1] 522048 blocks [2/2] [UU]
md0 : active raid1 hda2[0] hdc2[1] 4192896 blocks [2/2] [UU]
md2 : active raid1 hda1[0] hdc1[1] 128384 blocks [2/2] [UU]
unused devices: <none>
En este sistema, hay tres formaciones RAID (todas RAID 1). Cada formación RAID
tiene su propia sección en
/proc/mdstaty contiene la información siguiente:
El nombre de dispositivo de la formación RAID (sin incluir la parte
/dev/)
El estatus de la formación RAID
El nivel RAID de la formación
Las particiones físicas que actualmente conforman la formación (seguido
por el número de unidad de la partición)
El tamaño de la formación
El número de dispositivos configurados contra el número de dispositivos
operativos en la formación
El estado de cada dispositivo configurado en la formación (
Ulo que significa
que la formación está OK y
_indicando que el dispositivo ha fallado)
5.9.9.2. Reconstrucción de una formación RAID usando
raidhotaddSi
/proc/mdstatmuestra que existe un problema con una de las formaciones
RAID, se debería utilizar el programa utilitario
raidhotaddpara reconstruir la
formación. He aquí los pasos que se necesitan seguir:
2.
Corrija el problema que causó la falla (probablemente reemplazando la
unidad)
3.
Particione la nueva unidad para que así las nuevas particiones en ella
sean
idénticas
a aquellas en la(s) otra(s) unidad(es) en la formación
4.
Ejecute el comando siguiente
raidhotadd <raid-device> <disk-partition>
5.
Monitorice
/proc/mdstatpara ver que se lleve a cabo la reconstrucción
Sugerencia
He aquí un comando que se puede utilizar para ver que se ejecute la
reconstrucción:
watch -n1 cat /proc/mdstat
Este comando muestra los contenidos de
/proc/mdstat, actualizándolo
cada segundo.
5.9.10. Administración de Volúmenes Lógicos
Red Hat Enterprise Linux incluye el soporte para LVM. Se puede configurar LVM
mientras se está instalando Red Hat Enterprise Linux, o también se puede
configurar después de terminar la instalación. LVM bajo Red Hat Enterprise Linux
soporta la agrupación del almacenamiento físico, la redimensión de los volúmenes
lógicos y la migración de datos fuera de un volumen físico específico.
Para más información sobre LVM, consulte el
Manual de administración del
sistema de Red Hat Enterprise Linux
.
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1-storage-rhlspec.html
RAID-1
Los servidores que poseen discos duros en RAID-1 tienen una gran responsabilidad a la hora de
fallos en los discos, ya sea fallo fisico ó logico.
El RAID-1 basicamente realiza un espejo de un disco y lo sincroniza con otro disco, de esa forma
cuando nos falla el primer disco, ejemplo sda, comienza a funcionar el segundo disco sdb.
Consejo: Siempre debemos verificar que los discos estén sincronizados en todos los dispositivos,
con la siguiente linea de comandos podemos verificarlo:
cat /proc/mdstat
debemos fijarnos en que debe haber lo siguiente [UU], el cual indica que esta ok, si vemos otro
simbolo debemos verificar los dispositivos RAID con la opcion —detail, de la siguiente forma
mdadm —detail /dev/md1
donde mdadm es el comando de los arreglos RAID, —detail (doble guion) es la opcion y /dev/md1
se refiere al dispositivo RAID md1
el estado de ambos debe ser active sync.
http://www.dch.cl/hostingdch/category/tecnologia/page/2/
IDENTIFICAR TIPOS DE RAID
Posted on August 21, 2010, 3:53 pm, by Esteban Borges, under
SysAdmin
Tips
.
Si estás en un servidor y necesitas saber si está usando
algún RAID y qué tipo en particular, existen un comando
que te facilitará mucho la vida, se trata de mdadm, la
forma más facil de determinarlo es añadiendo la opción
–
detail –scan, ejemplo:
[root@ns3334.hosting.net:~]mdadm --detail --scan
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=0.90
UUID=88241436:f6e1a912:a9b41e93:3723d918
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90
UUID=507f2cea:093afb15:7b97fd38:bdcf4cc1
Otra forma de hacerlo es a través de cat /proc/mdstat:
[root@ns3334.hosting.net:~]cat /proc/mdstatPersonalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdb1[1] sda1[0] 20482752 blocks [2/2] [UU]
md2 : active raid1 sdb2[1] sda2[0] 1444130944 blocks [2/2] [UU]
unused devices:
[root@ns3334.hosting.net:~]
En informática, el acrónimo RAID (originalmente del inglés Redundant Array of Inexpensive Disks, «conjunto redundante de discos baratos», en la actualidad también de Redundant Array of
Independent Disks, «conjunto redundante de discos independientes») hace referencia a un sistema de almacenamiento que usa múltiples discos duros entre los que distribuye o replica los datos. Dependiendo de su configuración (a la que suele llamarse «nivel»), los beneficios de un RAID respecto a un único disco son uno o varios de los siguientes:
Mayor integridad
Mayor tolerancia a fallos
Mayor throughput rendimiento
Mayor capacidad.
En sus implementaciones originales, su ventaja clave era la habilidad de combinar varios
dispositivos de bajo coste y tecnología más antigua en un conjunto que ofrecía mayor capacidad, fiabilidad, velocidad o una combinación de éstas que un solo dispositivo de última generación y coste más alto.
En el nivel más simple, un RAID combina varios discos duros en una sola unidad lógica. Así, en lugar de ver varios discos duros diferentes, el sistema operativo ve uno solo. Los RAID suelen usarse en servidores y normalmente (aunque no es necesario) se implementan con unidades de disco de la misma capacidad. Debido al decremento en el precio de los discos duros y la mayor disponibilidad de las opciones RAID incluidas en los chipsets de las placas base, los RAID se encuentran también como opción en los ordenadores personales más avanzados. Esto es especialmente frecuente en los computadores dedicados a tareas intensivas de almacenamiento, como edición de audio y vídeo.
La especificación RAID original sugería cierto número de «niveles RAID» o combinaciones
diferentes de discos. Cada una tenía ventajas y desventajas teóricas. Con el paso de los años, han aparecido diferentes implementaciones del concepto RAID. La mayoría difieren sustancialmente de los niveles RAID idealizados originalmente, pero se ha conservado la costumbre de llamarlas con números. Esto puede resultar confuso, dado que una implementación RAID 5, por ejemplo, puede diferir sustancialmente de otra. Los niveles RAID 3 y RAID 4 son confundidos con frecuencia e incluso usados indistintamente.
La misma definición de RAID ha estado en disputa durante años. El uso de término «redundante» hace que muchos objeten sobre que el RAID 0 sea realmente un RAID. De igual forma, el cambio de «barato» a «independiente» confunde a muchos sobre el pretendido propósito del RAID. Incluso hay algunas implementaciones del concepto RAID que usan un solo disco. Pero en general, diremos que cualquier sistema que emplee los conceptos RAID básicos de combinar espacio físico en disco para los fines de mejorar la fiabilidad, capacidad o rendimiento es un sistema RAID.
Implementaciones RAID
#La distribución de datos en varios discos puede ser gestionada por hardware dedicado o por software. Además, existen sistemas RAID híbridos basados en software y hardware específico. Con la implementación por software, el sistema operativo gestiona los discos del conjunto a través de una controladora de disco normal (IDE/ATA, Serial ATA, SCSI, SAS o Fibre Channel).
Considerada tradicionalmente una solución más lenta, con el rendimiento de las CPUs modernas puede llegar a ser más rápida que algunas implementaciones hardware, a expensas de dejar menos tiempo de proceso al resto de tareas del sistema.
Una implementación de RAID basada en hardware requiere al menos una controladora RAID específica, ya sea como una tarjeta de expansión independiente o integrada en la placa base, que gestione la administración de los discos y efectúe los cálculos de paridad (necesarios para algunos niveles RAID). Esta opción suele ofrecer un mejor rendimiento y hace que el soporte por parte del
sistema operativo sea más sencillo (de hecho, puede ser totalmente transparente para éste). Las implementaciones basadas en hardware suelen soportar sustitución en caliente (hot swapping), permitiendo que los discos que fallen puedan reemplazarse sin necesidad de detener el sistema. En los RAID mayores, la controladora y los discos suelen montarse en una caja externa específica, que a su vez se conecta al sistema principal mediante una o varias conexiones SCSI, Fibre
Channel o iSCSI. A veces el sistema RAID es totalmente autónomo, conectándose al resto del sistema como un NAS.
Los RAID híbridos se han hecho muy populares con la introducción de controladoras RAID
hardware baratas. En realidad, el hardware es una controladora de disco normal sin características RAID, pero el sistema incorpora una aplicación de bajo nivel que permite a los usuarios construir RAID controlados por la BIOS. Será necesario usar un controlador de dispositivo específico para que el sistema operativo reconozca la controladora como un único dispositivo RAID. Estos sistemas efectúan en realidad todos los cálculos por software (es decir, los realiza la CPU), con la consiguiente pérdida de rendimiento, y típicamente están restringidos a una única controladora de disco.
Una importante característica de los sistemas RAID por hardware es que pueden incorporar un caché de escritura no volátil (con alimentación de respaldo por batería) que permite aumentar el rendimiento del conjunto de discos sin comprometer la integridad de los datos en caso de fallo del sistema. Esta característica no está obviamente disponible en los sistemas RAID por software, que suelen presentar por tanto el problema de reconstruir el conjunto de discos cuando el sistema es reiniciado tras un fallo para asegurar la integridad de los datos. Por el contrario, los sistemas basados en software son mucho más flexibles (permitiendo, por ejemplo, construir RAID de
particiones en lugar de discos completos y agrupar en un mismo RAID discos conectados en varias controladoras) y los basados en hardware añaden un punto de fallo más al sistema (la controladora RAID).
Todas las implementaciones pueden soportar el uso de uno o más discos de reserva (hot spare), unidades pre-instaladas que pueden usarse inmediatamente (y casi siempre automáticamente) tras el fallo de un disco del RAID. Esto reduce el tiempo del período de reparación al acortar el tiempo de reconstrucción del RAID.
Tipos de configuración de arreglos RAID
# Los niveles RAID más comúnmente usados son: RAID 0: Conjunto dividido
RAID 1: Conjunto en espejo
RAID 5: Conjunto dividido con paridad distribuida
RAID 0
#Un RAID 0 (también llamado conjunto dividido o volumen dividido), distribuye los datos
equitativamente entre dos o más discos sin información de paridad que proporcione redundancia. Es importante señalar que el RAID 0 no era uno de los niveles RAID originales y que no es redundante. El RAID 0 se usa normalmente para incrementar el rendimiento, aunque también puede utilizarse como forma de crear un pequeño número de grandes discos virtuales a partir de un gran número de pequeños discos físicos. Un RAID 0 puede ser creado con discos de diferentes tamaños, pero el espacio de almacenamiento añadido al conjunto estará limitado al tamaño del disco más pequeño (por ejemplo, si un disco de 300 GB se divide con uno de 100 GB, el tamaño del conjunto resultante será 200 GB). Una buena implementación de un RAID 0 dividirá las operaciones de lectura y escritura en bloques de igual tamaño y los distribuirá equitativamente
entre los dos discos. También es posible crear un RAID 0 con más de un disco, si bien la fiabilidad del conjunto será igual a la fiabilidad media de cada disco entre el número de discos del conjunto; es decir, la fiabilidad total —medida como MTTF o MTBF— es (aproximadamente) inversamente proporcional al número de discos del conjunto. Esto se debe a que el sistema de ficheros se distribuye entre todos los discos sin redundancia, por lo que cuando uno de ellos falla se pierde una parte muy importante de los datos.
Con un RAID 0, si todos los sectores accedidos están en el mismo disco, entonces el tiempo de búsqueda será el de dicho disco. Si los sectores a acceder están distribuidos equitativamente entre los discos, entonces el tiempo de búsqueda aparente estará entre el más rápido y el más lento de los discos del conjunto, pues todos los discos necesitan acceder a su parte de los datos antes de que la operación pueda completarse. Esto podría llevar a tiempos de búsqueda cercanos al peor escenario para un único disco, salvo si los discos giran sincronizadamente, lo que daría tiempos de búsqueda sólo ligeramente superiores al de un único disco. La velocidad de transferencia del conjunto será la suma de la de todos los discos, limitada sólo por la velocidad de la controladora RAID.
El RAID 0 es útil para configuraciones tales como servidores NFS de solo lectura en las que montar muchos discos es un proceso costoso en tiempo y la redundancia es irrelevante. Otro uso es cuando el número de discos está limitado por el sistema operativo: por ejemplo, en Microsoft Windows el número de unidades lógicas (letras) está limitado a 24, por lo que el RAID 0 es una forma de usar más discos (en Windows 2000 Professional y posteriores es posible montar particiones en directorios, de forma parecida a Unix, eliminando así la necesidad de asignar una letra a cada unidad). El RAID 0 es también una opción popular para sistemas destinados a juegos en los que se desea un buen rendimiento y la integridad no es muy importante, si bien el coste es una preocupación para la mayoría de los usuarios.
RAID 1
#Un RAID 1 crea una copia exacta (o espejo) de un conjunto de datos en dos o más discos. Esto resulta útil cuando el rendimiento en lectura es más importante que la capacidad. Un conjunto RAID 1 sólo puede ser tan grande como el más pequeño de sus discos. Un RAID 1 clásico consiste en dos discos en espejo, lo que incrementa exponencialmente la fiabilidad respecto a un solo disco; es decir, la probabilidad de fallo del conjunto es igual al producto de las probabilidades de fallo de cada uno de los discos (pues para que el conjunto falle es necesario que lo hagan todos sus discos).
Adicionalmente, dado que todos los datos están en dos o más discos, con hardware habitualmente independiente, el rendimiento de lectura se incrementa aproximadamente como múltiplo lineal del número del copias; es decir, un RAID 1 puede estar leyendo simultáneamente dos datos diferentes en dos discos diferentes, por lo que su rendimiento se duplica. Para maximizar los beneficios sobre el rendimiento del RAID 1 se recomienda el uso de controladoras de disco independientes, una para cada disco (práctica que algunos denominan splitting o duplexing).
Como en el RAID 0, el tiempo medio de lectura se reduce, ya que los sectores a buscar pueden dividirse entre los discos, bajando el tiempo de búsqueda y subiendo la tasa de transferencia, con el único límite de la velocidad soportada por la controladora RAID. Sin embargo, muchas tarjetas RAID 1 IDE antiguas leen sólo de un disco de la pareja, por lo que su rendimiento es igual al de un único disco. Algunas implementaciones RAID 1 antiguas también leen de ambos discos
simultáneamente y comparan los datos para detectar errores. La detección y corrección de errores en los discos duros modernos hacen esta práctica poco útil.
Al escribir, el conjunto se comporta como un único disco, dado que los datos deben ser escritos en todos los discos del RAID 1. Por tanto, el rendimiento no mejora.
El RAID 1 tiene muchas ventajas de administración. Por ejemplo, en algunos entornos 24/7, es posible «dividir el espejo»: marcar un disco como inactivo, hacer una copia de seguridad de dicho disco y luego «reconstruir» el espejo. Esto requiere que la aplicación de gestión del conjunto soporte la recuperación de los datos del disco en el momento de la división. Este procedimiento es menos crítico que la presencia de una característica de snapshot en algunos sistemas de ficheros, en la que se reserva algún espacio para los cambios, presentando una vista estática en un punto temporal dado del sistema de ficheros. Alternativamente, un conjunto de discos puede ser almacenado de forma parecida a como se hace con las tradicionales cintas.
RAID 5
#Un RAID 5 usa división de datos a nivel de bloques distribuyendo la información de paridad entre todos los discos miembros del conjunto. El RAID 5 ha logrado popularidad gracias a su bajo coste de redundancia. Generalmente, el RAID 5 se implementa con soporte hardware para el cálculo de la paridad.
Cada vez que un bloque de datos se escribe en un RAID 5, se genera un bloque de paridad dentro de la misma división (stripe). Un bloque se compone a menudo de muchos sectores consecutivos de disco. Una serie de bloques (un bloque de cada uno de los discos del conjunto) recibe el nombre colectivo de división (stripe). Si otro bloque, o alguna porción de un bloque, es escrita en esa misma división, el bloque de paridad (o una parte del mismo) es recalculada y vuelta a escribir. El disco utilizado por el bloque de paridad está escalonado de una división a la siguiente, de ahí el término «bloques de paridad distribuidos». Las escrituras en un RAID 5 son costosas en términos de operaciones de disco y tráfico entre los discos y la controladora.
Los bloques de paridad no se leen en las operaciones de lectura de datos, ya que esto sería una sobrecarga innecesaria y disminuiría el rendimiento. Sin embargo, los bloques de paridad se leen cuando la lectura de un sector de datos provoca un error de CRC. En este caso, el sector en la misma posición relativa dentro de cada uno de los bloques de datos restantes en la división y dentro del bloque de paridad en la división se utilizan para reconstruir el sector erróneo. El error CRC se oculta así al resto del sistema. De la misma forma, si falla un disco del conjunto, los bloques de paridad de los restantes discos son combinados matemáticamente con los bloques de datos de los restantes discos para reconstruir los datos del disco que ha fallado «al vuelo». Lo anterior se denomina a veces Modo Interino de Recuperación de Datos (Interim Data Recovery Mode). El sistema sabe que un disco ha fallado, pero sólo con el fin de que el sistema operativo pueda notificar al administrador que una unidad necesita ser reemplazada: las aplicaciones en ejecución siguen funcionando ajenas al fallo. Las lecturas y escrituras continúan normalmente en el conjunto de discos, aunque con alguna degradación de rendimiento. La diferencia entre el RAID 4 y el RAID 5 es que, en el Modo Interno de Recuperación de Datos, el RAID 5 puede ser
ligeramente más rápido, debido a que, cuando el CRC y la paridad están en el disco que falló, los cálculos no tienen que realizarse, mientras que en el RAID 4, si uno de los discos de datos falla, los cálculos tienen que ser realizados en cada acceso.
El RAID 5 requiere al menos tres unidades de disco para ser implementado. El fallo de un segundo disco provoca la pérdida completa de los datos. El número máximo de discos en un grupo de redundancia RAID 5 es teóricamente ilimitado, pero en la práctica es común limitar el número de unidades. Los inconvenientes de usar grupos de redundancia mayores son una mayor probabilidad de fallo simultáneo de dos discos, un mayor tiempo de reconstrucción y una mayor probabilidad de hallar un sector irrecuperable durante una reconstrucción. A medida que el número de discos en un conjunto RAID 5 crece, el MTBF (tiempo medio entre fallos) puede ser más bajo que el de un único disco. Esto sucede cuando la probabilidad de que falle un segundo disco en los N-1 discos
restantes de un conjunto en el que ha fallado un disco en el tiempo necesario para detectar, reemplazar y recrear dicho disco es mayor que la probabilidad de fallo de un único disco. Una
alternativa que proporciona una protección de paridad dual, permitiendo así mayor número de discos por grupo, es el RAID 6.
Las implementaciones RAID 5 presentan un rendimiento malo cuando se someten a cargas de trabajo que incluyen muchas escrituras más pequeñas que el tamaño de una división (stripe). Esto se debe a que la paridad debe ser actualizada para cada escritura, lo que exige realizar secuencias de lectura, modificación y escritura tanto para el bloque de datos como para el de paridad.
Implementaciones más complejas incluyen a menudo cachés de escritura no volátiles para reducir este problema de rendimiento.
En el caso de un fallo del sistema cuando hay escrituras activas, la paridad de una división (stripe) puede quedar en un estado inconsistente con los datos. Si esto no se detecta y repara antes de que un disco o bloque falle, pueden perderse datos debido a que se usará una paridad incorrecta para reconstruir el bloque perdido en dicha división. Esta potencial vulnerabilidad se conoce a veces como «agujero de escritura». Son comunes el uso de caché no volátiles y otras técnicas para reducir la probabilidad de ocurrencia de esta vulnerabilidad.
Instalación y Configuración de RAID
#En este manual vamos a explicar como configurar un RAID a nivel software sobre CentOS. Para ello partiremos de dos discos duros hipotéticos los cuales tendrán la siguiente disposición. RAID 1 que nos permitirá mantener los datos mas críticos en dos particiones en espejo, en el caso de fallar uno de los discos no perderíamos datos.
Instalación de paquetes
#Los paquetes necesarios para implementar un RAID en conjunción con un LVM serán los siguientes:
mdadm
Para instalarlos teclee en una terminal de BASH lo siguiente:
[BASH]# yum install mdadm
Instalación y configuración del RAID
#El principal requisito para implementar un RAID sera disponer de dos discos duros de la misma capacidad. Estos discos duros deberán tener asignadas las siguientes particiones: El disco duro numero 1 contendrá dos particiones
sda1 sera para la /
sda2 sera para la SWAP
El disco duro numero 2 deberá contener igualmente dos particiones sdb1 del mismo tamaño que sda1
sdb2 del mismo tamaño que sda2
Estas particiones pueden ser creadas con la ayuda de fdisk, comando del cual hemos hablado extensamente en capitulos anteriores. Una vez creadas las particiones solo restara asignar el identificador correspondiente a particiones tipo RAID, para hacerlo haga lo siguiente: Abra una terminal y teclee:
[BASH]# fdisk /dev/[h|s] d [a|b|c]
Donde :
h La letra 'h' hace referencia a un disco duro PATA. Eje: hd
s La letra 's' hace referencia a un disco duro SATA. Eje: sd
a La letra 'a' hace referencia al primer disco duro del equipo
b La letra 'b' hace referencia al segundo disco duro del equipo
c La letra 'c' hace referencia al tercer disco duro del equipo
En nuestro caso, contamos con un solo disco duro PATA en el equipo, por lo que ejecutaremos fdisk de la siguiente manera:
[BASH]# fdisk /dev/hdb
Una vez que la aplicación esta iniciada, se nos presenta el siguiente mensaje:
Command (m for help):
Si usted presiona la tecla 'm' se imprimirá el menú con las herramientas propias del comando fdisk. Estas herramientas son:
a Conmuta el indicador de iniciable
b Modifica la etiqueta de disco bsd
c Conmuta el indicador de compatibilidad con DOS
d Suprime una partición
l Lista los tipos de particiones conocidos
m Imprime este menú
n Añade una nueva partición
p Imprime la tabla de particiones
q Sale sin guardar los cambios
s Crea una nueva etiqueta de disco Sun
t Cambia el identificador de sistema de una partición
u Cambia las unidades de visualización/entrada
v Verifica la tabla de particiones
w Escribe la tabla en el disco y sale
x Funciones adicionales (sólo para usuarios avanzados)
Como podemos notar, con la opción "m" podemos imprimir nuevamente este menú. Seleccione del menú, la opción “Cambiar el identificador de sistema de una partición”, para ello teclee la letra 't' , esto nos mostrara la distribución actual de nuestras particiones en nuestro disco duro. Fdisk, nos preguntara a que partición queremos cambiar el ID, estas particiones serán:
sdb1
sdb2
Como no conocemos el código hexadecimal para las particiones RAID lanzamos la ayuda para poder visualizar todos los códigos hexadecimales disponibles, para ello teclee la letra 'L' y localiza el código hexadecimal para las particiones RAID. El código hexadecimal para las particiones RAID es el siguiente:
fd Linux raid auto
Una vez localizado el código hexadecimal, solo restara teclearlo. Para guardar los cambios al disco teclee la letra 'w' El siguiente paso sera asignar y crear el RAID. En una terminal de BASH teclee lo siguiente:
[BASH]# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 [BASH]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2 }}}
En donde:
create /dev/md0 Sera el nombre del RAID que estamos creando
level=1 Le indicamos que tipo de RAID estamos creando, en este caso RAID1 raid-disks=2 El numero de dispositivos que forman el RAID
/dev/sda [] /dev/sdb[] La lista de dispositivos que forma parte del RAID
Estos RAID los crearemos en modo degradado, de momento solo añadiremos al RAID los discos que hemos formateado, por lo que las entradas que corresponden al disco /dev/sda las dejamos en missing El siguiente paso sera darles formato a las particiones RAID, para ello teclee lo siguiente (Recuerde que esta acción debe hacerse en nivel de ejecución 1).
[BASH]# mkfs.ext3 /dev/md0 [BASH]# mkswap /dev/md1}}}
Una vez hecho esto tenemos que modificar el fichero
/etc/mdadm.conf para ello ejecutaremos
[BASH]# mdadm --examine --scan
Que nos devuelve información de nuestro RAID. De dicha información se deberá agregar las siguientes lineas al final del fichero mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 UUI... ARRAY /dev/md1 level=raid1 num-devices=2 UUI...}}}
Montaje del RAID
#La siguiente acción sera crear los puntos de montaje en donde serán alojadas nuestras particiones RAID. Para ello crearemos dos carpetas dentro de la ruta /mnt como se muestra a continuación.
[BASH]# mkdir /mnt/md0
[BASH]# mkdir /mnt/md1}}} Y luego de crearlas monte sobre ellas las particiones RAID creadas anteriormente
[BASH]# mount /dev/md0 /mnt/md0
[BASH]# mount /dev/md0 /mnt/md1}}} Ahora modificaremos el archivo
/etc/fstab
para que nos monte las particiones RAID como RAIZ y SWAP , para ello deberá sustituir las siguientes lineas:
/dev/sda1 / ext3 defaults,errors=remount-ro 0 1 /dev/sda2 none swap sw 0 0}}} Por estas:
/dev/md0 / ext3 defaults,errors=remount-ro 0 1 /dev/md1 none swap sw 0 0}}} También se debe modificar el fichero
/etc/mtab
hacemos lo mismo, sustituimos dentro del fichero /dev/sda1 por /dev/md0
Modificando el boteo de Linux
#Ahora editaremos el menú del grub para que arranque el sistema operativo desde la partición RAID que hemos creado, para ello abra el fichero:
Y duplica las lineas que hacen referencia a la partición en donde se encuentra los ficheros de boteo de linux, en nuestro caso debe ser algo similar a esto:
title Centos 5.3, kernel 2.6.24-17-generic
root (hd0,0) kernel /boot/vmlinuz-2.6.24-17-generic root=/dev/sda1 ro quiet splash initrd /boot/initrd.img-2.6.24-17-generic quiet}}}
Y modificamos el primero para que apunte a /dev/md0 en el disco (hd1,0). El segundo lo dejamos apuntando a nuestra partición raíz actual por si no arranca correctamente desde /dev/md0. Al final nuestro fichero deberá quedar de la siguiente manera:
title Centos 5.3, kernel 2.6.24-17-generic
root (hd1,0) kernel /boot/vmlinuz-2.6.24-17-generic root=/dev/md0 ro quiet splash initrd /boot/initrd.img-2.6.24-17-generic quiet
title Centos 5.3, kernel 2.6.24-17-generic root (hd0,0) kernel /boot/vmlinuz-2.6.24-17-generic root=/dev/sda1 ro quiet splash initrd /boot/initrd.img-2.6.24-17-generic quiet}}}
A continuación actualizaremos el ramdisk Ramdisk es una porción de memoria ram la cual se utiliza como si fuera un disco duro. Los discos RAM tienen tamaños establecidos que son como una partición de disco. Los tiempos de acceso para un disco RAM son mucho mas rápidos que en un disco físico Sin embargo, cualquier información guardad en un ram disk se pierde cuando el sistema se apaga o reinicia. Pero son un buen lugar para almacenamiento temporal de datos. Desde la versión 2.4 del kernel de linux se puede encontrar soporte para ramdisks, por lo cual se puede encontrar en cualquier distro moderna de linux Para hacer la actualización teclearemos lo siguiente en consola:
[BASH]# update-initramfs -u
Ya solo faltaría copiar todos los datos de / a la nueva partición desde la que va a arrancar ahora, para hacerlo teclee lo siguiente:
[BASH]# cp -dpRx / /mnt/md0 Donde:
dp Preserva los los atributos de los ficheros (enlaces simbólicos,permisos, modos de lectura) R Copia recursivamente el contenido de las carpetas
x Le indica que debe adaptarse al sistema de ficheros nuevo
Ademas de todos los pasos antes descritos debemos activar el grub en los dos discos duros, para ello teclee lo siguiente en una terminal de BASH:
[BASH]# grub
grub> root (hd1,0) grub> setup (hd1)
grub> root (hd0,0) grub> setup (hd0) exit}}}
Los siguiente sera reiniciar el equipo el cual ya tiene que arrancar desde el RAID que como recordara se encuentra funcionando en modo degradado ya que solo dispone de un disco duro. Lo podemos verificar con el siguiente comando
[BASH]# df -h
Recuerde la partición /dev/md0 debe estar montada en /. Ahora que hemos conseguido arrancar el sistema desde el segundo disco duro es hora de preparar las particiones del primer disco para añadirlo al RAID, para hacerlo se tiene que modificar el identificador de estas particiones que al
igual que lo hicimos con /dev/sdb1 y /dev/sdb2, se deberá hacer con /dev/sda1 y /dev/sda2. Luego de haber hecho el paso anterior añadiremos las particiones del disco duro 1 al RAID.
[BASH]# mdadm --add /dev/md0 /dev/sda1 [BASH]# mdadm --add /dev/md1 /dev/sda2}}}
Si compruebas ahora el fichero /proc/mdstat veras que se esta sincronizando el RAID, hay que esperar hasta que finalice:
[BASH]# more /proc/mdstat
--- Personalities : [raid1] md2 : active raid1 sda1[2] sdb1[1] 8702093 blocks [2/1] [_U] [=====>...] recovery = 37.3% (3245881/8702093) finish=2.4min
speed=67433K/sec
md1 : active raid1 sda2[0] sdb2[1] 197920 blocks [2/2] [UU]}}} Al finalizar el proceso nos debería arrojar un resultado como este:
Personalities : [raid1]
md2 : active raid1 sda1[0] sdb1[1] 8702093 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1] 197920 blocks [2/2] [UU]}}} Lo cual nos quiere decir que ya lo tenemos correctamente sincronizando Volveremos a modificar el fichero
/etc/mdadm.conf
al cual tendremos que eliminar las lineas que habíamos añadido anteriormente y sustituirlas por las que nos devuelve ahora la ejecución del siguiente comando:
[BASH]# mdadm --examine --scan
En particular las siguientes lineas:
...
ARRAY /dev/md0 level=raid1 num-devices=2 UUI... ARRAY /dev/md1 level=raid1 num-devices=2 UUI...}}}
Debemos modificar de nuevo el grub para que la entrada que apunta todavía a /dev/sda1 apunte a /dev/md0 en el disco (hd0,0). Para hacerlo abra el fichero /boot/grub/menu.lst y cambie esta linea
kernel /boot/vmlinuz-2.6.24-17-generic root=/dev/sda1 ro quiet splash por esta otra
kernel /boot/vmlinuz-2.6.24-17-generic root=/dev/md0 ro quiet splash al final deberá lucir de la siguiente manera
title Centos 5.3, kernel 2.6.24-17-generic
root (hd1,0) kernel /boot/vmlinuz-2.6.24-17-generic root=/dev/md0 ro quiet splash initrd /boot/initrd.img-2.6.24-17-generic quiet
title Centos 5.3, kernel 2.6.24-17-generic root (hd0,0) kernel /boot/vmlinuz-2.6.24-17-generic root=/dev/md0 ro quiet splash initrd /boot/initrd.img-2.6.24-17-generic quiet}}}
Con esto el sistema arrancara por defecto desde el disco hd1 y en el caso de que este disco falle deberemos indicarle manualmente que arranque desde la otra partición. Para que el sistema arranque automáticamente desde el segundo disco si falla el primero debemos añadir fallback justo debajo de default en el fichero /boot/grub/menu.lst
...
default 0 fallback 1 ...}}} O sea, que arranque por defecto de la entrada 0 (la primera del listado) y en caso de error que arranque de la entrada 1 (la segunda del listado). Finalmente volvemos a actualizar el ramdisk
[BASH]# update-initramfs -u Y por ultimo reiniciamos el equipo
Comprobación final del RAID
#Ahora el sistema debe ser capaz de arrancar desde cualquiera de los dos discos aunque falle uno de ellos, puedes hacer pruebas desconectando uno de los discos para ver si todo sigue
funcionando correctamente. Si no quieres abrir el equipo puedes simular un fallo de discos de la siguiente manera:
[BASH]# mdadm --manage /dev/md0 --fail /dev/sdb1
[BASH]# mdadm --manage /dev/md0 --remove /dev/sdb1}}} Reinicias y ahora el equipo deberá arrancar con el RAID en modo degradado.
http://www.linuxparatodos.net/web/comunidad/base-de-conocimiento/-/wiki/Base+de+Conocimiento/Arreglos+RAID;jsessionid=2FF825122B47FA4398D148D4E0AFF9D8?
_36_pageResourcePrimKey=54590
Crear y migrar LVM con varios filesystems en un
dispositivo RAID Linux
Publicado el Lunes, 30 Abril 2012 05:30 | |
Valoración del Usuario: / 0 Malo Bueno Valoración
Introducción
Administro un servidor CentOS para una pequeña empresa. El sistema fue creado
inicialmente con múltiples sistemas de ficheros en un LVM en un único disco duro SATA. Este disco se quedó sin espacio y yo quería una mayor fiabilidad, así que decidí instalar dos grandes unidades adicionales en el sistema y hacer un mirror (espejo) utilizando RAID
1. Desde que había configurado originalmente la máquina con LVM yo era capaz de hacer casi todo esto mientras el sistema estaba en producción.
Este procedimiento se basa en varias características de LVM, la cual no estoy muy bien documentado, así que decidí que sería una buena idea para escribir mi procedimiento para ayudar a los demás que están pensando en una actualización similar.
Tenga en cuenta que después de todo esto me quedé con la unidad original en la máquina como unidad de arranque, ya que no valía la pena el esfuerzo extraerla para hacer el nuevo array RAID de la unidad de arranque también. Que se puede hacer como una mayor optimización para aumentar la fiabilidad, si lo desea.
Procedimiento
Apague el sistema e instale los dos nuevas unidades SATA (este sería el trabajo con las unidades PATA, SCSI, etc, aunque los nombres de unidad pueden ser diferente).
Las nuevas unidades aparecen como sdb y sdc cuando el sistema vuelve a encenderse (la unidad original es sda).
El sistema se puede utilizar en producción a partir de ahora, aunque será lento debido a toda la actividad de disco adicional.
Usar fdisk para crear una partición de gran tamaño en cada unidad (sdb1, sdc1) y establecer el tipo de sistema de archivos a "auto raid linux" tipo fd.
o Es posible que desee crear sdb1 y sdc1 como particiones normales de Linux de 100MB (tipo 83), si piensa en el futuro para que arranque desde las unidades RAID. o En ese caso, utilice el resto de cada disco para sdb2 y sdc2 y ajustese las (siguientes)
instrucciones en consecuencia.
Para Crear un nuevo raid de las dos unidades con /sbin/mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
Compruebe el estado de la matriz RAID con /sbin/mdadm --detail /dev/md0
Tenga en cuenta que si el sistema no se ha configurado previamente con la incursión, initrd no incluirá drivers RAID y el sistema no podrá arrancar. Por lo tanto es necesario construir un nuevo initrd.
Para crear un nuevo initrd:
mv /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r).img.bak mkinitrd -v /boot/initrd-$(uname -r).img $(uname -r)
Verificar en la salida de mkinitrd para ver que se ha incluido el driver md-mirror.
Configurar /etc/mdadm.conf (no es necesario, pero es una buena idea para futuras referencias):
echo "DEVICE /dev/sdb1 /dev/sdc1" >/etc/mdadm.conf
mdadm --detail --scan >>/etc/mdadm.conf