Speichererweiterung mit Problemen

NormanS

New Member
Nov 21, 2024
2
0
1
Hallo,

beim Aufrüsten eines Proxmox-Hosts (Version 8.2.7) mit zusätzlichen NVMEs werden leider nicht alle Speichermedien korrekt erkannt so dass sie nicht weiter genutzt werden können. Außerdem ändert sich die Bezeichnung der bisherigen NVMEs, was zu etwas Irritation des verwendeten CEPHs führte (Siehe unten).

Vermutlich ist dies ein häufigeres Anfängerproblem. In dem Fall würden mir schon ein paar Tipps helfen einen guten Anfang zu finden. Kann mir vielleicht hierbei jemand helfen?

Es handelt sich um einen 3er Cluster von Fujitsu Celsius780 Servern mit je 2 SSDs und 4 Steckplätzen für NVMEs (je 2 auf einer PCI-Steckkarte) welche für CEPH genutzt werden. Auf einer der SSDs ist jeweils Proxmox in Version 8.2.7 installiert. Bisher waren je 2 NVME verbaut, die nun auf 4 erweitert wurden.

lspci erkennt zwar bis zu 3 NVMEs im Server allerdings scheint es Probleme bei der Initialisierung zu geben weshalb nicht alle mit lsblk aufgelistet werden (siehe unten). (Das die 4. NVME generell nicht erkannt zu werden scheint, liegt vermutlich am Servertyp, da dies bei beiden bisher erweiterten Serven und unterschiedlichen getesteten NVMEs gleichermaßen auftrat.)


Hier nun die Details
Stand vor der Erweiterung:
Bash:
server1:~# lsblk
NAME                                                                                                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                                                                                                     8:0    0 476.9G  0 disk
├─sda1                                                                                                  8:1    0  1007K  0 part
├─sda2                                                                                                  8:2    0   512M  0 part
└─sda3                                                                                                  8:3    0 476.4G  0 part
sdb                                                                                                     8:16   0 476.9G  0 disk
├─sdb1                                                                                                  8:17   0  1007K  0 part
├─sdb2                                                                                                  8:18   0   512M  0 part
└─sdb3                                                                                                  8:19   0 476.4G  0 part
nvme0n1                                                                                               259:0    0 953.9G  0 disk
└─ceph--e2876329--ebeb--4abd--b0f3--0c1265ffa054-osd--block--c1668130--6af0--4c72--999b--ac527032318e 252:1    0 953.9G  0 lvm
nvme1n1                                                                                               259:1    0 953.9G  0 disk
└─ceph--46d16de6--7c71--4701--a46d--85d4150d80e0-osd--block--719ac887--55f4--4231--992e--a16a06a6d14f 252:0    0 953.9G  0 lvm

server1:~# lspci -tv
-[0000:00]-+-00.0  Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
           +-01.0-[01]--
           +-01.1-[02]--+-00.0  Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection
           |            \-00.1  Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection
           +-12.0  Intel Corporation Cannon Lake PCH Thermal Controller
           +-14.0  Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller
           +-14.2  Intel Corporation Cannon Lake PCH Shared SRAM
           +-15.0  Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0
           +-15.1  Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1
           +-16.0  Intel Corporation Cannon Lake PCH HECI Controller
           +-16.1  Intel Corporation Device a361
           +-16.4  Intel Corporation Cannon Lake PCH HECI Controller #2
           +-17.0  Intel Corporation Cannon Lake PCH SATA AHCI Controller
           +-1b.0-[03]--
           +-1c.0-[04]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
           +-1c.4-[05]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
           +-1d.0-[06]--
           +-1d.5-[07]----00.0  Intel Corporation I210 Gigabit Network Connection
           +-1d.6-[08-09]----00.0-[09]--+-00.0  Matrox Electronics Systems Ltd. MGA G200e [Pilot] ServerEngines (SEP1)
           |                            \-01.0  Fujitsu Technology Solutions Device 1228
           +-1e.0  Intel Corporation Cannon Lake PCH Serial IO UART Host Controller
           +-1f.0  Intel Corporation Cannon Point-LP LPC Controller
           +-1f.4  Intel Corporation Cannon Lake PCH SMBus Controller
           +-1f.5  Intel Corporation Cannon Lake PCH SPI Controller
           \-1f.6  Intel Corporation Ethernet Connection (7) I219-LM
Beide NVMEs werden sowohl als PCI-Gerät und als auch als Speichermedium erkannt.

Stand nach der Erweiterung:
Bash:
server1:~# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda       8:0    0 476.9G  0 disk
├─sda1    8:1    0  1007K  0 part
├─sda2    8:2    0   512M  0 part
└─sda3    8:3    0 476.4G  0 part
sdb       8:16   0 476.9G  0 disk
├─sdb1    8:17   0  1007K  0 part
├─sdb2    8:18   0   512M  0 part
└─sdb3    8:19   0 476.4G  0 part
nvme0n1 259:0    0 953.9G  0 disk

# Der Vollständigkeit halber:
server1:~# ls -la /dev/nvme*
crw------- 1 root root 242,   0 Nov 14 14:49 /dev/nvme0
brw-rw---- 1 root disk 259,   0 Nov 14 14:49 /dev/nvme0n1
crw------- 1 root root  10, 122 Nov 14 14:49 /dev/nvme-fabrics

server1:~# ls -la  /dev/disk/by-id/nvme*
lrwxrwxrwx 1 root root 13 Nov 14 14:49 /dev/disk/by-id/nvme-eui.002538b631a37fea -> ../../nvme0n1
lrwxrwxrwx 1 root root 13 Nov 14 14:49 /dev/disk/by-id/nvme-SAMSUNG_MZVL21T0HCLR-00B00_S676NU0W634749 -> ../../nvme0n1
lrwxrwxrwx 1 root root 13 Nov 14 14:49 /dev/disk/by-id/nvme-SAMSUNG_MZVL21T0HCLR-00B00_S676NU0W634749_1 -> ../../nvme0n1

# Auflistung der erkannten PCI-Geräte:
server1:~# lspci -tv
-[0000:00]-+-00.0  Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers
           +-01.0-[01]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
           +-01.1-[02]--+-00.0  Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection
           |            \-00.1  Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection
           +-12.0  Intel Corporation Cannon Lake PCH Thermal Controller
           +-14.0  Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller
           +-14.2  Intel Corporation Cannon Lake PCH Shared SRAM
           +-15.0  Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0
           +-15.1  Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1
           +-16.0  Intel Corporation Cannon Lake PCH HECI Controller
           +-16.1  Intel Corporation Device a361
           +-16.4  Intel Corporation Cannon Lake PCH HECI Controller #2
           +-17.0  Intel Corporation Cannon Lake PCH SATA AHCI Controller
           +-1b.0-[03]--
           +-1c.0-[04]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
           +-1c.4-[05]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
           +-1d.0-[06]--
           +-1d.5-[07]----00.0  Intel Corporation I210 Gigabit Network Connection
           +-1d.6-[08-09]----00.0-[09]--+-00.0  Matrox Electronics Systems Ltd. MGA G200e [Pilot] ServerEngines (SEP1)
           |                            \-01.0  Fujitsu Technology Solutions Device 1228
           +-1e.0  Intel Corporation Cannon Lake PCH Serial IO UART Host Controller
           +-1f.0  Intel Corporation Cannon Point-LP LPC Controller
           +-1f.4  Intel Corporation Cannon Lake PCH SMBus Controller
           +-1f.5  Intel Corporation Cannon Lake PCH SPI Controller
           \-1f.6  Intel Corporation Ethernet Connection (7) I219-LM
Es werden nun zwar 3 NVMEs als PCI-Gerät erkannt aber nur eine als Speichermedium.

Auszug aus dem Syslog:
Bash:
# 1. Erkennung der PCI-Geräte:
Nov 14 14:49:53 server1 kernel: nvme nvme0: pci function 0000:01:00.0
Nov 14 14:49:53 server1 kernel: nvme nvme2: pci function 0000:05:00.0
Nov 14 14:49:53 server1 kernel: nvme nvme1: pci function 0000:04:00.0

# 2. Fehler bei der Initialisierung:
Nov 14 14:49:53 server1 kernel: nvme nvme2: Device not ready; aborting initialisation, CSTS=0x0
Nov 14 14:49:53 server1 kernel: nvme nvme1: I/O tag 25 (0019) QID 0 timeout, disable controller
Nov 14 14:49:53 server1 kernel: nvme nvme1: Device not ready; aborting shutdown, CSTS=0x1
Nov 14 14:49:53 server1 kernel: nvme: probe of 0000:04:00.0 failed with error -4
...
Nov 14 14:49:54 server1 systemd[1]: nvmefc-boot-connections.service - Auto-connect to subsystems on FC-NVME devices found during boot was skipped because of an unmet condition check (ConditionPathExists=/sys/class/fc/fc_udev_device/nvme_discovery).

# 3. Ergebnis:
Nov 14 14:49:54 server1 smartd[958]: Device: /dev/nvme0, opened
Nov 14 14:49:54 server1 smartd[958]: Device: /dev/nvme0, SAMSUNG MZVL21T0HCLR-00B00, S/N:S676NU0W634749, FW:GXA7801Q, 1.02 TB
Nov 14 14:49:54 server1 smartd[958]: Device: /dev/nvme0, is SMART capable. Adding to "monitor" list.
Nov 14 14:49:54 server1 smartd[958]: Device: /dev/nvme0, state read from /var/lib/smartmontools/smartd.SAMSUNG_MZVL21T0HCLR_00B00-S676NU0W634749.nvme.state
Nov 14 14:49:54 server1 smartd[958]: Monitoring 2 ATA/SATA, 0 SCSI/SAS and 1 NVMe devices
Liege ich mit meiner Vermutung richtig, das es sich hierbei vielleicht um ein Timingproblem bei der Initialisierung der NVMEs handeln könnte?

Zusätzliche Infos über die verbaute(n) NVMEs:
Bash:
server1:~# nvme list
Node                  Generic               SN                   Model                                    Namespace Usage                      Format           FW Rev 
--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1          /dev/ng0n1            S676NU0W634749       SAMSUNG MZVL21T0HCLR-00B00               1           0.00   B /   1.02  TB    512   B +  0 B   GXA7801Q

server1:~# nvme list-subsys
nvme-subsys0 - NQN=nqn.1994-11.com.samsung:nvme:PM9A1:M.2:S676NU0W634749
\
 +- nvme0 pcie 0000:01:00.0 live
(Vgl. ls -la /dev/disk/by-id/nvme* oben)

Beim 2. Server
Insgesamt ähnlich allerdings mit dem Unterschied, das dort 3 NVMEs erkannt wurden und sich deren Linux-Gerätedateinamen änderten. So wurde z.B. aus der ursprünglichen /dev/nvme1n1 nach der Erweiterung die /dev/nvme2n1. Die /dev/nvme1n1 ist nun eine der neuen NVMEs. Gibt es Gründe warum im Proxmox/ CEPH die Gerätedateien in /dev/ und nicht in /dev/disk/by-id/ verwendet werden?
 
1. Celsius sind Workstations und keine Server.
2. Wenn ich PCI Geräte hinzufüge, dann kann sich die Nummerierung der PCI Geräte (NVMe oder Netzwerkkarte) jederzeit ändern. Je nachdem welche PCIe Kanäle benutzt werden.
3. Wenn du irgendwelche Adapterkarten für die NVMe benutzt und NVMes nicht erkannt werden solltest du dich mal an den Hersteller der Karten wenden. Ich habe auch schon adapterkarten gesehen, wo man 4x m.2 NVMe drauf schrauben kann und die funktionieren Tadellos. Sind aber PCIe 16x Karten die auch einen PCIe 16x Slot benötigen. Bei einem 8x Slot werden natürlich nur zwei NVMe erkannt.
4. Ceph sollte es eigentlich egal sein welchen Name die Disk bekommt. Die Metadaten stehen ja auf der Disk.
 
  • Like
Reactions: NormanS
1. Celsius sind Workstations und keine Server.
2. Wenn ich PCI Geräte hinzufüge, dann kann sich die Nummerierung der PCI Geräte (NVMe oder Netzwerkkarte) jederzeit ändern. Je nachdem welche PCIe Kanäle benutzt werden.
3. Wenn du irgendwelche Adapterkarten für die NVMe benutzt und NVMes nicht erkannt werden solltest du dich mal an den Hersteller der Karten wenden. Ich habe auch schon adapterkarten gesehen, wo man 4x m.2 NVMe drauf schrauben kann und die funktionieren Tadellos. Sind aber PCIe 16x Karten die auch einen PCIe 16x Slot benötigen. Bei einem 8x Slot werden natürlich nur zwei NVMe erkannt.
4. Ceph sollte es eigentlich egal sein welchen Name die Disk bekommt. Die Metadaten stehen ja auf der Disk.
Danke für die Hinweise. Insbesondere dem Punkt mit den Adapterkarten werde ich mich nochmal ansehen. Was das CEPH angeht, dachte ich auch, dass es das erkannt. Nun denn, das CEPH war dennoch schnell repariert.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!