Langsame Read Performance ME5024->PVE

Oct 29, 2022
22
1
8
Ich hab da mal eine Frage an der ich nicht weiterkomme, aber bevor ich die Fragen stelle, hier zuerst mal ein Überblick darüber was die Grundlagen sind.

3 PVE mit Dual 40G QSFP+ Verbindung
2 Switches von FS (S8550-6Q2C) mit AGG auf den beiden 100Gbit Ports (so dass die Swichtes verbunden sind und 200Gbit Transfer aushalten können)
1 Storage von Dell (ME5024) welches via Breakout Cable ( 40G mit 4*10Gbit ) an das Storage angeschlossen sind

Storage ist via ISCSI eingebunden, Multipath ist aktiv und zeigt auch im multipath -ll keine Fehler.

MTU ist auf allen Geräten auf 9000 bzw. auf Jumbo Frames eingestellt ( auf der Karte, Bond und Bridge @pve)

Erkenntnisse

Zwischen den PVE Hosts komme ich auf 30-35Gbit Transferraten (iperf3) - von local zu local übertragene Disks schreiben im Schnitt (bei grossen Disks) 1GByte / sec - kleinere Disks sind auch schneller (Cache Thema SSD).

Zwischen PVE und Storage im schreibenden Modus (wenn ich die Disk da rein schiebe) selbes wie bei den PVE untereinander

Aber wenn ich vom Storage eine Disk auf den lokalen PVE übertragen will, dann kriege ich nur zwischen 20-125MByte/sec.


Ich finde einfach den Grund nicht, warum das so ist - und ich verzweifle langsam, weil das ganze sich natürlich auch im Backup so verhält und ich so auch nicht das Storage in nützlicher Frist evakuieren kann (was ich eben tun sollte, damit ich es nochmals neu konfigurieren kann von linear auf virtual).

Das einzige was ich gesehen habe ist, dass im journalctl sehr oft die Meldungen erscheinen

Code:
Nov 14 14:55:00 pxhv1 kernel: sd 20:0:0:1: alua: supports implicit TPGS
Nov 14 14:55:00 pxhv1 kernel: sd 20:0:0:1: alua: device naa.600c0ff0005d2de7b5622f6701000000 port group 1 rel port 6
Nov 14 14:55:00 pxhv1 kernel: sd 21:0:0:0: alua: supports implicit TPGS
Nov 14 14:55:00 pxhv1 kernel: sd 21:0:0:0: alua: device naa.600c0ff0005d2f80b4622f6701000000 port group 0 rel port 1
Nov 14 14:55:00 pxhv1 kernel: sd 21:0:0:1: alua: supports implicit TPGS
Nov 14 14:55:00 pxhv1 kernel: sd 21:0:0:1: alua: device naa.600c0ff0005d2de7b5622f6701000000 port group 0 rel port 1
Nov 14 14:55:00 pxhv1 kernel: sd 22:0:0:0: alua: supports implicit TPGS
Nov 14 14:55:00 pxhv1 kernel: sd 22:0:0:0: alua: device naa.600c0ff0005d2f80b4622f6701000000 port group 1 rel port 8
Nov 14 14:55:00 pxhv1 kernel: sd 22:0:0:1: alua: supports implicit TPGS
Nov 14 14:55:00 pxhv1 kernel: sd 22:0:0:1: alua: device naa.600c0ff0005d2de7b5622f6701000000 port group 1 rel port 8


Hat mir jemand einen Tipp warum das so "langsam" ist? Bzw. wie ich herausfinde wo der verfluchte Bottleneck ist?
 
Last edited:
Nachtrag - es ist zum Mäuse melken - sämtliche Tests zeigen ein komplett anderes Bild was Performance anbelangt. Kann ja also nicht grundsätzlich an der Konfiguration liegen, der irre ich mich da?

FIO Test von einem Node
Code:
root@pxhv1:/dev/iscsi-dg01# fio --name=read_test --filename=/dev/iscsi-dg01/testlv --size=1G --runtime=60 --time_based --ioengine=libaio --direct=1 --bs=128k --rw=read --iodepth=32
read_test: (g=0): rw=read, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=libaio, iodepth=32
fio-3.33
Starting 1 process
read_test: Laying out IO file (1 file / 1024MiB)
Jobs: 1 (f=0): [f(1)][100.0%][r=5312MiB/s][r=42.5k IOPS][eta 00m:00s]
read_test: (groupid=0, jobs=1): err= 0: pid=4099854: Thu Nov 14 15:28:29 2024
  read: IOPS=42.2k, BW=5281MiB/s (5537MB/s)(309GiB/60001msec)
    slat (usec): min=19, max=223, avg=22.57, stdev= 1.66
    clat (usec): min=2, max=5252, avg=734.67, stdev=26.27
     lat (usec): min=25, max=5439, avg=757.24, stdev=27.07
    clat percentiles (usec):
     |  1.00th=[  709],  5.00th=[  717], 10.00th=[  717], 20.00th=[  717],
     | 30.00th=[  725], 40.00th=[  725], 50.00th=[  725], 60.00th=[  734],
     | 70.00th=[  742], 80.00th=[  750], 90.00th=[  758], 95.00th=[  766],
     | 99.00th=[  848], 99.50th=[  857], 99.90th=[  898], 99.95th=[  947],
     | 99.99th=[ 1123]
   bw (  MiB/s): min= 5080, max= 5336, per=100.00%, avg=5282.55, stdev=52.62, samples=119
   iops        : min=40641, max=42695, avg=42260.37, stdev=421.00, samples=119
  lat (usec)   : 4=0.01%, 50=0.01%, 100=0.01%, 250=0.01%, 500=0.01%
  lat (usec)   : 750=84.49%, 1000=15.48%
  lat (msec)   : 2=0.03%, 4=0.01%, 10=0.01%
  cpu          : usr=4.88%, sys=95.11%, ctx=161, majf=0, minf=1039
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued rwts: total=2534683,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=32

Run status group 0 (all jobs):
   READ: bw=5281MiB/s (5537MB/s), 5281MiB/s-5281MiB/s (5537MB/s-5537MB/s), io=309GiB (332GB), run=60001-60001msec

Mit anderem FIO Test
Code:
fio --name=randread_test --filename=/dev/iscsi-dg01/testlv --size=1G --runtime=60 --time_based --ioengine=libaio --direct=1 --bs=4k --rw=randread --iodepth=32
randread_test: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=32
fio-3.33
Starting 1 process
randread_test: Laying out IO file (1 file / 1024MiB)
Jobs: 1 (f=1): [r(1)][100.0%][r=1329MiB/s][r=340k IOPS][eta 00m:00s]
randread_test: (groupid=0, jobs=1): err= 0: pid=4105236: Thu Nov 14 15:32:39 2024
  read: IOPS=334k, BW=1303MiB/s (1367MB/s)(76.4GiB/60001msec)
    slat (nsec): min=1364, max=99304, avg=1901.89, stdev=411.37
    clat (usec): min=2, max=372, avg=93.76, stdev= 5.37
     lat (usec): min=3, max=408, avg=95.66, stdev= 5.45
    clat percentiles (usec):
     |  1.00th=[   87],  5.00th=[   90], 10.00th=[   91], 20.00th=[   92],
     | 30.00th=[   92], 40.00th=[   93], 50.00th=[   93], 60.00th=[   93],
     | 70.00th=[   94], 80.00th=[   95], 90.00th=[   98], 95.00th=[  103],
     | 99.00th=[  118], 99.50th=[  125], 99.90th=[  137], 99.95th=[  143],
     | 99.99th=[  190]
   bw (  MiB/s): min= 1211, max= 1352, per=100.00%, avg=1303.84, stdev=26.99, samples=119
   iops        : min=310262, max=346314, avg=333783.28, stdev=6910.42, samples=119
  lat (usec)   : 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%, 100=92.91%
  lat (usec)   : 250=7.09%, 500=0.01%
  cpu          : usr=38.85%, sys=61.14%, ctx=170, majf=0, minf=56
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued rwts: total=20018238,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=32

Run status group 0 (all jobs):
   READ: bw=1303MiB/s (1367MB/s), 1303MiB/s-1303MiB/s (1367MB/s-1367MB/s), io=76.4GiB (82.0GB), run=60001-60001msec


SCHREIBTEST auf den lokalen Platten

Code:
root@pxhv2:/dev/pve# fio --name=write_test --filename=/dev/pve/testlv --size=1G --runtime=60 --time_based --ioengine=libaio --direct=1 --bs=128k --rw=write --iodepth=32
write_test: (g=0): rw=write, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=libaio, iodepth=32
fio-3.33
Starting 1 process
Jobs: 1 (f=1): [W(1)][100.0%][w=4894MiB/s][w=39.2k IOPS][eta 00m:00s]
write_test: (groupid=0, jobs=1): err= 0: pid=115249: Thu Nov 14 15:51:29 2024
  write: IOPS=37.6k, BW=4696MiB/s (4924MB/s)(275GiB/60001msec); 0 zone resets
    slat (usec): min=4, max=4803, avg=14.66, stdev=12.30
    clat (usec): min=57, max=9569, avg=836.53, stdev=304.70
     lat (usec): min=69, max=9581, avg=851.19, stdev=309.40
    clat percentiles (usec):
     |  1.00th=[  326],  5.00th=[  570], 10.00th=[  594], 20.00th=[  603],
     | 30.00th=[  619], 40.00th=[  660], 50.00th=[  766], 60.00th=[  873],
     | 70.00th=[  971], 80.00th=[ 1090], 90.00th=[ 1188], 95.00th=[ 1254],
     | 99.00th=[ 1631], 99.50th=[ 1942], 99.90th=[ 3589], 99.95th=[ 4359],
     | 99.99th=[ 5735]
   bw (  MiB/s): min= 3281, max= 6205, per=100.00%, avg=4698.74, stdev=540.60, samples=119
   iops        : min=26252, max=49644, avg=37589.97, stdev=4324.84, samples=119
  lat (usec)   : 100=0.02%, 250=0.53%, 500=2.29%, 750=46.17%, 1000=23.22%
  lat (msec)   : 2=27.32%, 4=0.39%, 10=0.07%
  cpu          : usr=27.52%, sys=38.27%, ctx=492008, majf=0, minf=485
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,2254248,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=32

Run status group 0 (all jobs):
  WRITE: bw=4696MiB/s (4924MB/s), 4696MiB/s-4696MiB/s (4924MB/s-4924MB/s), io=275GiB (295GB), run=60001-60001msec
 
Last edited:
Hallo, könntest du einmal den Output von pveversion -v posten?
 
Aber wenn ich vom Storage eine Disk auf den lokalen PVE übertragen will, dann kriege ich nur zwischen 20-125MByte/sec.
apt install iostat iotop
echo 1 > /proc/sys/kernel/task_delayacct # Um "%IO" wait im iotop anzeigen zu können.
Dann guck inwieweit dein Disk-Verschiebe-Prozess vom I/O ausgebremst wird mit "iotop -o" und schau in "iostat -xm 1" am Ende der Zeile Utilization der virtuellen iscsi-disk.
 
  • Like
Reactions: Johannes S
Hallo, könntest du einmal den Output von pveversion -v posten?
Code:
pveversion -v
proxmox-ve: 8.2.0 (running kernel: 6.8.8-4-pve)
pve-manager: 8.2.3 (running version: 8.2.3/b4648c690591095f)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.8-4
proxmox-kernel-6.8.8-4-pve-signed: 6.8.8-4
proxmox-kernel-6.8.8-2-pve-signed: 6.8.8-2
proxmox-kernel-6.5.13-6-pve-signed: 6.5.13-6
proxmox-kernel-6.5: 6.5.13-6
proxmox-kernel-6.2.16-20-pve: 6.2.16-20
proxmox-kernel-6.2: 6.2.16-20
pve-kernel-6.2.16-3-pve: 6.2.16-3
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx9
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.1.4
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.7
libpve-cluster-perl: 8.0.7
libpve-common-perl: 8.2.1
libpve-guest-common-perl: 5.1.3
libpve-http-server-perl: 5.1.0
libpve-network-perl: 0.9.8
libpve-rs-perl: 0.8.9
libpve-storage-perl: 8.2.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-3
openvswitch-switch: 3.1.0-2+deb12u1
proxmox-backup-client: 3.2.3-1
proxmox-backup-file-restore: 3.2.3-1
proxmox-firewall: 0.5.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.2.3
pve-cluster: 8.0.7
pve-container: 5.1.10
pve-docs: 8.2.2
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.1
pve-firewall: 5.0.7
pve-firmware: 3.13-1
pve-ha-manager: 4.0.5
pve-i18n: 3.2.2
pve-qemu-kvm: 8.1.5-6
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.3
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.4-pve1
 
apt install iostat iotop
echo 1 > /proc/sys/kernel/task_delayacct # Um "%IO" wait im iotop anzeigen zu können.
Dann guck inwieweit dein Disk-Verschiebe-Prozess vom I/O ausgebremst wird mit "iotop -o" und schau in "iostat -xm 1" am Ende der Zeile Utilization der virtuellen iscsi-disk.
iostat kann ich nicht installieren, weil es das Paket nicht gibt
Code:
root@pxhv3:/dev/iscsi-dg01# apt-cache search iostat
dstat - versatile resource statistics tool
ganglia-modules-linux - Ganglia extra modules for Linux (IO, filesystems, multicpu)
ifstat - InterFace STATistics Monitoring
nicstat - print network traffic statistics
pcp-import-iostat2pcp - Tool for importing data from iostat into PCP archive logs
r-bioc-sva - GNU R Surrogate Variable Analysis
r-cran-epi - GNU R epidemiological analysis
r-cran-epibasix - GNU R Elementary Epidemiological Functions
r-cran-kmi - GNU R Kaplan-Meier Multiple Imputation
r-cran-rms - GNU R regression modeling strategies by Frank Harrell
sysstat - system performance tools for Linux

und mit iotop -o sehe ich zwar was aber das wechselt jeweils so schnell, das ich gar nicht hinterkomme :) wenn ich dann noch a drücke (accum) bleibt es zwar stehen, aber da werde ich nicht wirklcih schlau ehrlich gesagt bzw. ich sehe nicht auf was ich achten müsste.

Nachtrag

beim SWAPIN / IO> sehe ich jeweils 0% für die Maschine um die es geht.
 
Last edited:
Aah, Paket heißt sysstat, sorry
Ok, was ich jetzt da sehe ist, dass er manchmal auf einzelnen Platten (Multipath werden ja als einzelne angezeigt) eine Utilization von 100% hat und die 2-3 Sekunden so stehen bleibt.

Deutet das darauf hin, dass das multipath doch nicht so reibunglos läuft wie angenommen?

Code:
dm-0             0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-1             0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-10            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-11            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-12            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-13            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-14            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-15            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-16            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-17            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-18            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-19            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-2             0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-20            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-21            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-22            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-23            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00 100.00
dm-24            0.00      0.00     0.00   0.00    0.00     0.00    7.00      0.07    12.00  63.16    0.43     9.71    0.00      0.00     0.00   0.00    0.00     0.00    2.00    0.00    0.00   0.30
dm-25            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-26            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00 100.00
dm-27            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-28            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-29            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-3             3.00      0.01     0.00   0.00    0.67     4.00   40.00      0.16     0.00   0.00    0.07     4.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.01   0.40
dm-30            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-32            0.00      0.00     0.00   0.00    0.00     0.00   19.00      0.07     0.00   0.00    0.84     3.58    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.02   0.30
dm-33            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-34            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-4             3.00      0.01     0.00   0.00    0.67     4.00   40.00      0.16     0.00   0.00    0.07     4.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.01   0.40
dm-6             0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-7             3.00      0.01     0.00   0.00    0.67     4.00   41.00      0.16     0.00   0.00    0.10     3.90    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.01   0.40
dm-8             0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
dm-9             0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
loop0            0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sda              3.00      0.01     0.00   0.00    0.33     4.00    6.00      0.16    34.00  85.00    0.50    26.67    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.40
sdb              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdc              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdd              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sde              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00 100.00
sdf              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdg              1.00      0.00     0.00   0.00    0.00     0.00    1.00      0.04     0.00   0.00    1.00    36.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.20
sdh              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdi              1.00      0.00     0.00   0.00    0.00     0.00    1.00      0.02     0.00   0.00    1.00    16.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.30
sdj              0.00      0.00     0.00   0.00    0.00     0.00    2.00      0.01     0.00   0.00    0.50     4.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.30
sdk              0.00      0.00     0.00   0.00    0.00     0.00    1.00      0.01     0.00   0.00    0.00     8.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.20
sdl              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdm              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdn              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdo              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdp              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00
sdq              0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00    0.00    0.00   0.00

Hier noch der multipath -ll vom betreffenden Hypervisor

Code:
mpdg01 (3600c0ff0005d2f80b4622f6701000000) dm-24 DellEMC,ME5
size=3.5T features='0' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 16:0:0:0 sdj 8:144 active ready running
| |- 20:0:0:0 sdg 8:96  active ready running
| |- 22:0:0:0 sdk 8:160 active ready running
| `- 18:0:0:0 sdi 8:128 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 15:0:0:0 sdb 8:16  active ready running
  |- 21:0:0:0 sdh 8:112 active ready running
  |- 17:0:0:0 sdc 8:32  active ready running
  `- 19:0:0:0 sdd 8:48  active ready running
mpdg02 (3600c0ff0005d2de7b5622f6701000000) dm-23 DellEMC,ME5
size=3.5T features='0' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 15:0:0:1 sde 8:64  active ready running
| |- 19:0:0:1 sdf 8:80  active ready running
| |- 17:0:0:1 sdl 8:176 active ready running
| `- 21:0:0:1 sdp 8:240 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 20:0:0:1 sdm 8:192 active ready running
  |- 22:0:0:1 sdo 8:224 active ready running
  |- 18:0:0:1 sdq 65:0  active ready running
  `- 16:0:0:1 sdn 8:208 active ready running

Sieht doch alles gut aus oder nicht?
 
Last edited:
Rechts neben swapin/out ist %I/O und daneben der Prozessname. Bei 99% heißt es, daß der Prozess zu 99% auf I/O wartet.
Genau das ist nicht der Fall, der steht immer auf 0% bei der VM die ich gerade verschiebe - und trotzdem komme ich nur gerade mal auf 0.13GB/sec im Schnitt (206 GB in 26 Minuten). Das ist doch viel zu langsam im Gegenzug zu den oberen FIO Werten und eben nur beim Lesen - als ich die Disks reingeschoben habe ins Storage hatte er 1.2GB/sec.
 
Last edited:
3 PVE mit Dual 40G QSFP+ Verbindung
2 Switches von FS (S8550-6Q2C) mit AGG auf den beiden 100Gbit Ports (so dass die Swichtes verbunden sind und 200Gbit Transfer aushalten können)
1 Storage von Dell (ME5024) welches via Breakout Cable ( 40G mit 4*10Gbit ) an das Storage angeschlossen sind
Wo gehen denn die Kabel vom ME5 hin - zu deinem/-n (?) pve/pve's oder zum / zu den Switchen ?

Im multipath -ll zeigst du zB dm-23 (+ -24), das jeweils 4 virtuelle Platten bzw. Volumes (sd-j+g+k+i) anzeigt (eines als active, das andere enabled als eben multipath-standby) ?? Eigentlich nur 1 sd"x" pro active+enabled dm-device.

Das iostat zeigt 100% bei dm-23 + dm-26 sowie "nur" bei sde - wobei sde actives von dm-23 ist.

Verschiebe nochmal 1 vm und schicke dann mitgelaufenes "iotop -o -b -n 10" (=läuft 10s).
 
Last edited:
Wo gehen denn die Kabel vom ME5 hin - zu deinem/-n (?) oder zum / zu den Switchen ?

Im multipath -ll zeigst du zB dm-23 (+ -24), das jeweils 4 virtuelle Platten bzw. Volumes (sd-j+g+k+i) anzeigt (eines als active, das andere enabled als eben multipath-standby) ?? Eigentlich nur 1 sd"x" pro active+enabled dm-device.

Das iostat zeigt 100% bei dm-23 + dm-26 sowie "nur" bei sde - wobei sde actives von dm-23 ist.

Verschiebe nochmal 1 vm und schicke dann mitgelaufenes "iotop -o -b -n 10" (=läuft 10s).
@Kabel
Eben mit einem Breakout auf die Switches - im ME sind für den Controller 4 10Gbit Kabel drin, die dann zu einem QSFP+ ANschluss auf dem Switch führen welcher im Breakout Mode konfiguriert ist.

@Multipath
Ja das ist weil Du hast ja auf dem ME5024 zwei Controller drin - best practive von Dell besagt, es ist besser 2 RAID10 auf zwei Controller zu verteilen als beide im selben Controller laufen zu lassen bzw. ein RAID 10 in einem Controller mit 8 Platten. Deshalb hab ich zwei RAID10 - jeweils eines auf jedem COntroller und dazu je ein Volume für jede Diskgroup.

@Mitlaufen lassen
Ich hab Dir ein File angehängt, weil das sind dann doch sehr viele Daten :)

Nachtrag: Die Maschine die geschoben wird ist die docker.rebru.rz
 

Attachments

  • io.txt
    424.9 KB · Views: 2
Last edited:
@Multipath
Ja das ist weil Du hast ja auf dem ME5024 zwei Controller drin - best practive von Dell besagt, es ist besser 2 RAID10 auf zwei Controller zu verteilen als beide im selben Controller laufen zu lassen bzw. ein RAID 10 in einem Controller mit 8 Platten. Deshalb hab ich zwei RAID10 - jeweils eines auf jedem COntroller und dazu je ein Volume für jede Diskgroup.
Ich habe paar dieser ME4/5 + MSA's im Betrieb, allerdings alle in der SAS Ausführung, bei Kollege auch in FC-Variante wegen DC-Spiegel.
2 Controller ist logisch, deswegen gibt es ja die multipath Device am Host.
Zuerst richtet man 1 Raidset (zB raid10) auf einem Ctrl ein, wobei 1 pool entsteht (bei linear bis 4/ctrl., bei virtuel 1/ctrl).
Aus diesem Pool-Raidset heraus richtest du 1 Volume = virtuelle Platte für einen Host (=Client) ein und mappst dieses Volume an Ctrl A+B auf ports raus. Wenn du jetzt alle 4 ports/ctrl. für dieses 1 Volume mappst, dann kannst du es theo. über "8 Kabel" erreichen, wobei deine multipath Konfig jedoch 2 Pfade a 4 Platten zeigt ...
Die ME5 ISCSI Variante ist ja dafür da, daß man Volumes (und viele) zu weit entfernten Client-hosts "serven" kann, weil es mit über das normale Backbone Netzwerk verteilt wird, ist jedoch bzgl. der 3 Schnittstellen Varianten auch das langsamste.
 
Last edited:
Nachtrag - eine leichte Verbesserung brachte das Deaktivieren des Read-Ahead Cache und das umstellen der Optimization auf Cache Hit auf dem ME5024 - jetzt kommt er auf ~250MB/sec,

Aber was ich noch gemerkt habe ist, dass ein PVE wohl die MTU noch nicht richtig übernommen hat, weil der schwächelt immer noch rum bei ~100MB/sec.
Ich habe paar dieser ME4/5 + MSA's im Betrieb, allerdings alle in der SAS Ausführung, bei Kollege auch in FC-Variante wegen DC-Spiegel.
2 Controller ist logisch, deswegen gibt es ja die multipath Device am Host.
Zuerst richtet man 1 Raidset (zB raid10) auf einem Ctrl ein, wobei 1 pool entsteht (bei linear bis 4/ctrl., bei virtuel 1/ctrl).
Aus diesem Pool-Raidset heraus richtest du 1 Volume = virtuelle Platte für einen Host (=Client) ein und mappst dieses Volume an Ctrl A+B auf ports raus. Wenn du jetzt alle 4 ports/ctrl. für dieses 1 Volume mappst, dann kannst du es theo. über "8 Kabel" erreichen, wobei deine multipath Konfig jedoch 2 Pfade a 4 Platten zeigt ...
Die ME5 ISCSI Variante ist ja dafür da, daß man Volumes (und viele) zu weit entfernten Client-hosts "serven" kann, weil es mit über das normale Backbone Netzwerk verteilt wird, ist jedoch bzgl. der 3 Schnittstellen Varianten auch das langsamste.
Hmm ich glaub ich steh jetzt auf dem Schlauch

Vorne weg - die Konfiguration des ME5024 kann ja nicht so kreuzfalsch sein, wenn es beim Schreiben die Performance bringt aber beim Lesen nicht, oder sehe ich das falsch? Das ist das was mich schier zum Verzweifeln bringt.

Zusätzliches vorneweg - ISCSI ist mir klar - aber das ganze Cluster (als fallback bzw. Ring1)/Migration/Storage Netzwerk ist komplett dediziert - das heisst die ganze 40G Geschichte ist nur dafür da, da läuft nix anderes darüber. Nur wenn VM's auch noch was "clustern" müsse wie zum CCR von Ex19. Aber das ist auf dem Netz abgetrennt (VLAN). Und momentan ist es auch nur CCR Ex19 - aber die Last ist gleich 0 und kann auch nicht so die Rolle spielen, weil es maximal 10Gbit ausreizen würde (iperf3 gemessen).

Unter Hosts sehe ich ja meine 3 PVE's als ProxmoxCluster und Attached Volumes. Die einzelnen Hosts zeigen ja auch die Ports an. Wie aber soll es möglich sein, das Volume 1 welches im Ctrl A hängt über den Controller B zu erreichen? Ich sehe beim einzelnen Host ja schon, dass er an allen 8 Anschlüssen hängt.

NACHTRAG:
Was ich noch erwähnen muss, die Breakouts gehen jeweils in beide Controller
Switch A -> Breakout -> 2x Controller A, 2x Controller B
Switch B -> Breakout -> 2x Controller A, 2x Controller B
(weil sonst ja rein theoretisch beim Controller und Switch Crash ein Volume unter Umständen nicht mehr erreichbar wäre)

1731605200658.png

1731605296838.png

1731605349128.png
 
Last edited:
Hab noch nie iscsi benutzt, ggf. ist das auch ok so mit "4 Volumes" pro Ctrl-Pfad, wenn es denn nur 1 Volume ist, hat aber nichts mit Raid10 (min 4 Hdd's) zu tun.
zum CCR von Ex19.
Häh ??

Wieviel ssd's (oder hdd's ?) hat das ME5024 bei deinen 2 (Test-)Volumes a 3,8T (oder per weiterer Enclosure wieviel) ?
Hast du linear oder virtuel pool setup ?
Unter Hosts sehe ich ja meine 3 PVE's als ProxmoxCluster und Attached Volumes. Die einzelnen Hosts zeigen ja auch die Ports an. Wie aber soll es möglich sein, das Volume 1 welches im Ctrl A hängt über den Controller B zu erreichen? Ich sehe beim einzelnen Host ja schon, dass er an allen 8 Anschlüssen hängt.
Liegt am Volume zu port mapping.
Deine Switchverkabelung hört sich gut an, wenn du auch deine 3 pve's jeweils an beide Switche gehängt hast.
 
Zum iotop output file, da sieht man schon Prozess wait von 5-99%, wobei allerdings gleichzeitig gelesen und geschrieben wird, ist bei der Ctrl.-Leistung mit permanentem Cache Abgleich auch ok, zeigt jedoch auch, daß es einen I/O Engpaß gibt.
 
Hab noch nie iscsi benutzt, ggf. ist das auch ok so mit "4 Volumes" pro Ctrl-Pfad, wenn es denn nur 1 Volume ist, hat aber nichts mit Raid10 (min 4 Hdd's) zu tun.
Ja zumindest wenn man das Multipathing anguckt im Proxmox selbst, also in der Erklärung -> https://pve.proxmox.com/wiki/Multipath
Dann siehst Du ja sozusagen jeden Port als Festplatte - somit also pro Volume 8 Platten ( da 8 ISCSI Ports ) und davon logischerweise immer einer aktiv und einer passiv ( also 4 aktiv/4 passiv)

Exchange Continous Cluster Replication - damit kannst Du Exchange Datenbank replizieren.

Wieviel ssd's (oder hdd's ?) hat das ME5024 bei deinen 2 (Test-)Volumes a 3,8T (oder per weiterer Enclosure wieviel) ?
Hast du linear oder virtuel pool setup ?
Insgesamt 10 - 2 x RAID 10 mit je 4 Platten und dann noch 2 als Hotspare - (schlaf ich einfach ruhiger, weil das Ding steht nicht neben mir, sondern ist 120km entfernt.)

Das hab ich auch nur gemacht, um die Last zu verteilen wie von Dell empfohlen - ich hätte ja sonst schon ein RAID 10 auf einem Controller mit 8 Platten gemacht, nur lässt er das gar nicht zu - er macht dann 6 und 2).

Liegt am Volume zu port mapping.
Deine Switchverkabelung hört sich gut an, wenn du auch deine 3 pve's jeweils an beide Switche gehängt hast.
Natürlich - jeder PVE hat einen Link auf je einen Switch
 
Last edited:
Zum iotop output file, da sieht man schon Prozess wait von 5-99%, wobei allerdings gleichzeitig gelesen und geschrieben wird, ist bei der Ctrl.-Leistung mit permanentem Cache Abgleich auch ok, zeigt jedoch auch, daß es einen I/O Engpaß gibt.
Ok - aber wie gesagt, was ich nach wie vor nicht verstehe ist, warum dann nur beim Lesen aus dem Storage auf die lokalen Disk aber nicht umgekehrt? Ein bisshcen EInbusse würde ich ja irgendwo verstehen (wie das eben 30-50 GB Disks von lokal ins Storage mit 2.5gb pro Sekunde gehen, während > 50GB im Endeffekt bei rund 1GB/sec landen - weil die SSD's vom lokalen schwächeln).

Aber wenn es denn in die Richtung geht, dass ich gerade mal 250MB kriege auf ein lokales RAID 10 mit 8 Platten (PVE hat RAID 10 mit 8 SSD's) aus dem Storage gelesen, da fall ich dann vom Glauben ab
 
Wenn dein ME5 nur für deine 3 pve's da ist, warum nimmst du dann die iscsi Variante und verbrauchst auch noch so viele Ports an deinen Switchen dafür ? Die SAS Variante ist mini-SAS und hat pro SAS-Kabel 4 interne Kabel a 12Gb = 48Gb, mal 4 ports, mal 2 Ctrl. ?!
 
1. Weil ich keine SAS Karten im Server drin habe
2. Brauch ich am Switch ja genau einen Port / ME5024 Controller (Breakout -> ist dasselbe wie mit Deinen mini-SAS - eine seite QSFP+ 40Gbit auf der anderen Seite 4x 10Gbit SFP+)
3. Kommen noch 2 weitere PVE's in Kürze dazu - dann hätte ich dann ein Problem weil zu wenig Anschlüsse am Storage.
 
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!