# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

ext3, ext4: liberar espacio reservado con tune2fs


Por defecto, los sistemas de ficheros ext2, ext3 y ext4 reservan un 5% del espacio disponible en el disco como medida de seguridad para que en el caso de que lleguemos al 100% de espacio utilizado podamos seguir accediendo al servidor y realizar tareas de gestión y administración. Hace años el tamaño de los discos duros era bastante menor al actual por lo que este 5% con el tamaño de discos que manejamos ahora puede ser demasiado.

tune2fs permite ajustar parámetros en sistemas de ficheros extendidos (ext2, ext3, ext4). Podemos visualizar todos estos parámetros del siguiente modo (suponemos que queremos trabajar con la partición /dev/sda2). Tenemos que autenticarnos como root:

# tune2fs -l /dev/sda2
tune2fs 1.39 (29-May-2006)
Filesystem volume name:   /
Last mounted on:
Filesystem UUID:          b3856607-1a01-4ab5-86ad-264s75367a89
Filesystem magic number:  0xAF63
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              60227584
Block count:              60225676
Reserved block count:     3011283
Free blocks:              58165828
Free inodes:              60209009
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1009
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         32768
Inode blocks per group:   1024
Filesystem created:       Sat Aug 15 05:39:09 2009
Last mount time:          Sat Aug 15 05:43:16 2009
Last write time:          Sat Aug 15 07:48:11 2009
Mount count:              1
Maximum mount count:      -1
Last checked:             Sat Aug 15 05:39:09 2009
Check interval:           0 ()
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:		  128
Journal inode:            8
Default directory hash:   tea
Directory Hash Seed:      89e00d30-0212-4a32-9354-e84d6327117e
Journal backup:           inode blocks

Los parámetros que nos interesan son los siguientes:

# tune2fs -l /dev/sda2 | grep "^Reserved"
Reserved block count:     3011283
Reserved GDT blocks:      1009
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

Como podéis ver tenemos reservados 3011283 para el usuario root. Cada bloque son 4096 bytes por lo que tenemos reservados 11GB aproximadamente.

Para modificar el número de bloques reservados debemos ejecutar tune2fs con el parámetro -m seguido del nuevo porcentaje de bloques a reservar. En este caso vamos a reducir el número de bloques al 3%:

# tune2fs -m 3 /dev/sda2
       -m reserved-blocks-percentage
              Set  the  percentage  of the filesystem which may only be allocated by privileged processes.
              Reserving some number of filesystem blocks for use by privileged processes is done to  avoid
              filesystem  fragmentation,  and  to allow system daemons, such as syslogd(8), to continue to
              function correctly after non-privileged processes are prevented from writing to the filesys‐
              tem.  Normally, the default percentage of reserved blocks is 5%.

Si listamos de nuevo la información del sistema de ficheros ya deberíamos ver reflejados los nuevos cambios, también deberíamos tener liberado ese espacio en disco (podeis verlo mediante el comando df -h).

# tune2fs -l /dev/sda2 | grep "^Reserved"
Reserved block count:     1806769
Reserved GDT blocks:      1009
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
# df -h

Configurar NTP en Netapp Filer vía SSH


Para configurar la sincronización horaria de un filer de Netapp (Data ONTAP), además de poder hacerlo desde la interfaz web, desde SSH o consola sería así:

Primero accedemos al filer y vemos la configuración correspondiente a la gestión de hora:

filer> options timed
timed.enable                 on
timed.log                    off
timed.max_skew               30m
timed.min_skew               10
timed.proto                  rtc
timed.sched                  1h
timed.servers
timed.window                 0s   

Vemos que no tiene un servidor NTP configurado y que el protocolo elegido es rtc. Para usar NTP y asignar un servidor de sincronización horaria hacemos lo siguiente:

filer> options timed.proto ntp
filer> options timed.servers 10.0.3.110

Donde ntp es el protocolo y 10.0.3.110 es el servidor NTP en este caso (ntp local), si la cabina tuviera acceso a Internet podríamos configurar directamente el servidor externo:

filer> options timed.servers hora.rediris.es

Y la configuración final:

filer> options timed
timed.enable                 on
timed.log                    off
timed.max_skew               30m
timed.min_skew               10
timed.proto                  ntp
timed.sched                  1h
timed.servers                10.0.3.110
timed.window                 0s      

Data ONTAP: Copiar un volumen de un filer a otro


Para realizar la copia íntegra de un volumen entre dos cabinas NetAPP tenemos varias posibilidades, dependiendo de las licencias que tengáis podréis utilizar una u otra (SnapMirror, NDM, etc). En este caso vamos a hacer la copia con NDM.

Para este caso, necesitamos hacer un primer volcado total del volumen y posteriormente hacer copias incrementales para ir actualizando el contenido en el volumen de destino.

En primera instancia nos aseguramos que ndm está activo en ambos filer y que utilizan la misma versión

filer1> ndmpd on
filer1> ndmpd version
filer2> ndmpd on
filer2> ndmpd version

Posteriormente revisamos si hay conectividad entre los dos filer:

filer1> ping filer2
filer2> ping filer1

Bien, ahora hay que crear un volumen en el filer de destino, con un tamaño igual o superior al que vamos a “clonar”. Una vez realizado ya podemos comenzar la copia del volumen, en este primer caso es un volcado completo:

filer1> ndmpcopy -da usuario:clave -l 0 /vol/volumen_original filer2:/vol/volumen_destino

Como podéis observar, especificamos el usuario y clave de acceso al filer de destino, así como que el tipo de copia es tipo 0 (full).

Cuando haya terminado este primer volcado, ya podemos repetir tantas veces como necesitamos copias incrementales del volumen para ir actualizando el destino (cambiamos -l 0 por -l 1:

filer1> ndmpcopy -da usuario:clave -l 1 /vol/volumen_original filer2:/vol/volumen_destino

Si os conectáis por SSH o consola al filer1 podréis ver el progreso de copia, también podéis comprobar el estado de la sesión ndmpd con el siguiente comando (en ambos filer).

ndmpd status

NetApp Filer: activar y probar Autosupport


Autosupport es una utilidad que es imprescindible tener configurada en cualquier filer NetApp. Básicamente sirve para que en cuanto se detecta un fallo en cualquiera de los componentes del filer, ya sea en los discos, controladoras, fuentes, etc, automáticamente se envía un correo al soporte técnico de NetApp y a la dirección que tú configures para tus alertas. De este modo, se agiliza y detecta con mayor rapidez cualquier posible fallo de Hardware en la máquina.

Los pasos para activar Autosupport (vía telnet, SSH o consola) son los siguientes:

Configuramos el host encargado de enviar los correos  donde mailhost_ip es la IP de tu servidor de correo:

filer> options autosupport.mailhost mailhost_ip

Usaremos el protocolo SMTP:

filer> options autosupport.support.transport smtp

Dirección en la que nosotros queremos recibir las alarmas donde email_address es la dirección de correo:

filer> options autosupport.to email_address

Nombre que saldrá como remitente del correo, donde email_address es la dirección de correo:

filer> options autosupport.from email_address

Finalmente, probamos si la configuración es correcta enviando un correo de prueba:

filer> options autosupport.doit TESTING_ASUP

Nota: Este correo se enviará tanto al soporte de NetAPP como a la cuenta que hayáis configurado. Si todo ha ido bien recibiréis una respuesta automática por parte del soporte de NetApp, y el log del filer mostrará algo similar a esto:

Wed Mar  3 12:22:53 CET [syst1002: asup.smtp.sent:notice]: Cluster Notification mail sent: Cluster Notification from XXXX (USER_TRIGGERED (TESTING_ASUP)) INFO
Wed Mar  3 12:23:57 CET [syst1002: asup.smtp.sent:notice]: Cluster Notification mail sent: Cluster Notification from XXXX (USER_TRIGGERED (Testing)) INFO

Si preferís hacerlo desde la interfaz web (FilerView) es muy sencillo, los pasos son los siguientes:

Filer -> Configure Autosupport

Una vez dentro, cambiamos “Autosupport enabled” a “YES” y rellenamos los campos correspondientes y pinchamos en “Apply”

Para probar si funciona:

Test Autosupport on the left -> Send Mail

PLD RescueCD y TestDisk


PLD RescueCD es uno de los mejores CDs de rescate que conozco, el cual además incorpora una de las mejores herramientas para recuperación de discos con particiones dañadas, TestDisk.

PLD RescueCD es un Live CD de rescate basado en la distribución Linux PLD Linux (2.6.24.3 modular kernel), ocupa unos 180 MB.

Esta distribución puede ser arrancada desde:

    CD-ROM (ATAPI,SCSI,USB - BIOS permitting)
    Diskette
    IDE/SCSI/SATA/SAS/USB discos duros lilo

    USB Pendrive [Howto Howto2]
    Arranque de red remoto via PXE

La distribución cuenta con 547 aplicaciones, aquí podéis ver todas, personalmente lo he utilizado varias veces para recuperar tablas de particiones dañadas, y fallos de disco en general, gracias a la herramienta TestDisk, la cual incorpora.

Os recomiendo probarlo pues os puede sacar de más de un apuro. Siempre viene bien tenerlo a mano.