Los discos duros

De enunpimpam
Saltar a: navegación, buscar

Plantilla:Enobra

Leer la informacion de los discos

  • Para ello necesitamos tener instalado el programa smartmontools:
  >> sudo aptitude install smartmontools
  • Para ver si un disco duro (/dev/sda) soporta SMART:
  >> sudo smartctl -i /dev/sda
    
    smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
    Home page is http://smartmontools.sourceforge.net/
    
    === START OF INFORMATION SECTION ===
    Model Family:     Maxtor DiamondMax 10 family (SATA/300)
    Device Model:     Maxtor 6V320F0
    Serial Number:    XXXXXXXX
    Firmware Version: VA111900
    User Capacity:    320,072,933,376 bytes
    Device is:        In smartctl database [for details use: -P show]
    ATA Version is:   7
    ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 0
    Local Time is:    Sun Feb 17 23:32:24 2008 CET
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled
  • Para mostrar toda la información:
  >> sudo smartctl -a /dev/sda


guia-ubungu

Saber el uso de los disco duro

Para saber el uso de las particiones y dispositivos que tenemos en el pc podemos utilizar la comando df

 df
S.ficheros         Bloques de 1K   Usado    Dispon Uso% Montado en 
/dev/sda6             24027596  11366716  11440348  50% 
/dev/sda3             87891612  72896340  14995272  83% /COPIA 
/dev/sdb1              7826424   2908244   4918180  38% /media/8GB

Avisar de errores en disco

  • Instalamos el notificador de fallos; éste es un programa que nos alertará en caso de que se produzcan fallos en el disco duro, mostrando una ventana. Para ello ejecutamos:
  >> sudo aptitude install smart-notifier
  • Ahora configuramos el demonio “smartd” para que se arranque al inicio del ordenador. Abrimos el fichero /etc/defaults/smartmontools yescomentamos la siguiente linea
  start_smartd=yes
  • Añadimos el ejecutable /usr/bin/smart-notifier para que se inicie con nuestra sesión de gnome. Vamos a Sistema -> Preferencias -> Sesiones, le damos al botón “Añadir” y ponemos los siguientes datos:
  nombre: Smart Notifier
  comando: smart-notifier
  commentario: (Lo que queramos)

Después de estos pasos, la siguiente vez que arranquemos el ordenador tendremos el demonio smartd monitorizando los discos duros, y el script smart-notifier nos alertará en el caso de que ocurra algún error.

  • Si queremos comprobar el correcto funcionamiento de la aplicación podemos ejecutar una prueba. Para ello abrimos el fichero /etc/smartd.conf y cambiar la línea que contiene DEVICESCAN por la siguiente:
  DEVICESCAN -m root -M test -M exec /usr/share/smartmontools/smartd-runner

Esta línea añade la opción -M test, la cual generará un erro de prueba, y nos permitirá comprobar el buen funcionamiento del notificador. Ahora reiniciamos el demonio:

  >> sudo /etc/init.d/smartmontools restart

Y nos debería de salir una ventana informando del test. Ahora que ya lo hemos probado tendremos que quitar la opción -M test del fichero /etc/smartd.conf que habíamos añadido antes.

Origen

Medición de la velocidad de lectura de un disco duro

  >> sudo hdparm -t /dev/sdb1
  
  /dev/sdb1:
  Timing buffered disk reads:   12 MB in  3.14 seconds =   3.82 MB/sec

Comprobar un disco duro

Checking disks for errors using the badblocks command

   * badblocks
   * check
   * disk
   * error

For better or worse I’ve been needing to check drives for errors quite a bit recently and have been using the badblocks command to do it. It’s definitely a command that people should become familiar with. Where fsck checks the file system for problems, badblocks attempts to ascertain the status of physical media which can include hard disks, usb drives, and other usb devices such as media players. I’ve compiled a detailed list of commands I’ve been using.

  • Read-only Test

This is a non-destructive read-only test which can be run on disk even if it contains a mounted filesystem. It simply verifies that each block can be read; it does not test for write errors.

   >> sudo badblocks -s -v -c 10240 /dev/sdx
         o -s = show progress
         o -v = verbose mode
         o -c 10240 - check 10K blocks at a time
  • Read-write Test

This test is non-destructive read-write test which reads each block, writes it, then verifies it. It should not be used on block devices with mounted filesystems as it can lead to filesystem corruption.

   >> sudo badblocks -n -s -v -c 10240 /dev/sdx
         o -n = non-destructive read-write mode
         o -s = show progress
         o -v = verbose mode
         o -c 10240 - check 10K blocks at a time
  • Write-mode Test

Using this command will erase all data on the device so only use it if that is what you want. This will write a few patterns to each block, verifying that each one is written and read correctly.

   >> sudo badblocks -w -s -v -c 10240 /dev/sdx
         o -w = destructive write-mode test
         o -s = show progress
         o -v = verbose mode
         o -c 10240 - check 10K blocks at a time
  • Prepare a disk for encryption

The command will completely erase the data on a disk and replace it with random data. This is often a preferred way to prepare a disk for encryption as it is faster than other methods of filling a disk with random data and serves the purpose of checking the disk for errors before the encryption process.

   >> sudo badblocks -w -t random -s -v -c 10240 /dev/sdx
         o -w = destructive write-mode test
         o -t random = write random data onto the disk
         o -s = show progress
         o -v = verbose mode
         o -c 10240 - check 10K blocks at a time

Comprobar una particion

HFS+

  • Instalamos el soporte de hfs+ a fsck:

Si lo tenemos en el repositorio:

  >> sudo aptitude install hfsprogs

Si no lo tenemos en el repositorio:

  >> sudo bash
  >> cd /usr/src
  >> mkdir hfsplus_support
  >> wget  http://darwinsource.opendarwin.org/tarballs/apsl/diskdev_cmds-332.14.tar.gz
  >> wget  http://www.ecl.udel.edu/~mcgee/diskdev_cmds/diskdev_cmds-332.14.patch.bz2
  >> tar zxf diskdev_cmds-332.14.tar.gz
  >> bunzip2 -c diskdev_cmds-332.14.patch.bz2 | patch -p0
  >> cd diskdev_cmds-332.14
  >> make -f Makefile.lnx
  >> cp fsck_hfs.tproj/fsck_hfs /sbin/fsck.hfsplus
  >> cd /sbin
  >> ln -s fsck.hfsplus fsck.hfs
  • Comprobamos la partición:
  >> sudo fsck.hfsplus -r /dev/sda2

NTFS

  >> ntfsresize -P -i -f -v /dev/sda5
  >> ntfsresize -P --force --force /dev/sda5 --no-action
  >> ntfsresize -P --force --force /dev/sda5

Cambiar las etiquetas de las particiones

Cambiar la etiqueta de una particion NTFS

Lo haremos con el programa ntfsprogs. Lo instalamos:

  >> sudo aptitude install ntfsprogs

Ahora para cambiar la etiqueta de una partición /dev/sda1, la desmontaremos primero (si esta montada) y luego le pondremos la etiqueta:

  >> sudo umount /dev/sda1
  >> sudo ntfslabel /dev/sda1 NUEVO_NOMBRE


Cambiar la etiqueta de una particion FAT32

Lo haremos con el programa mtools. Lo instalamos:

  >> sudo aptitude install mtools

Ahora para cambiar la etiqueta de una partición /dev/sda1, la desmontaremos primero (si esta montada) y luego le pondremos la etiqueta:

  >> sudo umount /dev/sda1
  >> sudo mlabel -i /dev/sda1 ::NUEVO_NOMBRE
  • Puede que para instalar bien las mtools, tengamos que hacer lo siguiente:
  >> cp /etc/mtools.conf ~/.mtoolsrc

Le añadimos la siguiente linea al fichero:

  mtools_skip_check=1


Cambiar la etiqueta de una particion EXT2 o EXT3

Para cambiar la etiqueta de una partición /dev/sda1, la desmontaremos primero (si esta montada) y luego le pondremos la etiqueta:

  >> sudo umount /dev/sda1
  >> sudo e2label /dev/sda1 NUEVO_NOMBRE