Обновления

Обновления

Я попытался перезагрузить машину с версией 18.04 LTS, но она не отреагировала, поэтому, подождав несколько минут, я выключил и снова включил машину.

Машина запустилась нормально, но я обнаружил, что некоторые из недавно отредактированных файлов теперь пусты. Это касается как минимум 5 известных случаев, включая текстовые файлы, системный файл и файлы глубоко в папке .git.

  • Является ли эта файловая система фатально поврежденной и небезопасной для использования?
  • Как узнать, является ли это аппаратной проблемой?
  • Это известный риск, связанный только с выключением и включением питания Ubuntu?

Дополнительная информация:

  • Диск — Samsung 970 Pro
  • Ubuntu установлен на разделе Ext4 (двойная загрузка с Windows)
  • Disksне могу восстановить загрузочный диск (он занят) нужна флешка Live USB
  • smartctlсообщается следующее:

Обновления

  • запуск sudo touch /forcefsck;sudo shutdown -r nowне производил визуальной проверки диска
  • Используя живой диск, Disksпроверка показывает, что раздел не поврежден
  • запуск fsck -f /dev/nvme0n1p5с живого диска не возвращает ошибок, код выхода = 0
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.0.0-36-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       Samsung SSD 970 PRO 1TB
Serial Number:                      S462NF0M616954M
Firmware Version:                   1B2QEXP7
PCI Vendor/Subsystem ID:            0x144d
IEEE OUI Identifier:                0x002538
Total NVM Capacity:                 1,024,209,543,168 [1.02 TB]
Unallocated NVM Capacity:           0
Controller ID:                      4
Number of Namespaces:               1
Namespace 1 Size/Capacity:          1,024,209,543,168 [1.02 TB]
Namespace 1 Utilization:            691,389,394,944 [691 GB]
Namespace 1 Formatted LBA Size:     512
Local Time is:                      Sun Nov 17 01:01:26 2019 GMT
Firmware Updates (0x16):            3 Slots, no Reset required
Optional Admin Commands (0x0037):   Security Format Frmw_DL *Other*
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *Other*
Maximum Data Transfer Size:         512 Pages
Warning  Comp. Temp. Threshold:     81 Celsius
Critical Comp. Temp. Threshold:     81 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     6.20W       -        -    0  0  0  0        0       0
 1 +     4.30W       -        -    1  1  1  1        0       0
 2 +     2.10W       -        -    2  2  2  2        0       0
 3 -   0.0400W       -        -    3  3  3  3      210    1200
 4 -   0.0050W       -        -    4  4  4  4     2000    8000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02, NSID 0x1)
Critical Warning:                   0x00
Temperature:                        36 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    1,662,255 [851 GB]
Data Units Written:                 5,875,310 [3.00 TB]
Host Read Commands:                 20,271,726
Host Write Commands:                90,120,020
Controller Busy Time:               335
Power Cycles:                       95
Power On Hours:                     515
Unsafe Shutdowns:                   4
Media and Data Integrity Errors:    0
Error Information Log Entries:      105
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               36 Celsius
Temperature Sensor 2:               39 Celsius

Error Information (NVMe Log 0x01, max 64 entries)
No Errors Logged

решение1

Причина этого в функции файловой системы EXT4, которая называется «отложенное распределение». Отложенное распределение было добавлено в EXT4 из соображений производительности, когда данные НЕ фиксируются на диске немедленно. Это дает большой прирост производительности за счет большой вероятности полной потери данных незафиксированных файлов при отключении питания. Иногда задержка может составлять несколько секунд, и отключение питания приведет к тому, что незафиксированные файлы будут отображаться как имеющие размер 0 байт. Я полагаю, что вы столкнулись с этим.

Вам необходимо тщательно выбирать параметры монтирования файловой системы в записях /etc/fstab. Например, data=journalопция позволяет зафиксировать все данные в журнале до записи в основную файловую систему, а также отключает функцию отложенного выделения.

Вы можете прочитать основные сведения о флагах EXT4здесьи все вариантыздесь. Есть хорошее обсуждение этих вариантов вэта тематакже.

Связанный контент