-1

Today I played around with ISCSI, MPIO and performed some tests. Some went as expected, someothers delivered results I cannot explain.

The Test-Environment was 2 virtual machines, named A and B. Both VMs have been assigned with 2 NICS, let's call them A-1, A-2, B-3 and B-4, to make it clear which Host was utilizing which IP Adresses.

I limited each Nic to 100 Mbps to have enough time to observe results.

On Host B, I created 2 virtual Disks, assigned them both to the same ISCSI-Target.

First Test: Single LU , Single Session

When I established the ISCSI Connection between A and B with a single session.

The result was as expected: about 12 MB/s Transfer Speed.

Second Test: Single LU , Two distinct Sessions

In this test, I created 2 ISCSI Sessions, namely (A-1, B-3) and (A-2, B-4)

The results were as expected:

  • Regular Transfer showed around 24 MB/s
  • Disabling any of the NICs during transfer on any device lowered the transferspeed to 12 MB/s again, while every vm only utilizes one nic for the remaining file part.

Third Test: Single LU , Four Sessions (Full Join)

After creating the sessions (A-1, B-3), (A-1, B-4), (A-2, B-3) and (A-2, B-4), the result was as expected:

  • Regular Transfer showed around 24 MB/s
  • Disabling any of the SENDING nics, leads to 100 Mbps on the remaining nic, and 50 Mbps on each receiving nic. -> 12 MB/s
  • Disabling any of the RECEIVING nics, leads to 100 Mbps on the remaining nic, and 50 MBps on each sending nic. -> 12 MB/s

Fourth Test: Two LU (same ISCSI-Target), Four Sessions (Full Join)

This is the test that failed - even before I could start to test the fail-over Szenarios.

  • Distinct File Transfer to any disk worked as expected. (200 Mbps)
  • However, when I initiated another Transfer to the SECOND LU, while the first Transfer was running - the first Transfer dropped to 0 Mbps until the second Transfer finished... ?

Is this by design, cause the session cannot hold 2 different conversations - or is this just some "strange" effect of running everything virtualized on the same Hyper-V host?


The Initiator:

enter image description here

The Target:

enter image description here

The Mentioned "copy-problem" with 2 concurrent Transfers (Screenshot was made with nics @ 200 Mbps - thought maybe 100 is just to Little for the tests):

enter image description here

dognose
  • 164
  • 10

1 Answers1

0

You should the iSCSI target on the host, not the VM.

Why ? because by dooing so you scrap all the bonus the host give, like that;

If you are using Microsoft's iSCSI initiator within the virtual machine, you cannot perform snapshot operations on the virtual machine because it is not supported. For more information, see Running a Third-Party iSCSI initiator in the Virtual Machine in the SAN System Design and Deployment Guide for your version of ESX. (https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009073)

or if you use vReplicator, it would be a problem (if you want to get the data outside of the san)

Edited: too long for a comment

yagmoth555
  • 16,300
  • 4
  • 26
  • 48
  • Running everything virtualized was just for testing purpose. For production purpose every Vnic, Vswitch and VServer will be a physical one. However I'm not using ESX, but Hyperv. – dognose Feb 29 '16 at 00:54
  • @dognose Same fact apply on hyperv for the snapshot, but if for testing its all right! – yagmoth555 Feb 29 '16 at 00:57
  • I'm aware of this. But this was just a "lab" Setup. But thanks for pointing this out anyway. – dognose Feb 29 '16 at 00:59