Disc

De WikiMar
Dreceres ràpides: navegació, cerca

Memòria RAM lliure:

free

Espai lliure al disc:

df
df -h

Veure espai ocupat per cada carpeta:

cd /
du | sort -nr | less

Veure quota d'usuari:

quota -v

Més info sobre quotes a http://lpi.aluzina.org/wiki/Plantilla:Cuotas_de_disco


Estadístiques i gràfiques de l'espai utilitzat (paquet per entorn gràfic KDE):

KDirStat


Fer que es muntin automàticament unitats, editar:

/etc/fstab


Muntar unitat:

mount /dev/sda5 /mnt/prova
                       prova ha d'existir com a carpeta



Una pàgina que explica aquest tema (i d'altres) molt clarament és http://lpi.aluzina.org/wiki/101_4

Aqui una còpia de la part que parla d'aquest tema:


104.1 Create partitions and filesystems

  • hd, sd, partición primarias (4), extendida (1. Puede contener otra extendida y/o una secundaria), secundaria (¿?), numeración... (recordatorio).
  • Particiones y filesystems.
    • Particiones: fdisk, cfdisk, Disk Druid, (g)parted...
      • fdisk: w, p, d, n, t. Tipos de partición ("partition type byte"): 82:swap, 83:linux.
    • Sistemas de ficheros: mkfs.*, mkswap (para activar swapon).
  • MBR: 446 bytes de código y 64 de tabla de particiones (sobran 2 bytes para 512)
    • 16 bytes por entrada de la tabla de particiones (4 particiones).

LVM

Particiones "implementadas" por software.

Ventajas
  • Flexibilidad para dimensionar particiones (no sólo recortar: también añadir de manera transparente).
  • Permite agrupar varias particiones y discos duros ya existentes en un solo grupo y de éste definir varios volúmenes, transparéntemente al usuario.
  • Snapshots: fotografía de un volumen lógico en un momento determinado.
Desventajas
  • Permite crear particiones muy enrevesadas (volume group formado por un disco duro, una partición y un raid. Peta alguna partición y cágate lorito).
Conceptos (repaso)
  • Physical volume (PV. "Dispositivo físico"): disco duro, partición o incluso un RAID por software. Para utilizar LVM necesitamos activar al menos un PV. Conceptualmente un PV no es nada, pero es necesario dar de alta las particiones, discos duros y raids como "PV" antes de poder usarlos en un volume group.
  • Volume Group (VG. "Grupo"): agrupa varios PV's, exponiendo al usuario un único dispositivo lógico.
  • Logical volume (LV. "Volumen lógico"): equivalente en LVM a una partición .
  • Physical extent (PE): La extensión física está compuesta por trozos de datos de los volúmenes físicos. Coincide en tamaño con LE ("sectores" del disco duro)
  • Logical extent (LE): La extensión lógica está compuesta por trozos de datos de los volúmenes lógicos ("sectores" lógicos. Esta es la magia que permite usar sectores de discos duros quales sean.).
Proceso "manual"
  1. Dar de alta dispositivo como PV: pvcreate /dev/hda2; pvcreate /dev/hdb
  2. Mostrar PV: pvdisplay
  3. Crear VG: vgcreate ACME_DISK /dev/hda2 /dev/hda3. Los dispositivos deben ser previamente "activados" con pvcreate.
  4. Mostrar VG: vgdisplay
  5. Activar VG: vgchange -a y ACME_DISK
  6. Crear LV: lvcreate -L8,00G -n volumen grupo_volumen
  7. /dev/grupo_volumen/volumen_logico tenemos los volúmenes.
  8. El volumen creado se comporta como una partición: podemos darle el sistema de ficheros que quedamos, montarlo en un punto de montaje mediante fstab...
  9. Extender VG: vgextend grupo_volumen /dev/hdb1 (hdb1 debe estar dado de alta como PV).
  10. Extender LV: lvextend -L ... /dev/grupo_volumen/volumen_logico
    • Hay que indicar al sistema de archivos que ahora disponemos de más tamaño:
      • xfs_growfs /punto_montaje (xfs)
      • resize2fs /dev/grupo/volumen ó ext2resize /dev/grupo/volumen (ext2,ext3. Según la versión hace falta desmontar antes de agrandar).
      • resize_reiserfs -f /dev/grupo/volumen (reiserfs)

Existe el problema que la opción -r (resizefs) de las herramientas de LVM no están implementadas y no permite redimensionar al mismo tiempo el FS y el LV, y haya que tantear o hacer lo que explico a continuación.

  • Agrandar un volumen lógico:
    • Agrandar primero el volumen lógico: lvextend -L +1G /dev/grupo_volumen/volumen_logico
    • Agrandar el sistema de ficheros al máximo: resize2fs /dev/grupo_volumen/volumen_logico (si no le pasamos el tamaño nuevo del FS, cogerá por defecto el tamaño de la partición).
  • Reducir un volumen lógico:
    • Reducir sistema de ficheros: resize2fs /dev/grupo_volumen/volumen_logico [size][K|M|G] .
    • Reducir volumen lógico: querremos ajustar al máximo de manera que no quede espacio desaprovechado: en caso de duda se puede reducir el LV más o menos por encima y después agrandar el sistema de ficheros con el procedimiento de antes. Si el sistema de ficheros ocupa 40GB, el volumen lógico tendrá que ser también de 40GB (aunque si no te fías, puedes poner un LE más). En alguna bibliografía se "recomienda" reducir el sistema de ficheros por encima del valor deseado, después el volumen lógico al tamaño deseado y después otra vez un resize2fs para que lo reduzca hasta el tamaño. En principio mientras no se intente escribir en un sector que no existe y que no quede inconsistente al final, podemos cruzar la "línia" entre el bien y el mal por un momento (y con más seguridad si el sistema está desmontado y hacemos un fsck).

Siempre vigilar que las operaciones son consistentes (que no estamos yendo más allá de los límites del espacio libre). Al agrandar/encoger, recordar que siempre estamos sujetos a los redondeos de las extensiones lógicas.


Ext3 (journaling)

El journaling sólo intenta evitar que el sistema quede inconsistente por una escritura interrumpida. Si se interrumpe una operación, al reiniciar se podrá dejar el sistema en un estado consistente porque se va anotando lo que se hace (checkpoints). No evita que se fastidien sectores del disco duro (físicamente). Es como un fsck pero no de todo el disco, sólo de lo que se estaba escribiendo.

  • Convertir ext2 en ext3:
    • Crear journaling (si está montada, mirar fichero .journal!):
tune2fs -j /dev/sd**
    • Montar como ext3:
mount -t ext3 -o remount /dev/sd** /puntmontaje
  • Convertir ext3 en ext2:
    1. Montar como ext2 (no elimina journaling).
    2. Eliminar información de journaling
      1. umount /dev/sda**
      2. tune2fs -O ^has_journal /dev/sda** # "^" es para "borrar" del superbloque. + añade feature.
      3. e2fsck /dev/sda**
      4. Modificar fstab
      5. mount /dev/sd** punto_montaje


104.2 Maintain the integrity of filesystems

  • Chequeo manual: fsck.* (mirar sus alias. HACERLO CON LA PARTICIÓN DESMONTADA o READ-ONLY)
    • -f (forzar)
    • -b (usar bloque alternativo)
    • -A (revisar todos)
      • Según 6o campo del /etc/fstab: 0 indica no chequear, sinó, es la prioridad (en caso de empate se chequean en paralelo).
    • -s (revisar en serie. Útil si se utiliza fsck interactivamente)
    • -N (dry run)
    • -V
  • Chequeo automático: cada cierto número de mounts:
tune2fs -l /dev/sda?
  • Con un sistema ext3, en principio no se necesita hacer un fsck, porque con el fichero de journaling se puede llegar a un estado consistente (esto no implica recuperar nada que se haya perdido...). Aunque se recomienda utilizar fsck al iniciar porque éste es capaz de chequear los sistemas de ficheros en paralelo mientras que la recuperación a partir del journal se hace secuencialmente.
  • /etc/fstab (6o campo).

104.3 Control mounting and unmounting filesystems

  • mount. Opciones más interesantes.
  • mtab. fstab. Significado de los campos.
  • Montaje automático: fstab, auto (fs)/noauto (montaje automático).
  • Umount.

Los siguientes puntos no entran en el examen:

udev

  • Propósito: gestión de dispositivos en un escenario en el cuál:
    • Hay muchos dipositivos
    • Se están conectando/desconectando contínuamente.
  • Reglas (dónde se encuentra, echarles un vistazo y poco más).
  • Escribí hace un tiempo un pequeño documento explicativo: Udev

automount

  • Propósito: montar los dispositivos sólo cuando se estén usando. Y desmontarlos cuando no estén en uso.
  • Aquí tenéis otro documento de cosecha: Automount (es un tanto críptico, lo utilicé como guión...).

104.4 Managing disk quota

  • aquota.user/aquota.group (ya creados al dar soporte en fstab y editar con edquota). edquota. quotacheck.
  • quotaon/quotaoff
  • repquota
  • warnquota.conf
  • /etc/fstab: usrquota, grpquota (remount si hay cambios!)