Einige Fragen zu SSD u. HDD performance u. 10gbit Ethernet

  • Thread starter Deleted member 60612
  • Start date
D

Deleted member 60612

Guest
Hallo zusammen!

Ich weiß leider nicht wie ich mein "Problem" besser beschreiben soll. Daher die Überschrift.

Aber erstmal die Specs meines Systems:

  • Mainboard: Asus P6t ws
  • RAM: 24gb
  • CPU: Intel XEON X5675 6 Kerne 12 Threads
  • PCIe NIC 1: Intel 4 Port Gbit
  • PCIe NIC 2: ASUS XG-C100C 10gbe
  • OS-SSD: WD Blue 500gb
  • Zusätzliche Speichermedien:
  • 2x 6TB WD RED Festplatte
  • 3x 1TB SSD 850 Pro

Es laufen an VM's (keine Container):
  • 1. OPNsense (freebsd(?))
  • 2. Pi-hole (debian)
  • 3. DNScrypt (debian)
  • 4. Openmediavault (debian)

Proxmox selber wie auch die VM's sind bis zum heutigen Tag Softwaretechnisch auf dem aktuellem Stand.

Kurzbeschreibung:

Die Maschine ist Zuhause mein "Homelab" und Router usw. Ich habe ein Anschluss von der Deutschen Glasfaser mit 1gbit down/500mbit up. Aus dem Grund habe ich vor paar Monaten diese Maschine gebaut weil der Router der Deutschen Glasfaser einfach Mist ist und sich Dinge wie das die im Netzwerk schnüffeln können usw nicht abschalten lässt.

Daher läuft auf der Maschine in einer VM OPNsense der die Netzwerkverwaltung übernimmt. Der verteilt IP Adressen im IPv4 Bereich an die Clients mit der DNS-Resolver Adresse der Pi-hole VM. Diese leitet dann die Anfragen an DNScrypt weiter. So als Kurzfassung.

EDIT: OPNsense hat eine eigene NIC-Port als WAN. So das der ganze Internetverkehr durch OPNsense muss.

Alle VM's laufen auf einer 500GB WD Blue SSD. Proxmox selber ist weder aus dem Internet noch aus dem Netzwerk ansprechbar (gewollt). Sondern hat einen eigenen physischen Netzwerkport an dem ich mich für Konfigurationszwecke usw mit einem Notebook anklemmen kann. Und einmal im Monat klemme ich ihn physisch mittels Kabel an einem Switch an wo ich dann Updates usw ziehen kann.

Nun zu meinem "Problem":

Situation:
Die Openmediavault VM hat zwei Netzwerkkarten (virtio). Einmal die "Interne Proxmox Nic" (vmbr2) und einmal die 10gbe Karte (vmbr3). In der vmbr3 befindet sich nur eine NIC und zwar die ASUS 10gbe. Keine andere VM nutz oder hat Zugriff auf diese. Die Openmediavault hat 12 GB RAM. 6 Kerne.

Dann habe ich der Openmediavault die 2x 6TB Festplatten wie die 3x Samsung SSDs direkt durchgereicht damit Openmediavault diese per SMART überwachen kann (und weil ich dachte so sei die Performance besser).

Die 2x 6TB Festplatten laufen im eigenem RAID 0 (Storage genannt). Und die 3x SSDs laufen im RAID 0 (SSDRAID genannt).

"Storage" und "SSDRAID" sind Windows Freigaben. Worauf ich mit meinem Desktop zugreife.

Specs vom Desktop:
  • Mainboard: Asus ROG Zenith Extreme
  • RAM: 64gb Dominator Platinum
  • CPU: AMD Threadripper 1950X 16 Kerne 32 Threads
  • PCIe NIC 1: ROG Areion 10Gbe
  • OS-SSD: 2x Samsung 970 EVO NVME 1TB in NVME RAID 0.

Nun ist folgendes:

Die Übertragung über das 10gbit Netzwerk ist "zu langsam". Ungefähr 650-700MB/s. Also bin ich auf Ursachenforschung gegangen und habe alles mögliche probiert. Nichts fruchtete. (Keine Angst, die komplette Maschine wurde komplett neu aufgesetzt. Also Proxmox incl die Openmediavault da die zwei Sachen "angefasst" habe. Wir können also neue Schandtaten probieren...).

Dann habe ich mich direkt auf die Openmediavault VM geschaltet und von A nach B große Datenmengen kopiert. Benchmarks mit hdparm, DD, usw durchgeführt. Und ich komme schon Lokal nicht über die 650-700MB/s. Obwohl diese 3 SSDs im RAID 0 in meiner alten Intel i7 6700k Maschine schon über 1.6GB/s erreicht haben (alles Werte vom Windows Kopier Fenster).

Und ich bin mit meinem Latein nun am Ende. Ich wollte noch probieren die Festplatten zurück an Proxmox zu geben und dort ein RAID-0 mit mdadm zb herzustellen. Und dann die Messung durchzuführen. Aber das schlug schon bei der Installation bzw Konfiguration mit mdadm fehl weil die SSDs und HDDs "Busy" seien. Und laut diesem Forum hier und Google es daran legen soll das inkompatibilitäten mit ZFS wohl herrschen sollen.

Generell bin ich natürlich offen für alle Vorschläge wie ich was am besten umsetzen sollte! Wenn jemand eine bessere und effizientere Lösung hat wie ich meine zwei Freigaben realisieren kann, nur her damit. Wollte erst FreeNAS nutzen. Aber die Performance soll als VM wohl richtig schlecht sein.

Aber vielleicht hat jemand ja ne bessere Lösung.

TL;TR: Tut mir leid für den langen Text! Ich wollte nur sicher stellen das man versteht was ich aufgebaut habe :)
 
Preface: 1250MB/s wäre maximal in der Theorie möglich. So schlecht sind die Werte also nicht.

Zum Thema: Sind in der VM alle auf Parameter auf Paravirtuell und die Guesttools sind installiert?

Ansonsten würde ich die Übertragungsrate über iperf o.ä. messen, am besten direkt auf den PVE Host und nicht an eine VM. Damit kann man dann schonmal sehen was die Verkabelung "hergiebt". Da du mit Kupfer arbeitest ggf. mal eine Direktverbindung mit einem kurzem Cat7 Kabel herstellen und prüfen ob vielleicht die Kabel schon für die Performance verantwortlich sein könnten.

Aber das schlug schon bei der Installation bzw Konfiguration mit mdadm fehl weil die SSDs und HDDs "Busy" seien.
Werden die vielleicht aktuell noch durchgereicht?

TL;TR: Tut mir leid für den langen Text! Ich wollte nur sicher stellen das man versteht was ich aufgebaut habe :)
Besser so als wenn man alles 3 mal nachfragen muss :)

LG
 
Zum Thema: Sind in der VM alle auf Parameter auf Paravirtuell und die Guesttools sind installiert?
Wie meinst du das? Ob die virtio treiber genutzt werden? Wenn ja. Dann ja.

Iperf kann ich ausprobieren. Jedoch nur in der Openmediavault VM. Oder ich muss die 10gbit nic der VM wegnehmen und im Proxmox entsprechend konfigurieren und testen. Kann ich tun.

Werden die vielleicht aktuell noch durchgereicht?

Aktuell sind die alle durchgereicht. Weil das erste Vorhaben nicht funktionierte. Und auf den 3 SSDs eine virtuelle Festplatte ablegen und in Openmediavault daraus dann ein RAID0 zu machen schien mir schon als Gedanke nicht besonders effizient.

Da du mit Kupfer arbeitest ggf. mal eine Direktverbindung mit einem kurzem Cat7 Kabel herstellen und prüfen ob vielleicht die Kabel schon für die Performance verantwortlich sein könnten.

Das ist eine Direktverbindung. Mein Desktop hat zwei Verbindungen zum Server. Eine an die 4-Port NIC wo es ins Internet geht usw. Und eine seperate Verbindung vom 10gbit Nic zum 10gbit Nic vom Server bzw Openmediavault. Also zwei unabhängige Kabel.

Das eine Gbit (normales Internet) läuft in 192.168.2.X Range. Das 10gbit ist fest auf 10.10.10.5 (und Openmediavault 10.10.10.1) konfiguriert ohne Gateway usw.

Kabellänge jeweils um die 5m. CAT7 Verlegekabel (geht durch die wand in einer Abstellkammer).
Konfektioniert mit Rutenbeck 13900320 Steckern (hier wäre ein Link. Darf ich aber leider nicht.).

Im Büro erreiche ich übrigens vom NAS (6x WD GOLD QNAP NAS) fast die volle 10gbit. Um die 990 MB/s. 1.1GB/s habe ich aber auch in einem anderen Szenario schon gesehen. Und hier sind es locker 100m bis zum NAS ne Etage tiefer.

Ich persönlich glaube irgendwas ist mit Proxmox in Kombination mit Openmediavault nicht ganz rund. Werde mal eine andere SSD mit Windows 10 dran hängen und gucken ob unter Windows zu Windows die Performance auch "so schlecht" ist.
 
Ich sage schonmal Danke tschanness!

Habe mit iperf einige Messungen durchgeführt.

Von Desktop zu Openmediavault VM: ca. ~400MB/s (warum 400MB/s und nicht wie bei großen Dateikopieren etwas zwischen 650-700MB/s erschließt mir nicht).
Von Openmediavault zu Desktop: ca. ~400MB/s

Von Desktop zu Proxmox selbst (NIC der OMV VM genommen): ca. 400MB/s
Von Proxmox zu Desktop: ca 400MB/s

Fazit: Also null Unterschied! Auch mit kürzeren Kabel ausprobiert (1.5m das kürzeste was grade ging). Auch null Unterschied.

Und dann ist es mir fast wie ein Blitz durch den Kopf gegangen wo ich hoffe das ich unrecht habe... kann es sein das PCIe limitiert? Weil das sind soweit ich sehe PCIe x4 Karten. Und ich glaube x1 Lane ist ca 1Gbit/s.

Also verifizieren wir es und hacken es in die Konsole.... :

Code:
>>lspci -vv

08:00.0 Ethernet controller: Device 1d6a:d107 (rev 02)
        Subsystem: ASUSTeK Computer Inc. Device 8741
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 256 bytes
        Interrupt: pin A routed to IRQ 24
        Region 0: Memory at f9df0000 (64-bit, non-prefetchable) [size=64K]
        Region 2: Memory at f9def000 (64-bit, non-prefetchable) [size=4K]
        Region 4: Memory at f9800000 (64-bit, non-prefetchable) [size=4M]
        Expansion ROM at f9d80000 [disabled] [size=256K]
        Capabilities: [40] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 25.000W
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr+ NoSnoop+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s unlimited, L1 unlimited
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [80] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [90] MSI-X: Enable+ Count=32 Masked-
                Vector table: BAR=2 offset=00000000
                PBA: BAR=2 offset=00000200
        Capabilities: [a0] MSI: Enable- Count=1/32 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [c0] Vital Product Data
                Product Name: AQtion
                Read-only fields:
                        [PN] Part number: AquantiaPartNumber
                        [EC] Engineering changes: AquantiaEngineeringChangeLevel
                        [FG] Unknown: 41 71 75 61 6e 74 69 61 46 61 62 72 69 63 47 65 6f 67 72 61 70 68 79
                        [LC] Unknown: 41 71 75 61 6e 74 69 61 4c 6f 63 61 74 69 6f 6e
                        [MN] Manufacture ID: 41 71 75 61 6e 74 69 61 4d 61 6e 75 66 61 63 74 75 72 69 6e 67 49 64
                        [PG] Unknown: 41 71 75 61 6e 74 69 61 50 63 69 47 65 6f 67 72 61 70 68 79
                        [SN] Serial number: AquantiaSerialNumber
                        [V0] Vendor specific: AquantiaVendorSpecificReadOnlyItem0
                        [V1] Vendor specific: AquantiaVendorSpecificReadOnlyItem1
                        [RV] Reserved: checksum good, 0 byte(s) reserved
                Read/write fields:
                        [YA] Asset tag: AquantiaAssetTagIdentifier
                        [V0] Vendor specific: AquantiaVendorSpecificWritableItem0
                        [V1] Vendor specific: AquantiaVendorSpecificWritableItem1
                        [Y0] System specific: AquantiaSystemSpecificWritableItem0
                        [Y1] System specific: AquantiaSystemSpecificWritableItem1
                        [RW] Read-write area: 9 byte(s) free
                End
        Capabilities: [100 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [150 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
        Capabilities: [180 v1] #19
        Kernel driver in use: atlantic
        Kernel modules: atlantic

Aber da MUSS ich falsch liegen. Weil NVME SSD's sind ja auch an x4 angebunden. Und dort erreiche ich lokal locker um die 2500MB/s... Also weitersuchen.

Aber jetzt scheint es wirklich so das mit der Netzwerkkartenkonfiguration irgendwo was nicht stimmt (Beim Desktop oder Proxmox).
 

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!