pve-data plötzlich read-only?

Skream

Member
Mar 15, 2021
19
4
8
31
Hallo zusammen,

ich hatte heute einige Probleme mit meinem Proxmox-Host, der mich zu einem harten Neustart zwang. Aktuell läuft wieder alles, aber ich weiß nicht so recht, woher der Fehler kam und wie ich ihn in Zukunft vermeiden kann.

Heute fiel mir auf, dass einige LXC und auch PVE selbst nicht mehr über die GUI erreichbar waren. Dies waren Jellyfin, Wordpress und NginxPM. Komischerweise waren AdGuard (LXC) sowie OMV (VM) weiterhin über die GUI ansprechbar. Über SSH konnte ich jedoch auf alle LXCs, VMs und PVE selbst noch zugreifen.

In PVE konnte ich allerdings mehr oder weniger nichts machen, bei nahezu allen Befehlen kam eine Fehlermeldung "input/output error" zurück. Log-Files ließen sich nicht öffnen, Befehle wie smartctl, df -h oder dmesg wurden nicht ausgeführt (gleiche Fehlermeldung), nicht einmal ein ordentlicher Reboot war möglich, sodass ich zu einem harten Neustart gezwungen war...

Nach dem Neustart fuhren PVE sowie alle LXCs und VMs wieder normal hoch, als wäre nichts geschehen. Ich habe mich dann im Netz auf die Suche nach derartigen Problemen gemacht und las, dass solche Fehler (input/output error) durch Fehler in der Hardware, vor allem durch Fehler in den Speichermedien aufkommen können.

lsblk liefert folgendes:
Code:
root@pve:~# root@pve:~# lsblk
NAME                                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                                           8:0    0  10.9T  0 disk
├─sda1                                        8:1    0  10.9T  0 part
└─sda9                                        8:9    0     8M  0 part
sdb                                           8:16   0  10.9T  0 disk
├─sdb1                                        8:17   0  10.9T  0 part
└─sdb9                                        8:25   0     8M  0 part
sdc                                           8:32   0 111.8G  0 disk
├─sdc1                                        8:33   0  1007K  0 part
├─sdc2                                        8:34   0   512M  0 part
└─sdc3                                        8:35   0 111.3G  0 part
  ├─pve--OLD--EB5B597B-swap                 252:0    0     8G  0 lvm
  ├─pve--OLD--EB5B597B-root                 252:1    0  27.8G  0 lvm
  ├─pve--OLD--EB5B597B-data_tmeta           252:2    0     1G  0 lvm
  │ └─pve--OLD--EB5B597B-data-tpool         252:10   0  59.7G  0 lvm
  │   ├─pve--OLD--EB5B597B-data             252:11   0  59.7G  1 lvm
  │   ├─pve--OLD--EB5B597B-vm--107--disk--0 252:12   0     4G  0 lvm
  │   ├─pve--OLD--EB5B597B-vm--108--disk--0 252:13   0     2G  0 lvm
  │   ├─pve--OLD--EB5B597B-vm--114--disk--0 252:14   0     8G  0 lvm
  │   ├─pve--OLD--EB5B597B-vm--130--disk--1 252:15   0   500G  0 lvm
  │   └─pve--OLD--EB5B597B-vm--100--disk--1 252:16   0    20G  0 lvm
  └─pve--OLD--EB5B597B-data_tdata           252:4    0  59.7G  0 lvm
    └─pve--OLD--EB5B597B-data-tpool         252:10   0  59.7G  0 lvm
      ├─pve--OLD--EB5B597B-data             252:11   0  59.7G  1 lvm
      ├─pve--OLD--EB5B597B-vm--107--disk--0 252:12   0     4G  0 lvm
      ├─pve--OLD--EB5B597B-vm--108--disk--0 252:13   0     2G  0 lvm
      ├─pve--OLD--EB5B597B-vm--114--disk--0 252:14   0     8G  0 lvm
      ├─pve--OLD--EB5B597B-vm--130--disk--1 252:15   0   500G  0 lvm
      └─pve--OLD--EB5B597B-vm--100--disk--1 252:16   0    20G  0 lvm
sdd                                           8:48   0 931.5G  0 disk
├─sdd1                                        8:49   0 931.5G  0 part
└─sdd9                                        8:57   0     8M  0 part
zd0                                         230:0    0   9.8T  0 disk
└─zd0p1                                     230:1    0   9.8T  0 part
zd16                                        230:16   0    32G  0 disk
├─zd16p1                                    230:17   0     1M  0 part
├─zd16p2                                    230:18   0   513M  0 part
└─zd16p3                                    230:19   0  31.5G  0 part
zd32                                        230:32   0    60G  0 disk
├─zd32p1                                    230:33   0    59G  0 part
├─zd32p2                                    230:34   0     1K  0 part
└─zd32p5                                    230:37   0   975M  0 part
nvme0n1                                     259:0    0 465.8G  0 disk
├─nvme0n1p1                                 259:1    0  1007K  0 part
├─nvme0n1p2                                 259:2    0     1G  0 part /boot/efi
└─nvme0n1p3                                 259:3    0 464.8G  0 part
  ├─pve-swap                                252:3    0     8G  0 lvm  [SWAP]
  ├─pve-root                                252:5    0    96G  0 lvm  /
  ├─pve-data_tmeta                          252:6    0   3.4G  0 lvm
  │ └─pve-data-tpool                        252:8    0 337.9G  0 lvm
  │   └─pve-data                            252:9    0 337.9G  1 lvm
  └─pve-data_tdata                          252:7    0 337.9G  0 lvm
    └─pve-data-tpool                        252:8    0 337.9G  0 lvm
      └─pve-data                            252:9    0 337.9G  1 lvm
Zum Verständnis:
  • sda und sdb sind zwei 12TB-HDDs als ZFS-Volume im Raid 1.
  • sdc ist eine alte 120GB SSD, die nicht mehr aktiv genutzt wird. Früher habe ich dort ein paar LXCs installiert, bevor ich mir die größere 1TB-SSD (sdd) zugelegt und darauf die LXCs und VMs installiert.
  • nvme0n1 ist eine M.2-SSD mit 500GB, auf der Proxmox installiert ist.
Nun fiel mir auf, dass sowohl unter pve--OLD--EB5B597B-data_tmeta (alte 120GB-SSD) als auch unter pve-data_tmeta (nvme0n1) lvm-Volumes als read-only markiert sind. Nach etwas Recherche im Netz könnte auch dies auf einen Hardwarefehler hindeuten. Da die alte 120GB-SSD nicht wirklich gebraucht wird, vermute ich, dass diese "erstmal" nichts mit dem Fehler zu tun hat. Dass die Bootdisk allerdings dieses Verhalten aufweist, macht mich stutzig.

smartctl -a /dev/nvme0n1 liefert folgendes:
Code:
root@pve:~# smartctl -a /dev/nvme0n1
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.8.4-3-pve] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       WD Red SN700 500GB
Serial Number:                      23314S800467
Firmware Version:                   111150WD
PCI Vendor/Subsystem ID:            0x15b7
IEEE OUI Identifier:                0x001b44
Total NVM Capacity:                 500,107,862,016 [500 GB]
Unallocated NVM Capacity:           0
Controller ID:                      8215
NVMe Version:                       1.3
Number of Namespaces:               1
Namespace 1 Size/Capacity:          500,107,862,016 [500 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            001b44 8b4adef4df
Local Time is:                      Tue May 21 20:00:37 2024 CEST
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x0e):         Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     84 Celsius
Critical Comp. Temp. Threshold:     88 Celsius
Namespace 1 Features (0x02):        NA_Fields

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     5.50W       -        -    0  0  0  0        0       0
 1 +     3.50W       -        -    1  1  1  1        0       0
 2 +     3.00W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3     4000   10000
 4 -   0.0035W       -        -    4  4  4  4     4000   40000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

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

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        45 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    1,194,167 [611 GB]
Data Units Written:                 498,544 [255 GB]
Host Read Commands:                 5,849,222
Host Write Commands:                33,994,853
Controller Busy Time:               36
Power Cycles:                       12
Power On Hours:                     3,038
Unsafe Shutdowns:                   5
Media and Data Integrity Errors:    0
Error Information Log Entries:      1
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Error Information (NVMe Log 0x01, 16 of 256 entries)
No Errors Logged

Auf den ersten Blick erstmal nichts Auffälliges, allerdings "Error Information Log Entries: 1"? Irgendein Problem scheint es ja wohl doch zu geben. Aber wie finde ich heraus, welcher Fehler das ist? "No Errors Logged" wirkt eher wieder, als wären keine Fehler in den Logs erkennbar.

Die Unsafe Shutdowns kamen hauptsächlich aus der Anfangszeit, als ich ein paar mal den Server hart herunterfahren musste, weil sich durch eigene Dummheit/Unerfahrenheit eine VM nicht mehr herunterfahren ließ.

df -h zeigt folgendes:
Code:
root@pve:~# df -h
Filesystem                     Size  Used Avail Use% Mounted on
udev                            32G     0   32G   0% /dev
tmpfs                          6.3G  1.3M  6.3G   1% /run
/dev/mapper/pve-root            94G   14G   76G  16% /
tmpfs                           32G   34M   32G   1% /dev/shm
tmpfs                          5.0M     0  5.0M   0% /run/lock
efivarfs                       128K   23K  101K  19% /sys/firmware/efi/efivars
/dev/nvme0n1p2                1022M   12M 1011M   2% /boot/efi
SanDisk_1TB                    798G  256K  798G   1% /SanDisk_1TB
SanDisk_1TB/subvol-102-disk-0  8.0G  3.2G  4.9G  40% /SanDisk_1TB/subvol-102-disk-0
SanDisk_1TB/subvol-105-disk-0  8.0G  949M  7.1G  12% /SanDisk_1TB/subvol-105-disk-0
SanDisk_1TB/subvol-114-disk-0  8.0G  2.6G  5.5G  33% /SanDisk_1TB/subvol-114-disk-0
SanDisk_1TB/subvol-107-disk-0  4.0G  1.4G  2.7G  34% /SanDisk_1TB/subvol-107-disk-0
SanDisk_1TB/subvol-108-disk-0  2.0G  717M  1.4G  35% /SanDisk_1TB/subvol-108-disk-0
Netzwerkspeicher_12TB          884G  128K  884G   1% /Netzwerkspeicher_12TB
/dev/fuse                      128M   20K  128M   1% /etc/pve
tmpfs                          6.3G     0  6.3G   0% /run/user/0
Somit scheint auch kein Volume an seine Kapazitätsgrenze zu stoßen, was laut einigen Beiträgen im Netz zu einem ähnlichen Verhalten führen könnte.

Via journalctl --since 2024-05-01 -p err konnte ich auch keine Fehler ausfindig machen, die auf ein I/O-Problem hindeuten (seit dem 13. Mai gab es gar keine Errors außer ein paar fehlgeschlagener Logins (Passwort vertippt) und einem fehlenden snd_hda_Intel-Codec)

Wie gesagt, aktuell läuft alles wieder so weit, allerdings scheint diese read-only-Geschichte trotzdem nicht so ganz richtig zu sein und hoffe, dass ihr mir weiterhelfen könnt :)

Vielen Dank im Voraus und LG
Skream
 

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!