Schreibrate NVME in WIN10Guest

Sycoriorz

Well-Known Member
Mar 19, 2018
44
2
48
35
Hallo Zusammen,

ich habe ein Ceph Cluster mit NVME.
In dem Pool betreibe ich unter anderem einen WIN10Guest.
Ich habe gemerkt das laut WIN10 Taskmonitor die HDD schreibrate mit 76,3 MB/s mit 100% Auslastung angegeben ist.

Sollte ich hier nicht die komplette schreibrate der NVME ausnutzen können?
Qemu guest agent aktiv.
Treiber gemäß PVE wiki für WIN10 bereits installiert.

Fehlt mir noch etwas oder ist das normal?

Vielen Dank für eure Hilfe.
 
Was für NVMes setzt du ein? Was für Server sind das? Was für ein Storage-Netzwerk nutzt du?
 
Last edited:
Da Ceph ja kein RAID ist.
Sofern du die Möglichkeit hast die vorgeschlagenen Änderungen zu testen wäre es einen Versuch wert; Es kann natürlich sein, dass das in Verbindung mit Ceph überhaupt keinen Unterschied macht - Ich habe bisher nicht mit Ceph gearbeitet.
 
Poste bitte deine ceph- und vm-Konfiguration!
scsi0: ceph_vm_pool_vm:vm-105-disk-0,cache=writeback,discard=on,...
 
nach meiner Anpassung hatte ich merkliche Verbesserung.
Hatte zwar SCSI installiert aber die Platte per IDE angebunden.
Damit war dann der Flaschenhals vorprogrammiert.
Somit nehme ich an das der SCSI passthrough Treiber nicht gezogen hat.

Neu:
Auslastung 100% Win10-Task wenn ich 1,6gb sek schreibe.
vm-konf
qm conf 117
agent: 1
boot: order=scsi0;ide0
cores: 4
cpu: host
machine: pc-q35-5.2
memory: 16384
net0: virtio=08:00:???????????,bridge=vmbr1,firewall=1
numa: 0
ostype: win10
scsi0: NVME-POOL:vm-117-disk-0,cache=writeback,iothread=1,size=1000G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=
sockets: 1

ceph conf

[global]
auth_client_required = cephx
auth_cluster_required = cephx
auth_service_required = cephx
cluster_network = 30.10.1.1/24
fsid = ?????
mon_allow_pool_delete = true
mon_host = 30.10.1.1 30.10.1.2 30.10.1.3
osd_pool_default_min_size = 2
osd_pool_default_size = 3
public_network = 30.10.1.1/24

[client]
keyring = /etc/pve/priv/$cluster.$name.keyring

[mon.pve1]
public_addr = 30.10.1.1
[mon.pve2]
public_addr = 30.10.1.2
[mon.pve3]
public_addr = 30.10.1.3
 
nach meiner Anpassung hatte ich merkliche Verbesserung.
Hatte zwar SCSI installiert aber die Platte per IDE angebunden.
Damit war dann der Flaschenhals vorprogrammiert.
Somit nehme ich an das der SCSI passthrough Treiber nicht gezogen hat.

Neu:
Auslastung 100% Win10-Task wenn ich 1,6gb sek schreibe.


ceph conf
Das Hauptproblem sollte damit erledigt sein.
Auf der VM-Netzwerkkarte kannst du noch den Wert für "Multiqueue"= erhöhen und einen Test fahren (siehe Hilfe).

Ich habe keine Erfahrung im Full-Mesh Betrieb, du kannst die Netze für cluster_network und public_network in ein extra VLAN packen, für das VLAN Netz z.B 30.10.2.0/24 vergeben und die ceph Authentifizierung auf none umstellen.
ceph.conf
auth_client_required = none
auth_cluster_required = none
auth_service_required = none
Jetzt wieder testen, welche Auswirkungen es auf die Performance hat.
 
Danke für Rückmeldung. Das würde ich testen.

Wie merke ich das mein Ceph Netzwerk langsamer ist als mein tatsächliches Datenaufkommen?

Auch stelle ich mir folgende Frage.
Würde das zu langsame Netzwerk meine NVMEs bremsen damit die Daten synchron bleiben?
Oder hätte ich einfach einen Zeitversatz der meinen Datenverlust darstellen würde?

Gruß
 
Aber langsam, du müsstest uns sagen wieviele Platten du in jedem Server hast und wie diese im ceph konfiguriert sind. Außerdem, wie du das Full-Mesh aufgebaut hast (eine oder mehrere 100GB Karten), was machst du mit dem 1GB Port und mit den 2x10GB auf dem Board?
Wieviel Ram ist verbaut, was ist das Ziel deiner Konfiguration? Ohne vollständige Informationen ist es schwer zu antworten.
 
Außerdem, wie du das Full-Mesh aufgebaut hast (eine oder mehrere 100GB Karten),
Es ist in jedem Server eine Mellanox 5 MCX566A-EACT PCI3.0 DualPort über ETH SFP28.
Außerdem, wie du das Full-Mesh aufgebaut hast
NetzwerkBond mit beiden Ports auf der der MCX als Broadcast und MTU9000

Das auf allen 3 Nodes.
Verkabelt wie in Doku
https://pve.proxmox.com/wiki/Full_Mesh_Network_for_Ceph_Server
Der FullMesh ist rein für Ceph public and cluster.
Da laut Doku erst ab großen Setups zum trennen Empfehlungen vorliegen.

was machst du mit dem 1GB Port und mit den 2x10GB auf dem Board?
1GB Onboard-port ist rein für die Server Management Console

Onboard 1x10GB nutze ich PVE Frontend und Livemigration
Onboard unbenutzt bisher

Dann habe ich noch 4Port 1gb Intel Nic
Davon nutze ich 2 Ports für Corosync im Fullmeshsetup analog Ceph Bond nur ohne Jumbo frames

Und noch eine 4Port Intel X710 10GB Karte.
Diese ist nur als bridge für VMs gedacht.

Wieviel Ram ist verbaut,
Pro Node habe ich im Moment 128GB RAM DDR3200 4x32GB Riegel

du müsstest uns sagen wieviele Platten du in jedem Server
Pro Node habe ich 4 Platten 9300 MAX 3.2TB Micron

was ist das Ziel deiner Konfiguration?
Sehr warscheinlich liegt mein Echtbedarf weit unter meinem Setup.
Ich habe das System größer ausfallen lassen, da ich bisher starke performance Probleme bei MSSQL (Datenbank 10GB). auch auf dem angebotenen Fileserver zusammenbrechen des Netzes bei Datentransfer als auch Backups (Netzwerkverkehr als auch lese und schreibrate von single SSD aber auch HDD). War damals kein AllNVME und auch kein SAS-RAID.

Aufgrund des wie ich denke überdimensionierten Setups fliegen alle Client PCs raus (ca 15 ) und stelle auf ThinClients um.

Der Vorteil ist, dass der Bedarf durch das Setup mitwächst da sich neue Möglichkeiten öffnen.

Der Hintergrund meines Posts sollte darauf abziehlen das volle Potenzial für MSSQL nutzen können.
 
Kurze Rückmeldung:
Der Arbeitsspeicher ist kein Problem. --OK
Onboard 1x10GB PVE Frontend und Livemigration max 1.250 MB/s --> Warum nimmst du nicht die Livemigration mit in das 100GB-Netz und fasst alle 10GB Interfaces zusammen?

Vorschlag:
Mellanox 5 MCX566A-EACT 1x 100GB Livemigration vlan10,cluster_network und public_network vlan20 -->max 12.500 MB/s
4Port 1gb Intel Nic für 2x Ring corosync max 125 MB/s --OK
4Port Intel X710 10GB + 2x 10GB onboard-> Vorschlag 6x LACP Bond auf einen 10GB Switch mit PVE Frontend -->max 7500 MB/s für die virtuellen Maschinen

Zu der MSSQL-Datenbank kann ich nichts sagen. Aber 10GB sind ja nichts. Vielleicht muss dort vom Softwarelieferanten optimiert werden.
Auf jeden Fall wird dieses Setup ein Quantensprung darstellen.
Den MSSQL-Server würde ich auf einer extra "scsi1" Platte und das Datenverzeichnis auf einer weiteren "scsi2" installieren, sodass jede Platte ihren virtuellen io-thread bekommt.

Ein schönes WE!
 
Guten Tag,

vielen Dank für deine Rückmeldung.
Onboard 1x10GB PVE Frontend und Livemigration max 1.250 MB/s --> Warum nimmst du nicht die Livemigration mit in das 100GB-Netz und fasst alle 10GB Interfaces zusammen?
Ich wollte da nicht im Ceph Netzwerk weitere Daten senden auch aufgrund der Latenzen. Ich war der Meinung gelesen zu haben das Ceph hier etwas pingelig analaog corosync zu sein.

4Port Intel X710 10GB + 2x 10GB onboard-> Vorschlag 6x LACP Bond auf einen 10GB Switch mit PVE Frontend -->max 7500 MB/s für die virtuellen Maschinen
Diesen Ansatz setze ich in jedem fall um.
Den MSSQL-Server würde ich auf einer extra "scsi1" Platte und das Datenverzeichnis auf einer weiteren "scsi2" installieren, sodass jede Platte ihren virtuellen io-thread bekommt.
Dieser Ansatz gefällt mir ebenfalls sehr gut und bin gerade dabei es zu testen.

Besten Dank nochmal für den zusätzlichen Denkansatz.
 
Hallo Sycoriorz,

vielen Dank für die Rückmeldung.
Ich wollte da nicht im Ceph Netzwerk weitere Daten senden auch aufgrund der Latenzen. Ich war der Meinung gelesen zu haben das Ceph hier etwas pingelig analaog corosync zu sein.
Nach meinen Erfahrungen ist das überhaupt kein Problem. Corosync ist da viel anfälliger, Ceph ist rockstabil und ehrlich, wie oft, ausser bei einem Test werden während der Produktion die VMs auf einen anderen Knoten verschoben. Bei einer Migration kommt es auf die maximale Geschwindigkeit, sowie die kleinste Latenz an und die sehe ich natürlich im 100GB Netzwerk. Wenn keine Migration läuft werden ja auch kaum Daten über das Migrationsnetz übertragen.

Wenn du noch die Möglichkeit hast, teste es einfach und gib einmal eine Rückmeldung!

Viel Erfolg!
 

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!