lunes, septiembre 12, 2011

Detectar y reparar el sistema de archivos

(Actualización)

Una pregunta que me hacen a menudo es como reparar el sistema de archivos en Linux. O, "cual sería el scandisk".
Es muy raro que se deba reparar el sistema de archivos. Pero esta acción a veces corrige algunos comportamientos extraños. Pero por si no lo sabían, no se puede reparar un volumen montado si esta siendo usado

Por eso lo ideal es pedirle al comando fsck que revise en el próximo reinicio, antes de montarlo:
  • Crear como root un archivo en la raíz del volumen, llamado forcefsck. Por ejemplo, para la raíz:
sudo touch /forcefsck
  • Hacer lo mismo por cada volumen que tengan en una particion aparte. A mi me gusta dejar el home en la ultima particion, de modo que ademas hago:
sudo touch /home/forcefsck

Otra manera es pedirle al script que reinicia, que chequee las particiones durante el proximo reboot:

sudo shutdown -rF now

Por cierto, si se detecta comportamiento extraño, siempre hay que hacer una revisión de sectores dañados. Este comando no escribe datos, solo informa de sectores ilegibles. Por ejemplo, para revisar la primer partición

sudo badblocks /dev/sda1

Y otro comando que es muy util es 

sudo palimpsest

Este comando, al menos en Ubuntu, nos muestras los valores SMART de la controladora. Es es una alerta temprana a un disco que se encuentra fallando, o que probablemente va a fallar. Tambien es muy útil para sacarse algunas dudas, ya que al informarnos la cantidad de horas de vida que tiene el disco, es muy util para comprobar si nos han vendido un disco viejo. Es un comando imprescindible antes de comenzar la instalación de cualquier computadora destinada a servidor. 


Cuando las cosas estan realmente mal, y ni siquiera arranca el sistema operativo, lo ideal es iniciar con un cd o pendrive limpio, mirar las particiones con

cat /proc/partitions

y limpiar con algo asi como

sudo fsck.ext4 -cDfty -C 0 /dev/sd**

Lo que significa

  • Analizar sectores dañados
  • Optimizar carpetas
  • Mostrar progreso

1 comentario:

Atal dijo...

exelente, escaneando luego te cuentop como me fue ;) estoy en root con la funcion badblocks -sw en mi particion unica dev/sda1