Network Quality of Service
  
Network Quality of Service
SteelFusion technology enables remote branch offices to use storage provisioned at the data center through unreliable, low-bandwidth and high-latency WAN links. Adding this new type of traffic to the WAN links creates new considerations in terms of guaranteeing quality of service (QoS) to existing WAN applications and to the SteelFusion Rdisk protocol to function at the best possible level.
This chapter contains the following topics:
•  Rdisk protocol overview
•  QoS for SteelFusion replication traffic
•  QoS for LUNs
•  QoS for branch offices
•  Time-based QoS rules example
•  Related information
For general information about QoS, see the SteelHead Deployment Guide.
Rdisk protocol overview
To understand the QoS requirements for the SteelFusion Rdisk protocol, you must understand how it works. The Rdisk protocol defines how the Edge and Cores communicate and how they transfer data blocks over the WAN. Rdisk uses five TCP ports for data transfers and one TCP port for management.
The following table summarizes the TCP ports used by the Rdisk protocol. It maps the different Rdisk operations to each TCP port.
TCP Port
Operation
Description
7970
Management
Manages information exchange between Edge and Core. The majority of the data flows from the Core to the Edge.
7950
Read
Transfers data requests for data-blocks absent in Edge from the data center. The majority of the data flows from the Edge to the Core.
7951
Write
Transfers new data created at the Edge to the data center and snapshot operations. The majority of the data flows from the Edge to the Core.
7952
Prefetch0
Prefetches data for which SteelFusion has the highest confidence (for example, file Read Ahead). The majority of the data flows from the Core to the Edge.
7953
Prefetch1
Prefetches data for which SteelFusion has medium confidence (for example, Boot). The majority of the data flows from the Core to the Edge.
7954
Prefetch2
Prefetches data for which SteelFusion has the lowest confidence (for example, Prepop). The majority of the data flows from the Core to the Edge.
Note: Rdisk Protocol creates five TCP connections per exported LUN.
Different Rdisk operations use different TCP ports. The following table summarizes the Rdisk QoS requirements for each Rdisk operation and its respective TCP port.
TCP Port
Operation
Outgoing branch office bandwidth
Outgoing branch office priority
Outgoing data center bandwidth
Outgoing data center priority
7970
Management
Low
Normal
Low
Normal
7950
Read
Low
Business critical
High
Business critical
7951
Write
High (off-peak hours)
Low (during peak hours)
Low priority
Low
Normal
7952
Prefetch0
Low
Business critical
High
Business critical
7953
Prefetch1
Low
Business critical
Medium
Business critical
7954
Prefetch2
Low
Business critical
High
Best effort
 
For more information about Rdisk, see Rdisk traffic routing options.
QoS for SteelFusion replication traffic
To prevent SteelFusion replication traffic from consuming bandwidth required for other applications during business hours, you should allow more bandwidth for Rdisk write traffic (port 7951) during the off-peak hours and less bandwidth during the peak hours. Also carefully consider your recovery point objectives (RPO) and recovering time objectives (RTO) when configuring QoS for Rdisk SteelFusion traffic.
Depending on which SteelFusion features you use, you might need to consider different priorities and bandwidth requirements.
QoS for LUNs
This section contains the following topics:
•  QoS for unpinned LUNs
•  QoS for pinned LUNs
For more information about pinned LUNs, see Pin the LUN and prepopulate the blockstore and When to PIN and prepopulate the LUN.
QoS for unpinned LUNs
In an unpinned LUNs scenario, you should prioritize traffic on port 7950 so that the SCSI read requests for data blocks not present on the Edge blockstore cache can arrive from the data center LUN in a timely manner. You should prioritize traffic on ports 7952, 7953, and 7954 so that the prefetch data can arrive at the blockstore when needed.
QoS for pinned LUNs
In a pinned, prepopulated LUN scenario, all the data is present at the Edge. You should prioritize only port 7951 so that the Rdisk protocol can transfer newly written data blocks from the Edge blockstore to the data center LUN through Core.
QoS for branch offices
This section contains the following topics:
•  QoS for branch offices that mainly read data from the data center
•  QoS for branch offices booting virtual machines from the data center
QoS for branch offices that mainly read data from the data center
In the case of branch office users who are not producing new data but instead are mainly reading data from the data center and the LUNs are not pinned, you should prioritize traffic on ports 7950 and 7952 so that the iSCSI read requests for data blocks not present on the Edge blockstore cache can arrive from the data center LUN in a timely manner.
QoS for branch offices booting virtual machines from the data center
In the case of branch office users who are booting virtual machines from the data center and the LUNs are not pinned, ensure that port 7950 is the top priority for nonpinned LUN and that you prioritize traffic on port 7953 so that boot data is prefetched on this port in a timely manner.
Time-based QoS rules example
This example illustrates how to configure time-based QoS rules on a SteelHead.
You want to create two recurring jobs, each undoing the other, using the standard job CLI command. One sets the daytime cap on throughput or a low minimum guarantee, and the other then removes that cap or sets a higher minimum guarantee.
steelhead (config) # job 1 date-time hh:mm:ss year/month/day "Start time"
steelhead (config) # job 1 recurring 864000 "Occurs once a day"
steelhead (config) # job 1 command 1 <command>
steelhead (config) # job 1 command 2 <command2> "Commands to set daytime cap"
steelhead (config) # job 1 enable
steelhead (config) # job 2 date-time hh:mm:ss year/month/day "Start time"
steelhead (config) # job 2 recurring 864000 "Occurs once a day"
steelhead (config) # job 2 command 1 <command>
steelhead (config) # job 2 command 2 <command2> "Commands to remove daytime cap"
steelhead (config) # job 2 enable
Related information
•  SteelFusion Core Management Console User’s Guide
•  SteelFusion Edge Management Console User’s Guide
•  Riverbed Command-Line Interface Reference Manual
•  SteelHead Deployment Guide (for general information about QoS)
•  Riverbed Splash at https://splash.riverbed.com/community/product-lines/steelfusion