LINUX.ORG.RU

Проблема с NVME в Alpine Linux на HP Microserver Gen8

 , ,


0

2

Всем привет!

Имеется железка:

07:00.0 Non-Volatile memory controller: Sandisk Corp SanDisk Ultra 3D / WD Blue SN570 NVMe SSD (DRAM-less)

которую засунул через pci-e-переходник в сервер HP Microserver G8.

Система (Alpine Linux), её определяет:

NAME                                 MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
nvme0n1                              259:0    0 931.5G  0 disk
# nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning                        : 0
temperature                             : 37 °C (310 K)
available_spare                         : 100%
available_spare_threshold               : 10%
percentage_used                         : 0%
endurance group critical warning summary: 0
Data Units Read                         : 420 (215.04 MB)
Data Units Written                      : 0 (0.00 B)
host_read_commands                      : 7199
host_write_commands                     : 2053
controller_busy_time                    : 63
power_cycles                            : 7
power_on_hours                          : 955
unsafe_shutdowns                        : 5
media_errors                            : 0
num_err_log_entries                     : 2126
Warning Temperature Time                : 0
Critical Composite Temperature Time     : 0
Thermal Management T1 Trans Count       : 0
Thermal Management T2 Trans Count       : 0
Thermal Management T1 Total Time        : 0
Thermal Management T2 Total Time        : 0

# smartctl -A /dev/nvme0n1 
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.59-0-lts] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        37 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    420 [215 MB]
Data Units Written:                 0
Host Read Commands:                 7,199
Host Write Commands:                2,053
Controller Busy Time:               63
Power Cycles:                       7
Power On Hours:                     955
Unsafe Shutdowns:                   5
Media and Data Integrity Errors:    0
Error Information Log Entries:      2,126
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

# nvme fw-log /dev/nvme0
Firmware Log for device:nvme0
afi  : 0x1
frs1 : 0x4457303131343332 (234110WD)

Проблемы начинаются когда пытаюсь разметить диск:

# fdisk /dev/nvme0n1 

Welcome to fdisk (util-linux 2.40.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS (MBR) disklabel with disk identifier 0x5d84c7bb.

Command (m for help): g
Created a new GPT disklabel (GUID: 768BB787-C2C5-40A2-B783-10714D7BD41F).

Command (m for help): n
Partition number (1-128, default 1): 
First sector (2048-1953525134, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525134, default 1953523711): 

Created a new partition 1 of type 'Linux filesystem' and of size 931.5 GiB.

Command (m for help): p
Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: SanDisk Ultra 3D NVMe 1TB               
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: 768BB787-C2C5-40A2-B783-10714D7BD41F

Device         Start        End    Sectors   Size Type
/dev/nvme0n1p1  2048 1953523711 1953521664 931.5G Linux filesystem

Command (m for help): w
fdisk: failed to write disklabel: I/O error

В ядре ошибки:

[ 2298.492689] nvme0n1: I/O Cmd(0x1) @ LBA 1953525128, 40 blocks, I/O Error (sct 0x0 / sc 0x4) MORE 
[ 2298.492700] I/O error, dev nvme0n1, sector 1953525128 op 0x1:(WRITE) flags 0x800 phys_seg 5 prio class 2
[ 2298.492704] buffer_io_error: 121 callbacks suppressed
[ 2298.492706] Buffer I/O error on dev nvme0n1, logical block 244190641, lost async page write
[ 2298.492717] Buffer I/O error on dev nvme0n1, logical block 244190642, lost async page write
[ 2298.492720] Buffer I/O error on dev nvme0n1, logical block 244190643, lost async page write
[ 2298.492722] Buffer I/O error on dev nvme0n1, logical block 244190644, lost async page write
[ 2298.492725] Buffer I/O error on dev nvme0n1, logical block 244190645, lost async page write

Что в данной ситуации можно попробовать? Под рукой нет материнки с M2, чтобы проверить диск без переходника.


Ответ на: комментарий от shalom_

Шил через fptw64

https://tachytelic.net/2023/03/hp-elitedesk-800-g1-nvme-ssd/

Прога сказала что все нормально пошилось, проверку прошла. а мать то окирпичилась xD

p.s решил шить, ибо nvme стал переодично отваливатся. Заменил мать и проблема ушла

linuxuser112
()
Последнее исправление: linuxuser112 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Пока нет возможности, потому что до меня добрался nvme usb-box, в который запихнул сабж. Он заработал на другой системе. Таблица разделов и FS создались, файлы копируются.

Для сервера купил другой nvme диск, другой фирмы размером поменьше и, о чудо, диск с полпинка заработал. Буду переносить ОС на nvme, загрузчик на sd-карту помещу.

santic
() автор топика
Ответ на: комментарий от santic

Какого-то определенного вывода не могу сделать. Для себя только приметил, что похоже пациент был просто несовместим с bios, вчера не успел попробовать поковырять диск на том же микросервере, но с другой ОС, увы.

santic
() автор топика
Ответ на: комментарий от santic

Внезапно, NVMe это ни разу не «совместимо со всем что заявило поддержку».

Архитектура этого геймеропротокола кривая, так что всегда приходится подбирать работающую тройку мать-накопитель-ОС.

anonymous
()
Ответ на: комментарий от anonymous

NVMe

геймеропротокол

Ну-ну.

Архитектура кривая

Получше, чем всё, что было раньше.

приходится подбирать работающую тройку мать-накопитель-ОС

А ты не покупай говно с aliexpress, и подбирать не надо будет.

anonymous
()

ОС в итоге перенёс на новый NVME-диск, переходник (он же кусок текстолита) не менял. Буду считать, что первоначальный диск был несовместим с материнкой HP Microserver Gen8, будет трудиться как переносной диск в usb-боксе.

Всем спасибо за помощь!

santic
() автор топика