Defekte QCow2-Platten

Sep 25, 2017
13
0
1
34
Sehr geehrte Damen und Herren,

wir haben einen Proxmox-Cluster aus 13 Maschinen aufgebaut, davon sind 9 Maschinen kleine Shuttle-PC vom Typ DH110, Geräte die für den Dauerbetrieb zertifiziert sind und die im Einzeltest unter Proxmox 4.x ein Jahr störungsfrei gelaufen sind.
2 Maschinen sind ätere 19-Zoll-Server von Supermicro, ein Server (für Oracle-VM) ist nagelneu, ein ESX-zertifizierter Xeon E3-Server von Supermicro.

Bis auf den letzten (neuesten) Server haben alle Rechner das Storage für die VMs auf einer QNAP TVS 871RP mit 8x Seagate- XF1230-1A0960 ST200354 Server-SSDs im Raid5 und 10GByte - Kupfer-LAN (über 10 GB Switches von DLink) und legen dort die QCOW2-Platten via nfs ab.

Der neueste Supermicro-Server hat ein lokales RAID-5-Storage mit SSD-Platten.

Die Cluster-Rechner sind weiterhin an 2 weitere Qnaps angebunden, eine ist im Standby falls die Haupt-QNAP ausfällt und hat im Normalbetrieb keine aktive Rolle. Die 3. Qnap wird als Sicherungsstorage verwendet.

Sicherungen werden jeden Tag über den Tag verteilt von den "wichtigen" Datenservern ausgeführt: das ist ein Fileserver mit 5 virtuellen Platten und mehrere Datenbank-Server mit je 2 virtuellen Platten. Die wichtigste Maschine treibt eine Oracle-Datenbank und liegt auf der erwähnten neuesten Supermicro-Maschine mit eigenem Plattenarray (nicht via NFS auf Qnap).

Was jetzt 2 mal passiert ist, ist der Grund fuer die Anfrage:
Der Oracle-Server (auf der lokalen Storage) wurde beim Backup (Variante: Stop) so beschädigt, daß die 2. virtuelle Platte nicht mehr gemountet werden konnte. Wir mussten aus der Sicherung ein Restore einspielen. Die Maschine ist ein Oracle-Linux (neuester Stand)

Das zweite Fall betraf den Fileserver: Dort ist eine der virtuellen Platten von der VM als Readonly eingestuft worden. Diesen Fall hattten wir auch schon einige Male, das konnte aber immer durch einen Reboot der VM behoben werden. Diesmal nicht. Eine der QCOW2-Platten musste manuell repariert werden.

Jetzt die Frage: Gibt es irgendwo innerhalb der Konfiguration etwas, das diese Art von Fehler hervorruft ? Wir hatten bis jetzt Glück, aber zumindest für die kritischen Server überlegen wir ernsthaft wieder zu VMWare ESXI zurückzuwechseln, da mit weniger Glück eine kleine Katastrophe eingetreten wäre mit zumindest bei der Datenbank dramatischem Datenverlust.

Unsere Beobachtungen gehen in die Richtung der Backups. Es hat in beiden Fällen Probleme mit den Sicherungen gegeben. Es passiert gelegentlich (aus mir unerklärlichen Gründen) , daß es einen Backupstau gibt. Dies äußert sich darin, dass die Datenbank sich tagsüber ausschaltet und sichert, obwohl die Sicherung auf 23:00 Uhr terminiert ist. Dies war zumindest der defekten Oracle-VM-Platte vorausgegangen.

Die Software auf dem Cluster habe ich vor ca. 3 Wochen auf den neuesten 4.x-Stand aktualisiert.

Falls Sie weitere Details brauchen, bitte sagen Sie mir, welche.

Vielen Dank im Voraus und Grüße nach Österreich,

Martin Panter
 
Unsere Beobachtungen gehen in die Richtung der Backups. Es hat in beiden Fällen Probleme mit den Sicherungen gegeben. Es passiert gelegentlich (aus mir unerklärlichen Gründen) , daß es einen Backupstau gibt. Dies äußert sich darin, dass die Datenbank sich tagsüber ausschaltet und sichert, obwohl die Sicherung auf 23:00 Uhr terminiert ist. Dies war zumindest der defekten Oracle-VM-Platte vorausgegangen.
Das ist schon ein grosser Hinweis, dass etwas deutlich langsamer geworden ist, wenn sich auch die Backups verschieben. Ich vermute, dass auch das Backup auf das selbige QNAP gemacht wird? Damit ist die QNAP dann so beschäftigt (Monitoring vom QNAP sollte das auch bestätigen), das es zu Problemen beim NFS kommt. Es sollte in den VMs ersichtlich sein, ob diese zwischenzeitlich nicht auf ihre Disks zugreifen konnte (Fehler im Kernel/Syslog).
 
Was betrefft der file server:

Qcow2 corruption über NFS sind bis jetzt unbekannt.
Von mir das problem stamm von einer NFS verbindung problem.

Was zu achten:
* ist jeder disk vom der VM in cache mode 'nocache' ?
* welche NFS mount options sind benuzt ? Die nfs mount 'hard' option ist generell empfholen.
* meldet der PVE host ein NFS verbindung fehler ?
Zu achten sind die kernel nachrichten wie:
Sep 25 10:51:29 pve4 kernel: nfs: server ibsd.local not responding, timed out
Sep 25 11:33:54 pve4 kernel: nfs: server ibsd.local not responding, still trying
Sep 25 11:41:53 pve4 kernel: nfs: server ibsd.local not responding, still trying

und die pvestatd nachrichten wie:
journalctl --unit pvestatd | grep 'not online'

Sep 26 11:23:43 pve4 pvestatd[3229]: storage 'nfsbsd' is not online
 
Das ist schon ein grosser Hinweis, dass etwas deutlich langsamer geworden ist, wenn sich auch die Backups verschieben. Ich vermute, dass auch das Backup auf das selbige QNAP gemacht wird? Damit ist die QNAP dann so beschäftigt (Monitoring vom QNAP sollte das auch bestätigen), das es zu Problemen beim NFS kommt. Es sollte in den VMs ersichtlich sein, ob diese zwischenzeitlich nicht auf ihre Disks zugreifen konnte (Fehler im Kernel/Syslog).

Hallo,
danke für die Antwort.
...aber: eine QNAP ist für das Storage der qcow2-Dateien verantwortlich, die Backups liegen alle auf einer 2. QNAP.

Grüße,
Martin
 
Hallo,

- alle Disks in der VM sind im mode 'nocache'
- es gibt 3 NFS-Mounts, die bei allen Hosts aktiv sind. Die Verbindungsparameter sind

192.168.x.x:/kvmservice on /mnt/pve/qnap-ssd type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168..x.x,mountvers=3,mountport=30000,mountproto=udp,local_lock=none,addr=192.168.x.x)

1 QNAP mit NFS share mit den Qcow2 Platten (SSD) Schreibcache deaktiviert
1 QNAP mit NFS share für die Backups (HD) Schreibcache aktiviert
1 QNAP mit NFS share für andere Datei-Ablagen (HD) Schreibcache aktiviert

- ich habe keine Verbindungsfehler im PVE-Host gefunden aber journalctl --unit pvestatd | grep 'not online'
gibt mir bei 2 mountpoints sporadische Fehler: z.B.
Sep 21 19:36:08 proxmox-cl132 pvestatd[1252]: storage 'qnap-hd' is not online
Sep 22 17:05:11 proxmox-cl132 pvestatd[1252]: storage 'kvm-backup' is not online

Der NFS-Share auf der Qnap mit den Qcow2 Platten taucht nicht bei den Fehlern auf.

Es ist also bei den beiden Qnap, die manchmal nicht online sind, der Schreibcache aktiviert. Kann dies zu einem Fehler dieser Art führen?

Komisch ist jedoch, dass die Qcow2-Platten auf derjenigen NFS liegen, die den Schreibcache deaktiviert hat. Und diese sind defekt nach dem Backup. (so zumindest unsere Beobachtung)





Was betrefft der file server:

Qcow2 corruption über NFS sind bis jetzt unbekannt.
Von mir das problem stamm von einer NFS verbindung problem.

Was zu achten:
* ist jeder disk vom der VM in cache mode 'nocache' ?
* welche NFS mount options sind benuzt ? Die nfs mount 'hard' option ist generell empfholen.
* meldet der PVE host ein NFS verbindung fehler ?
Zu achten sind die kernel nachrichten wie:
Sep 25 10:51:29 pve4 kernel: nfs: server ibsd.local not responding, timed out
Sep 25 11:33:54 pve4 kernel: nfs: server ibsd.local not responding, still trying
Sep 25 11:41:53 pve4 kernel: nfs: server ibsd.local not responding, still trying

und die pvestatd nachrichten wie:
journalctl --unit pvestatd | grep 'not online'

Sep 26 11:23:43 pve4 pvestatd[3229]: storage 'nfsbsd' is not online
 
> Komisch ist jedoch, dass die Qcow2-Platten auf derjenigen NFS liegen, die den Schreibcache deaktiviert hat. Und diese sind defekt nach dem Backup. (so zumindest unsere Beobachtung)

Die theorie, ist das wenn der schreib cache von einer platte deaktiviert ist, die I/O werden langsamer, aber gibt es keine datei verlust beim strom ausfall (für SSDs die keine condensator enthalten)

Wenn der nächte filesystem readonly error tritt auf, bitte versuchen zu machen ein copy von dmesg output, oder die nachrichten von console, und inspektieren ob es gibt auf dieser zeitpunkt was selsames in kern.log am host wegen nfs verbindung. Sind das Linux VMs ?
 
Guten Tag,

Bezug nehmend auf den ersten Post dieses Threads folgende Probleme:

--- Zitat ---
Was jetzt 2 mal passiert ist, ist der Grund fuer die Anfrage:
Der Oracle-Server (auf der lokalen Storage) wurde beim Backup (Variante: Stop) so beschädigt, daß die 2. virtuelle Platte nicht mehr gemountet werden konnte. Wir mussten aus der Sicherung ein Restore einspielen. Die Maschine ist ein Oracle-Linux (neuester Stand)
--- Zitat ---


Diese Proxmox - Cluster-Maschine mit lokalem Storage, die als einzige VM die Oracle-VM trägt (siehe folgende Spezifikationen):

Board SVR Supermicro X11SSL-F
CPU Intel XEON UP E3-1280v5
32 GB RAM
Broadcom MegaRAID 9361-4i incl. MegaRAID CacheVault Kit
4*480 GB SATA Samsung SM863 im Raid 5



Proxmox Status (Kopie von Dashboard):

CPU(s) 8 x Intel(R) Xeon(R) CPU E3-1280 v5 @ 3.70GHz (1 Socket)

Kernel Version Linux 4.4.98-3-pve #1 SMP PVE 4.4.98-103 (Mon, 8 Jan 2018 10:15:44 +0100)

PVE Manager Version pve-manager/4.4-21/e0dadcf8


Der virtuelle Oracleserver (BS: Oracle-Linux 7.3 mit 2 virtuellen Festplatten: Bootplatte und Datenplatte)
zeigt folgende Probleme: Es laufen innerhalb der Oracle tagsüber Export-Dumps alle halbe Stunde (bis 23:30 Uhr).
Das Backup ist jeden Tag um 22:30 Uhr angesetzt.
Wir haben jetzt in den letzten Wochen ca. 4-5 mal den Fall gehabt, dass bei Produktionsbeginn morgens der virtuelle Datenbank-Server anscheinend im gleichen Status wie nach einem Reboot steht mit einer defekten Datenplatte. Der Server bootet von der Bootplatte und bleibt beim Mount der Datenplatte stehen, irreparabel. Jedes Mal konnten wir zum Glück die Sicherung des Vortags 22:30 Uhr wieder einspielen. Wir haben aber keinen Anhaltspunkt gefunden, weshalb die Maschine crashed. Wir hatten ursprünglich die Datenplatte als XFS formatiert (Standard bei Oracle-Linux), das haben wir geändert auf EXT4 - trotzdem weitere Crashs.
Wir hatten einen Reboot des Oracle-Linux jeden Tag um 04:00 Uhr in der Cron - jetzt abgeschaltet -trotzdem weitere Crashs.
Gestern hatte ich im Zug eines kompletten Neustarts des Clusters alle Maschinen auf den neuesten Update-Stand der Proxmox 4.4 gebracht.
Ergebnis: heute morgen war wieder ein Crash auf der Oracle-VM.
Alle anderen Maschinen laufen (seit den Anfangsproblemen) im Moment stabil. Diese haben aber alle das Storage der VMs auf einer QNAP.
Der einzige Cluster-Teilnehmer mit lokalem Storage ist die besagte Maschine.

Wir haben jetzt keine Idee mehr, außer den Server aus dem Cluster zu entfernen und die Oracle wieder auf die ESXI-Plattform zu migrieren.

Haben Sie noch irgendeine Idee ?

Ich lade die messages des Proxmox-Servers hoch.

Vielen Dank und Grüße,

Martin Panter
 

Attachments

  • messages.zip
    30.1 KB · Views: 1
Wurde der PVE Server zu den Zeiten rebootet/resetet?
Jan 17 12:58:22 proxmox-cl130 kernel: [ 0.000000] Initializing cgroup subsys cpuset
Jan 17 13:11:01 proxmox-cl130 kernel: [ 0.000000] Initializing cgroup subsys cpuset

Bei einem Reboot des PVE systems, wird ein ACPI Shutdown gesendet und 2 Minuten auf die VM gewartet, sollte diese dann nicht unten sein, stirbt die VM. Die Zeit kann angepasst werden.

10.2.9. Automatic Start and Shutdown of Virtual Machines
https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_virtual_machines_settings
 
Ja, das hat aber nichts mit den defekten Platten zu tun. Das war beim Aktualisieren
des ganzen Clusters auf den neuesten Softwarestand.
Dazu habe ich alle Maschinen nach dem apt-get upgrade neu gestartet (es wurde ein neuer Kernel installiert).
Vorher und danach lief die VM den ganzen Tag.
Erst nachts ist wieder die Platte gecrashed.

Grüße,

Martin Panter
 
Hat der Server eine hohe IO-Auslastung?

Use raw disk image and not qcow2
Consider using raw image or partition for a partition, especially with Microsoft SQL database files because qcow2 can be very slow under such type of load.
Auch wenn es kein Windows ist, die Oracle-VM auf RAW zu konvertieren, könnte vielleicht helfen.
https://pve.proxmox.com/wiki/Performance_Tweaks#OS_Specific
 
Die Abstürze passieren Nachts (0 Last).
Der Oracle-Server ist auf dem lokalen SSD-RAID-Verbund als RAW-Image
hinterlegt. Alle anderen (die bis jetzt laufen) sind als QCOW2 auf der Qnap.
Der Oracleserver ist der einzige, der lokal als RAW installiert ist.

Grüße,
Martin
 
Der KVM Prozess der Oracle-VM läuft der auch schon länger als die Abstürze? Dann würde es das Feld auf innerhalb der VM eingrenzen.
 
Der Aufruf der Laufzeit des KVM-Prozesses:
ps -o etime,time,bsdstart,comm 14141
ergibt:
ELAPSED TIME START COMMAND
12:59:09 02:45:26 22:30 kvm

Vermutlich läßt das keine Aussage zu, da der Startzeitpunkt des Prozesse der Zeitpunkt des
letzten Backups ist (gestern 22:30 Uhr).
Deswegen kann ich das zum Absturz in der Nacht von vorgestern zu gestern nicht mehr in Relation setzen.

Grüße,

Martin
 
Interessant wäre noch der Kernel Log Buffer (z.b. via dmesg oder netconsole) von der VM selbst, denn dort sollte ja was stehen vom Crash und das hilft ggf. weiter. Normalerweise gibt es keine Probleme mit der Verwendung von OL und der Datenbank unter Proxmox. Habe ab 10.2 alles laufen KVM und LXC.

Hab ich dich richtig verstanden, dass als PVE-Backup die STOP-Methode verwendet wird? Auch korrekt, dass ihr Data Pump als Backup verwendet?
 
[Jan21 22:34] ata5.00: exception Emask 0x0 SAct 0x40 SErr 0x0 action 0x6 frozen
[ +0,000003] ata5.00: failed command: WRITE FPDMA QUEUED
[ +0,000003] ata5.00: cmd 61/28:30:00:36:c4/00:00:09:00:00/40 tag 6 ncq 20480 out
res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
[ +0,000001] ata5.00: status: { DRDY }
[ +0,000005] ata5: hard resetting link
[Jan21 22:35] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ +0,000211] ata5.00: configured for UDMA/100
[ +0,000003] ata5.00: device reported invalid CHS sector 0
[ +0,000007] ata5: EH complete
Der Teil im Log zeigt, dass der SATA Link zurück gesetzt wird und damit werden alle I/Os für den Zeitraum blockiert. Wenn ich das richtig sehe, dann passt der Zeitpunkt mit dem Beginn des Backups zusammen. Wie sieht die Storage (local) Last auf dem System aus? Oder gibt es auch am Host hinweise, auf eine langsame Disk?
 
Last edited:

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!