Montaje y desmontaje del sistema de ficheros

Download Report

Transcript Montaje y desmontaje del sistema de ficheros

Tema 5.
Sistemas de ficheros y discos
Msc. Rina Arauz
Índice
1. Introducción
2. Montaje y desmontaje de sistemas de ficheros
3. Comprobación del sistema de ficheros
4. Creación de los sistemas de ficheros
5. Cuotas
6. Administración de volúmenes dinámicos
Nombres de Discos
En linux se usa /dev/sdX o /dev/hdX como el nombre de disco:
‘sdX' es el nombre de dispositivo de linux para discos SCSI.
'hdX' es el nombre de dispositivo de linux para discos IDE.
En el caso de los discos duros IDE:
/dev/hda disco duro IDE maestro
/dev/hdb disco duro IDE esclavo
En el caso de los discos duros SCSI:
/dev/sda primer disco duro
/dev/sdb segundo disco duro
/dev/sdc tercer disco duro
Las particiones en un disco duro se representa con un número al final del nombre del
archivo. En GNU/Linux se pueden crear hasta 4 particiones primarias, o tres primarias y una
extendida. Las particiones primarias se enumeran del 1 al 4, para la extendida siempre que
existe, se emplea el 4, las particiones lógicas contenidas dentro de la extendida comienzan
en 5.
Ejemplo 1:
Si en un disco duro se tiene lo siguiente:
/dev/hda1
/dev/hda5
Se interpreta: Un disco duro en el primer IDE, como maestro, con dos particiones, una primaria
(/dev/hda1), y una extendida, en la extendida tiene una lógica (/dev/hda5).
Ejemplo 2:
Si presenta lo siguiente:
/dev/hda1
/dev/hda2
/dev/hda3
/dev/hda4
Se interpreta: Un disco duro en el primer IDE, como maestro, únicamente con cuatro particiones
primarias.
Ejemplo 3:
Si presenta lo siguiente:
/dev/hda1
/dev/hda2
/dev/hda5
/dev/hda6
Se interpreta: Un disco duro en el primer IDE, como maestro con cuatro particiones, dos primarias, y
una extendida que contiene dos particiones lógicas.
Sistemas de Ficheros Ext2, ext3, ext4:
Ext2: es un sistema de archivos para el kernel Linux. El SF tiene una tabla donde se almacenan los i-nodos.
Un i-nodo almacena información del archivo (ruta o path, tamaño, ubicación física). Estos bloques son de
tamaño especificable cuando se crea el sistema de archivos, desde los 512 bytes hasta los 4 Kb, lo cual
asegura un buen aprovechamiento del espacio libre con archivos pequeños.
Ext3: La principal diferencia con ext2 es el registro por diario. Es un sistema de archivos con registro por
diario (journaling, registro diario en el que se almacena la información necesaria para restablecer los datos
del sistema afectados por un cambio, en caso de que falle. Con el sistema de archivos ext3 se obtiene una
gran reducción del tiempo necesario para recuperar un sistema de ficheros después de una caída, es una
especie de bitácora donde se describen los cambios del disco para que cualquier cambio sea más seguro).
Es el sistema de archivo más usado en distribuciones Linux.
Ext4: Se caracteriza por soportar tamaños de archivos muy grandes. Puede tener hasta 64.000
subdirectorios (EXT3 podía con la mitad).Añade soporte para la desfragmentación, que mejorará el
rendimiento global. Soporta undelete (desborrado) herramienta para recuperar archivos que han sido
borrados de forma accidental. Comprobación de ficheros más rápida. Añade dígitos de control (checksum)
a los datos, que mejora la fiabilidad y el rendimiento.
Debido a que ext4 todavía está en una fase temprana de desarrollo, no estaría recomendado para sistemas
importantes, se considera estable y recomendado para sistemas domésticos. Algunas aplicaciones se
muestran incompatibles con ext4 pero el resto de aplicaciones mostrarán un incremento notable de
rendimiento con ext4.
Montaje y desmontaje de sistemas de ficheros
mount /dev/sdb1 /media/usb
Comprobación del sistema de ficheros
fsck verificar el sistema de archivos por errores de consistencia y los repara.
e2fsck verificar un sistema de archivos ext2. e2fsck también soporta ext3. El comando
automáticamente guarda los bloques malos encontrados en el sistema de arhivos, de manera
que aquellas partes del disco rígido no se usen más. e2fsck debe ejecutarse sobre un
sistema de archivos desmontado. En situaciones de emergencia se un usa CD de rescate o
un Live CD, para después ejecutar el comando e2fsck sobre las particiones correspondientes.
fsck /dev/hdX (o sdX)
e2fsck /dev/hdX (o sdX)
Creación de los sistemas de ficheros
mkfs –t fs_type fs_options device
La orden mkfs formatea una partición con el sistema de archivos seleccionado en fs_type. El
campo fs_type únicamente puede tomar dos valores, ext2 o msdos.
mkfs –t ext2 –l linuxplus /dev/hdb1 (Crea un sistema de archivos ext2
en la partición con linuxplus como nombre de volumen en la partición /dev/hdb1 (está
partición debe de existir previamente)
mke2fs formatea el dispositivo y crea un dispositivo vacío compatible con Linux.
Cuotas
edquota user
RAID (Administración de volúmenes dinámicos)
mdadm --create /dev/md1 --level=l --raid-devices=2 /dev/sda1
Crear dispositivo de bloques o particiones virtuales en sistemas tipo Unix
Un dispositivo loop : Se usa para simular un dispositivo de bloques (una partición).
Es un dispositivo de bloques virtual que apunta a un fichero normal del sistema de
ficheros. Esto significa que podemos dar a un fichero la apariencia de ser un disco
duro o una partición para el resto del sistema. Estos dispositivos se nombran
/dev/loopX siendo X un dígito. El procedimiento es el siguiente:
1. crear un archivo limpio
2. crear un sistema de archivos EXT sobre el archivo limpio
3. asociar el sistema de archivos con un dispositivo loop
dd: data duplicator (duplicador de datos):
Sintaxis:
dd if=origen of=destino
origen y destino pueden ser dispositivos (lectora de CD o DVD, disco duro, diskettera, pendrive, partición,
etc.), archivo de copia de seguridad o imagen de disco, etc, pero no carpetas o subcarpetas.
Ejemplos:
dd if=/dev/sda of=/dev/sdb bs=4096 -» Duplicación disco-a-disco
dd if=/dev/zero of=/dev/sda bs=4k -» Limpia un disco duro.
dd if=/dev/sda1 of=/dev/sdb1 bs=4096 -» Duplicación de disco-a-disco de una partición.
dd if=/dev/zero of=myimage bs=1024 count=10240 -» Crea una imagen vacía del disco
if: Especifica el dispositivo de entrada o la partición (o) archivo del que se adquirirá la información
of: Especifica el dispositivo de salida o la partición (o) archivo al que se volcará la información
bs: Especifica cuántos bytes se leerán y escribirán a la vez durante el proceso de volcado
count: Especifica cuántos bloques de tamaño bs se volcarán de "if" a "of"
Creación de un disco duro virtual en linux:
# dd if=/dev/zero of=FILE bs=X count=Y
# losetup /dev/loop0 FILE
# mke2fs /dev/loop0
# mount /dev/lopp0 /mnt
Para que el sistema trate el fichero como un dispositivo de bloques y no como un fichero normal,
se utiliza la instrucción losetup que asocia el fichero que le demos al primer dispositivo loop
disponible.
Creación de una partición virtual en linux:
crear el directorio donde se va a montar la partición virtual.
# mkdir /mnt/particion1
Crear un 'archivo limpio', con un tamaño de 500MB, copiando el archivo /dev/zero en un archivo
que llamaremos /home/partición1.
# dd if=/dev/zero of=/home/particion1 bs=1M count=500
Dar formato al archivo creado.
# mke2fs /home/particion1
Hasta aquí se tiene un sistema de archivos con formato ext3, pero no podemos accesar a este
archivo como si fuera un disco duro para poder leer y escribir sobre él, por ello debemos:
Asociar nuestro nuevo sistema de archivos ext3 con un dispositivo loop
# mount -o loop=/dev/loop0 /home/particion1 /mnt/particion1
El paquete e2fsprogs (también llamado programas e2fs) es un conjunto de
utilidades para mantenimiento de los sistemas de archivos ext2, ext3 y ext4.
Debido a que estos son generalmente los sistemas de archivos por defecto
en las distribuciones Linux, comúnmente se considera al paquete e2fsprogs
software esencial.
e2fsprogs incluye:
e2fsck, un programa fsck que busca y corrige inconsistencias.
mke2fs, usado para crear sistemas de archivos ext2, ext3, y ext4.
resize2fs, que puede expandir y contraer sistemas de archivos ext2, ext3, y
ext4.
tune2fs, usado para modificar los parámetros en el sistema de archivos.
dumpe2fs, que muestra la información de bloques y superbloques.
debugfs, usado para visualizar o modificar estructuras internas del sistema
de archivos manualmente.
Introducción
Algunas tareas asociadas:
Permitir el acceso a los ficheros locales o remotos
Proteger de posibles fallos o errores ⇒ RAID, Copias de
seguridad
Controlar y proporcionar la seguridad de los datos ⇒
Propietarios y permisos de acceso
Chequear y corregir el sistema de ficheros (normalmente en tiempo de
arranque)
Instalar y configurar nuevos dispositivos de almacenamiento,
cuando sean necesarios
Montaje y desmontaje del sistema de ficheros
* En Linux hay un único sistema de ficheros lógico (o una «única
jerarquía de directorios») del que cuelgan todos los dispositivos de
almacenamiento disponibles
* Cada partición tiene su propio sistema de ficheros (con su propio
*
*
*
*
directorio raíz)
Montar un sistema de ficheros => añadir un sistema de ficheros al
sistema de ficheros lógico => sus datos están disponibles a partir del
directorio que hace de punto de montaje
Desmontar un sistema de ficheros => el sistema de ficheros deja de
estar disponible, quedando además en estado consistente
El S.O. se instala en el sistema de ficheros raíz, que siempre está
montando en el directorio “/”
Durante el proceso de arranque, primero se monta el sistema de
ficheros raíz y después el resto de S.F.
Montaje y desmontaje del sistema de ficheros
*
mount [opci] <FicheroEspecialBloque> <PtoMontaje>
*
*
*
*
*
-t tipo-sf => tipo de sistema de ficheros
-r => montaje en modo sólo lectura
-w => montaje en modo lectura/escritura
-o opciones => opciones del proceso de montaje (nosuid, exec, remount, etc.)
umount <PtoMontaje> (ó <FicheroEspecialBloque>) =>
desmontar un sistema de ficheros, si está siendo utilizado (busy), no se
podrá desmontar
* fuser => saber qué ficheros se están usando y qué procesos los
usan (f: fichero abierto, c: directorio de trabajo, e: ejecutando un fichero, etc.)
* lsof => obtener un listado de todos los ficheros abiertos
# mount -t iso9660 -r /dev/dvd /media/dvd
# cd /media/dvd
# /sbin/fuser -mv /media/dvd/
USER PID ACCESS COMMAND
/media/dvd/ pilar 1118 ..c.. bash
Montaje y desmontaje del sistema de ficheros
/etc/fstab => fichero de configuración que contiene información
sobre todos los sistemas de ficheros a montar o disponibles, y de las
zonas de intercambio a activar
Formato:
fi_especial pto_montaje tipo opciones dump_freq pass_num
fi_especial => fichero especial de bloques
pto_montaje => directorio que sirve de punto de montaje
tipo => tipo de sistema de ficheros (Ext2, Ext3, Ext4, vfat, iso9660, swap, nfs, etc.)
opciones para el proceso de montaje (separadas por “comas” y sin espacios)
dump_freq => “frecuencia del dump” para hacer una copia de seguridad de ese
SF (no se usa)
pass_num => en tiempo de arranque, en qué orden hay que chequear los SF’s
(ejecutar fsck para comprobar su estado)
• 0 => no se chequea
• 1 => se chequea el primero, sólo el SF raíz debe tener este n°
• 2, 3, 4, ... => segundo, tercero, cuarto, ..., en chequear
Montaje y desmontaje del sistema de ficheros
Posibles opciones del fichero /etc/fstab
rw ⇒ Lectura-escritura
ro ⇒ Sólo lectura
suid/nosuid ⇒ Permitido el acceso en modo SUID, o no permitido
auto/noauto ⇒ Montar automáticamente o no montar automáticamente (ni
ejecutando mount -a)
exec/noexec ⇒ Permitir la ejecución de ficheros, o no permitir
usrquota, grpquota ⇒ Cuotas de usuario y de grupo
defaults ⇒ rw, suid, dev, exec, auto, nouser, async
user, users, owner ⇒ Permitir a los usuarios montar un sistema de ficheros
(las diferencias entre ellos son las opciones que implican)
uid=500, gid=100 ⇒ Propietario y grupo propietario de los ficheros del SF
umask=137 ⇒ Máscara para aplicar los permisos a los ficheros (permisos 640)
LABEL=/
/dev/sda3
/dev/dvd
/dev/fdO
/dev/sda4
/dev/sda2
/
/windows
/media/dvd
/media/floppy
/otrolinux
swap
ext3
vf at
iso9660
vfat
ext3
swap
defaults,usrquota
defaults
noauto,owner,ro
noauto,uid=500
defaults
defaults
1
0
0
0
1
0
1
0
0
0
2
0
Montaje y desmontaje del sistema de ficheros
* En el arranque, los dispositivos a montar junto con las opciones de
montaje se cogen del fichero /etc/fstab (aquellos con opción auto)
* mount también puede coger las opciones de montaje de este fichero:
*
mount /media/dvd => Coge las opciones que faltan de/etc/fstab
*
mount -t iso9660 -r /dev/dvd /media/dvd => No las coge
Si se asigna permisos de montaje a los usuarios (opciones user, users
u owner), sólo pueden ejecutar “mount /media/dvd”. No se les
permite añadir o especificar opciones de montaje
* mount -a => montar todos los SF indicados en /etc/fstab
* /etc/mtab => información sobre los SF montados
* mount => información sobre los SF montados
*
/dev/sdal on /type ext3 (rw,usrquota)
/dev/sda3 on /dos type vfat (rw)
/dev/sda4 on /otrolinux type ext3 (rw)
/dev/dvd on /media/dvd type iso9660 (ro,nosuid,nodev,user=pilar)
Comprobación del sistema de ficheros
* En tiempo de arranque fsck o e2fsck chequea la consistencia o
estado del sistema de ficheros, detecta problemas e intenta
repararlos. Actúa sobre la estructura del SF, pero no sobre el
contenido de los ficheros
*
*
*
*
*
Bloques que pertenecen a varios ficheros
Bloques marcados como libres pero que están en uso
Bloques marcados como usados pero que están libres
Inconsistencia del n° de enlaces
Nodos-i marcados como ocupados pero libres, etc.
* Para chequear un SF siempre debe estar desmontado o montado en
modo de sólo lectura
* El SF raíz debe estar montado en modo de sólo lectura (El sf raíz no se
puede desmontar, ¿porqué?)
* Si al arrancar el proceso de chequeo encuentra problemas que «no
puede solucionar», obliga al administrador a que realice el chequeo
«a mano» ejecutando la orden fsck o e2fsck (modo monousuario)
Creación del sistema de ficheros
* Añadir un nuevo disco o SF:
* Realizar la conexión física
* Si es necesario: crear un fichero especial de dispositivo (se hace
automáticamente)
* Crear las particiones: fdisk (o parted)
* Crear sistema de ficheros: mke2fs
mke2fs -t ext2 /dev/sdb3 => sistema de ficheros Ext2
mke2fs -t ext3 /dev/sdb3 => sistema de ficheros Ext3
mke2fs -t ext4 /dev/sdb3 => sistema de ficheros Ext4
* Etiquetar la partición usando e2label => asigna una etiqueta al
SF que se puede usar en el fichero /etc/fstab en el campo de
fichero_especial como LABEL=etiqueta
* Crear el directorio que hará de punto de montaje
* Montar el nuevo sistema de ficheros
* Actualizar /etc/fstab con las opciones de montaje necesarias
Creación del sistema de ficheros
* Ext3 tiene el mismo formato que Ext2 pero además es transaccional
* Añade un registro o journal que permite recuperar rápidamente la consistencia
tras una caída del sistema
* El SF Ext4 tiene un formato similar a Ext3 pero además incluye:
* Extensiones para llevar un registro de los bloques que pertenecen a un fichero.
Una extensión describe un conjunto de bloques lógicos contiguos de un fichero
que también se encuentran contiguos en disco. Muy útil para ficheros grandes
* Reserva de memoria retrasada, se retrasa la reserva de bloques de disco hasta
que no se van a escribir en él => mayor número de bloques contiguos en disco
* Implementa una herramienta de desfragmentación online, e4defrag, para
evitar la fragmentación. Por supuesto, al crear los ficheros intenta evitar la
fragmentación. (La herramienta aún no está disponible)
*
Manejo de sistemas de ficheros y ficheros de mayor tamaño
Creación del sistema de ficheros
¿Qué sistema de ficheros usar?
* Ext2 => muy rápido en general, pero no tiene journaling. Se puede usar en un SF
en el que se guardarán ficheros temporales
* Ext3 => estándar de facto en Linux. Buen rendimiento en general y journaling
* Ext4 => menor uso del CPU y mayor rapidez en los procesos de lectura y
escritura que Ext3. Próximo estándar de facto en Linux
tune2fs => Conocer y ajustar parámetros de un SF Ext4/Ext3/Ext2.
Algunas opciones son:
*
*
*
*
*
*
-l dispositivo => Listar el contenido del superbloque del SF
-c max-mount-counts dispositivo => Establecer el no de montajes
máximo sin realizar un fsck
-i numero[d|m|w] dispositivo => Indicar el tiempo máximo entre dos
chequeos
-l etiqueta dispositivo => Poner una etiqueta al sistema de ficheros
-m porcentaje dispositivo => Fijar el porcentaje de bloques reservados
-r bloques => Número de bloques reservados
Creación del sistema de ficheros
tune2fs -l /dev/sdb3 ⇒ ajustar parámetros de un SF Ext4/Ext3/Ext2
tune2fs 1.41.9 (22-Aug-2009)
Filesystem volume name:
Last mounted on:
Filesystem UUID:
Filesystem magic number:
Filesystem revision #:
Filesystem features:
Default mount options:
Filesystem state:
Errors behavior:
Filesystem OS type:
Inode count:
Block count:
Reserved block count:
Free blocks:
Free inodes:
First block:
Block size:
Fragment size:
/
<not available>
Cl0b05ba-0a27-478d-82 61-5 83e6df846f6
0xEF53
1 (dynamic)
has_journal ext_attr filetype needs_recovery spé
(none)
clean
Continué
Linux
1921984
3839504
191975
2031982
1673924
0
4096
4096
tune2fs -l /dev/sdb3 ...
Blocks per group:
Fragments per group:
Inodes per group:
Inode blocks per group:
Filesystem created:
Last mount time:
Last write time:
Mount count:
Máximum mount count:
Last checked:
Check interval:
Reserved blocks uid:
Reserved blocks gid:
First inode:
Inode size:
Journal inode:
First orphan inode:
Default directory hash:
Directory Hash Seed:
Journal backup:
32768
32768
16288
509
Wed Jul 28 19:10:04 2010
Mon Feb 7 09:46:53 2011
Mon Feb 7 09:46:53 2011
1
-1
Mon Feb 7 09:46:53 2011
0 (<none>)
0 (user root)
0 (group root)
11
128
8
294777
tea
0ea56ac6-e012-461d-9536-c0408fcad32c
inode blocks
Cuotas de disco
* Las cuotas de disco permiten limitar el número de bloques y/o
ficheros (nodos-i) que un usuario puede usar en una partición
* Estos límites también se pueden establecer para grupos de usuarios
* Hay dos límites:
* Límite hard => el usuario no puede sobrepasarlo. Cuando lo
sobrepase ya no podrá usar más bloques o crear más ficheros
* Límite soft => es inferior al límite hard y se puede sobrepasar
durante cierto tiempo, pero sin llegar al límite hard. Pasado ese
tiempo es como si se hubiese superado el límite hard
* Los límites se establecen, de forma independiente, para bloques y
para nodos-i
* Periodo de gracia => tiempo durante el que se puede sobrepasar el
límite soft. Durante el mismo se le informa al usuario de que ha
superado ese límite y que debe liberar espacio o nodos-i (ficheros)
* Sólo tienen sentido en el SF donde pueden escribir los usuarios
Cuotas de disco
Pasos a realizar para activar las cuotas
1. (como root)
Para el SF al que asignan, indicarlo en /etc/fstab con la opción usrquota:
/dev/sda3 /
/dev/sda2 /home
ext3 defaults,usrquota 1 1
ext3 defaults,usrquota 1 2
2. (reiniciar… root..df -vh) Remontar la partición para que se active la opción usrquota con:
“mount –o remount /” ó “mount -o remount /home”
3. quotacheck ⇒ crea el fichero de control de cuotas, aquota.user, en el
directorio ráiz del SF al que se le asignan las cuotas: “quotacheck -nm /” crea
/aquota.user y “quotacheck -nm /home” crea /home/aquota.user
4. quotaon -a ⇒ se activan las cuotas
5. edquota username ⇒ Para cada usuario activar su cuota
Disk quotas for user pilar (uid 500):
Filesystem blocks
soft hard inodes soft hard
/dev/sda2
2608464
0
0
11431 0
0
6. edquota -t ⇒ establecer el periodo de gracia
repquota SF ⇒ estadística de las cuotas para todos los usuarios
quota username ⇒ asignación de las cuotas para un usuario
Ejemplo:
25Mb * 1024 = 25600
50MB * 1024 = 51200
Administración de volúmenes dinámicos
RAID => Arreglo redundante de discos independientes
Varias unidades de disco son vistas como una única unidad lógica
RAID nivel 0
* Expande la información en
diversos discos, que se ven
como un único SF,
consiguiendo un gran
dispositivo de
almacenamiento
* Se consigue E/S paralela en
lecturas y escrituras
* No hay redundancia de
datos
HDDD
Administración de volúmenes dinámicos
RAID nivel 1
* Se utilizan dos o más discos
duros, que forman un único
sistema de ficheros de un único
disco, (uno es copia exacta del otro)
* Son discos espejos (todos
guardan la misma información)
* SÍ hay redundancia de datos
* Las lecturas son en paralelo,
las escrituras NO
* Cuando uno de los discos falla
el sistema sigue trabajando con
el otro sin problemas
* La recuperación de un disco es
transparente al usuario
Administración de volúmenes dinámicos
* RAID nivel 5
* Mínimo 3 discos duros, de los
cuales 1 almacenará la paridad
de los otros discos, que son
usados para datos => RAID 4
* Problema: el disco con paridad
es un cuello de botella =>
paridad se reparte entre todos
los discos => RAID 5
* Se consigue un dispositivo de
almacenamiento más grande
* Sí hay redundancia de datos
* E/S paralela en lecturas y
escrituras
Administración de volúmenes dinámicos
* La herramienta mdadm permite crear o administrar un dispositivo
RAID, convertir un disco “normal” en un RAID ...
* Tiene distintos modos de funcionamiento:
* Créate y assemble para configurar y activar sistemas RAID
* Build para construir un sistema RAID sin superbloque en los dispositivos
(siguiendo el formato antiguo de RAID)
* Manage para gestionar o manipular dispositivos de un RAID
activo
* Follow o monitor que permite configurar notificaciones y
acciones en cambios de estado
* /proc/mdstat lista todos los sistemas RAID (dispositivos md)
activos con información sobre su estado
* Las particiones que formen el RAID tienen que ser de tipo fd, Linux
raid auto, de esta manera serán detectadas y activadas en el
proceso de arranque (mediante la orden dmraid)
Administración de volúmenes dinámicos
* Ejemplo de creación de un RAID-1
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sd[ac]2
* Cambiar el tipo de partición a fd(autodetección de raid en Linux) como Tipo de
Partición en lugar de 83 (Linux nativo)) de los dos dispositivos que forman el RAID.
Puede cambiar el tipo de partición utilizando la orden t en fdisk.
* Crear un SF sobre el sistema RAID: mke2fs -t ext3 /dev/md1
* Añadirlo al fichero /etc/fstab para montarlo en tiempo de arranque:
/dev/md1 /home ext3 defaults 1 2
* Ejemplo de creación de un RAID-1 con un disco que ya tiene datos:
Crear el RAID con la partición que tiene los datos:
mdadm --create /dev/md2 --forcé --level=1 --raid-devices=1 /dev/sda4
Añadir el nuevo disco al RAID como disco de repuesto (spare): mdadm
/dev/md2 -a /dev/sdc3
Activar el nuevo disco: mdadm --grow /dev/md2 -n 2
A continuación, introducirlo en /etc/fstab.
* El fichero de configuración se puede crear usando mdadm:
echo ’DEVICE /dev/sda[0-9] /dev/sdc[0-9]’ > mdadm.conf
mdadm --detail --scan >> mdadm.conf
* Información sobre el estado: mdadm –detail --scan /dev/md1
Administración de volúmenes dinámicos
* Fichero de configuración: /etc/mdadm.conf
* Este fichero es útil, simplemente, para controlar los RAID
configurados y los discos que los componen
* mdadm no necesita el fichero de configuración para funcionar
correctamente
* Normalmente, mdadm. conf se crea y actualiza después de
crear el array de discos
* Palabras clave:
device => Lista de dispositivos donde buscar los discos que forman el array
array => Información necesaria para identificar los arrays de disco actuales
• devices => Dispositivos que lo forman (separados por comas)
• level => Nivel del RAID
• uid => Identificador almacenado en el superbloque
DEVICE /dev/sda* /dev/sdc*
ARRAY /dev/mdl devices=/dev/sda2,/dev/sdc2 level=raidl
MAILADDR root
 PRACTICA :
 CREACION DE DISCOS VIRTUALES:
•
Paso 1: Hacer el archivo imagen. Empezaremos creando 4 archivos en blanco de 250Mb:
dd if=/dev/zero of=imagenDisco1.img bs=1M count=250
dd if=/dev/zero of=imagenDisco2.img bs=1M count=250
dd if=/dev/zero of=imagenDisco3.img bs=1M count=250
dd if=/dev/zero of=imagenDisco4.img bs=1M count=250
•
Paso 2: Hacer nuestro HD virtual estableciendo una correspondencia entre el dispositivo y el archivo:
#losetup –f
losetup /dev/loop0 imagenDisco1.img
losetup /dev/loop1 imagenDisco2.img
losetup /dev/loop2 imagenDisco3.img
losetup /dev/loop3 imagenDisco4.img
#losetup –d dispositivo_loop (para borrar)
•
Paso 3: Crear el sistema de ficheros en el nuevo dispositivo:
mkfs -t ext3 /dev/loop0
mkfs -t ext3 /dev/loop1
mkfs -t ext3 /dev/loop2
mkfs -t ext3 /dev/loop3
•
Paso 4: Montado de nuestro HD virtual en nuestro SF.
mkdir DIR1
mount /dev/loop0 DIR1
Listo!!!!!
~$ cd DIR1
~$ nano hola
~$ mkdir tmp
~$ ls –l
NOTA:
Si el directorio tuviese ficheros estos no aparecerán, dará la impresión de que se han borrado; en realidad no se
han borrado pero no serán accesibles hasta que no se desmonte el sistema de ficheros. Esto es así porque los
ficheros visibles a través del directorio pasan a ser los del nuevo sistema de ficheros que se ha montado sobre
el.
~$ cd ..
~$ umount DIR1
~$ cd DIR1
~$ ls -l
~$
Con lo cual el contenido del directorio no aparece porque no esta montado el sistema de archivos que lo
contiene.
PRACTICA:
CREACION DE RAID FORMADO POR DISCOS VIRTUALES:
•Desmontar los dispositivos loop, de lo contrario recibiremos un mensaje de que están ocupados.
admin@ubuntu:~$ sudo umount /dev/loop0
admin@ubuntu:~$ sudo umount /dev/loop1
•Mediante el comando mdadm procederemos a crear un sistema RAID0 que estará formado por el
arreglo loop0 y loop1.
sudo mdadm -C /dev/md1 --level=raid0 --raid-devices=2 /dev/loop0 /dev/loop1
•Para comprobar el tamaño del sistema RAID que hemos creado usaremos el comando fdisk. El
resultado del espacio total será la suma de los tamaños de los dispositivos loop0 y loop1.
admin@ubuntu:~$ sudo fdisk -l
Disk /dev/md1: 524 MB, 524156928 bytes
Para hacer uso del sistema RAID, se debe dar formato y montarlo a nuestro sistema.
admin@ubuntu:~$ sudo mkfs -t ext3 /dev/md1
admin@ubuntu:~$ mkdir MD1
admin@ubuntu:~$ sudo mount /dev/md1 MD1
admin@ubuntu:~$ sudo mkdir MD1/prueba2
admin@ubuntu:~$ ls MD1
Detalles de md1 (RAID0):
admin@ubuntu:~$ sudo mdadm --detail /dev/md1
Number Major Minor RaidDevice State
0
7
0
0 active sync /dev/loop0
1
7
1
1 active sync /dev/loop1
admin@ubuntu:~$ mdadm --query /dev/md1
/dev/md1: 499.88MiB raid0 2 devices, 0 spares. Use mdadm --detail for more detail.
Crear un sistema RAID1 compuesto por los dispositivos loop2 y loop3 cuyo de md2 (RAID1) será
el mismo que el tamaño de loop3 o loop4, debido a que uno será espejo del otro, cabe señalar
que ambos tienen el mismo tamaño.
admin@ubuntu:~$ sudo mdadm -C /dev/md2 --level=raid1 --raid-devices=2 /dev/loop2
/dev/loop3
admin@ubuntu:~$ sudo mkfs -t ext3 /dev/md2
admin@ubuntu:~$ sudo fdisk -l
Disk /dev/md1: 524 MB, 524156928 bytes
Disk /dev/md2: 262 MB, 262078464 bytes
admin@ubuntu:~$ sudo mdadm --detail /dev/md2
/dev/md2:
Number Major Minor RaidDevice State
0
7
2
0 active sync /dev/loop2
1
7
3
1 active sync /dev/loop3
admin@ubuntu:~$ mkdir MD2
admin@ubuntu:~$ sudo mount /dev/md2 MD2
admin@ubuntu:~$ sudo mkdir MD2/prueba
admin@ubuntu:~$ ls MD2
admin@ubuntu:~$ sudo mount /dev/loop0 Dir1
Simulación de Incidencias



Fallo de un dispositivo físico
– admin@ubuntu:~$ sudo mdadm --fail /dev/md2 /dev/loop2
– admin@ubuntu:~$ sudo mdadm --detail /dev/md2
/dev/md2:
Number Major Minor RaidDevice State
0
0
0
- removed
1
7
3
1 active sync /dev/loop3
2
7
2
- faulty /dev/loop2
Eliminando uno de los dispositivos loop.
– El sistema de archivos seguirá funcionando, pero mdadm indicará que hay un fallo en uno
de los dispositivos.
– admin@ubuntu:~$ sudo mdadm --remove /dev/md2 /dev/loop2
/dev/md2:
Number Major Minor RaidDevice State
0
0
0
- removed
1
7
3
1 active sync /dev/loop3
Reincorporación del dispositivo que falló.
– mdadm indicará que se esta reconstruyendo el RAID.
– admin@ubuntu:~$ sudo mdadm --add /dev/md2 /dev/loop2
detail /dev/md2
Number Major Minor RaidDevice State
0
0
0
- removed
1
7
3
1 active sync /dev/loop3
2
7
2
0 spare rebuilding /dev/loop2