iSCSI LUN; von einem Node langsame Leserate, schnelle Schreibrate

Jan 23, 2023
33
0
6
Guten Tag,

ich habe ein kleines PVE-Cluster am laufen mit zurzeit drei Nodes:

Node-1: Linux 5.15.107-2-pve #1 SMP PVE 5.15.107-2 | 3x 1Gbit/s Ethernet als LACP Bond, 1x Ethernet 1Gbit/s ohne IP für WoL | 32 x 13th Gen Intel(R) Core(TM) i9-3900K (NUC 13)
Node-2: Linux 5.15.102-1-pve #1 SMP PVE 5.15.102-1 | 2x 1Gbit/s Ethernet als LACP Bond, 1x Ethernet 1Gbit/s ohne IP für WoL | 4 x Intel(R) Pentium(R) Silver N6005 (Dell Optiplex)
Node-3: Linux 5.15.102-1-pve #1 SMP PVE 5.15.102-1 | 2x 1Gbit/s Ethernet als LACP Bond, 1x Ethernet 1Gbit/s ohne IP für WoL | 4 x Intel(R) Pentium(R) Silver N6005 (Dell Optiplex)

Als sharing Speicher nutze ich eine LUN die mittels iSCSI Multipath allen Nodes gleichwertig zur Verfügung steht. Alle Nodes hängen direkt am gleichen Switch, an dem wiederrum das Synology NAS hängt (3x 1Gbit/s als Bond für VLAN100, 1x 1Gbit/s für VLAN200). Das jeweilige BIOS der Nodes ist auf dem aktuellen Stand.

Die Netzwerk und Multipath Konfiguration ist auch bei allen Nodes identisch.

Nun habe ich das Problem, dass ausschließlich die Leserate auf dem Node-1 deutlich langsamer ist, als auf den anderen beiden Nodes, obwohl diese deutlich schwächer sind.

Testszenario HDD verschieben

Node-1: 32GByte HDD auf die ISCSI LUN verschieben => ~ 300 MByte/s; 32GByte HDD von der iSCSI LUN auf den lokalen PCIE4.0 NVME Speicher verschieben => 100 MByte/s
Node-2: 32GByte HDD auf die ISCSI LUN verschieben => ~ 300 MByte/s; 32GByte HDD von der iSCSI LUN auf den lokalen PCIE3.0 NVME Speicher verschieben => 300 MByte/s
Node-3: 32GByte HDD auf die ISCSI LUN verschieben => ~ 300 MByte/s; 32GByte HDD von der iSCSI LUN auf den lokalen PCIE3.0 NVME Speicher verschieben => 300 MByte/s

Testszenario FIO 3.25

Node-1 Read:

Code:
Starting 200 processes
Jobs: 29 (f=29): [_(7),R(1),_(20),R(1),_(1),R(1),_(16),R(1),_(18),R(1),_(8),R(1),_(16),R(1),_(1),R(1),_(1),R(1),_(3),R(1),_(1),R(1),_(21),R(1),_(13),R(1),_(1),R(1),_(2),R(2),_(10),R(2),_(1),R(1),_(2),R(1),_(2),R(1),_(1),R(2),_(11),R(1),_(3),R(1),_(6),R(2),_(2),R(1),_(4),R(1)][0.6%][r=205MiB/s][r=205 IOPS][eta 02h:50m:59s]
file1: (groupid=0, jobs=200): err= 0: pid=1929443: Thu Jun 22 11:00:38 2023
  read: IOPS=209, BW=210MiB/s (220MB/s)(12.5GiB/61100msec)
    clat (msec): min=62, max=2751, avg=943.56, stdev=318.30
     lat (msec): min=62, max=2751, avg=943.56, stdev=318.30
    clat percentiles (msec):
     |  1.00th=[  384],  5.00th=[  592], 10.00th=[  676], 20.00th=[  751],
     | 30.00th=[  793], 40.00th=[  827], 50.00th=[  860], 60.00th=[  902],
     | 70.00th=[  961], 80.00th=[ 1083], 90.00th=[ 1385], 95.00th=[ 1603],
     | 99.00th=[ 2123], 99.50th=[ 2299], 99.90th=[ 2635], 99.95th=[ 2702],
     | 99.99th=[ 2735]
   bw (  KiB/s): min=409600, max=501848, per=100.00%, avg=411407.96, stdev=132.67, samples=12570
   iops        : min=  400, max=  490, avg=401.76, stdev= 0.13, samples=12570
  lat (msec)   : 100=0.04%, 250=0.18%, 500=2.21%, 750=17.10%, 1000=54.59%
  lat (msec)   : 2000=24.38%, >=2000=1.50%
  cpu          : usr=0.00%, sys=0.00%, ctx=13328, majf=26, minf=54660
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.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.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=12824,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: bw=210MiB/s (220MB/s), 210MiB/s-210MiB/s (220MB/s-220MB/s), io=12.5GiB (13.4GB), run=61100-61100msec

Node-1 Write:

Code:
fio-3.25
Starting 200 processes
Jobs: 200 (f=200): [W(200)][100.0%][w=333MiB/s][w=333 IOPS][eta 00m:00s]
file1: (groupid=0, jobs=200): err= 0: pid=2250712: Thu Jun 22 14:56:07 2023
  write: IOPS=325, BW=325MiB/s (341MB/s)(19.2GiB/60564msec); 0 zone resets
    clat (msec): min=236, max=922, avg=612.62, stdev=69.16
     lat (msec): min=236, max=922, avg=612.65, stdev=69.16
    clat percentiles (msec):
     |  1.00th=[  456],  5.00th=[  550], 10.00th=[  567], 20.00th=[  575],
     | 30.00th=[  584], 40.00th=[  592], 50.00th=[  592], 60.00th=[  600],
     | 70.00th=[  609], 80.00th=[  634], 90.00th=[  726], 95.00th=[  776],
     | 99.00th=[  810], 99.50th=[  818], 99.90th=[  852], 99.95th=[  860],
     | 99.99th=[  894]
   bw (  KiB/s): min=409580, max=458868, per=100.00%, avg=410153.27, stdev=74.42, samples=19458
   iops        : min=  396, max=  448, avg=400.50, stdev= 0.07, samples=19458
  lat (msec)   : 250=0.08%, 500=1.40%, 750=90.93%, 1000=7.58%
  cpu          : usr=0.01%, sys=0.00%, ctx=20495, majf=0, minf=2486
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.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.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,19684,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=325MiB/s (341MB/s), 325MiB/s-325MiB/s (341MB/s-341MB/s), io=19.2GiB (20.6GB), run=60564-60564msec


Node-2 Read:

Code:
Starting 200 processes
Jobs: 200 (f=200): [R(200)][100.0%][r=335MiB/s][r=335 IOPS][eta 00m:00s]
file1: (groupid=0, jobs=200): err= 0: pid=1649342: Thu Jun 22 11:01:46 2023
  read: IOPS=329, BW=330MiB/s (346MB/s)(19.5GiB/60593msec)
    clat (msec): min=14, max=1200, avg=603.86, stdev=59.31
     lat (msec): min=14, max=1200, avg=603.86, stdev=59.31
    clat percentiles (msec):
     |  1.00th=[  414],  5.00th=[  575], 10.00th=[  584], 20.00th=[  592],
     | 30.00th=[  592], 40.00th=[  600], 50.00th=[  600], 60.00th=[  600],
     | 70.00th=[  609], 80.00th=[  609], 90.00th=[  634], 95.00th=[  693],
     | 99.00th=[  818], 99.50th=[  818], 99.90th=[ 1062], 99.95th=[ 1133],
     | 99.99th=[ 1183]
   bw (  KiB/s): min=407090, max=473535, per=100.00%, avg=410157.85, stdev=84.56, samples=19733
   iops        : min=  200, max=  457, avg=372.06, stdev= 0.36, samples=19733
  lat (msec)   : 20=0.01%, 50=0.04%, 100=0.07%, 250=0.19%, 500=2.82%
  lat (msec)   : 750=94.55%, 1000=2.21%, 2000=0.13%
  cpu          : usr=0.00%, sys=0.01%, ctx=20607, majf=0, minf=53817
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.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.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=19967,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: bw=330MiB/s (346MB/s), 330MiB/s-330MiB/s (346MB/s-346MB/s), io=19.5GiB (20.9GB), run=60593-60593msec


Node-3 Read:

Code:
fio-3.25
Starting 200 processes
Jobs: 200 (f=200): [R(200)][100.0%][r=322MiB/s][r=322 IOPS][eta 00m:00s]
file1: (groupid=0, jobs=200): err= 0: pid=452998: Thu Jun 22 11:02:57 2023
  read: IOPS=325, BW=325MiB/s (341MB/s)(19.3GiB/60601msec)
    clat (msec): min=16, max=1648, avg=611.45, stdev=88.38
     lat (msec): min=16, max=1648, avg=611.45, stdev=88.38
    clat percentiles (msec):
     |  1.00th=[  430],  5.00th=[  558], 10.00th=[  567], 20.00th=[  575],
     | 30.00th=[  592], 40.00th=[  600], 50.00th=[  600], 60.00th=[  600],
     | 70.00th=[  609], 80.00th=[  617], 90.00th=[  676], 95.00th=[  802],
     | 99.00th=[ 1011], 99.50th=[ 1083], 99.90th=[ 1368], 99.95th=[ 1536],
     | 99.99th=[ 1653]
   bw (  KiB/s): min=404588, max=495834, per=100.00%, avg=410280.87, stdev=94.52, samples=19482
   iops        : min=  200, max=  462, avg=362.21, stdev= 0.40, samples=19482
  lat (msec)   : 20=0.01%, 50=0.05%, 100=0.06%, 250=0.18%, 500=2.43%
  lat (msec)   : 750=90.24%, 1000=5.97%, 2000=1.07%
  cpu          : usr=0.00%, sys=0.01%, ctx=20516, majf=0, minf=53933
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.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.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=19724,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: bw=325MiB/s (341MB/s), 325MiB/s-325MiB/s (341MB/s-341MB/s), io=19.3GiB (20.7GB), run=60601-60601msec


An dem FIO Test wundert mich zwar, dass die Leserate bei Node-1 über 200 MByte/s liegt, welche ich mit dem Verschieben der HDD nicht erreichen kann, aber es verdeutlicht trotzdem den Performanceunterschied zu den anderen zwei Nodes.

Edit: Ich habe für den Problem-Node den Write Test hinzugefügt, welcher im Ergebnis mit den anderen beides Nodes identisch ist. Alle drei Tests wurden hintereinander gegen das gleiche System/LUN durchgeführt.

Ich habe bereits versucht das Problem einzugrenzen bzw. zu lokalisieren. Beim Node-1 komme ich selbst mit drei USB-1Gbit-Ethernetadaptern als Bond auf die gleichen Ergebnisse - bei Node-2 und Node-3 wieder volle Performance. An den LAN Ports selbst kann es meiner Meinung nach nicht liegen.

Ich bin etwas ratlos. Hat von euch jemand eine Idee an welcher Stelle es klemmen könnte bzw. weshalb nur von dem einem Node die Leserate so stark abweicht?

Gruß,
Crash1601
 
Last edited:
3x 1Gbit/s als Bond für VLAN100, 1x 1Gbit/als Bond für VLAN200
Kann es sein, dass der erste Node unabsichtlich via VLAN 200 reinkommt und die anderen 2 via VLAN 100?

Ansonsten: Sind die Bond-Modes auf allen 3 Nodes ident / korrekt?
 
Ich hatte gerade noch mal ein paar Tests mit FIO laufen lassen um dies zu prüfen. Es kommt auch von dem Node1 Traffic über VLAN100 und 200 rein bzw. wird vom NAS hochgeladen (~65MByte/s über VLAN200, 169MByte/s über VLAN100). Die Config ist identisch - hier zwei Auszüge:

Node-1:

Code:
auto lo
iface lo inet loopback

auto enp5s0
iface enp5s0 inet manual
post-up /usr/sbin/ethtool -s enp5s0 wol g

auto enp4s0
iface enp4s0 inet manual

auto enx00e04c680251
iface enx00e04c680251 inet manual

auto enx00e04c6802a0
iface enx00e04c6802a0 inet manual

auto bond0
iface bond0 inet manual
    bond-slaves enp4s0 enx00e04c680251 enx00e04c6802a0
    bond-miimon 100
    bond-mode 802.3ad
    bond-xmit-hash-policy layer2+3
    bond_downdelay 200
    bond_updelay 200

auto vmbr0
iface vmbr0 inet manual
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

auto vmbr300
iface vmbr300 inet manual
    address 192.168.179.15/24
    gateway 192.168.179.1
    bridge-ports bond0.300
    bridge-stp off
    bridge-fd 0
#VLAN300

auto vmbr200
iface vmbr200 inet manual
    address 192.168.8.15/24
    gateway 192.168.8.1
    bridge-ports bond0.200
    bridge-stp off
    bridge-fd 0
#VLAN200

auto vmbr100
iface vmbr100 inet static
    address 192.168.178.15/24
    gateway 192.168.178.1
    bridge-ports bond0.100
    bridge-stp off
    bridge-fd 0
   
iface vmbr100 inet6 static
    address fe80::1080:dfff:fe5b:42b7/64
    gateway fd00::464e:6dff:feb8:2cc3
#VLAN100

Node-2:

Code:
auto lo
iface lo inet loopback

auto enp1s0
iface enp1s0 inet manual
    post-up /usr/sbin/ethtool -s enp1s0 wol g

auto enx00e04c680276
iface enx00e04c680276 inet manual

auto enx00e04c680698
iface enx00e04c680698 inet manual

auto bond0
iface bond0 inet manual
    bond-slaves enx00e04c680276 enx00e04c680698
    bond-miimon 100
    bond-mode 802.3ad
    bond-xmit-hash-policy layer2+3
    bond_downdelay 200
    bond_updelay 200

auto vmbr0
iface vmbr0 inet manual
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

auto vmbr300
iface vmbr300 inet manual
    address 192.168.179.30/24
    gateway 192.168.179.1
    bridge-ports bond0.300
    bridge-stp off
    bridge-fd 0
#VLAN300

auto vmbr200
iface vmbr200 inet manual
    address 192.168.8.30/24
    gateway 192.168.8.1
    bridge-ports bond0.200
    bridge-stp off
    bridge-fd 0
#VLAN200

auto vmbr100
iface vmbr100 inet static
    address 192.168.178.30/24
    gateway 192.168.178.1
    bridge-ports bond0.100
    bridge-stp off
    bridge-fd 0
#VLAN100

iface vmbr100 inet6 static
    address fe80::2c5b:7aff:feca:3428/64
    gateway fd00::464e:6dff:feb8:2cc3
 
Last edited:
Was sagt denn ls -alh /dev/disk/by-path/ auf den Nodes?
 
Node-1:

Code:
root@c010:~# ls -alh /dev/disk/by-path/
total 0
drwxr-xr-x 2 root root 380 Jun 21 10:31 .
drwxr-xr-x 7 root root 140 Jun 21 10:30 ..
lrwxrwxrwx 1 root root   9 Jun 21 10:31 ip-192.168.178.20:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sdc
lrwxrwxrwx 1 root root   9 Jun 21 10:31 ip-192.168.8.20:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sdb
lrwxrwxrwx 1 root root   9 Jun 21 10:31 ip-fd00::211:32ff:feb9:3089:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sdd
lrwxrwxrwx 1 root root   9 Jun 21 10:30 pci-0000:00:17.0-ata-6 -> ../../sda
lrwxrwxrwx 1 root root   9 Jun 21 10:30 pci-0000:00:17.0-ata-6.0 -> ../../sda
lrwxrwxrwx 1 root root  10 Jun 21 10:30 pci-0000:00:17.0-ata-6.0-part1 -> ../../sda1
lrwxrwxrwx 1 root root  10 Jun 21 10:30 pci-0000:00:17.0-ata-6-part1 -> ../../sda1
lrwxrwxrwx 1 root root  13 Jun 21 10:30 pci-0000:02:00.0-nvme-1 -> ../../nvme0n1
lrwxrwxrwx 1 root root  15 Jun 21 10:30 pci-0000:02:00.0-nvme-1-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root  15 Jun 21 10:30 pci-0000:02:00.0-nvme-1-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root  15 Jun 21 10:30 pci-0000:02:00.0-nvme-1-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root  13 Jun 21 10:30 pci-0000:03:00.0-nvme-1 -> ../../nvme1n1
lrwxrwxrwx 1 root root  15 Jun 21 10:30 pci-0000:03:00.0-nvme-1-part1 -> ../../nvme1n1p1
lrwxrwxrwx 1 root root  15 Jun 21 10:30 pci-0000:03:00.0-nvme-1-part2 -> ../../nvme1n1p2
lrwxrwxrwx 1 root root  15 Jun 21 10:30 pci-0000:03:00.0-nvme-1-part3 -> ../../nvme1n1p3
lrwxrwxrwx 1 root root  13 Jun 21 10:30 pci-0000:70:00.0-nvme-1 -> ../../nvme2n1
lrwxrwxrwx 1 root root  15 Jun 21 10:30 pci-0000:70:00.0-nvme-1-part1 -> ../../nvme2n1p1

Node-2:

Code:
root@c013:~# ls -alh /dev/disk/by-path/
total 0
drwxr-xr-x 2 root root 180 Jun  8 14:08 .
drwxr-xr-x 6 root root 120 Jun  8 14:08 ..
lrwxrwxrwx 1 root root   9 Jun  8 14:08 ip-192.168.178.20:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sdc
lrwxrwxrwx 1 root root   9 Jun  8 14:08 ip-192.168.8.20:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sda
lrwxrwxrwx 1 root root   9 Jun  8 14:08 ip-fd00::211:32ff:feb9:3089:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sdb
lrwxrwxrwx 1 root root  13 Jun  8 14:08 pci-0000:02:00.0-nvme-1 -> ../../nvme0n1
lrwxrwxrwx 1 root root  15 Jun  8 14:08 pci-0000:02:00.0-nvme-1-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root  15 Jun  8 14:08 pci-0000:02:00.0-nvme-1-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root  15 Jun  8 14:08 pci-0000:02:00.0-nvme-1-part3 -> ../../nvme0n1p3

Node-3

Code:
root@c052:~#  ls -alh /dev/disk/by-path/
total 0
drwxr-xr-x 2 root root 200 Jun 21 10:34 .
drwxr-xr-x 6 root root 120 Jun 21 10:34 ..
lrwxrwxrwx 1 root root   9 Jun 21 10:34 ip-192.168.178.20:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sda
lrwxrwxrwx 1 root root   9 Jun 21 10:34 ip-192.168.8.20:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 ->
../../sdb
lrwxrwxrwx 1 root root   9 Jun 21 10:34 ip-2003:db:d74a:8f00:211:32ff:feb9:3089:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sdd
lrwxrwxrwx 1 root root   9 Jun 21 10:34 ip-fd00::211:32ff:feb9:3089:3260-iscsi-iqn.2000-01.com.synology:iSCSI-PVE.c465f6088be-lun-1 -> ../../sdc
lrwxrwxrwx 1 root root  13 Jun 21 10:34 pci-0000:02:00.0-nvme-1 -> ../../nvme0n1
lrwxrwxrwx 1 root root  15 Jun 21 10:34 pci-0000:02:00.0-nvme-1-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root  15 Jun 21 10:34 pci-0000:02:00.0-nvme-1-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root  15 Jun 21 10:34 pci-0000:02:00.0-nvme-1-part3 -> ../../nvme0n1p3
 
Wie ist das dann auf den jeweiligen Hosts gemounted?

Code:
findmnt
 
Last edited:
Hier der Output:

Node-1:

Code:
root@c010:~# findmnt
TARGET                        SOURCE         FSTYPE     OPTIONS
/                             rpool/ROOT/pve-1
│                                            zfs        rw,relatime,xattr,noacl
├─/sys                        sysfs          sysfs      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security      securityfs     securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup            cgroup2        cgroup2    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/pstore            pstore         pstore     rw,nosuid,nodev,noexec,relatime
│ ├─/sys/firmware/efi/efivars efivarfs       efivarfs   rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/bpf               bpf            bpf        rw,nosuid,nodev,noexec,relatime,mode=700
│ ├─/sys/kernel/debug         debugfs        debugfs    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/tracing       tracefs        tracefs    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/fuse/connections  fusectl        fusectl    rw,nosuid,nodev,noexec,relatime
│ └─/sys/kernel/config        configfs       configfs   rw,nosuid,nodev,noexec,relatime
├─/proc                       proc           proc       rw,relatime
│ └─/proc/sys/fs/binfmt_misc  systemd-1      autofs     rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,di
├─/dev                        udev           devtmpfs   rw,nosuid,relatime,size=32665496k,nr_inodes=8166374,mode=75
│ ├─/dev/pts                  devpts         devpts     rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/shm                  tmpfs          tmpfs      rw,nosuid,nodev,inode64
│ ├─/dev/mqueue               mqueue         mqueue     rw,nosuid,nodev,noexec,relatime
│ └─/dev/hugepages            hugetlbfs      hugetlbfs  rw,relatime,pagesize=2M
├─/run                        tmpfs          tmpfs      rw,nosuid,nodev,noexec,relatime,size=6539816k,mode=755,inod
│ ├─/run/lock                 tmpfs          tmpfs      rw,nosuid,nodev,noexec,relatime,size=5120k,inode64
│ ├─/run/rpc_pipefs           sunrpc         rpc_pipefs rw,relatime
│ └─/run/user/0               tmpfs          tmpfs      rw,nosuid,nodev,relatime,size=6539812k,nr_inodes=1634953,mo
├─/rpool                      rpool          zfs        rw,relatime,xattr,noacl
│ ├─/rpool/ROOT               rpool/ROOT     zfs        rw,relatime,xattr,noacl
│ └─/rpool/data               rpool/data     zfs        rw,relatime,xattr,noacl
├─/mnt/pve/local-2            /dev/nvme2n1p1 xfs        rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota
├─/mnt/pve/local-3            /dev/sda1      xfs        rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota
├─/var/lib/lxcfs              lxcfs          fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other
└─/etc/pve                    /dev/fuse      fuse       rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permi

Node-2:

Code:
root@c013:~# findmnt
TARGET                        SOURCE         FSTYPE   OPTIONS
/                             /dev/mapper/pve-root
│                                            ext4     rw,relatime,errors=remount-ro
├─/sys                        sysfs          sysfs    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security      securityfs     security rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup            cgroup2        cgroup2  rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/pstore            pstore         pstore   rw,nosuid,nodev,noexec,relatime
│ ├─/sys/firmware/efi/efivars efivarfs       efivarfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/bpf               bpf            bpf      rw,nosuid,nodev,noexec,relatime,mode
│ ├─/sys/kernel/debug         debugfs        debugfs  rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/tracing       tracefs        tracefs  rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/fuse/connections  fusectl        fusectl  rw,nosuid,nodev,noexec,relatime
│ └─/sys/kernel/config        configfs       configfs rw,nosuid,nodev,noexec,relatime
├─/proc                       proc           proc     rw,relatime
│ └─/proc/sys/fs/binfmt_misc  systemd-1      autofs   rw,relatime,fd=30,pgrp=1,timeout=0,m
├─/dev                        udev           devtmpfs rw,nosuid,relatime,size=8053408k,nr_
│ ├─/dev/pts                  devpts         devpts   rw,nosuid,noexec,relatime,gid=5,mode
│ ├─/dev/shm                  tmpfs          tmpfs    rw,nosuid,nodev,inode64
│ ├─/dev/hugepages            hugetlbfs      hugetlbf rw,relatime,pagesize=2M
│ └─/dev/mqueue               mqueue         mqueue   rw,nosuid,nodev,noexec,relatime
├─/run                        tmpfs          tmpfs    rw,nosuid,nodev,noexec,relatime,size
│ ├─/run/lock                 tmpfs          tmpfs    rw,nosuid,nodev,noexec,relatime,size
│ ├─/run/rpc_pipefs           sunrpc         rpc_pipe rw,relatime
│ └─/run/user/0               tmpfs          tmpfs    rw,nosuid,nodev,relatime,size=161743
├─/boot/efi                   /dev/nvme0n1p2 vfat     rw,relatime,fmask=0022,dmask=0022,co
├─/var/lib/lxcfs              lxcfs          fuse.lxc rw,nosuid,nodev,relatime,user_id=0,g
└─/etc/pve                    /dev/fuse      fuse     rw,nosuid,nodev,relatime,user_id=0,g


Node-3:

Code:
root@c052:~# findmnt
TARGET                        SOURCE         FSTYPE     OPTIONS
/                             /dev/mapper/pve-root
│                                            ext4       rw,relatime,errors=remount-ro
├─/sys                        sysfs          sysfs      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security      securityfs     securityfs rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup            cgroup2        cgroup2    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/pstore            pstore         pstore     rw,nosuid,nodev,noexec,relatime
│ ├─/sys/firmware/efi/efivars efivarfs       efivarfs   rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/bpf               bpf            bpf        rw,nosuid,nodev,noexec,relatime,mode=700
│ ├─/sys/kernel/debug         debugfs        debugfs    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/tracing       tracefs        tracefs    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/fuse/connections  fusectl        fusectl    rw,nosuid,nodev,noexec,relatime
│ └─/sys/kernel/config        configfs       configfs   rw,nosuid,nodev,noexec,relatime
├─/proc                       proc           proc       rw,relatime
│ └─/proc/sys/fs/binfmt_misc  systemd-1      autofs     rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=15520
├─/dev                        udev           devtmpfs   rw,nosuid,relatime,size=8053404k,nr_inodes=2013351,mode=755,inode64
│ ├─/dev/pts                  devpts         devpts     rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/shm                  tmpfs          tmpfs      rw,nosuid,nodev,inode64
│ ├─/dev/mqueue               mqueue         mqueue     rw,nosuid,nodev,noexec,relatime
│ └─/dev/hugepages            hugetlbfs      hugetlbfs  rw,relatime,pagesize=2M
├─/run                        tmpfs          tmpfs      rw,nosuid,nodev,noexec,relatime,size=1617436k,mode=755,inode64
│ ├─/run/lock                 tmpfs          tmpfs      rw,nosuid,nodev,noexec,relatime,size=5120k,inode64
│ ├─/run/rpc_pipefs           sunrpc         rpc_pipefs rw,relatime
│ └─/run/user/0               tmpfs          tmpfs      rw,nosuid,nodev,relatime,size=1617432k,nr_inodes=404358,mode=700,inode64
├─/boot/efi                   /dev/nvme0n1p2 vfat       rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=m
├─/var/lib/lxcfs              lxcfs          fuse.lxcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other
└─/etc/pve                    /dev/fuse      fuse       rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other
 
Ah, sorry - ich dachte, das würde mir die gewünschte Information geben - hab momentan leider kein Testsystem da. Geht folgender Befehl stattdessen:

Code:
iscsiadm -m session -P 3
 
Hm, da war ich wohl auf dem Holzweg - wie sieht der multipath status / config aus?

Code:
multipath -ll
cat /etc/multipath.conf
 
Auf dem Node 3 habe ich gerade gesehen, dass da etwas nicht stimmt. Aber das sollte für das eigentliche Problem keine Rolle spielen.
 

Attachments

  • multipath.txt
    1 KB · Views: 2
  • node-3-mu.txt
    378 bytes · Views: 3
  • node-2-mu.txt
    356 bytes · Views: 2
  • node-1-mu.txt
    359 bytes · Views: 2
Hm, sieht alles iO aus (leider?).

Was mir noch aufgefallen wäre - bei dem fio-Output sieht man hier etwas größere Latenz auf Node 1, verglichen mit Node 2 & 3. Ob das den Unterschied erklären kann? Schwer zu sagen...

Wie ist denn das beim Node 1? Da sind ja 3 interfaces im Bond (enp4s0 / enx00e04c680251 / enx00e04c6802a0) vs nur 2 auf den anderen Nodes. Sieht so aus als sind das auf Node 1 2 NICs und auf Node 2/3 nur eine? Könnte man vl mal probieren die (enp4s0) rauszunehmen und dann zu testen?
 
Das freut mich, denn ich beschäftige mich erst seit ein paar Monaten privat mit Proxmox VE. Im RZ setzen wir leider andere Produkte ein.

Im Node 1 (Intel NUC 13 Extreme i9): enp4s0 10G, enp5s0 2,5G, bei den enx handelt es sich um USB-Ethernet-Adapter. Diese Konstruktion habe ich, damit ich zum einen die gewünschte Bandbreite erreiche und WoL funktioniert, falls mal die USV leer läuft und ich das Gerät aus der Ferne booten kann. Bei den zwei kleinen Geräten wird jeweils die OnBoard NIC für WoL und die jeweils zwei USB-Ethernet-Adapter für den Bond. Im Grunde reicht das aus, weil die nur für die Erfüllung des quorum vorhanden sind und um mal ein, zwei Linux KVMs am Leben zu erhalten, wenn Node-1 nicht online ist.

Ich teste gleich mal ohne die OnBoard NICs.

Besteht irgendwie die Möglichkeit genauere Einblicke in die Verbindungswege zu erhalten? Ich habe bereits einiges recheriert, aber keine Idee mehr bzw. keinen Ansatz mehr wo das Problem liegen soll. Es ist aus meiner Sicht völlig unlogisch :)
 
Besteht irgendwie die Möglichkeit genauere Einblicke in die Verbindungswege zu erhalten?
multipath -ll gibt Auskunft über die Verbindungswege (welche existieren, welche features aktiv sind, welche policy, ...)

Hast du vielleicht die Möglichkeit extern Netzwerk-Monitoring zu betreiben? Vielleicht fällt ja da etwas auf.
 
Ich überlege mal wie ich am besten den Traffic mitschneide. Aktuell habe ich leider plötzlich das Problem, dass das LVM auf keinem Node mehr zur Verfügung steht, die iSCSI Verbindung ist aufgebaut. Etwas seltsam, weil ich noch nichts umgestellt oder getestet hatte. Die LUN ist auch Healthy auf dem NAS.
 
Im Moment kann ich nicht nachvollziehen, weshalb die LVM1 über meine iSCSI Verbindung den Status unknown hat. Der Output vom multipath -ll ist i.O. und der Multipath-Service selbst ist auch active. Ich wäre für einen Tipp dankbar :)

Das Problem ist bei allen drei Nodes gleichzeitig aufgetreten. Aufgefallen ist es mir beim ändern der Netzwerkkonfiguration auf Node-1 (testen was ohne die enp4s0 passiert).

Am NAS hat sich nichts geändert, daher wundert es mich umso mehr. Es kann nur sein das etwas fehlerhaftes über den Cluster-Modus gesynct wurde.

Ein "älteres", aber eigentlich (dachte ich) gelöstes Problem war, dass das Node-1 immer wieder versucht Targets zu erreichen die bereits gelöscht wurden.

Edit: Attach files. Es ist u.a. zu sehen das versucht wird sich z.B. zu iscsi-014 oder iscsi-034 verbinden. Diese Targets werden immer wieder mal nach einem Reboot versucht zu verbinden, obwohl keine Berechtigung besteht. Die Targets hatte ich auch schon mehrmals aus /etc/iscsi entfernt.
 

Attachments

  • iscsi-node-1.txt
    1.7 KB · Views: 1
  • iscsi-node-2.txt
    2.2 KB · Views: 1
  • iscsi-node-3.txt
    2 KB · Views: 1
Last edited:
Die VolumeGroup wird nicht mehr gefunden bzw. existiert nicht mehr. Ist es eine gute Idee die StorageID über die GUI zu entfernen und dann den existierenden LVM über die bestehende iSCSI Verbindung neu zu adden oder verschlechtert sich dann die Situation?

Unter Node => Disk => LVM steht "no VGs found".
 

Attachments

  • Storage-1.png
    Storage-1.png
    4.1 KB · Views: 1
  • Storage-2.png
    Storage-2.png
    13.2 KB · Views: 1
Nur dass ich hier noch den Überblick behalte: Am Node 1 ist jetzt die 3. NIC noch aus dem Bond draußen oder ist sie wieder hinzugefügt worden?

Den Storage zu entfernen und neu hinzufügen sollte auf keinen Fall die Daten, die sich am Storage befinden, beeinträchtigen also wäre es wohl einen Versuch wert

Interessant wären auf jeden Fall die Syslogs von jedem Node:

Code:
journalctl --since '2 days ago' > journalctl-$(hostname).txt

Die Storage Konfiguration auch:

Code:
cat /etc/pve/storage.cfg
 
Den LVM habe ich entfernt und dann wieder hinzugefügt, aber die Disks waren zumindest aus PVE Sicht nicht mehr vorhanden. Im Rahmen von Tests hatte ich das aber (meine ich) auch schon so gemacht und es gab keine Probleme. Da ich aktuelle Backups habe, fahre ich gerade einen Restore und überlege im PVE Bereich auf NFS zu setzen - mit iSCSI hatte ich in dem Zusammenhang zu viele Problemchen :confused:

Auch wenn es nicht zu diesem Thread gehört: Aus welchem Grund versuchen die Nodes bereits gelöschte oder generell verfügbare Targets zu verbinden? Sie sind zwar grundsätzlich vorhanden auf dem NAS, aber nicht als Verbindung auf den Nodes definiert. Nach jedem Reboot eines Nodes erhalte ich in den Logs Warnmeldungen über den Verbindungsversuch (durch einen Node).
 
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!