Administracion UNIX:Almacenamiento de datos
Jesus Montes [email protected]
Septiembre 2014
[email protected] Administracion UNIX: Almacenamiento de datos 1/31
Almacenamiento de datos
• En UNIX la informacion puede estar almacenada en uno omas dispositivos.
• Estos dispositivos se montan de manera ordenada paraformar un arbol de directorios unico.
• En el arbol de directorios se pueden combinar dispositivosde distinto tipo (discos duros, DVDs, discos virtuales...) ycon distinta organizacion interna (sistema de ficheros).
• Algunos dispositivos se pueden ademas dividir enparticiones para gestionar mejor su espacio.
• Los dispositivos se pueden combinar mediantemecanismos hardware o software para crear entidadesmas sofisticadas (RAID, volumenes logicos...).
[email protected] Administracion UNIX: Almacenamiento de datos 2/31
Tipos de dispositivos
En UNIX se definen dos tipos de dispositivos:• Dispositivos de tipo bloque (discos).• Dispositivos de tipo caracter (cintas).
En ciertos UNIX el mismo dispositivo puede ser gestionado enmodo bloque y modo caracter.
• En modo bloque: montaje y uso.• En modo caracter: Acceso en crudo (raw mode) para
operaciones de recuperacion.
[email protected] Administracion UNIX: Almacenamiento de datos 3/31
Gestion de dispositivos
1 Dar formato al soporte• Separacion fısica entre sectores, pistas, etc• Operacion de muy bajo nivel• Casi nunca necesario (en discos viene de fabrica)
2 Particionado• Division del disco en zonas asignables a diferentes
sistemas de ficheros• Operacion de alto nivel de reparto del disco• Solo para discos o similares (no CDs o DVDs)
3 Creacion del sistema de ficheros• Creacion de las estructuras logicas de un formato
especifico de organizacion de datos (SF)• Realizado sobre particiones (discos duros) o sobre
dispositivos enteros (CDs/DVDs)
4 Montaje y uso del soporte
[email protected] Administracion UNIX: Almacenamiento de datos 4/31
Dispositivos y particiones
En el directorio /dev se encuentra los ficheros especiales paramanejar los diferentes dispositivos de almacenamiento
• Discos duros: hda, hdb, sda, sdb...• Disco opticos: sr0, sr1...• Otros dispositivos: fd0...
Las particiones permiten organizar el espacio de los discos,dividiendolo en zonas separadas. UNIX presenta un ficherodistinto en /dev para cada particion.
• Para el disco /dev/sda las particiones serıan sda1,
sda2...En Linux, los discos tambien pueden identificarse por su UUIDa traves de /dev/disk/by-uuid.
[email protected] Administracion UNIX: Almacenamiento de datos 5/31
Dispositivos y particiones
• Una particion es una subdivision fısica de la superficie deun disco duro
• Dentro de una particion se puede crear un sistema deficheros
• Normalmente para poder almacenar informacion ordenada(sistema de ficheros), un disco duro debe tener al menosuna particion
• El espacio no particionado solo podra ser accedido “encrudo” (raw mode)
[email protected] Administracion UNIX: Almacenamiento de datos 6/31
Dispositivos y particiones
La informacion relativa a las particiones se guarda en una tabla(tabla de particiones) al comienzo del disco (hay un espacioreservado para ello)
• Indica donde comienza y termina cada particion• Incluye informacion adicional como el sistema de ficheros
o el punto de montaje
Herramienta de gestion de la tabla de particionesDepende del SO en concreto (no esta en el estandar SUS)
• Linux: fdisk, cfdisk, gparted para particiones MBRgdisk, sgdisk, cgdisk para particiones GPT.
• Solaris: format• AIX: smit
[email protected] Administracion UNIX: Almacenamiento de datos 7/31
Sistemas de ficheros
El sistema de ficheros organiza la informacion almacenada enun dispositivo en ficheros y directorios, almacenando permisosy otras propiedades
• Sistemas tradicionales (la mayorıa obsoletos):• Almacenan datos y metadatos• Gestionan el espacio libre de la manera mas eficiente
posible• ext2, ufs, hfs, FAT32...
• Sistemas transaccionales:• Extienden los SF tradicionales anadiendo logs de
operaciones y/o semantica transaccional• Mayor tolerancia a errores y menor tiempo de recuperacion• ext3, ext4, ntfs, hfs+...
[email protected] Administracion UNIX: Almacenamiento de datos 8/31
Sistemas de ficheros
Creacion del SFEl proceso depende del SF escogido, pero en general UNIXincluye herramientas para llevarlo a cabo.
• Linux: mkfs.* (mkfs.ext4, mkfs.vfat...)• Solaris: newfs
Mantenimiento del SF
• El uso puede general errores en el sistema de ficheros,que hay que detectar y corregir
• UNIX incluye herramientas que ayudan en esta tarea(fsck en Linux)
• Es importante realizar comprobaciones periodicas paraevitar errores catastroficos
[email protected] Administracion UNIX: Almacenamiento de datos 9/31
Montaje• Para poder acceder a los datos dentro del SF de una
particion es necesario montarla• El SF se muestra al SO residente con su contenido dentro
de un directorio concreto: punto de montaje• En la mayorıa de UNIX se usa el mandato mount
mount [-fnrsvw] [-t vfstype] [-o options] device dir
Ejemplo:mount -t ext3 /dev/sdb1 /mnt
Para desmontar se emplea umount
• El proceso de montaje permite construir el arbol dedirectorios del sistema
• FUSE (en Linux) permite montar sistemas de ficheros enespacio de usuario. Ejemplo: fuseiso imagen.iso /mnt
fusermount -u /mnt
[email protected] Administracion UNIX: Almacenamiento de datos 10/31
Montaje automatico
• El sistema de ficheros raız se monta al arranque• Dependiendo del UNIX, existen determinados ficheros de
configuracion que contienen tablas de montaje:• Linux: /etc/fstab• Solaris: /etc/ufstab• AIX: /etc/filesystems
Estos ficheros indican el dispositivo o particion, punto demontaje, SF, opciones, etc.
[email protected] Administracion UNIX: Almacenamiento de datos 11/31
Estrategias de organizacion
Es recomendable repartir el arbol de directorios en diferentesSSFF para evitar que los posibles fallos afecten al sistemaentero
• / (SF raiz): De tamano justo. Que sirva como base paralos demas (“perchero”)
• /usr: Tamano justo, ya que se puede conocer deantemano (aplicaciones del fabricante/distro)
• /home: Lo mas grande posible• /usr/local - /opt: Depende de las necesidades
adicionales del sistema. En general de gran tamano• /var: Depende de las polıticas de administracion y la
configuracion de las aplicaciones• swap y /tmp: Depende de la carga
[email protected] Administracion UNIX: Almacenamiento de datos 12/31
Estrategias de organizacion
Es recomendable:• Mantener las cuentas de usuario en un disco diferente al
de sistema• Separar los SSFF de mayor acceso en diferentes discos
(swap y sistema)• Ubicar las particiones de manera que sea posible
redistribuir los discos• Colocar prescindibles (swap, /tmp) entre las que pueden
necesitar crecimiento (/home, /usr/local)
• Vigilar el porcentaje de disco libre
[email protected] Administracion UNIX: Almacenamiento de datos 13/31
Cuotas de disco
Asocian a cada usuario/grupo un lımite de espacio en disco.Las cuotas limitan:
• Numero maximo de archivos (i-nodos)• Numero maximo de bloques
Dos lımites:• Soft : informativo• Hard : restrictivo
Los lımites se aplican a cada sistema de ficheros y secomprueban al arranque y cuando se hace login
En Linux: herramienta quota
[email protected] Administracion UNIX: Almacenamiento de datos 14/31
Backup
• Backup: Copia de seguridad de determinados datos de unsistema
• Esquemas de backup:• Backups completos: Se copia toda la informacion• Backups incrementales: Solo los ficheros modificados son
copiados
• Habitualmente se combinan los dos esquemasEjemplo:
• Cada dıa se realiza un backup incremental• Una vez a la semana se almacena un backup completo
• Normalmente se almacena mas de un backupsimultaneamente, permitiendo hacer rollback a diferentesmomentos del pasado
[email protected] Administracion UNIX: Almacenamiento de datos 15/31
Decisiones de backup
Una estrategia de backup debe incluir:• Estimacion del volumen de datos:
• Tamano original de los datos que copiar• Estimacion del ratio de compresion
• Seleccion de los ciclos de backup:• Cuando se realizan y de que tipo son
(completo/incremental)• Automatizacion (cliente/servidor):
• Programacion de los backups
• Verificacion del sistema.Herramientas de backup: rsync, Amanda, KDat, Tivoli....
[email protected] Administracion UNIX: Almacenamiento de datos 16/31
Backup sencillo con rsync
rsync
Herramienta para la copia de datos local y remota• No es una solucion de backup en si misma, pero se puede
utilizar para crear un backup sencillo• Copia solo diferencias entre los datos de origen y destino,
lo que agiliza el proceso• Detecta y propaga cambios en propietario, grupo,
permisos y otras propiedades de los archivos• Respeta enlaces simbolicos• Permite definir patrones complejos de inclusion y exclusion
de ficherosman rsync para lista completa de opciones
[email protected] Administracion UNIX: Almacenamiento de datos 17/31
Backup sencillo con rsync
EjemploRealizar un backup a un servidor remoto
• Directorio origen: /home• Servidor destino: server.org• Directorio destino: /backups
Mandato para realizar la copia:rsync --recursive /home server.org:/backups/
¿Como hacer que se ejecute todos los dıas a las 4 de lamadrugada?Regla en /etc/crontab:0 4 * * * rsync --recursive /home ...
[email protected] Administracion UNIX: Almacenamiento de datos 18/31
Dispositivos redundantesDispositivos RAID:
• Dispositivo virtual compuesto por varios dispositivosfısicos reales agrupados
• Proporciona redundancia y mejores prestaciones• Invisible para el SF por encima
sd01
/ /bin
/etc
/usr
/var
sd02 sd03
RAIDRAIDRAIDRAID
/ /bin
/etc
/usr
/var
md1≈
[email protected] Administracion UNIX: Almacenamiento de datos 19/31
Tecnologıa RAID
Redundant Array of Independent Disks
Tipos:• Lineal: Concatenacion• RAID 0: Modo alternado• RAID 1: Discos espejos• RAID 4: Disco de paridad• RAID 5: Bloques de
paridad
Puede haber discos desobra (spare disks), quesirven de reserva
15 ...
2 6 ...
3 7 ...
RAID 0(Stripe)
01 ...
0 1 ...
0 1 ...
RAID 1(Mirroring)
14 ...
2 5 ...
0-2 ...
RAID 4(Parity disk)
1 ...
2
3
...4
...
RAID 5(Parity blocks)
3-5
0-2
04 ... 0 1 ... 0 3 ... 0 ...
3-5
5
[email protected] Administracion UNIX: Almacenamiento de datos 20/31
Tecnologıa RAID
RAID hardware
• Proporcionado por la controladora de disco u otrodispositivo especıfico (controladora RAID)
• Transparente al SO: Lo ve como si fuese un disco normal• Maxima eficiencia, pero requiere hardware adicional
RAID software
• Proporcionado por un servicio del SO• El SO puede acceder de forma separada a los diferentes
componentes del RAID• Menor eficiencia, pero no requiere hardware adicional• En Linux: herramienta mdadm
[email protected] Administracion UNIX: Almacenamiento de datos 21/31
mdadm (Linux Software RAID)
Herrmienta comun en GNU/Linux para la creacion de RAIDsoftware. Permite:
• Crear RAIDs (0, 1, 5 etc...)• Reconstruir RAIDs a partir de sus discos• Monitorizar RAIDs creados• Gestionar errores en RAIDs (reemplazar discos, etc.)
La pagina del manual de mdadm muestra todas sus opciones
Los RAIDs de mdadm se manejan con ficheros especiales quecomienzan por md (/dev/md0, /dev/md1, etc)
El estado de los RAIDs existentes se muestra en /proc/mdstat
La configuracion se guarda en /etc/mdadm/mdadm.conf
[email protected] Administracion UNIX: Almacenamiento de datos 22/31
mdadm - Ejemplos
Crear un RAID 5mdadm --create --level=5 --raid-devices=4 /dev/md0 /dev/sdb
/dev/sdc /dev/sdd /dev/sde
Obtener informacion del RAID /dev/md0mdadm --detail /dev/md0
Salvar la configuracion del RAID /dev/md0
mdadm --detail /dev/md0 --brief >> /etc/mdadm/mdadm.conf
Extraer un disco defectuoso del RAID /dev/md0mdadm --manage --remove /dev/md0 /dev/sdd
Agregar un nuevo disco al RAID /dev/md0
mdadm --manage --add /dev/md0 /dev/sdd
[email protected] Administracion UNIX: Almacenamiento de datos 23/31
mdadm - Ejemplos
Redimensionar un RAIDSolo posible si las particiones fısicas pueden redimensionarseo si se reemplazan los dispositivos fısicos
1 Redimensionar cada particion que forma parte del RAID:• Desconectar la particion del RAID: mdadm /dev/md0 --fail
/dev/sdaX --remove /dev/sdaX
• Redimensionar la particion o reemplazar el dispositivo.• Anadir de nuevo al RAID y esperar a que la sincronizacion
termine. mdadm --add /dev/md0 /dev/sdaX
2 Redimensionar el dispositivo virtual: mdadm --grow /dev/md0
-z max
3 Finalizada la sincronizacion, redimensionar el sistema deficheros. Ej: resize2fs /dev/md0
[email protected] Administracion UNIX: Almacenamiento de datos 24/31
Volumenes logicos
Mecanismo para gestionar elespacio de forma dinamica
• Redimiensionarparticiones
• Utilizar variosdispositivos comosoporte
Proporcionado por:• LVM (Linux, AIX)• Veritas VM (HP-UX)• Sun Volume Manager
sd01
/ /bin
/etc
/usr
/var
sd02 sd03
LVMLVMLVMLVM
LV2LV1
[email protected] Administracion UNIX: Almacenamiento de datos 25/31
lvm (LVM TOOLS 2.0)Es el gestor de volumeneslogicos mas comun enGNU/Linux. Sus treselementos basicos son:
• Volumenes fısicos(discos o particiones)
• Extensiones fısicas• Grupos de volumenes• Volumenes logicos
lvm incluye un conjunto deherramientas para gestionartodos estos
sd01
/ /bin
/etc
/usr
/var
sd02 sd03
LVMLVMLVMLVM
LV2LV1
[email protected] Administracion UNIX: Almacenamiento de datos 26/31
lvm (LVM TOOLS 2.0)
¿Como crear volumenes logicos con lvm?1 Inicializar los volumenes fısicos que se vayan a usar2 Crear un grupo de volumenes3 Crear Uno o mas volumenes logicos dentro del grupo4 Crear el sistema de ficheros dentro de cada volumen
logicoAl finalizar, cada volumen logico se puede montar como unaparticion
Posteriormente se podran agregar nuevos volumenes fisicos algrupo, cambiar el tamano de los volumenes logicos, etc.
[email protected] Administracion UNIX: Almacenamiento de datos 27/31
lvm (LVM TOOLS 2.0)
Gestion de volumenesfısicos
• pvcreate
• pvremove
• pvdisplay
Gestion de gruposvolumenes fısicos
• vgcreate
• vgremove
• vgdisplay
• vgscan
Gestion de volumeneslogicos
• lvcreate
• lvremove
• lvdisplay
• lvextend
• lvreduce
man lvm para ver el listadocompleto
Otras herramientas utiles
• resize2fs
[email protected] Administracion UNIX: Almacenamiento de datos 28/31
lvm - Ejemplo
Tenemos tres particiones de 50GB (sdb1, sdc1 y sdd1) yqueremos crear dos volumnes logicos de 60GB y uno de 10GB
Inicializamos los volumnes fısicospvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
Creamos un grupo (llamado dataserver)vgcreate dataserver /dev/sdb1 /dev/sdc1 /dev/sdd1
Creamos los tres volumenes logicoslvcreate --name data1 --size 60G dataserver
lvcreate --name data2 --size 60G dataserver
lvcreate --name data3 --size 10G dataserver
[email protected] Administracion UNIX: Almacenamiento de datos 29/31
lvm - Ejemplo (continuacion)
Ahora podemos acceder a los volumnes logicos como sifuesen particiones de disco. Sus ficheros especiales son/dev/dataserver/data1, /dev/dataserver/data2, etc.
Ampliar su tamanolvextend -L15G /dev/dataserver/data3
Reducir su tamanolvreduce -L40G /dev/dataserver/data1
Crear un sistema de ficherosmkfs.ext4 /dev/dataserver/data2
Montar el volumen en el arbol de directoriosmount /dev/dataserver/data2 /mnt
[email protected] Administracion UNIX: Almacenamiento de datos 30/31
RAIDs y volumenes logicos¿Tiene sentido construir uno o mas volumenes logicos sobreun dispositivo RAID?Depende del contexto
• Pros: Ventajas de tolerancia a fallos del RAID• Contras: Posible perdida de rendimiento (sobre todo si
RAID software)
¿Tiene sentido construir un RAID a partir de volumeneslogicos?NO¿Por que?La abstraccion del espacio de disco en volumenes logicosanula las ventajas de tolerancia a fallos del RAID. Ademas selimita enormemente la flexibilidad de los volumenes logicos
[email protected] Administracion UNIX: Almacenamiento de datos 31/31
Top Related