Anda di halaman 1dari 31

UNIX:

Administracion
Almacenamiento de datos
Jesus
Montes Sanchez
jmontes@fi.upm.es

Septiembre 2014

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 1/31
Almacenamiento de datos

En UNIX la informacion
puede estar almacenada en uno o
dispositivos.
mas
Estos dispositivos se montan de manera ordenada para

formar un arbol de directorios unico.

En el arbol
de directorios se pueden combinar dispositivos
de distinto tipo (discos duros, DVDs, discos virtuales...) y
con distinta organizacion interna (sistema de ficheros).
Algunos dispositivos se pueden ademas dividir en
particiones para gestionar mejor su espacio.
Los dispositivos se pueden combinar mediante
mecanismos hardware o software para crear entidades
mas sofisticadas (RAID, volumenes

logicos...).

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 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 en



modo bloque y modo caracter.
En modo bloque: montaje y uso.
En modo caracter:
Acceso en crudo (raw mode) para

operaciones de recuperacion.

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 3/31
de dispositivos
Gestion
1 Dar formato al soporte
fsica entre sectores, pistas, etc
Separacion
de muy bajo nivel
Operacion

Casi nunca necesario (en discos viene de fabrica)
2 Particionado
del disco en zonas asignables a diferentes
Division
sistemas de ficheros
de alto nivel de reparto del disco
Operacion
Solo para discos o similares (no CDs o DVDs)
3 del sistema de ficheros
Creacion
de las estructuras logicas
Creacion de un formato
de datos (SF)
especifico de organizacion
Realizado sobre particiones (discos duros) o sobre
dispositivos enteros (CDs/DVDs)
4 Montaje y uso del soporte

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 4/31
Dispositivos y particiones
En el directorio /dev se encuentra los ficheros especiales para
manejar 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 fichero

distinto en /dev para cada particion.
Para el disco /dev/sda las particiones seran sda1,
sda2...
pueden identificarse por su UUID
En Linux, los discos tambien
de /dev/disk/by-uuid.
a traves

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 5/31
Dispositivos y particiones

Una particion
es una subdivision
fsica de la superficie de
un disco duro
Dentro de una particion
se puede crear un sistema de
ficheros
Normalmente para poder almacenar informacion
ordenada
(sistema de ficheros), un disco duro debe tener al menos

una particion
El espacio no particionado solo podra ser accedido en
crudo (raw mode)

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 6/31
Dispositivos y particiones
relativa a las particiones se guarda en una tabla
La informacion
(tabla de particiones) al comienzo del disco (hay un espacio
reservado para ello)
Indica donde comienza y termina cada particion
Incluye informacion
adicional como el sistema de ficheros
o el punto de montaje

de la tabla de particiones
Herramienta de gestion
Depende del SO en concreto (no esta en el estandar
SUS)
Linux: fdisk, cfdisk, gparted para particiones MBR
gdisk, sgdisk, cgdisk para particiones GPT.
Solaris: format
AIX: smit

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 7/31
Sistemas de ficheros

El sistema de ficheros organiza la informacion almacenada en


un dispositivo en ficheros y directorios, almacenando permisos
y otras propiedades
Sistemas tradicionales (la mayora 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+...

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 8/31
Sistemas de ficheros
del SF
Creacion
El proceso depende del SF escogido, pero en general UNIX
incluye 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
para

evitar errores catastroficos

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 9/31
Montaje
Para poder acceder a los datos dentro del SF de una
es necesario montarla
particion
El SF se muestra al SO residente con su contenido dentro
de un directorio concreto: punto de montaje
En la mayora 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
de
directorios del sistema
FUSE (en Linux) permite montar sistemas de ficheros en
espacio de usuario. Ejemplo: fuseiso imagen.iso /mnt
fusermount -u /mnt
jmontes@fi.upm.es UNIX: Almacenamiento de datos
Administracion 10/31

Montaje automatico

El sistema de ficheros raz se monta al arranque


Dependiendo del UNIX, existen determinados ficheros de
que contienen tablas de montaje:
configuracion
Linux: /etc/fstab
Solaris: /etc/ufstab
AIX: /etc/filesystems
punto de
Estos ficheros indican el dispositivo o particion,
montaje, SF, opciones, etc.

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 11/31

Estrategias de organizacion

Es recomendable repartir el arbol de directorios en diferentes
SSFF para evitar que los posibles fallos afecten al sistema
entero
/ (SF raiz): De tamano justo. Que sirva como base para
(perchero)
los demas
/usr: Tamano justo, ya que se puede conocer de
antemano (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 polticas de administracion
y la
de las aplicaciones
configuracion
swap y /tmp: Depende de la carga

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 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

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 13/31
Cuotas de disco
Asocian a cada usuario/grupo un lmite de espacio en disco.
Las cuotas limitan:
Numero

maximo de archivos (i-nodos)
Numero maximo
de bloques

Dos lmites:
Soft: informativo
Hard: restrictivo
Los lmites se aplican a cada sistema de ficheros y se
comprueban al arranque y cuando se hace login

En Linux: herramienta quota

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 14/31
Backup
Backup: Copia de seguridad de determinados datos de un
sistema
Esquemas de backup:

Backups completos: Se copia toda la informacion
Backups incrementales: Solo los ficheros modificados son
copiados
Habitualmente se combinan los dos esquemas
Ejemplo:
Cada da se realiza un backup incremental
Una vez a la semana se almacena un backup completo
Normalmente se almacena mas
de un backup

simultaneamente, permitiendo hacer rollback a diferentes
momentos del pasado

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 15/31
Decisiones de backup

Una estrategia de backup debe incluir:


Estimacion
del volumen de datos:
original de los datos que copiar
Tamano
del ratio de compresion
Estimacion
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....

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 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 ficheros
man rsync para lista completa de opciones

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 17/31
Backup sencillo con rsync

Ejemplo
Realizar 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 das a las 4 de la


madrugada?
Regla en /etc/crontab:
0 4 * * * rsync --recursive /home ...

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 18/31
Dispositivos redundantes
Dispositivos RAID:
Dispositivo virtual compuesto por varios dispositivos
fsicos reales agrupados
Proporciona redundancia y mejores prestaciones
Invisible para el SF por encima

/ /bin / /bin
/etc /etc
/usr /usr
/var /var

RAID

sd01 sd02 sd03


md1

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 19/31
Tecnologa RAID
Redundant Array of Independent Disks

Tipos: 0 4 ... 0 1 ... 0 3 ... 0 ...

3-5

Lineal: Concatenacion
RAID 0: Modo alternado
1 5 ... 0 1 ... 1 4 ... 1 3 ...
RAID 1: Discos espejos
RAID 4: Disco de paridad
RAID 5: Bloques de 2 6 ... 0 1 ... 2 5 ... 2 4 ...
paridad
Puede haber discos de 3 7 ... 0 1 ... ... 5 ...

0-2

0-2
3-5
sobra (spare disks), que
sirven de reserva RAID 0 RAID 1 RAID 4 RAID 5
(Stripe) (Mirroring) (Parity disk)(Parity blocks)

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 20/31
Tecnologa RAID
RAID hardware
Proporcionado por la controladora de disco u otro
dispositivo especfico (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

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 21/31
mdadm (Linux Software RAID)
Herrmienta comun de RAID
en GNU/Linux para la creacion
software. 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 que


comienzan por md (/dev/md0, /dev/md1, etc)

El estado de los RAIDs existentes se muestra en /proc/mdstat

se guarda en /etc/mdadm/mdadm.conf
La configuracion

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 22/31
mdadm - Ejemplos
Crear un RAID 5
mdadm --create --level=5 --raid-devices=4 /dev/md0 /dev/sdb
/dev/sdc /dev/sdd /dev/sde

del RAID /dev/md0


Obtener informacion
mdadm --detail /dev/md0

del RAID /dev/md0


Salvar la configuracion
mdadm --detail /dev/md0 --brief >> /etc/mdadm/mdadm.conf

Extraer un disco defectuoso del RAID /dev/md0


mdadm --manage --remove /dev/md0 /dev/sdd

Agregar un nuevo disco al RAID /dev/md0


mdadm --manage --add /dev/md0 /dev/sdd

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 23/31
mdadm - Ejemplos
Redimensionar un RAID
posible si las particiones fsicas pueden redimensionarse
Solo
o si se reemplazan los dispositivos fsicos
1 Redimensionar cada particion que forma parte del RAID:
del RAID: mdadm /dev/md0 --fail
Desconectar la particion
/dev/sdaX --remove /dev/sdaX
o reemplazar el dispositivo.
Redimensionar la particion

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 redimensionar el sistema de
Finalizada la sincronizacion,
ficheros. Ej: resize2fs /dev/md0

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 24/31
Volumenes

logicos

Mecanismo para gestionar el


/ /bin

espacio de forma dinamica
/etc
Redimiensionar /usr
particiones /var
Utilizar varios
dispositivos como LV1 LV2
soporte
LVM
Proporcionado por:
LVM (Linux, AIX)
sd01 sd02 sd03
Veritas VM (HP-UX)
Sun Volume Manager

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 25/31
lvm (LVM TOOLS 2.0)
Es el gestor de volumenes


logicos mas comun en
/ /bin
GNU/Linux. Sus tres
/etc

elementos
basicos son:
/usr
Volumenes
fsicos /var
(discos o particiones)
Extensiones fsicas
LV1 LV2
Grupos de volumenes

LVM
Volumenes

logicos

sd01 sd02 sd03


lvm incluye un conjunto de
herramientas para gestionar

todos estos

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 26/31
lvm (LVM TOOLS 2.0)

Como crear volumenes



logicos con lvm?
1 Inicializar los volumenes
fsicos que se vayan a usar
2 Crear un grupo de volumenes

3 Crear Uno o mas volumenes

logicos dentro del grupo
4 Crear el sistema de ficheros dentro de cada volumen

logico
Al finalizar, cada volumen

logico se puede montar como una

particion

agregar nuevos volumenes


Posteriormente se podran fisicos al
de los volumenes
grupo, cambiar el tamano
logicos, etc.

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 27/31
lvm (LVM TOOLS 2.0)
Gestion de volumenes
de volumenes
Gestion
fsicos
logicos
pvcreate lvcreate
pvremove lvremove
pvdisplay lvdisplay
lvextend
de grupos
Gestion
lvreduce
volumenes
fsicos
vgcreate man lvm para ver el listado
vgremove completo
vgdisplay Otras herramientas utiles

vgscan resize2fs

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 28/31
lvm - Ejemplo

Tenemos tres particiones de 50GB (sdb1, sdc1 y sdd1) y


queremos crear dos volumnes

logicos de 60GB y uno de 10GB

Inicializamos los volumnes


fsicos
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1

Creamos un grupo (llamado dataserver)


vgcreate dataserver /dev/sdb1 /dev/sdc1 /dev/sdd1

Creamos los tres volumenes



logicos
lvcreate --name data1 --size 60G dataserver
lvcreate --name data2 --size 60G dataserver
lvcreate --name data3 --size 10G dataserver

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 29/31

lvm - Ejemplo (continuacion)
Ahora podemos acceder a los volumnes

logicos como si
fuesen particiones de disco. Sus ficheros especiales son
/dev/dataserver/data1, /dev/dataserver/data2, etc.

Ampliar su tamano
lvextend -L15G /dev/dataserver/data3


Reducir su tamano
lvreduce -L40G /dev/dataserver/data1

Crear un sistema de ficheros


mkfs.ext4 /dev/dataserver/data2

Montar el volumen

en el arbol de directorios
mount /dev/dataserver/data2 /mnt

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 30/31
RAIDs y volumenes

logicos
Tiene sentido construir uno o mas volumenes

logicos sobre
un 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 volumenes




logicos?
NO
Por que?
del espacio de disco en volumenes
La abstraccion
logicos
anula las ventajas de tolerancia a fallos del RAID. Ademas se
limita enormemente la flexibilidad de los volumenes

logicos

jmontes@fi.upm.es UNIX: Almacenamiento de datos


Administracion 31/31

Anda mungkin juga menyukai