이상한 USB 하드 드라이브 동작

이상한 USB 하드 드라이브 동작

현재 새로운 외장 USB 하드 드라이브를 사용할 때 이상한 동작이 발생하는데, 이는 마운트 문제, 파일 시스템 문제 또는 실제 하드웨어 오류와 관련된 것으로 생각됩니다. 문제를 해결하기 위해 수행한 작업과 USB 하드 드라이브를 마운트하는 데 사용한 작업을 언급하면 ​​커뮤니티에 도움이 될 것입니다.

파일 시스템

USB 하드 드라이브는 내 Windows 컴퓨터의 VM에서 Ubuntu로 포맷되었습니다. 그런 다음 나중에 실제 우분투 서버로 옮겨졌습니다.

USB 마운트

USB 마운트를 설치한 sudo apt-get install usbmount/media/usb.

다 괜찮을 때까지...

장치에 복사할 때 FTP를 통해 오류가 발생한 후 하드 드라이브가 약 20GB에 도달했습니다. 이제 이상한 문제는 sudo cp filename장치를 사용하고 쓸 때 오류가 전혀 발생하지 않는다는 것입니다. Flashfxp를 통해 보고된 오류는 디스크가 꽉 찼거나 오류 읽기/쓰기 입력 오류입니다.

Pmount 사용

/media/usb0USBMount를 제거하고 Pmount를 사용해도 pmount와 usbmount를 모두 제거하는 것보다 내가 본 것 외에는 문제가 해결되지 않습니다. 여전히 꽤 이상하다고 생각되는 부분을 /usb/볼 수 있습니다 ./media/usb0/

Fdisk에서 몇 가지 문제를 보고합니다.

아래는 fdisk를 사용한 보고서입니다. sdb에 파일 시스템이 없는 것처럼 보이는데, 제가 볼 때 이상합니다. fdisk /dev/sdb/를 사용하면 파티션을 만들 때에도 파티션을 볼 수 없고 삭제할 수도 없습니다.

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

fsck 실행 중

온라인에서 여러 가이드를 찾았는데 그 중 하나가 fsck를 실행하라고 언급했습니다. 안타깝게도 이로 인해 문제가 훨씬 더 혼란스러워졌습니다.

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>

e2fsck -b 8193 및 -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>

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

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

20GB 이하

5GB의 데이터를 삭제하면 문제 없이 장치에 5GB를 더 쓸 수 있다는 점도 언급할 가치가 있습니다. 이는 드라이브가 불량 섹터를 나타낼 수 있는 특정 지점에 익숙해졌을 때만 가능하지만 그럴 수 있을 것으로 예상됩니다. 장치에서 다양한 도구를 실행합니다.

답변1

하드 디스크 자체의 섹터 중 하나에 문제가 있습니다.하드 디스크 문제를 해결해야 합니다~ 전에다시 사용하려고 합니다.

지금까지 수행한 작업은 파일 시스템 복구 도구를 실행하는 것뿐입니다.모두 작업하기에 좋은 하드 드라이브가 있다고 가정합니다.

만약 너라면정말하드 드라이브 오류가 의심되는 경우(이는 다음과 같습니다) 다음을 실행해야 합니다.badblocks

이 경우에는 파티션이 아닌 전체 드라이브에서 실행하고 (가능한 경우) 파괴적인 테스트를 수행합니다.

다음 명령을 실행하기 전에 읽어보십시오.man badblocks

badblocks는 디스크를 포맷하는 하위 수준보다 한 수준 높고 FS 형식보다 한 수준 낮습니다.

내가 할 일은 그것을 물리적 머신(VM이 아님)으로 옮기는 것입니다. 그리고 드라이브의 장치 이름은 umount /dev/usb0&&badblocks /dev/usb0 -s -v -w어디에 있습니까?usb0

위 명령은 가능한 경우 불량 섹터를 교체하기 위해 드라이브의 SMART 기술을 시작합니다(그리고 SMART가 아무 작업도 수행하지 않는 경우 불량 블록의 출력을 에 대한 입력으로 사용할 수 있습니다 mke2fs).

전체 대화를 다시 읽어보세요.

새 드라이브입니다. 반품하고 다른 드라이브로 교체하세요!

답변2

다른 컴퓨터나 Windows에서는 드라이브가 정상적으로 작동합니까? 전체 드라이브를 읽고 쓸 수 있나요?

이전에 HD 또는 CD/DVD 드라이브를 연결하는 외부 USB 드라이브 "케이스"를 사용한 적이 있습니다. Ubuntu(Linux Mint)는 일반적으로 HD를 일반 드라이브처럼 /dev/sdc(예:)로 간주합니다. usbmount또는 이 필요하지 않지만 pmount어쩌면 귀하의 것이 더 새롭거나 이상할 수도 있습니다. Linux(Ubuntu, debian 등)에서 동일한 드라이브를 사용할 수 있는(또는 사용할 수 없는) 다른 사람이 있습니까?

어쨌든 마운트되면 드라이브의 형식은 무엇입니까? mount&/또는 를 살펴보세요 lsblk.

MBR이나 GPT가 있나요? /dev/sdb1과 같은 파티션이 아닌 "전체" 장치 /dev/sdb에서 fsck를 실행하고 있지만(그러나 fdisk는 어쨌든 어떤 파티션도 볼 수 없는 것 같습니다) 거기에서는 ext2/3/4 FS를 볼 수 없습니다. . fsck를 /dev/sdb1에서 사용할 때 여전히 작동이 중단됩니까? 그리고 일반적으로 fsck마운트되지 않은 파티션에서 실행하는 것이 가장 좋습니다.

USB 하드 드라이브의 경우 소프트웨어/드라이버 문제인지, HD 자체 문제인지, 외부 '케이스' 문제인지, USB 코드나 허브나 플러그 문제인지 구분하기 어렵습니다.


새로운 정보: 잠재적으로 흥미로운 정보를 간과했을 수 있습니다(거의 TL;DR ;-).

USB 하드 드라이브가 내 Windows 컴퓨터의 VM에서 Ubuntu로 포맷되었습니다.

모든 것이 VM 프로그램을 통과하기 때문에 VM과 USB(또는 하드웨어에 대한 직접 액세스)에 행운이 없었습니다. 이상한 행동의 큰 용의자처럼 보입니다.

답변3

불량 블록에 대한 좋은 대안으로 diskscan을 사용해 볼 수 있습니다(terminal:apt-get install diskscan에서). 읽기 섹터의 대기 시간을 측정하고 불량 섹터도 보고합니다. 대기 시간이 길수록 오류가 발생할 확률이 높아집니다.

관련 정보