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.
Hier nun die Details
Stand vor der Erweiterung:
Beide NVMEs werden sowohl als PCI-Gerät und als auch als Speichermedium erkannt.
Stand nach der Erweiterung:
Es werden nun zwar 3 NVMEs als PCI-Gerät erkannt aber nur eine als Speichermedium.
Auszug aus dem Syslog:
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:
(Vgl.
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
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
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
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
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
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?