Hardware-Realitäten, Ressourcengrenzen und tiefgehendes Leistungsmonitoring
Wenn sich ein QNAP NAS langsam anfühlt, beginnt die Untersuchung damit, was seine Hardware leisten kann. Danach geht es darum, wofür das NAS seine Ressourcen verwendet, und erst dann um die tieferen Warteschlangen: Prozesse, die bei E/A-Vorgängen feststecken, und virtuelle Maschinen, die um den Prozessor streiten.
- Erwartungenwofür diese Hardware gedacht ist
- BaselineExtras stoppen, RAM und SWAP beobachten
- D-StatusProzesse stecken bei E/A fest
- vCPUsThreads, Überbuchung, Steal
- DiagrammeBlackBox und Pulse richtig lesen
01Hardware-Erwartungen und Realität
QNAP-Server werden mit Teilen gebaut, die ihrem Preis entsprechen. QNAP liefert immer noch Firmware-Updates für Geräte aus, die mehr als zehn Jahre alt sind, aber das bedeutet nicht, dass ein altes oder Einsteiger-NAS das gesamte heutige App-Spektrum ohne Kompromisse ausführen kann. Software wird mit ihrer Weiterentwicklung immer ressourcenhungriger; die Hardware bleibt, was sie war.
Ein Budget-NAS ist für die reibungslose Dateibereitstellung konzipiert. Wer erwartet, dass es virtuelle Maschinen oder schwere Datenbanken problemlos ausführt, verkennt, wofür es gebaut ist. Prüfen Sie, was Ihr Prozessor und Speicher wirklich leisten können, und übernehmen Sie die Verantwortung für Ihre Hardwarewahl. Die Hauptaufgabe des NAS ist die Arbeit mit Dateien; alles andere ist eine Zugabe, die mit den übrigen Ressourcen auskommen muss.
02Zweig 1: Die Baseline durch Isolierung von Diensten
Wenn das NAS langsamer wird, vor allem wenn der Speicher zur Neige geht und es beginnt, SWAP zu verwenden (was jeden Vorgang stark verlangsamt), besteht der erste Schritt der Diagnose darin, die Dienste zu isolieren.
- Melden Sie sich bei QTS oder QuTS hero an.
- Öffnen Sie das App Center und stoppen Sie nacheinander die Apps und Dienste, die nicht unbedingt nötig sind. Die Workbench stoppt keine Apps für Sie.
- Beobachten Sie das System im Ressourcenmonitor von QTS oder in Pulse der Workbench (Schreibtisch Utilities, Startmenü → Monitoring → Pulse; nur Administratoren). Sein Cockpit aktualisiert sich alle zwei Sekunden: CPU-Auslastung mit einem Balken pro logischer CPU, verwendeter RAM im Verhältnis zum Gesamt-RAM mit dem Page-Cache in einem eigenen Bereich, ein SWAP-Balken, wenn das NAS Swap hat, die 1-Minuten-Last und die Run Queue (Warteschlange). Beobachten Sie, wie die CPU-Auslastung und die SWAP-Nutzung sinken.
- Finden Sie die Baseline: Stoppen Sie so lange weitere Dienste, bis die Kernfunktion des NAS, die reibungslose Dateibereitstellung, wieder vollständig da ist.
Das ist die Baseline Ihrer Hardware. Starten Sie von dort aus die anderen Apps einzeln, streng innerhalb der Ressourcen, die der Hardware noch zur Verfügung stehen.
03Zweig 2: D-Status und versteckte Engpässe
Manchmal liegt das Problem nicht an einer überlasteten CPU oder einem Mangel an RAM. Das System kann stocken, obwohl der Prozessor bei weitem nicht ausgelastet ist, wenn Prozesse im ununterbrechbaren Ruhezustand stecken, dem Status D. Die Workbench beschreibt es so: Ein Prozess im Status D wartet auf Kernel-E/A (Festplatte, ein Netzwerk-Dateisystem, ein hängender Treiber) und lässt sich nicht einmal beenden, bis diese E/A abgeschlossen ist. Viele Prozesse im Status D bedeuten, dass sie sich in einer Warteschlange befinden, normalerweise hinter langsamer Festplatten-E/A, und das Gerät friert ein.
Diese Warteschlangenbildung schadet am meisten, wenn das NAS virtuelle Maschinen hostet (Virtualization Station, KVM). Eine schlechte Ressourcenzuweisung zeigt sich dort durch verworfene Netzwerkpakete und lange E/A-Verzögerungen.
- Pulse meldet Processes in D-state (I/O), sobald sich ein Prozess im Status D befindet, und markiert dies bei mehr als zwei als kritisch. Auf seinem Processes-Tab zeigt D + Z nur die feststeckenden (D) und Zombie-Prozesse (Z) sowie deren übergeordnete Prozesse an.
- BlackBox zeichnet das NAS alle 20 Sekunden ab dem Moment auf, in dem das Paket läuft; es muss nichts eingeschaltet werden. Es erfasst die CPU-Auslastung, I/O-Wait und den Takt pro Kern, die Last, die Run Queue und Blocked (D); verwendeten und verfügbaren Speicher, Page-Cache, Swap und OOM-Kills; pro Schnittstelle den Datenverkehr, verworfene Pakete und TCP-Retransmits; pro Festplatte die Await-Zeit, die Warteschlangentiefe und die Auslastung; die Temperaturen und Lüfter; und pro VM ihre CPU, vCPUs, Speicher und Festplatten-E/A. Jeder 20-Sekunden-Wert wird für einen Tag gespeichert, dann gibt es Zusammenfassungen im Minutentakt für eine Woche, im Fünf-Minuten-Takt für einen Monat und stündlich für ein Jahr.
- Zwei verschiedene D-Zählungen. Blocked (D) von BlackBox ist die Zahl der blockierten Tasks, die der Kernel zählt; Pulse zählt die Prozesse, die es im Status D sieht. Diese müssen nicht übereinstimmen.
- I/O-Wait, nicht PSI. Die Kernel von QNAP werden ohne Pressure Stall Information kompiliert, daher misst die Workbench E/A-Verzögerungen als I/O-Wait.
04CPU-Zuweisung: pCPU, lCPU und vCPU
Bevor Sie einer VM ihre Ressourcen zuweisen, sollten Sie die Topologie kennen:
- pCPU (Physical CPU): die physischen Kerne des NAS-Prozessors.
- lCPU (Logical CPU): die Kerne, die das Betriebssystem sieht, einschließlich Hyper-Threading. Hyper-Threading verdoppelt die Leistung nicht; als Faustregel gilt ein Durchsatzplus von etwa 30 %.
- vCPU (Virtual CPU): die den VMs zugewiesenen virtuellen Kerne.
Pulse zählt logische CPUs: Wenn es bei einem Xeon W-1250 mit sechs Kernen und zwölf Threads 12 cores anzeigt, handelt es sich um Threads.
Die Falle der Überbuchung (Oversubscription). Wenn VMs auf einem 32-Kern-Prozessor 128 vCPUs erhalten, wird davon ausgegangen, dass sie nie alle gleichzeitig ausgelastet sind. Wenn sie dies doch tun, kann der Hypervisor die vCPUs nicht schnell genug planen, und die VMs geraten ins Stocken, weil sie auf CPU-Zeit warten, was sich innerhalb eines Gastes als Steal Time (gestohlene Zeit) zeigt. Pulse meldet dies von der Host-Seite:
- vCPU over-subscription (Information), wenn die laufenden VMs mehr vCPUs haben, als das NAS logische CPUs besitzt;
- VMs contending for CPU (Warnung), wenn darüber hinaus der Host zu über 75 % ausgelastet ist oder seine Run Queue länger als seine Thread-Anzahl ist. Der Hinweis dazu auf diesem NAS lautet: Over-subscribed (17 vCPUs / 12 cores) AND the host is busy (84%, queue 11) — your VMs are likely contending for physical cores NOW. This is CPU theft, host-side.
- Steal Time wird innerhalb des Gastes gemessen. Auf dem NAS steht dieser Wert systembedingt auf null; der Hinweis der Workbench sagt selbst, dass Sie den Steal eines Gastes vom Host aus nicht sehen können. Beurteilen Sie den Ressourcenkonflikt auf dem NAS anhand der vCPUs im Verhältnis zu den Threads, dem Prozentsatz der Auslastung und der Run Queue, und lesen Sie den Steal innerhalb der VM ab (die Spalte
stvontopodervmstatin einem Linux-Gast).
05Beobachtung der virtuellen Maschinen
Für die Workbench muss in einer VM kein Agent installiert werden. Sie misst das NAS, auf dem sie läuft, und dazu gehören die virtuellen Maschinen, die das NAS hostet:
- Öffnen Sie Pulse, den VM-Tab: jede laufende VM mit ihren vCPUs, CPU%, Speicher, RSS, Status und Prozess-ID, sowie die Titelzeile Hosting 4 VM(s), 17 vCPUs.
- Öffnen Sie BlackBox (Startmenü → Monitoring), wechseln Sie zur Heat map und aktivieren Sie die Spur Virtual machines: die CPU jeder VM über den Tag verteilt, neben den Temperaturen und der Await-Zeit der Festplatten. Die Diagramme erfassen auch die vCPUs, den Speicher und die Festplatten-E/A jeder VM sowie den Start und Stopp jeder VM.
- Um die Netzwerkerreichbarkeit einer VM zu prüfen, fügen Sie ihre Adresse in BlackBox unter Settings → Monitored hosts hinzu: BlackBox zeichnet dann deren Roundtrip (Ping-Zeit) und Paketverlust auf.
- Beobachten Sie innerhalb der VM deren Steal Time mit den eigenen Tools des Gastes.
Das Fenster Virtual Machines · LOCAL (Local NAS → Virtual Machines) zeigt die Konfiguration jeder VM aus der Virtualization Station: ihre vCPUs, Topologie, CPU-Satz, CPU-Modell, Festplatten und Netzwerkkarten. Wenn Sie es öffnen, werden die eigenen Diagnose-Dumps von QNAP in den Cache der Workbench eingelesen; es ändert keine Einstellungen.
06Lesen der Diagramme: die kritischen Zustände
- Hoher D-Status und E/A-Verzögerung. Prozesse warten auf die Festplatten. Der wöchentliche Bericht von BlackBox nennt dies Processes waiting on storage (ein I/O-Wait am 95. Perzentil von 20 % oder mehr ist eine Warnung, 40 % oder mehr ist kritisch) und benennt die am stärksten ausgelastete Festplatte; Slow array member markiert eine Festplatte, deren Await-Zeit doppelt so hoch ist wie die der anderen Festplatten im Array und mindestens 50 ms beträgt (kritisch bei 200 ms), und Disk with no headroom eine, die für zwei Stunden zu 90 % oder mehr ausgelastet ist. Die Abhilfe entspricht dem Rat des Autors: Verschieben Sie die VM auf ein SSD-Volume, überprüfen Sie den Zustand der Festplatten (den Leistungs-Leitfaden), und stellen Sie sicher, dass kein anderer Prozess das RAID sättigt.
- Hohe CPU-Warteschlangenbildung. Der Prozessor des NAS ist überbucht: Pulse meldet VMs contending for CPU, und die Warnung Virtual machine hogging the host im wöchentlichen Bericht markiert eine VM, die 150 % eines Kerns oder mehr beansprucht (300 % ist kritisch). Geben Sie den VMs weniger vCPUs: Beginnen Sie mit ein oder zwei pro VM und fügen Sie nur dann mehr hinzu, wenn der Gast sie benötigt.
- Thermal Throttling. Eine hohe CPU-Temperatur, gefolgt von einem niedrigeren Takt und längeren Verzögerungen, bedeutet, dass der Prozessor überhitzt. Der wöchentliche Bericht nennt dies CPU thermal throttling: Ein Kern läuft auf 60 % oder weniger seines eigenen üblichen Takts, während die CPU zu mindestens 60 % ausgelastet ist. Auf der Heatmap ist 65 °C gelb und 80 °C rot. Der Rat der Workbench selbst: Entfernen Sie den Staub vom Kühlkörper, den Lüftern und den Einlässen, überprüfen Sie, ob sich die Lüfter drehen, und verbessern Sie den Luftstrom oder senken Sie die Raumtemperatur; eine höhere Lüfterdrehzahl in QTS hilft ebenfalls.
07KVM Best Practice: das CPU-Modell
- Host / Passthrough (empfohlen): Reicht den NAS-Prozessor selbst an die VM durch, mit jedem Befehlssatz, den er besitzt (z. B. AVX). Dies bietet die beste Leistung und den geringsten Overhead auf einem einzelnen NAS.
- Ein emuliertes Modell (eine generische Intel- oder AMD-CPU): Verbirgt den Prozessor des Hosts. Es ist in einem Cluster nützlich, um laufende VMs zwischen physisch unterschiedlichen Hosts zu verschieben; auf einem einzelnen NAS kostet es nur Leistung.
Das Fenster Virtual Machines · LOCAL zeigt das CPU-Modell, das jeder VM zugewiesen ist (z. B. Westmere), und ihre Topologie; die Workbench bewertet diese Wahl nicht.
08Grundwissen: Ressourcen-Überbuchung (Overcommit)
So vermeiden Sie, dass die VM-Leistung an der Leistungsgrenze des NAS einbricht. Zählen Sie als Erstes das Verhältnis von vCPUs zu physischen Kernen (pCPU):
| Ressource | Vorteil | Risiko | Ratschlag |
|---|---|---|---|
| CPU (vCPU : pCPU) | mehr VMs, günstige Reserven für kurze Spitzen | bei Sättigung verlangsamen Steal und Warteschlangen jede VM | Produktion 2:1–4:1, kritische VMs bis zu 2:1; Host unter 80 % |
| RAM (Ballooning, Dynamic Memory) | Speicher wird im laufenden Betrieb umverteilt, gut für inaktive VMs | Host-Swapping führt zu einem drastischen Leistungsabfall | lassen Sie den Host niemals aktive Seiten auslagern; reservieren Sie Speicher für kritische VMs |
| Storage (Thin) | Platz gespart, Festplatten im Handumdrehen erstellt | ein voller Datenspeicher stoppt die VMs sofort | Warnungen bei 75–85 %; Platz zurückfordern (UNMAP); kritische Daten eher Thick |
Allgemeine Regel. Overcommit ist sicher unter einer leichten, ungleichmäßigen Last mit aktiver Überwachung und gefährlich bei Spitzen ohne Reserven. Halten Sie eine Reserve bereit.
Tipps
- Beginnen Sie mit 1 vCPU pro VM und fügen Sie nur dann weitere hinzu, wenn die Last es erfordert. Mehr vCPUs als nötig bedeuten mehr Scheduler-Overhead, nicht mehr Geschwindigkeit.
- Zählen Sie physische Kerne, keine Threads. Geben Sie allen VMs zusammen nicht mehr vCPUs, als der Host Kerne hat.
- Halten Sie die Host-CPU unter 80 %. Über 90 % konkurrieren die VMs um Zyklen und der Steal innerhalb der Gäste nimmt zu.
- Lesen Sie top im Gast: %wa bedeutet Warten auf E/A (ein Festplatten-Engpass), %st ist Steal (zu viel Overcommit), %id ist freie Kapazität.
- Hohes %wa? Schnellerer Speicher oder eine SSD. Hohes %st? Weniger vCPUs oder weniger VMs.
- VirtIO für Festplatte und Netzwerk, viel schneller als Emulation. PCIe- oder GPU-Passthrough nur dann, wenn es wirklich nötig ist: Das Gerät gehört dann allein einer VM.
Ein VM-Snapshot ist kein Backup
Ein Snapshot zeichnet nur den Unterschied zu seinem Ausgangspunkt auf (die Änderungen an den Festplatten und bei einem gespeicherten Zustand auch den Speicher). Eine Beschädigung des Ausgangspunkts oder der Snapshot-Kette macht auch die Snapshots ungültig. Für echten Schutz sichern Sie ganze VM-Images: per Export, mit HBS oder auf ein separates Medium.