Мой твердотельный накопитель Samsung 970 EVO M.2 500 ГБ (MZ-V7E500BW) вчера внезапно вышел из строя из-за отключения электроэнергии.
Теперь у меня появляется предупреждение во время POST («ВНИМАНИЕ! Пожалуйста, сделайте резервную копию данных и замените жесткий диск. ВНИМАНИЕ! Ваш HDD/SSD может выйти из строя в любой момент»). В последний раз я перезагружался до этого примерно 5 дней назад, и тогда предупреждения не было.
Загрузив живую USB-флешку, мне удалось проверить журнал SMART:
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning : 0x8
temperature : 49 C
available_spare : 29%
available_spare_threshold : 10%
percentage_used : 0%
endurance group critical warning summary: 0
data_units_read : 4,948,748
data_units_written : 20,573,476
host_read_commands : 100,316,217
host_write_commands : 357,643,056
controller_busy_time : 1,790
power_cycles : 24
power_on_hours : 4,570
unsafe_shutdowns : 11
media_errors : 41
num_err_log_entries : 70
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 49 C
Temperature Sensor 2 : 74 C
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0
Сообщения ядра, упоминающие nvme
во время запуска ОС Live USB:
Oct 26 19:18:58 ubuntu kernel: [ 1.233479] nvme nvme0: pci function 0000:06:00.0
Oct 26 19:18:58 ubuntu kernel: [ 1.243303] nvme nvme0: missing or invalid SUBNQN field.
Oct 26 19:18:58 ubuntu kernel: [ 1.243323] nvme nvme0: Shutdown timeout set to 8 seconds
Oct 26 19:18:58 ubuntu kernel: [ 1.252449] nvme nvme0: 4/0/0 default/read/poll queues
Oct 26 19:18:58 ubuntu kernel: [ 1.254855] nvme0n1: p1 p2 p3
Oct 26 19:18:58 ubuntu kernel: [ 3.629244] EXT4-fs (nvme0n1p2): INFO: recovery required on readonly filesystem
Oct 26 19:18:58 ubuntu kernel: [ 3.629246] EXT4-fs (nvme0n1p2): write access will be enabled during recovery
Oct 26 19:18:58 ubuntu kernel: [ 3.674861] blk_update_request: critical medium error, dev nvme0n1, sector 124928 op 0x1:(WRITE) flags 0x800 phys_seg 4 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.674893] Buffer I/O error on dev nvme0n1p2, logical block 0, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.674913] Buffer I/O error on dev nvme0n1p2, logical block 1, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.674931] Buffer I/O error on dev nvme0n1p2, logical block 2, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.674949] Buffer I/O error on dev nvme0n1p2, logical block 3, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.674967] blk_update_request: critical medium error, dev nvme0n1, sector 133200 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.674995] Buffer I/O error on dev nvme0n1p2, logical block 1034, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.675013] blk_update_request: critical medium error, dev nvme0n1, sector 133384 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.675040] Buffer I/O error on dev nvme0n1p2, logical block 1057, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.675059] blk_update_request: critical medium error, dev nvme0n1, sector 147176 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.675086] Buffer I/O error on dev nvme0n1p2, logical block 2781, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.675105] blk_update_request: critical medium error, dev nvme0n1, sector 4319360 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.675132] Buffer I/O error on dev nvme0n1p2, logical block 524304, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.675151] blk_update_request: critical medium error, dev nvme0n1, sector 4319488 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.675178] Buffer I/O error on dev nvme0n1p2, logical block 524320, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.675197] blk_update_request: critical medium error, dev nvme0n1, sector 4319544 op 0x1:(WRITE) flags 0x800 phys_seg 2 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.675224] Buffer I/O error on dev nvme0n1p2, logical block 524327, lost async page write
Oct 26 19:18:58 ubuntu kernel: [ 3.675243] blk_update_request: critical medium error, dev nvme0n1, sector 4319816 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.675270] blk_update_request: critical medium error, dev nvme0n1, sector 4320256 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.675297] blk_update_request: critical medium error, dev nvme0n1, sector 4320936 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
Oct 26 19:18:58 ubuntu kernel: [ 3.729319] EXT4-fs (nvme0n1p2): error loading journal
Oct 26 19:18:58 ubuntu kernel: [ 3.743157] EXT4-fs (nvme0n1p3): INFO: recovery required on readonly filesystem
Oct 26 19:18:58 ubuntu kernel: [ 3.743158] EXT4-fs (nvme0n1p3): write access will be enabled during recovery
Oct 26 19:18:58 ubuntu kernel: [ 3.806113] EXT4-fs (nvme0n1p3): error loading journal
Oct 26 19:19:04 ubuntu kernel: [ 30.724414] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Oct 26 19:19:04 ubuntu kernel: [ 30.752254] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Oct 26 19:19:05 ubuntu kernel: [ 31.346630] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Oct 26 19:19:05 ubuntu kernel: [ 31.365831] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Oct 26 19:19:29 ubuntu kernel: [ 55.502099] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Oct 26 19:19:29 ubuntu kernel: [ 55.516704] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Oct 26 19:24:44 ubuntu kernel: [ 370.116101] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Oct 26 19:24:44 ubuntu kernel: [ 370.130330] blk_update_request: critical medium error, dev nvme0n1, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
Спасибо, ddrescue
мне удалось клонировать все его разделы на другую машину по сети. Были ошибки ввода-вывода при извлечении обоих разделов ext4, но с достаточным количеством повторных попыток он в конечном итоге получил все.
После этого я смог запустить e2fsck
образы, что, похоже, удалось, и теперь я могу монтировать их как устройства loop только для чтения. Данные, похоже, не повреждены.
Я полагаю, что первый вопрос:Могу ли я что-нибудь сделать, чтобы исправить проблему и продолжить использовать этот диск?Я предполагаю, что нет, но я определенно открыт для предложений.
Если я попытаюсь запустить fsck
один из разделов с Live USB, вот что произойдет. Я перепробовал все комбинации ответов на вопросы, которые вы увидите ниже. Я не могу понять достаточно страниц руководства и не знаю достаточно о файловых системах или дисках, чтобы знать, какие варианты, если таковые имеются, могут мне помочь.
ubuntu@ubuntu:~$ sudo fsck /dev/nvme0n1p3
fsck from util-linux 2.36.1
e2fsck 1.46.3 (27-Jul-2021)
/dev/nvme0n1p3: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? yes
fsck.ext4: Input/output error while recovering journal of /dev/nvme0n1p3
fsck.ext4: unable to set superblock flags on /dev/nvme0n1p3
/dev/nvme0n1p3: ********** WARNING: Filesystem still has errors **********
ubuntu@ubuntu:~$ sudo fsck /dev/nvme0n1p3
fsck from util-linux 2.36.1
e2fsck 1.46.3 (27-Jul-2021)
/dev/nvme0n1p3: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
fsck.ext4: Input/output error while recovering journal of /dev/nvme0n1p3
fsck.ext4: unable to set superblock flags on /dev/nvme0n1p3
/dev/nvme0n1p3: ********** WARNING: Filesystem still has errors **********
ubuntu@ubuntu:~$ sudo fsck /dev/nvme0n1p3
fsck from util-linux 2.36.1
e2fsck 1.46.3 (27-Jul-2021)
/dev/nvme0n1p3: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? yes
fsck.ext4: Input/output error while recovering journal of /dev/nvme0n1p3
fsck.ext4: unable to set superblock flags on /dev/nvme0n1p3
/dev/nvme0n1p3: ********** WARNING: Filesystem still has errors **********
ubuntu@ubuntu:~$
Я полагаю, что диск все еще находится на гарантии, и я пытаюсь связаться со службой поддержки Samsung, чтобы попытаться получить замену или возврат денег.
Если они попросят меня отправить его обратно, это создаст проблему, поскольку на этом диске находятся конфиденциальные данные.
Диск сопротивляется всем попыткам записи на него. Я не могу его смонтировать и нормально записать на него. Ядро выдает ошибки ввода-вывода, если я пытаюсь записать на него на уровне блоков. Даже безопасный инструмент стирания Samsung (их программное обеспечение только для Windows предлагает создать загрузочный USB-накопитель с таким инструментом) не срабатывает.
Есть ли способ принудительного безопасного стирания данных с этого устройства?
решение1
Вы никогда не бываете слишком осторожны: мне удалось получить много файлов из файловой системы, атакованной вирусом Чернобыль!
Чтобы стереть данные, вы можете сделать это, dd bs=1M if=/dev/zero of=/dev/…
но если процесс где-то остановится, вам, возможно, придется перезапустить его с skip
опцией и пропустить некоторые блоки.
С NVRAM это не может стереть некоторые блоки, но перераспределяет некоторые... но нам понадобится действительно низкоуровневый доступ, чтобы получить нестертые блоки. Подходит для личных конфиденциальных данных, но не для военных секретных данных!