Performance dei dischi in PVE

Disponendo di risorse economiche molto limitate mi trovo spesso a dover fare server con dischi SATA e senza controller RAID dedicato, usando ZFS in PVE (oppure in teoria usando il raid software di mdadm in Debian Linux e poi installando PVE in un secondo momento, una cosa abbastanza orrenda). In generale il risultato sono macchine che hanno prestazioni dallo scadente al pietoso per quanto riguarda il numero di IOPS, e questo si vede in modo molto chiaro, specie sui guest Windows che paiono soffrire molto più dei guest Linux anche per carichi mediamente banali. Credo che il motivo sia che Windows ha millemila processi che girano costantemente, dall'update manager all'indicizzazione a chissà quante altre cazzate inutili che lo rendono quel mostro che è. Comunque sia, le perforamnce di Windows server fanno pietà, a parità di tipo di dischi e di controller, rispetto a quelle di Linux.

Questi sono i risultati del comando "pveperf" su diverse macchine di classe economica che ho provato.

Dell R310 anno 2010 con PERC H700 con 512K di cache in scrittura. Dischi WD Gold 2 TB WDC WD2005FBYZ - PVE 5.2.1 con LVM

CPU BOGOMIPS: 40452.32

REGEX/SECOND: 1305327

BUFFERED READS: 190.32 MB/sec

AVERAGE SEEK TIME: 7.25 ms

FSYNCS/SECOND: 3072.59

SERVER GEMM XEON E3, Dischi WD Gold 2 TB WDC WD2005FBYZ su SATA della mainboard - PVE 4.4.1 con ZFS

CPU BOGOMIPS: 24000.60

REGEX/SECOND: 2880398

FSYNCS/SECOND: 890.19

SERVER GEMM XEON E3, Dischi Toshiba 2 TB MG03ACA200 su SATA della mainboard - PVE 4.4.1 con ZFS

CPU BOGOMIPS: 24000.56

REGEX/SECOND: 2803194

FSYNCS/SECOND: 102.10

SERVER HP XEON E3, DISCHI WG Gold 2 TB WDC WD2005FBYZ su SATA della mainboard - PVE 5.1-42 con ZFS

CPU BOGOMIPS: 26496.00

REGEX/SECOND: 3588051

FSYNCS/SECOND: 996.44

Dell T340 XEON E-2124 controller PERC H330 senza cache in scrittura, dischi HGST HUS722T2TAL - PVE 6.2-4 con LVM

CPU BOGOMIPS: 26399.92

REGEX/SECOND: 4361372

BUFFERED READS: 186.21 MB/sec

AVERAGE SEEK TIME: 8.34 ms

FSYNCS/SECOND: 526.10

FUJITSU SIEMES Xeon E3-1225 DISCHI 1 TB Seagate ST1000DM010-2EP102 su SATA, PVE 5.3.11 su raid con MD

CPU BOGOMIPS: 26496.00

REGEX/SECOND: 3563047

BUFFERED READS: 187.50 MB/sec

AVERAGE SEEK TIME: 15.52 ms

FSYNCS/SECOND: 42.12

Dell R300 Xeon X5460 con SAS6IR senza cache, dischi WD HA210 2TB - PVE 4.15-18 con LVM

CPU BOGOMIPS: 25331.24

REGEX/SECOND: 750907

BUFFERED READS: 125.50 MB/sec

AVERAGE SEEK TIME: 7.10 ms

FSYNCS/SECOND: 523.92

Dell Xeon E5620 con controller con cache, raid5 di 3 dischi SAS - PVE 4.4.1 con LVM

CPU BOGOMIPS: 76609.68

REGEX/SECOND: 1067450

BUFFERED READS: 328.53 MB/sec

AVERAGE SEEK TIME: 4.08 ms

FSYNCS/SECOND: 3038.53

DELL T30 Xeon E3 1225V5 3.3 Ghz, dischi WD DC HA210 HUS722T2TALA604 su SATA - PVE 6.0-4 con ZFS

CPU BOGOMIPS: 26496.00

REGEX/SECOND: 3972995

FSYNCS/SECOND: 645.91

Dell T340 Xeon E-2224 controller PERC H730P con cache e batteria, dischi SATA Dell (TOSHIBA MG04ACA2) - PVE 6.4.1 con LVM

CPU BOGOMIPS: 27199.24

REGEX/SECOND: 4906960

BUFFERED READS: 183.15 MB/sec

AVERAGE SEEK TIME: 7.40 ms

FSYNCS/SECOND: 9584.24

Da questi risultati si evince che OVVIAMENTE un controller con la cache fa una differena enorme, in particolare l'ultima macchina, la piu` recente, fa 9000 IOPS. (Vale la pena di notare che all'atto pratico non si "sente" questa differenza con una macchina che ne fa 3000). Eliminando il controller con la cache, ecco che il numero di IOPS viene a dipendere a mio avviso principalmente dai dischi e non dall'uso di LVM o ZFS. Si vede chiaramente quali dischi fanno PENA e quali invece sono decenti. I dischi HGST (e gli attuali WD HA210 che sono sempre HGST) si attestano sui 500-600 IOPS, i vecchi dischi WD GOLD erano meglio con 900-1000 IOPS, i Toshiba si fermano a 100, e il top del lento sono i Seagate ST1000 da 45 IOPS, che però non rendono giustizia alla marca, dovremmo provare dei dischi più performanti.

Purtroppo in questo test non ho avuto modo di provare dischi Seagate moderni come gli Ironwolf e gli Exos, almneo per ora. Sono un pochino deluso dai WD DC HA210 che si dimostrano meno performanti dei vecchi Gold.

A livello di "sensazione", devo dire che bene o male se si escludono i dischi PENOSI da meno di 100 IOPS, si riesce comunque a lavorare con un carico senza pretese anche con soli 500 IOPS. Fare girare Windows su un disco da 100 IOPS invece è una tragedia di lentezza, una cosa inaffrontabile.

PVE/PerformanceTests (last edited 2021-08-21 17:30:01 by Kurgan)