SSD를 탑재할 수 없음: 슈퍼 블록이 불량하지만 불량 블록이 없음: 쓰기 오류

SSD를 탑재할 수 없음: 슈퍼 블록이 불량하지만 불량 블록이 없음: 쓰기 오류

방금 SDD를 SSD로 사용하고 있다는 것을 알았습니다. 수정됨

이 상황을 설명하는 데 도움이 필요합니다. /dev/sda백업된 데이터 디스크이고 재현 가능한 데이터가 있으므로 시스템에 중요하지는 않지만 데이터를 복구/재구축하는 노력을 피하고 싶습니다. 그 중 일부는 시간이 많이 소요됩니다.

복원/수리가 가능한가요?

그렇다면 어떻게? 재사용을 위해 디스크를 지운 경우 디스크는 얼마나 안정적인가요?

요약(자세한 보고서는 아래 참조):

  • 설치할 수 없음: 잘못된 슈퍼블록
  • badblocks 불량 블록이 발견되지 않았습니다.
  • smartctl은 오류를 보고하지 않습니다.
  • fsck는 슈퍼블록 플래그를 설정할 수 없습니다.
  • fdisk는 깨끗한 파티션을 보여줍니다
  • dmesg에 쓰기 오류가 표시됩니다.
  • parted는 1TB 드라이브에 792GB의 여유 공간을 표시합니다.

아래와 같이 SSD 마운트가 실패합니다.

 [stephen@meer ~]$ sudo mount /dev/sda1 /mnt/sda
 mount: /mnt/sda: can't read superblock on /dev/sda1.
        dmesg(1) may have more information after failed mount system call.
 [stephen@meer ~]$ 
 

하지만 배드블록은 배드블록을 찾지 못했습니다.

 [root@meer stephen]# badblocks -v /dev/sda1              
 Checking blocks 0 to 976760831
 Checking for bad blocks (read-only test): done                                                 
 Pass completed, 0 bad blocks found. (0/0/0 errors)

하지만 smartctl은 오류를 찾지 못합니다.

 [root@meer stephen]# smartctl -a /dev/sda 
 smartctl 7.3 2022-02-28 r5338 [x86_64-linux-5.17.9-arch1-1] (local build)
 Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
 
 === START OF INFORMATION SECTION ===
 Model Family:     WD Blue / Red / Green SSDs
 Device Model:     WDC  WDS100T2B0A-00SM50
 Serial Number:    213159800516
 LU WWN Device Id: 5 001b44 8bc4fdc6e
 Firmware Version: 415020WD
 User Capacity:    1,000,204,886,016 bytes [1.00 TB]
 Sector Size:      512 bytes logical/physical
 Rotation Rate:    Solid State Device
 Form Factor:      2.5 inches
 TRIM Command:     Available, deterministic, zeroed
 Device is:        In smartctl database 7.3/5319
 ATA Version is:   ACS-4 T13/BSR INCITS 529 revision 5
 SATA Version is:  SATA 3.3, 6.0 Gb/s (current: 1.5 Gb/s)
 Local Time is:    Tue May 24 16:06:23 2022 PDT
 SMART support is: Available - device has SMART capability.
 SMART support is: Enabled
 
 === START OF READ SMART DATA SECTION ===
 SMART overall-health self-assessment test result: PASSED
 
 General SMART Values:
 Offline data collection status:  (0x00)    Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
 Self-test execution status:      (   0)    The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
 Total time to complete Offline 
 data collection:       (    0) seconds.
 Offline data collection
 capabilities:           (0x11) SMART execute Offline immediate.
                    No Auto Offline data collection support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    No Selective Self-test supported.
 SMART capabilities:            (0x0003)    Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
 Error logging capability:        (0x01)    Error logging supported.
                    General Purpose Logging supported.
 Short self-test routine 
 recommended polling time:   (   2) minutes.
 Extended self-test routine
 recommended polling time:   (  10) minutes.
 
 SMART Attributes Data Structure revision number: 4
 Vendor Specific SMART Attributes with Thresholds:
 ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
   5 Reallocated_Sector_Ct   0x0032   100   100   ---    Old_age   Always       -       124
   9 Power_On_Hours          0x0032   100   100   ---    Old_age   Always       -       1470
  12 Power_Cycle_Count       0x0032   100   100   ---    Old_age   Always       -       134
 165 Block_Erase_Count       0x0032   100   100   ---    Old_age   Always       -       4312400063
 166 Minimum_PE_Cycles_TLC   0x0032   100   100   ---    Old_age   Always       -       1
 167 Max_Bad_Blocks_per_Die  0x0032   100   100   ---    Old_age   Always       -       65
 168 Maximum_PE_Cycles_TLC   0x0032   100   100   ---    Old_age   Always       -       14
 169 Total_Bad_Blocks        0x0032   100   100   ---    Old_age   Always       -       630
 170 Grown_Bad_Blocks        0x0032   100   100   ---    Old_age   Always       -       124
 171 Program_Fail_Count      0x0032   100   100   ---    Old_age   Always       -       128
 172 Erase_Fail_Count        0x0032   100   100   ---    Old_age   Always       -       0
 173 Average_PE_Cycles_TLC   0x0032   100   100   ---    Old_age   Always       -       2
 174 Unexpected_Power_Loss   0x0032   100   100   ---    Old_age   Always       -       90
 184 End-to-End_Error        0x0032   100   100   ---    Old_age   Always       -       0
 187 Reported_Uncorrect      0x0032   100   100   ---    Old_age   Always       -       0
 188 Command_Timeout         0x0032   100   100   ---    Old_age   Always       -       64
 194 Temperature_Celsius     0x0022   070   053   ---    Old_age   Always       -       30 (Min/Max 18/53)
 199 UDMA_CRC_Error_Count    0x0032   100   100   ---    Old_age   Always       -       0
 230 Media_Wearout_Indicator 0x0032   001   001   ---    Old_age   Always       -       0x002600140026
 232 Available_Reservd_Space 0x0033   097   097   004    Pre-fail  Always       -       97
 233 NAND_GB_Written_TLC     0x0032   100   100   ---    Old_age   Always       -       2703
 234 NAND_GB_Written_SLC     0x0032   100   100   ---    Old_age   Always       -       2842
 241 Host_Writes_GiB         0x0030   253   253   ---    Old_age   Offline      -       466
 242 Host_Reads_GiB          0x0030   253   253   ---    Old_age   Offline      -       622
 244 Temp_Throttle_Status    0x0032   000   100   ---    Old_age   Always       -       0
 
 SMART Error Log Version: 1
 No Errors Logged
 
 SMART Self-test log structure revision number 1
 Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
 # 1  Extended offline    Completed without error       00%      1470         -
 
 Selective Self-tests/Logging not supported
 
 

fsck는 다음과 같이 실패합니다.

 [root@meer ~]# e2fsck -cfpv /dev/sda1
 /dev/sda1: recovering journal
 e2fsck: Input/output error while recovering journal of /dev/sda1
 e2fsck: unable to set superblock flags on /dev/sda1
 
 
 /dev/sda1: ********** WARNING: Filesystem still has errors **********
 
 
 
 
 
 May 24 15:38:29 meer kernel: I/O error, dev sda, sector 121899008 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
 May 24 15:38:29 meer kernel: sd 2:0:0:0: [sda] tag#31 CDB: Write(10) 2a 00 07 44 08 00 00 00 08 00
 May 24 15:38:29 meer kernel: sd 2:0:0:0: [sda] tag#31 Add. Sense: Unaligned write command
 May 24 15:38:29 meer kernel: sd 2:0:0:0: [sda] tag#31 Sense Key : Illegal Request [current] 
 May 24 15:38:29 meer kernel: sd 2:0:0:0: [sda] tag#31 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
 May 24 15:38:29 meer kernel: ata3.00: configured for UDMA/33
 May 24 15:38:29 meer kernel: ata3.00: error: { ABRT }
 May 24 15:38:29 meer kernel: ata3.00: status: { DRDY ERR }
 May 24 15:38:29 meer kernel: ata3.00: cmd ca/00:08:00:08:44/00:00:00:00:00/e7 tag 31 dma 4096 out
                                       res 51/04:08:00:08:44/00:00:07:00:00/e7 Emask 0x1 (device error)
 May 24 15:38:29 meer kernel: ata3.00: failed command: WRITE DMA
 May 24 15:38:29 meer kernel: ata3.00: irq_stat 0x40000001
 May 24 15:38:29 meer kernel: ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 May 24 15:38:29 meer kernel: ata3: EH complete
 May 24 15:38:29 meer kernel: ata3.00: configured for UDMA/33
 May 24 15:38:29 meer kernel: ata3.00: error: { ABRT }
 May 24 15:38:29 meer kernel: ata3.00: status: { DRDY ERR }
 May 24 15:38:29 meer kernel: ata3.00: cmd ca/00:08:00:08:44/00:00:00:00:00/e7 tag 6 dma 4096 out
                                       res 51/04:08:00:08:44/00:00:07:00:00/e7 Emask 0x1 (device error)
 May 24 15:38:29 meer kernel: ata3.00: failed command: WRITE DMA
 May 24 15:38:29 meer kernel: ata3.00: irq_stat 0x40000001
 May 24 15:38:29 meer kernel: ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 

fdisk가 본 파티션.

 Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
 Disk model: WDC  WDS100T2B0A
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disklabel type: gpt
 Disk identifier: 3F701164-2CF8-6D48-A94E-478634C140BE
 
 Device     Start        End    Sectors   Size Type
 /dev/sda1   2048 1953523711 1953521664 931.5G Linux filesystem

dmesg에서

 [ 5292.895300] ata3.00: configured for UDMA/33
 [ 5292.895315] ata3: EH complete
 [ 5293.021851] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 [ 5293.021859] ata3.00: irq_stat 0x40000001
 [ 5293.021864] ata3.00: failed command: WRITE DMA
 [ 5293.021866] ata3.00: cmd ca/00:08:00:08:44/00:00:00:00:00/e7 tag 18 dma 4096 out
                         res 51/04:08:00:08:44/00:00:07:00:00/e7 Emask 0x1 (device error)
 [ 5293.021874] ata3.00: status: { DRDY ERR }
 [ 5293.021877] ata3.00: error: { ABRT }

분리된:

 root@meer stephen]# parted /dev/sda
 GNU Parted 3.5
 Using /dev/sda
 Welcome to GNU Parted! Type 'help' to view a list of commands.
 (parted) print free                                                       
 Model: ATA WDC WDS100T2B0A (scsi)
 Disk /dev/sda: 1000GB
 Sector size (logical/physical): 512B/512B
 Partition Table: gpt
 Disk Flags: 
 
 Number  Start   End     Size    File system  Name  Flags
         17.4kB  1049kB  1031kB  Free Space
  1      1049kB  1000GB  1000GB  ext4
         1000GB  1000GB  729kB   Free Space
 

답변1

이 디스크로 무엇을 했는지는 모르겠지만, 정말 말도 안되는 숫자입니다! SSD의 출력을 봅니다.

  • 1470시간(61일)
  • 4312400063(2.0GiB) 블록 삭제 수행됨
  • 163210068006(76TiB) 미디어가 기록되었습니다.

쓰기 속도는 61일 동안 초당 16MiB로 일정했습니다.

내부 NAND 오류가 발생한 것 같습니다. 데이터를 다시 가져오지 못할 수도 있습니다.

최선의 해결책은 일종의 RAID 미러링을 사용하여 여러 디스크 간의 오류를 버퍼링하는 것입니다.

이상적으로는 수명이 다르거나 생산 배치가 다른 두 개의 디스크를 사용하여 여러 디스크에 걸쳐 오류 및 실패의 분포를 분산시키려고 합니다.

명확히 말하자면, 아주 짧은 기간 동안 쓰기량이 비정상적으로 높았던 것 같습니다. 사용하는 스토리지 설정에서 이를 고려해야 합니다.

관련 정보