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 exports
•  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 export.
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 exports
This section contains the following topics:
•  QoS for unpinned exports
•  QoS for pinned exports
For more information about pinned exports, see Pin the export and prepopulate the blockstore.
QoS for unpinned exports
In an unpinned exports 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 export 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 exports
In a pinned, prepopulated export 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 export 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
There may be deployments where ESXi servers with datastores exported from the Edge in the branch office are not producing new data but instead are mainly reading data from the data center and the exports are not pinned. In this case, you should prioritize traffic on ports 7950 and 7952 so that the NFS read requests for data blocks not present on the Edge blockstore cache can arrive from the data center exports in a timely manner.
QoS for branch offices booting virtual machines from the data center
There may be deployments where ESXi servers with datastores exported from the Edge in the branch office are booting virtual machines from the data center and the exports are not pinned. In these scenarios, ensure that port 7950 is the top priority for nonpinned exports 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 User Guide
•  SteelFusion Edge User 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