Actualmente estoy experimentando un comportamiento extraño cuando uso un nuevo disco duro USB externo y creo que el comportamiento está relacionado con un problema de montaje, un problema del sistema de archivos o una falla real del hardware. Debería ayudar a la comunidad si menciono lo que hice para corregir el problema y lo que usé para montar el disco duro USB.
Sistema de archivos
El disco duro USB se formateó en Ubuntu en una máquina virtual en mi máquina con Windows. Luego se trasladó al servidor físico de Ubuntu.
Montaje USB
Instalé USB Mount usando sudo apt-get install usbmount
y luego pude explorar el disco duro y escribir en él a través de /media/usb
.
Todo bien hasta...
Llegué a alrededor de 20 GB en el disco duro, luego de eso recibí fallas a través de FTP al copiar al dispositivo. Ahora el extraño problema es que cuando uso sudo cp filename
y escribo en el dispositivo no obtengo ningún error. Los errores reportados a través de Flashfxp son disco lleno o error de entrada de lectura/escritura.
Usando Pmount
Quitar USBMount y usar Pmount no resuelve el problema, aparte de lo que veo, /media/usb0
en lugar de simplemente /usb/
quitar tanto pmount como usbmount. Todavía puedo ver /media/usb0/
lo que me pareció bastante extraño.
Fdisk informa varios problemas
El siguiente es un informe sobre el uso de fdisk, como puede ver, parece que no tengo un sistema de archivos en sdb, lo cual es extraño ya que puedo verlo. Usando fdisk /dev/sdb/ no puedo ver ninguna partición ni puedo eliminarla, incluso cuando creo una.
simon@Pluto2:/media/usb0$ sudo fdisk -l
Disk /dev/sda: 37.0 GB, 37019566080 bytes 255 heads, 63 sectors/track, 4500 cylinders, total 72303840 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000c5772
Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 501758 72302591 35900417 5 Extended /dev/sda5 501760 72302591 35900416 8e Linux LVM Note: sector size is 4096 (not 512)
Disk /dev/sdb: 2000.4 GB, 2000398929920 bytes 255 heads, 63 sectors/track, 30400 cylinders, total 488378645 sectors Units = sectors of 1 * 4096 = 4096 bytes Sector size (logical/physical): 4096 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x0001b7d6
Device Boot Start End Blocks Id System
Disk /dev/mapper/Pluto2--vg-root: 32.6 GB, 32635879424 bytes 255 heads, 63 sectors/track, 3967 cylinders, total 63741952 sectors Units
= sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
Disk /dev/mapper/Pluto2--vg-root doesn't contain a valid partition table
Disk /dev/mapper/Pluto2--vg-swap_1: 4123 MB, 4123000832 bytes 255 heads, 63 sectors/track, 501 cylinders, total 8052736 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
Disk /dev/mapper/Pluto2--vg-swap_1 doesn't contain a valid partition table
corriendo fsck
Encontré varias guías en línea y una de ellas mencionaba ejecutar fsck... lamentablemente esto hace que el problema sea mucho más confuso para mí.
simon@Pluto2:/media/usb0$ sudo fsck /dev/sdb
fsck from util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
or
e2fsck -b 32768 <device>
Ejecutando e2fsck -b 8193 y -b 32768
simon@Pluto2:/media/usb0$ sudo e2fsck -b 32768 /dev/sdb
e2fsck 1.42.9 (4-Feb-2014)
e2fsck: Bad magic number in super-block while trying to open /dev/sdb
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
or
e2fsck -b 32768 <device>
Ejecutando smartctl -i
simon@Pluto2:/media/usb0$ sudo smartctl -d sat -i /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.14 (AF)
Device Model: ST2000DM001-1CH164
Serial Number: XXXXXXXXXX
LU WWN Device Id: 5 000c50 06636209d
Firmware Version: CC49
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 7200 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Tue Dec 9 21:31:44 2014 GMT
==> WARNING: A firmware update for this drive is available,
see the following Seagate web pages:
http://knowledge.seagate.com/articles/en_US/FAQ/207931en
http://knowledge.seagate.com/articles/en_US/FAQ/223651en
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Ejecutando smartctl -d sat -t short /dev/sdb
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 258
Marca de menos de 20 GB
También vale la pena mencionar que si elimino 5 GB de datos, puedo escribir otros 5 GB en el dispositivo sin problemas... es solo cuando la unidad se acostumbra hasta cierto punto, lo que podría indicar sectores defectuosos, pero entonces esperaría poder hacerlo. ejecutar varias herramientas en el dispositivo.
Respuesta1
Su disco duro tiene un problema en uno de sus sectoresy es necesario solucionar el problema del disco duroantesintentas reutilizarlo.
Todo lo que has hecho hasta ahora es ejecutar herramientas de reparación del sistema de archivos.que todos asumen que tienen un buen disco duro con el que trabajar
Si usteden realidadSi sospecha que hay una falla en el disco duro (que es lo que parece), debe ejecutarbadblocks
En este caso, no lo ejecutaría en una partición, sino en todo el disco y realizaría una prueba destructiva (si es posible).
Antes de ejecutar el siguiente comando leaman badblocks
badblocks está un nivel por encima del formateo de bajo nivel de un disco y un nivel por debajo del formato FS.
Lo que haría es moverlo a una máquina física (no a una VM) y: umount /dev/usb0&&badblocks /dev/usb0 -s -v -w
¿dónde usb0
está el nombre del dispositivo de la unidad?
El comando anterior pondrá en marcha la tecnología SMART de su unidad para intercambiar los sectores defectuosos si es posible (y si SMART no hace nada, la salida de los bloques defectuosos se puede utilizar como entrada para mke2fs
)
Volviendo a leer toda la conversación nuevamente:
Es una unidad nueva: ¡devuélvela y cámbiala por otra!Respuesta2
¿La unidad funciona normalmente en otras computadoras o Windows? ¿Puedes leer y escribir en todo el disco?
He usado "casos" de unidades USB externas antes, donde conectas una unidad HD o cd/dvd, Ubuntu (Linux Mint) generalmente ve los HD como /dev/sdc (por ejemplo) como una unidad normal. No es necesario usbmount
o pmount
, pero tal vez el tuyo sea más nuevo o extraño de alguna manera. ¿Hay otros con exactamente el mismo disco que puedan (o no) usarlo con Linux (Ubuntu, Debian, cualquiera)?
De todos modos, cuando se monta, ¿cuál es el formato de la unidad? Échale un vistazo con mount
&/o lsblk
.
¿Algún MBR o GPT? Está ejecutando fsck en el dispositivo "completo" /dev/sdb y no en una partición como /dev/sdb1 (pero fdisk no parece ver ninguna partición de todos modos), pero no puede ver ningún FS ext2/3/4 allí . ¿Fsck todavía se resiste cuando se usa en /dev/sdb1? Y, en general, es mejor ejecutarlo fsck
en particiones no montadas.
Con un disco duro USB, es difícil saber si se trata de un problema de software/controlador, o del disco duro en sí, o de la "carcasa" externa, o del cable, concentrador o enchufe USB...
Nueva información: es posible que haya pasado por alto (casi TL;DR ;-) una información potencialmente interesante:
El disco duro USB se formateó en Ubuntu en una máquina virtual en mi máquina con Windows
No he tenido buena suerte con las VM y el USB (ni con ningún acceso directo al hardware) ya que todo pasa por el programa VM, lo que parece un gran sospechoso en el comportamiento extraño...
Respuesta3
Como una buena alternativa a badblocks, puedes probar diskscan (desde la terminal:apt-get install diskscan). Mide el tiempo de latencia de los sectores de lectura y también informa de sectores defectuosos. Cuanto mayor sea el tiempo de latencia, mayor será la probabilidad de que se produzca un error.