• Aquí vive el Software Libre, coje lo que quieras, da lo que puedas
  • Rápido, seguro, libre e increíblemente fácil de usar
  • Ubuntu: Linux para seres humanos
  • Linux es Educación. Linux es Ciencia
  • Ubuntu es diseño, Ubuntu es innovación
  • Keep calm and enjoy Ubuntu
  • Trata tu teclado como se merece con Ubuntu
  • pf-kernel para Ubuntu
  • Convierte tu iMac en un ordenador de verdad
  • La libertad no es poder elegir entre unas pocas opciones impuestas
  • Software libre, para una sociedad libre

¿Comprobar los sistemas? ¿Defragmentar un Linux? ¡Herejía!

Entrada escrita por: Francisco Javier Teruelo de Luis
Buenas.

A colación de la entrada anterior he recordado que no expliqué en su momento uno de los sistemas básicos de refuerzo que utilizo en mis sistemas de seguridad (no sólo en servidores o clientes, sino en mi viejo y fiel Thinkpad X61s).

Todos los sistemas de ficheros, queramos o no, tienden al caos. La termodinámica es inapelable y nuestras actividades de instalación, desinstalación, descarga, borrado,... todas esas cositas que no paramos de hacer de forma casi compulsiva no ayudan lo más mínimo. Por suerte los sistemas ext son robustos y aguantan ese maltrato al cual los sometemos pero... ponéos en situación, por favor:

- Portatil con capacidades limitadas en manos de un crío de doce años que desconoce el arte de la paciencia. El noventa por ciento de las veces ni siquiera se apaga, sino que se le baja la tapa y se guarda en el armario de la clase (ni siquiera es personal, con lo cual el incentivo para cuidarlo es menor aún). Tres contra uno a que ese sistema de ficheros salta en menos de dos meses.

- Torre que gestiona una pizarra digital; teóricamente se arranca y se deja hasta el final del día (os he de pasar el automático de apagado, otro día). A la práctica se enciende de mala manera, se mueve cuando está en marcha para poner DVD (compactar a AVI va contra la religión de cierta gente, malgastar el dinero de departamento correspondiente reponiendo material estropeado se ve que no). El tabique se mueve por al actividad de la clase de al lado (que no quiero saber). Se apaga por las bravas, se va la luz de vez en cuando,...

No, si lo raro es no tener una escena al estilo del Arcade de Kung Fury (aquí, por si alguien no sabe de qué hablo). Y vuestro seguro servidor a quien le toca mantener eso en un funcionamiento razonable.

¿Qué hacer?

Pues utilizar las herramientas del paquete e2fsprogs programando las comprobaciones de la forma más efectiva posible. Instalación sencilla:

sudo apt-get install e2fsprogs showfsck

Una vez hecho eso y como root entramos el siguiente código (por ejemplo):

tune2fs -c N /dev/sdUX

Donde N es cada cuantos montajes de una partición se ha de hacer la comprobación en el arranque, U es la letra de la unidad de disco utilizado y X es la partición que se quiere comprobar. Repetimos la operación para todas las particiones que necesitemos y furrulando.

Eso no es magia, simplemente forzamos la corrección automática de manera que los problemas pequeños que apenas tienen repercusiones son corregidos rápidamente antes de transformarse en desastres mayores. el programa showfsck nos muestra cuantos montajes lleva una partición y cuantos le quedan antes de la comprobación.

Para fijar la cantidad de montajes en el punto en que queramos, utilizamos casi el mismo código:

tune2fs -C N /dev/sdUX
Con eso hacemos que se comprueben todas las particiones que queramos a la vez.

En mi caso, la compruebo cada cinco montajes, lo cual sería en circunstancias ideales una semana de trabajo. Aunque no acabe de salir así.

Pero ahora imaginemos un servidor de centro, montado con una LTS y puede acumular datos (borrando, moviendo, trabajando unos sietecientos usuarios) durante unos cinco años. Día tras día. Y no estamos en un centro de datos. Esto tiende, por naturaleza, a la fragmentación, la lentitud de acceso y el caos de datos.

Bien pues. Tenemos la herramienta -contra la expresión típica según la cual "NO HACE FALTA DEFRAGMENTAR UN LINUX"-. Puede llegar a ser que sí. ¿Y como?

El paquete que hemos instalado antes incluye esto:

e4defrag

Lo lanzamos en un terminal, así:

sudo e4defrag -c /dev/sda7

Y, en este caso, nos escupe:

 Total/best extents                5359/3168
 Average size per extent            40473 KB
 Fragmentation score                0
 [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
 This device (/dev/sda7) does not need defragmentation.
 Done.
En caso de necesidad, nos ofrecería la posibilidad de defragmentar la partición, y podríamos dejar los servidores a buen rendimiento sin necesidad de hacer una reinstalación completa.

Aunque, para que engañarnos, la mayoría de nosotros sufrimos de versionitis crónica.

Hasta otro rato.


0 comentarios: