iSCSI is a protocol which purpose is to interconnect SCSI devices via IP networks.
To operate properly it puts some requirements on network where it is running, such as:
- lossless packet forwarding
- in order delivery
- low latency
There are several recommendations which you can follow to improve iSCSI traffic forwarding.
- Avoid packet fragmenting by enabling jumbo-frames on ports where iSCSI traffic is expected:
# enable jumbo-frame ports <PORT_LIST>
Note: please make sure that jumbo-frame settings on corresponding port match to what is configured locally.
- Decrease latency by changing packet forwarding mode to "cut through":
# configure forwarding switching-mode cut-through
Note: please note that changing forwarding mode to cut through has several drawbacks such as:
- FCS (frame check sequence) field in Ethernet frame is not inspected hence corrupted packets will not be detected but will be forwarded further
- Packet buffers almost not used in "cut through" mode hence even if latency decreased, possibility of packet drop is increased in case of ports congestion
- Some features like ACL meters don't work in "cut through" mode:
ACL meter doesn't work in cut-through switching mode.
- Enable PFC (Priority-Based Flow Control) for iSCSI traffic:
- First map such traffic to custom qos-profile:
Configuring QOS profiles and verify QOS is working on EXOS
- Then enable Per-Priority PAUSE for this qos-profile. When a host receives a PAUSE frame (802.3x) all traffic ceases on the link. Per-Priority Pause frames allows specific types of traffic to be delayed (at the host) while others are allowed to flow (i.e.storage traffic can be paused while regular data traffic moves along).
# enable flow-control rx-pause qosprofile <QOS-PROFILE> ports <PORT_LIST>
# enable flow-control tx-pause priority <PRIORITY> ports <PORT_LIST>