administración unix: almacenamiento de...

31
Administraci · on UNIX: Almacenamiento de datos Jes · us Montes S · anchez [email protected] Septiembre 2014 [email protected] Administraci · on UNIX: Almacenamiento de datos 1/31

Upload: dangdung

Post on 22-Oct-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

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