380 likes | 559 Views
Tema 6. 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
E N D
Tema 6. 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 esclavoEn 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/hda5Se 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/hda4Se 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/hda6Se 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. Soportaundelete (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_typefs_optionsdevice • 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 • edquotauser • 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 virtualque 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: • crear un archivo limpio • crear un sistema de archivos EXT sobre el archivo limpio • asociar el sistema de archivos con un dispositivo loop
dd: data duplicator (duplicador de datos): Sintaxis: ddif=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: ddif=/dev/sda of=/dev/sdb bs=4096 -» Duplicación disco-a-disco ddif=/dev/zero of=/dev/sda bs=4k -» Limpia un disco duro. ddif=/dev/sda1 of=/dev/sdb1 bs=4096 -» Duplicación de disco-a-disco de una partición. ddif=/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: • # ddif=/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 losetupque 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. • # ddif=/dev/zero of=/home/particion1 bs=1M count=500Dar 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 deseguridad • Controlar y proporcionar la seguridad de los datos ⇒Propietarios y permisos de acceso • Chequear y corregir el sistema de ficheros (normalmente en tiempo dearranque) • 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 «únicajerarquía de directorios») del que cuelgan todos los dispositivos dealmacenamiento 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 alsistema de ficheros lógico => sus datos están disponibles a partir deldirectorio que hace de punto de montaje • * Desmontar un sistema de ficheros => el sistema de ficheros deja deestar 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 deficheros raíz y después el resto de S.F.
Montaje y desmontaje del sistema de ficheros (ii) • * 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 (iii) • /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_especialpto_montaje tipo opciones dump_freqpass_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 fsckpara 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
LABEL=/ / ext3 defaults,usrquota 1 1 /dev/sda3 /windows vf at defaults 0 0 /dev/dvd /media/dvd iso9660 noauto,owner,ro 0 0 /dev/fdO /media/floppy vfat noauto,uid=500 0 0 /dev/sda4 /otrolinux ext3 defaults 1 2 /dev/sda2 swap swap defaults 0 0 Montaje y desmontaje del sistema de ficheros (iv) • Posibles opciones del fichero /etc/fstab • rw⇒Lectura-escritura • ro ⇒Sólolectura • suid/nosuid⇒PermitidoelaccesoenmodoSUID,onopermitido • auto/noauto⇒Montarautomáticamenteonomontarautomáticamente(ni • ejecutandomount -a) • exec/noexec⇒Permitirlaejecucióndeficheros,onopermitir • usrquota,grpquota⇒Cuotasdeusuarioydegrupo • defaults ⇒ rw, suid, dev, exec, auto, nouser, async • user,users,owner⇒Permitiralosusuariosmontarunsistemadeficheros • (las diferencias entre ellos son las opciones que implican) • uid=500, gid=100 ⇒PropietarioygrupopropietariodelosficherosdelSF • umask=137 ⇒Máscaraparaaplicarlospermisosalosficheros(permisos640)
Montaje y desmontaje del sistema de ficheros (v) • * En el arranque, los dispositivos a montar junto con las opciones demontaje se cogen del fichero /etc/fstab(aquellos con opción auto) • * mounttambié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 • *Siseasignapermisosdemontajealosusuarios(opcionesuser, usersu owner), sólo pueden ejecutar “mount /media/dvd”. No se lespermite 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/sdalon/typeext3 (rw,usrquota) • /dev/sda3 on/dos typevfat (rw) • /dev/sda4 on/otrolinuxtype ext3 (rw) • /dev/dvdon/media/dvdtype iso9660 (ro,nosuid,nodev,user=pilar)
Comprobación del sistema de ficheros • * En tiempo de arranque fscko e2fsck chequea la consistencia oestado del sistema de ficheros, detecta problemas e intentarepararlos. Actúa sobre la estructura del SF, pero no sobre elcontenido 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 enmodo 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 «nopuede solucionar», obliga al administrador a que realice el chequeo«a mano» ejecutando la orden fscko 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 Ext2mke2fs -t ext3 /dev/sdb3 => sistema de ficheros Ext3mke2fs -t ext4 /dev/sdb3 => sistema de ficheros Ext4 • * Etiquetar la partición usando e2label => asigna una etiqueta alSF que se puede usar en el fichero /etc/fstaben el campo defichero_especial como LABEL=etiqueta • * Crear el directorio que hará de punto de montaje • * Montar el nuevo sistema de ficheros • * Actualizar /etc/fstabcon las opciones de montaje necesarias
Creación del sistema de ficheros (ii) • * Ext3 tiene el mismo formato que Ext2 pero además es transaccional • * Añade un registro o journalque permite recuperar rápidamente la consistenciatras 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 ficheroque también se encuentran contiguos en disco. Muy útil para ficheros grandes • * Reserva de memoria retrasada, se retrasa la reserva de bloques de disco hastaque 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 lafragmentació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 (iii) • ¿Qué sistema de ficheros usar? • * Ext2 => muy rápido en general, pero no tiene journaling. Se puede usar en un SFen 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 yescritura 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 montajesmáximo sin realizar un fsck • * -i numero[d|m|w] dispositivo => Indicar el tiempo máximo entre doschequeos • * -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 (iv) tune2fs -l /dev/sdb3 ⇒ ajustarparámetrosdeunSFExt4/Ext3/Ext2 tune2fs 1.41.9 (22-Aug-2009) Filesystemvolumename:Lastmountedon:Filesystem UUID:Filesystemmagicnumber:Filesystemrevision #:Filesystemfeatures:Default mountoptions:Filesystemstate:Errorsbehavior:Filesystem OS type:Inodecount:Block count:Reserved block count:Free blocks:Free inodes:First block:Block size:Fragmentsize: • /<notavailable> • Cl0b05ba-0a27-478d-82 61-5 83e6df846f60xEF531 (dynamic) • has_journalext_attrfiletypeneeds_recoveryspé(none)cleanContinuéLinux19219843839504191975203198216739240 • 40964096
tune2fs -l /dev/sdb3 ... 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 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:
Cuotas de disco • * Las cuotas de disco permiten limitar el número de bloques y/oficheros (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 losobrepase ya no podrá usar más bloques o crear más ficheros • * Límite soft => es inferior al límite hard y se puede sobrepasardurante cierto tiempo, pero sin llegar al límite hard. Pasado esetiempo es como si se hubiese superado el límite hard • * Los límites se establecen, de forma independiente, para bloques ypara nodos-i • * Periodo de gracia => tiempo durante el que se puede sobrepasar ellímite soft. Durante el mismo se le informa al usuario de que hasuperado 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 (ii) • Pasos a realizar para activar las cuotas • 1. (como root) • Para el SF al que asignan, indicarlo en /etc/fstabcon la opción usrquota: • /dev/sda3 /ext3 defaults,usrquota 1 1 • /dev/sda2 /home ext3 defaults,usrquota 1 2 • 2. (reiniciar… root..df -vh) Remontar la partición para que se active la opción usrquotacon: • “mount–o remount/” ó “mount-o remount /home” • 3. quotacheck⇒ crea el fichero de control de cuotas, aquota.user, en eldirectorio ráiz del SF al que se le asignan las cuotas: “quotacheck -nm /” crea/aquota.usery “quotacheck-nm/home” crea /home/aquota.user • 4. quotaon -a ⇒ se activan las cuotas • 5. edquotausername⇒ Para cada usuario activar su cuota • Disk quotasforuser pilar (uid 500): • Filesystem blocks softhardinodessofthard/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 usuariosquotausername⇒ 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 vencomo un único SF,consiguiendo un grandispositivo dealmacenamiento • * Se consigue E/S paralela enlecturas y escrituras • * No hay redundancia dedatos HDDD
Administración de volúmenes dinámicos (ii) • RAID nivel 1 • * Se utilizan dos o más discosduros, que forman un únicosistema 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 fallael sistema sigue trabajando conel otro sin problemas • * La recuperación de un disco estransparente al usuario
Administración de volúmenes dinámicos (iii) • * RAID nivel 5 • * Mínimo 3 discos duros, de loscuales 1 almacenará la paridadde los otros discos, que sonusados para datos => RAID 4 • * Problema: el disco con paridades un cuello de botella =>paridad se reparte entre todoslos discos => RAID 5 • * Se consigue un dispositivo dealmacenamiento más grande • * Sí hay redundancia de datos • * E/S paralela en lecturas y escrituras
Administración de volúmenes dinámicos (iv) • * La herramienta mdadmpermite crear o administrar un dispositivoRAID, convertir un disco “normal” en un RAID ... • * Tiene distintos modos de funcionamiento: • * Créate y assemblepara configurar y activar sistemas RAID • * Buildpara construir un sistema RAID sin superbloque en los dispositivos(siguiendo el formato antiguo de RAID) • * Managepara gestionar o manipular dispositivos de un RAIDactivo • * Followo monitor que permite configurar notificaciones yacciones en cambios de estado • * /proc/mdstatlista 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, Linuxraid 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 (v) • * 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ónde 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/fstabpara 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.confmdadm --detail --scan >> mdadm.conf • * Información sobre el estado: mdadm–detail--scan/dev/md1
Administración de volúmenes dinámicos (vi) • * Fichero de configuración: /etc/mdadm.conf • * Este fichero es útil, simplemente, para controlar los RAIDconfigurados y los discos que los componen • * mdadmno necesita el fichero de configuración para funcionarcorrectamente • * Normalmente, mdadm. confse crea y actualiza después decrear el array de discos • * Palabras clave: • device => Lista de dispositivos donde buscar los discos que forman el arrayarray => 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/mdldevices=/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: • ddif=/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 • ~$ mkdirtmp • ~$ 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:~$ sudoumount /dev/loop0 • admin@ubuntu:~$ sudoumount /dev/loop1 • Mediante el comando mdadm procederemos a crear un sistema RAID0 que estará formado por el arreglo loop0 yloop1. • sudomdadm -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:~$ sudofdisk -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:~$ sudomkfs -t ext3 /dev/md1 • admin@ubuntu:~$ mkdir MD1 • admin@ubuntu:~$ sudo mount /dev/md1 MD1 • admin@ubuntu:~$ sudo mkdirMD1/prueba2 • admin@ubuntu:~$ lsMD1 • Detalles de md1 (RAID0): • admin@ubuntu:~$ sudomdadm --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:~$ sudomdadm -C /dev/md2 --level=raid1 --raid-devices=2 /dev/loop2 /dev/loop2 • admin@ubuntu:~$ sudomkfs -t ext3 /dev/md2 • admin@ubuntu:~$ sudofdisk -l Disk /dev/md1: 524 MB, 524156928 bytes Disk /dev/md2: 262 MB, 262078464 bytes • admin@ubuntu:~$ sudomdadm --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:~$ sudomdadm --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:~$ sudomdadm --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:~$ sudomdadm --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