Professional Documents
Culture Documents
This tech brief provides best practices for implementation of advanced Brocade Fabric OS features that identify, monitor, and protect Fibre Channel SANs from problematic device and media behavior.
DATA CENTER
TECHNICAL BRIEF
CONTENTS
Introduction................................................................................................................................................................................5 Feature Availability...................................................................................................................................................................6 Fabric Resiliency.......................................................................................................................................................................6 Factors Affecting Fabric Resiliency.........................................................................................................................................7 Faulty Media..............................................................................................................................................................................7 Description........................................................................................................................................... 7 Detection............................................................................................................................................. 8 Mitigation............................................................................................................................................. 8 Misbehaving Devices................................................................................................................................................................8 Description........................................................................................................................................... 8 Detection............................................................................................................................................. 9 CX-5021 Messages........................................................................................................................ 9 CX-1012 Messages...................................................................................................................... 10 CX-1014 Messages...................................................................................................................... 10 CX-1015 Messages...................................................................................................................... 10 CX-5679 Messages (CX-5678 in Brocade FOS v7.0.0x and v7.0.1x)................................................. 10 Mitigation........................................................................................................................................... 10 Congestion.............................................................................................................................................................................. 10 Description......................................................................................................................................... 10 Device-Based Latencies................................................................................................................ 10 Moderate Device Latencies.................................................................................................................. 11 Severe Device Latencies............................................................................................................... 12 Latencies on ISLs......................................................................................................................... 12 Detection........................................................................................................................................... 13 Mitigation........................................................................................................................................... 13 Initiators vs. Targets..................................................................................................................... 13 Loss of Buffer Credits............................................................................................................................................................ 14 Description......................................................................................................................................... 14 Condor 3 ASIC Enhancements....................................................................................................... 15 Detection........................................................................................................................................... 15 Mitigation........................................................................................................................................... 16 Credit Recovery on Back-End Ports................................................................................................. 16 Tools......................................................................................................................................................................................... 17 Bottleneck Detection........................................................................................................................... 17 Enhanced Bottleneck Detection..................................................................................................... 17 Brocade Fabric Watch.......................................................................................................................... 17 Port Fencing....................................................................................................................................... 17 Edge Hold Time.................................................................................................................................. 17 Frame Viewer...................................................................................................................................... 18 Designing Resiliency into the Fabric................................................................................................................................... 18 Factors Affecting Congestion................................................................................................................ 18
2 of 35
DATA CENTER
TECHNICAL BRIEF
Resiliency........................................................................................................................................... 19 Redundancy........................................................................................................................................ 19 Summary and Recommendations....................................................................................................................................... 20 Appendix A: Bottleneck Detection....................................................................................................................................... 21 Evolution of Bottleneck Detection Field Experience................................................................................ 21 Brocade FOS v6.3......................................................................................................................... 21 Brocade FOS v6.3 Bottleneckmon Parameters.......................................................................... 21 Specifying Ports and Port Ranges.................................................................................................. 21 CLI Examples......................................................................................................................... 22 Display Commands....................................................................................................................... 22 Brocade FOS v6.4......................................................................................................................... 22 Brocade FOS v6.4 Bottleneckmon Parameters.......................................................................... 23 CLI Examples......................................................................................................................... 23 Brocade FOS v7.0......................................................................................................................... 24 Brocade FOS v7.0.x Bottleneckmon Parameters....................................................................... 24 CLI Example........................................................................................................................... 25 Command Parameter Summary............................................................................................................ 26 Suggested Parameter Settings............................................................................................................. 27 Appendix B: Configuring Brocade Fabric Watch Port Fencing.......................................................................................... 28 Port Fencing Threshold Recommendations ..................................................................................... 28 Appendix C: Sample Frame Viewer session....................................................................................................................... 30 framelog --show -n 1200:............................................................................................................... 31 Appendix D: Edge Hold time (EHT)...................................................................................................................................... 32 Introduction to EHT............................................................................................................................. 32 Supported Releases and Licensing Requirements................................................................................. 32 Behavior............................................................................................................................................. 32 8G Platforms and the Brocade 48000............................................................................................ 32 Gen 5 Platforms .......................................................................................................................... 33 Default EHT Settings........................................................................................................................... 33 Recommended Settings...................................................................................................................... 35
3 of 35
DATA CENTER
TECHNICAL BRIEF
LIST OF FIGURES
Figure 1. Device latency example.................................................................................................................11 Figure 2. Latency on a switch can propagate through the fabric......................................................................11 Figure 3. Frame Viewer capture capability for a director or switch with multiple ASICs......................................30
LIST OF TABLES
Table 1. Brocade FOS Response to Front-End Link Credit Loss...................................................................... 14 Table 2. Brocade FOS Response to Back-End Link Credit Loss...................................................................... 15 Table 3. Command Parameter Summary...................................................................................................... 26 Table 4. Edge Hold Time Configuration Values.............................................................................................. 27 Table 5. Recommended Port Fencing Thresholds.......................................................................................... 28 Table 7. Factory Default EHT Settings.......................................................................................................... 33 Table 8. Suggested EHT Settings for Various FOS Releases.......................................................................... 34
4 of 35
DATA CENTER
TECHNICAL BRIEF
INTRODUCTION
This document provides a high-level description of the most commonly experienced detrimental device behaviors and explains how to use Brocade products and features to protect your data center. Faulty or improperly configured devices, misbehaving hosts, and faulty or substandard Fibre Channel (FC) media can significantly affect the performance of FC fabrics and the applications they support. In most real-world scenarios, these issues cannot be corrected or completely mitigated within the fabric itself; the behavior must be addressed directly. However, with the proper knowledge and capabilities, the fabric can often identify and, in some cases, mitigate or protect against the effects of these misbehaving components to provide better fabric resiliency. Brocade offers many tools and features to assist with managing a robust Storage Area Network (SAN). Guidance on best practices for using these capabilities is provided throughout this document. Many of the conditions and events that adversely affect fabric operation are external to the switches themselves, but various mechanisms are available in Brocade products to pinpoint the source of such problems, Although there are certain aspects of todays data centers that are common in most environments, no two data centers are exactly alike, and no single set of configuration parameters apply universally to all environments. Brocade works directly with customers in every type of SAN deployment to develop recommendations and guidelines that apply to most environments. However, you should always validate all recommendations for your particular needs and consult with your vendor or Brocade representative to ensure that you have the most robust design and configuration available to fit your situation. Brocade also offers extensive Professional Services to assist with tuning and optimizing the features discussed in this document for customized deployment in your data center. For details, visit: www.brocade.com/services-support/professional-services/index.page This document is divided into the following main sections: Factors affecting fabric resiliency Faulty media (description, detection, and mitigation) Misbehaving devices (description, detection, and mitigation) Congestion (description, detection, and mitigation) Loss of buffer credits (description, detection, and mitigation) Introduction of available tools to aid the fabric administrator Designing resiliency into the fabric Summary and recommendations Appendices detailing selected topics The topics covered in this document are complex. Additional details on individual feature settings and configuration are included in the appendices to allow the main body of this document to flow more easily. You are encouraged to review the main body of the document and then refer to the appendices after the general concepts and information are understood. Every effort was taken to ensure the accuracy of the information in this document. However, it is essential to consult the appropriate version of the Fabric OS Command Reference Manual (covering the CLI) to confirm the correct syntax for all commands used.
5 of 35
DATA CENTER
TECHNICAL BRIEF
Some features discussed in this document are covered in more detail than other features. The Brocade Fabric Watch feature, for example, is too comprehensive to cover in detail here. Edge Hold Time and Bottleneck Detection functionality are covered in more detail due to their importance to fabric resiliency. Further documentation is available that provides additional detail on most of the features discussed in this document. The following is a partial list of material supplementing the information provided here (all documents are available to registered users at my.brocade.com): SAN Design and Best Practices SAN Fabric Administration Best Practices Guide: Support Perspective Fabric OS Administrators Guide (produced for each major Brocade Fabric OS [FOS] release) Fabric OS Command Reference Manual (produced for each major Brocade FOS release) This document covers Brocade FOS releases from version 6.3 to version 7.0. New revisions are produced covering subsequent Brocade FOS releases.
FEATURE AVAILABILITY
While there are many features available in Brocade FOS to assist with monitoring, protecting, and troubleshooting fabrics, Brocade has implemented several recent enhancements that focus exclusively on these areas. This document concentrates specifically on those newer features (and related capabilities) that help provide optimum fabric resiliency. These features are available and supported on the majority of 4 Gbps (gigabitper-second) and 8 Gbps platforms, in addition to the latest 16 Gbps Gen 5 FC platforms, when running the most recent Brocade FOS releases. (Visit my.brocade.com or consult with your vendor for the latest supported Brocade FOS releases.) Throughout this document, special requirements including required licenses, minimum release levels, and platform limitations are noted. Brocade strongly recommends that you review the additional documentation noted above to understand all of the tools that are available for maintaining an FC SAN environment. Also, be sure to read the Brocade FOS Release Notes for important information related to the specific version of Brocade FOS you are using.
FABRIC RESILIENCY
Fabric resiliency is the ability of an FC fabric to tolerate unusual conditions that might place the fabrics operation at risk. Examples of such risks include server or storage ports that behave abnormally or longdistance links that are at a greater risk of experiencing degradation in signal quality. Unless mitigated, these risks can lead to instability and unexpected behaviors in the fabric. In some cases, such behaviors can affect the Input/Output (I/O) for the devices connected to the fabric. However, implementing a resilient fabric requires more than just an awareness of the possible conditions that threaten fabric stability. A combination of capabilities is required that allows for problem detection, mitigation, andwhere necessaryisolation to enable the fabric administrator to efficiently correct the condition. In the past, the process of problem detection and mitigation relied on the diligence, skill, and experience of the fabric administrator. Usually, a manual task of searching and tracing error conditions was the regimen. Brocade has developed a suite of capabilities and tools that provide detailed monitoring and alerting, as well as response and mitigation, that vastly improve the fabric administrators insight and response time. This document discusses these capabilities and their application to the factors affecting fabric resiliency by detailing the processes of detection and mitigation for each factor. The fabric-specific tools and design recommendations that follow provide you with a robust approach to fabric resiliency.
6 of 35
DATA CENTER
TECHNICAL BRIEF
FAULTY MEDIA
Description
Faulty media is one of the most common sources of fabric problems and eventual data center disruption. Faulty media can include damaged or substandard cables, SFPs, patch panels or receptacles, improper connections, malfunctioning extension equipment, and other types of external issues. Media can fault and fail on any port type, E_Port or F_Port, often intermittently and unpredictably, making it even harder to diagnose. Faulty media involving F_Ports results in an impact to the end device attached to the F_Port and to the devices communicating with that device. This can lead to broader issues, as the effects of the media fault are propagated through the fabric. Failures on E_Ports have the potential for even greater impact. Multiple flows (host/target pairs) simultaneously traverse a single E_Port, as well as inter-switch control traffic. In large fabrics, the number of flows passing through an E_Port can be very high. In the event of a media failure involving one of these links, it is possible to disrupt some or all of the flows using that link. Severe media fault or complete media failure can disrupt the port or even take the port offline. When an F_Port fails completely, the condition is usually detected by the connected device (storage or host). The device is usually configured to continue working through an alternative connection to the fabric. When this occurs on an F_Port, the impact is specific to flows involving that F_Port. An E_Port going offline causes the fabric to drop all routes using the failed E_Port. This is usually easy to detect and identify. E_Ports are typically redundant, such that a severe failure results in a minor drop in bandwidth as the fabric automatically utilizes available alternate paths. The error reporting built into Brocade FOS readily identifies the failed link and port, allowing for simple corrective action and repair. Moderate levels of media fault cause failures to occur intermittently. However, the port may remain online or, in some cases, may repeatedly transition between online and offline states. This can cause repeated errors which, if left unresolved, can recur indefinitely or until the media fails completely. Intermittent problems are difficult to assess. The fabric does its best to determine if a problem is critical enough to disable the port. Disabling a port causes the host failover software to stop using the port attached to the faulty media and to re-establish connectivity through its alternative path. However, problems can occur when the severity of the fault remains undetermined. This leaves the host and the applications running on it to cope with the results of the intermittently failing media.
7 of 35
DATA CENTER
TECHNICAL BRIEF
When this type of failure occurs on E_Ports, the result might be devastating. Repeated errors can affect many flows. This can result in a significant impact to applications, which can last for a prolonged period of time. Note that FC switches cannot correct for most problems caused by faulty media; the switches can attempt only to detect, alert, and compensate for the problems. Ultimately, the problems must be addressed in the host or target devices, cable plant, or media where the fault actually occurs.
Detection
Brocade FOS has evolved through multiple generations and has built a tool chest to detect and mitigate fabric resiliency issues, including faulty media conditions. You can use Brocade Fabric Watch to monitor and detect faulty media. The presence of faulty media can manifest with the following symptoms: CRC errors on frames Invalid words (includes encoder out errors) State changes (ports going offline or online repeatedly) Credit loss: Complete loss of credit on a Virtual Channel (VC) of an E_Port prevents traffic from flowing on that VC, which results in frame loss and I/O failures for devices utilizing the VC. Partial credit loss, while a concern, usually does not significantly affect traffic flow, due to the high link speeds of ISLs today. Trunked ISLs (best practice recommendation) (usually not affected) Switch-issued link (resets when a device or link fails to respond within two seconds) You can enable Brocade Fabric Watch monitors to automatically detect these types of faulty media conditions. Brocade Fabric Watch generates alerts based on user-defined thresholds.
Mitigation
You must identify and correct faulty media issues as soon as possible. Otherwise, they can lead to severe fabric problems, such as dropped frames, performance impact, and permanent credit loss. At the very least, you must isolate the ports with faulty media. The Brocade Fabric Watch feature provides a mechanism that quarantines the misbehaving component with the optional action of Port Fencing. Port Fencing is available for each of the previously noted conditions and is recommended to automatically protect the fabric from these error conditions. The recommended thresholds (specified in Appendix B: Configuring Brocade Fabric Watch Port Fencing) have been tested and tuned to quarantine misbehaving components that are likely to cause a fabric-wide impact. These thresholds are very unlikely to falsely trigger on normally behaving components. You can configure Brocade Fabric Watch thresholds to activate Port Fencing for various symptoms, to disable a port that exhibits signs of faulty media. The repair of media faults themselves is beyond the scope of this document.
MISBEHAVING DEVICES
Description
Another common class of abnormal behavior originates from high-latency end devices (host or storage). A highlatency end device is one that does not respond as quickly as expected and thus causes the fabric to hold frames for excessive periods of time. This can result in application performance degradation or, in extreme cases, I/O failure. Common examples of moderate device latency include disk arrays that are overloaded and hosts that cannot process data as fast as requested. Misbehaving hosts, for example, become more common as hardware ages. Bad host behavior is usually caused by defective Host Bus Adapter (HBA) hardware, bugs in the HBA firmware,
8 of 35
DATA CENTER
TECHNICAL BRIEF
and problems with HBA drivers. Storage ports can produce the same symptoms due to defective interface hardware or firmware issues. Some arrays deliberately reset their fabric ports, if they are not receiving host responses within their specified timeout periods. Severe latencies are caused by badly misbehaving devices that stop receiving, accepting, or acknowledging frames for excessive periods of time. However, with the proper knowledge and capabilities, the fabric can often identify and, in some cases, mitigate or protect against the effects of these misbehaving components to provide better fabric resiliency.
Detection
Prompt detection of misbehaving devices is critical to quick and effective mitigation of these disorders. The symptoms of misbehaving devices include: CRC errors on frames Invalid words (includes encoder out errors) State changes (ports going offline/online repeatedly or seemingly at random) Devices holding buffer credits for long periods, resulting in the switch issuing a Link Reset (LR) on the port connected to the device Loss of synchronization on device links Brocade products and Brocade FOS-integrated capabilities provide mechanisms for detection and recovery of lost credits, though this is not intended as a permanent method of resolving chronic issues with misbehaving devices. Once identified, the root cause of the problem should be addressed directly, to prevent the likelihood of further impact to the fabric. You can use Brocade Fabric Watch to monitor for all of the above conditions, except for non-return of buffer credits. The symptoms of misbehaving devices and faulty media are very similar. In addition to monitoring and isolation, Brocade FOS also provides the following RASlog messages for symptoms such as State Changes, devices not returning buffer credits, and loss of sync on device links. NOTE: The XX-5XXX messages referenced below are not documented in the Fabric OS Message Reference Guide. XX-1XXX messages are documented in the Fabric OS Message Reference Guide. The message code CX is displayed as either C2 or C3, depending on whether the port is on an 8 Gbps Condor 2 (C2) or Gen 5 16 Gbps Condor 3 (C3) Application-Specific Integrated Circuit (ASIC).
CX-5021 Messages
Brocade FOS issues an LR and logs a CX-5021 message when a port is detected that is not returning credit and has halted traffic for at least two seconds. No credit return in two seconds is considered a serious problem, and the action to take is dictated by Fibre Channel standards. The Brocade switch issues an LR to reset the link and recovers the lost credit. The CX-5021 message indicates that the switch has followed FC procedure and issued an LR in response to a loss of credit being detected. The CX-5021 message appears only for front-end (FE) ports in the event that no credits are returned over a period of 2 seconds. The CX-5021 message is not used for back-end (BE) or internal links; instead, a CX-1012 message is used. The CX-5021 message was replaced with a CX-1012 in later releases of Brocade FOS (v6.3.2a/v6.4.0 and later).
9 of 35
DATA CENTER
TECHNICAL BRIEF
CX-1012 Messages
These messages serve the same purpose for internal (BE) ports as the CX-5021 messages serve for external (FE) ports. This message indicates that an LR following no credit return for 2 seconds was performed.
CX-1014 Messages
Indicate that one or more credits were lost, and the link was reset.
CX-1015 Messages
Similar to the CX-1012 messages, these messages serve the same purpose for internal ports (BE ports) as the CX-5021 messages. This message indicates that the link is reinitialized.
Mitigation
Misbehaving devices can have profound effects on a fabric. Bad device behavior can cause back pressure to build up in the fabric until no traffic passes. This is especially true of routed fabrics, where many flows may be traversing relatively few links. You can use Brocade Fabric Watch to remove the suspect device from the fabric by monitoring TX timeouts and blocking a port with Port Fencing if set thresholds are exceeded. Guidance is provided on implementing Port Fencing in Appendix B: Configuring Brocade Fabric Watch Port Fencing. You can use the optional configuration setting of Edge Hold TIme (EHT) to decrease the delay imposed before a Class 3 (C3) transmit timeout (C3 TX_TO: er_tx_c3_timeout) frame discard is produced, where frames are blocked for some reason. This allows traffic to resume for one buffer credit for each frame dropped. By allowing traffic to continue in this way, you avoid dropping frames from other flows on ISLs in the fabric due to back pressure from the high-latency device. If Brocade Fabric Watch is used to fence ports on TX_TO frame drops, then the port can also be disabled before it can cause widespread impact on the fabric. EHT is described in detail in the TOOLS and Appendices sections of this document.
CONGESTION
Description
Congestion occurs when the traffic being carried on a link exceeds its capacity. Sources of congestion could be links, hosts, or storage responding more slowly than expected. Congestion is typically due to either fabric latencies or insufficient link bandwidth capacity. As Fibre Channel link bandwidth has increased from one to 16 Gigabits/second, instances of insufficient link bandwidth capacities have radically decreased. Latencies, particularly device latencies, are the major source of congestion in todays fabrics, due to their inability to promptly return buffer credits to the switch.
Device-Based Latencies
A device experiencing latency responds more slowly than expected. The device does not return buffer credits (through R_RDY primitives) to the transmitting switch fast enough to support the offered load, even though the offered load is less than the maximum physical capacity of the link connected to the device.
10 of 35
DATA CENTER
TECHNICAL BRIEF
P2
P1
?
P6
P4
P3
Figure 1. Device latency example Figure 1 illustrates the condition where a buffer backup on ingress port 6 on B1 causes congestion upstream on S1, port 3. Once all available credits are exhausted, the switch port connected to the device needs to hold additional outbound frames until a buffer credit is returned by the device. When a device does not respond in a timely fashion, the transmitting switch is forced to hold frames for longer periods of time, resulting in high buffer occupancy. This in turn results in the switch lowering the rate at which it returns buffer credits to other transmitting switches. This effect propagates through switches (and potentially multiple switches, when devices attempt to send frames to devices that are attached to the switch with the highlatency device) and ultimately affects the fabric.
Hosts
4. All servers using ISL affected
Hosts
B
1. Buffer credits exhausted
B
fig02_SAN Fabric Res
Storage Arrays
Storage Arrays
Figure 2. Latency on a switch can propagate through the fabric NOTE: The impact to the fabric (and other traffic flows) varies based on the severity of the latency exhibited by the device. The longer the delay caused by the device in returning credits to the switch, the more severe the problem.
11 of 35
S2
S1
B1
DATA CENTER
TECHNICAL BRIEF
of, for instance, 10 ms, are severely affected by storage latencies in excess of the expected service times. Moderate device latencies have traditionally been very difficult to detect in the fabric. Advanced monitoring capabilities implemented in Brocade ASICs and Brocade FOS have made these moderate device latencies much easier to detect by providing the following information and alerts: Switches in the fabric generate Bottleneck Detection Alerts if Bottleneck Detection is activated on the affected ports Elevated tim_txcrd_z (see below) counts on the affected F_Port; that is, the F_Port where the affected device is connected Potentially elevated tim_txcrd_z counts on all E_Ports carrying the flows to and from the affected F_Port/ device NOTE: tim_txcrd_z is defined as the number of times that the port was unable to transmit frames because the transmit Buffer-to-Buffer Credit (BBC) was zero. The purpose of this statistic is to detect congestion or a device affected by latency. This parameter is sampled at intervals of 2.5 microseconds, and the counter is incremented if the condition is true. Each sample represents 2.5 microseconds of time with zero Tx BBC. tim_txcrd_z counts are not an absolute indication of significant congestion or latencies and are just one of the factors in determining if real latencies or fabric congestion are present. Some level of congestion is to be expected in a large production fabric and is reflected in tx_crd_z counts. The Brocade FOS Bottleneck Detection capability was introduced to remove the uncertainty around identifying congestion in a fabric.
Latencies on ISLs
Latencies on ISLs are usually the result of back pressure from latencies elsewhere in the fabric. The cumulative effect of many individual device latencies can result in slowing the link. The link itself might be producing latencies, if it is a long-distance link with distance delays or there are too many flows using the same ISL. Whereas each device may not appear to be a problem, the presence of too many flows with some level of latency across a single ISL or trunked ISL may become a problem. Latency on an ISL can ripple through other switches in the fabric and affect unrelated flows. Brocade FOS can provide alerts and information indicating possible ISL latencies in the fabric, through one or more of the following: Switches in the fabric generate Bottleneck Detection Alerts, if Bottleneck Detection is activated on the affected ports C3 transmit discards (er_tx_c3_timeout) on the device E_Port or EX_Port carrying the flows to and from the affected F_Port or device
12 of 35
DATA CENTER
TECHNICAL BRIEF
Brocade Fabric Watch alerts, if they are configured for C3 timeouts Elevated tim_txcrd_z counts on the affected E_Port, which also may indicate congestion C3 receive discards (er_rx_c3_timeout) on E_Ports in the fabric containing flows of a high-latency F_Port
Detection
Latencies on ISLs can affect all the flows and multiple switches in the fabric that is connected through the congested ISLs. Hence, it is critical to detect and mitigate the cause of the latency as quickly as possible. Often this requires investigating the places where the symptoms are detected, and then working backwards to identify the actual source of the problem. Some of the visible symptoms of a congested ISL may include: Bottleneck Detection Alerts (if Bottleneck Detection is activated on the affected ports) C3 transmit discards on the device F_Port Brocade Fabric Watch alerts, if they are configured for C3 timeouts Elevated tim_txcrd_z counts on the affected F_Port, which may indicate congestion C3 receive discards on E_Ports in the fabric containing flows to the affected F_Port Elevated tim_txcrd_z counts on all E_Ports containing flows to the affected F_Port Brocade FOS Frame Viewer can be used to detect severely congested flows from C3 discard data. The Source ID and Destination ID information about the flow can point in the right direction.
Mitigation
Once you detect the source of ISL congestion, you can identify mitigation steps. There is little that can be done in the fabric to mitigate the effects of device latencies or traffic congestion. The source of congestion could be: Slowly responding hosts Arrays with long latencies Long-distance ISLs (Increasing the BBCs on a long-distance ISL can help.) Dynamic Path Selection (default switch routing) tries to distribute frames across as many equal-cost paths as possible from the host to the storage. Assuming that all paths are not affected by latencies, then providing more paths through the fabric reduces the likelihood that a congested device or link will affect overall traffic flow.
13 of 35
DATA CENTER
TECHNICAL BRIEF
14 of 35
DATA CENTER
TECHNICAL BRIEF
Detection
Lost credit situations display a variety of symptoms, depending on the Brocade FOS release version and FC generation of switch, and whether BE credit recovery is activated. The set of RASlog messages that may be generated in the event of lost credits is as follows:
15 of 35
DATA CENTER
TECHNICAL BRIEF
CDR-5021 or CX-5021 RASlog messages CDR-1012 or CX-1012 RASlog messages CDR-1015 or CX-1014 RASlog messages CDR-1015 or CX-1015 RASlog messages CDR-1015 or CX-1016 RASlog messages CDR-1015 or CX-1017 RASlog messages CDR-5079 or CX-5079 RASlog messages Total credit loss situations result in flows being blocked across the port or VC in question. Hosts and/or targets are affected, and C3 receive timeout frame drops are observed on other switches in the fabric.
Mitigation
Brocade FOS cannot control the conditions leading to permanent loss of credit on FE ports. Permanent loss of all credits on a port can be handled through either a manual or automatic LR on the port. Enable Bottleneck Detection for credit loss and recovery on all ports. See Appendix A: Bottleneck Detection for more detail on how Bottleneck Detection is used to enable Brocade FOS to detect lost credits.
16 of 35
DATA CENTER
TECHNICAL BRIEF
TOOLS
Bottleneck Detection
Bottleneck Detection was introduced in Brocade FOS v6.3.0 with monitoring for device latency conditions, and then enhanced in Brocade FOS v6.4.0 with added support for congestion detection on both E_Ports and F_Ports. Brocade FOS v6.4 also added improved reporting options and simplified configuration capabilities. The Brocade FOS v6.3.1b release introduced enhancements to improve the accuracy of detecting device latency. Bottleneck Detection does not require a license and is supported on 4 Gbps, 8 Gbps, and 16 Gbps platforms.
Port Fencing
You can use Brocade Fabric Watch thresholds to protect a switch by automatically blocking a port when specified thresholds are reached. This feature is called Port Fencing, and it was a Brocade Fabric Watch enhancement in Brocade FOS v6.1.0. The recommended thresholds for Port Fencing that are specified in Appendix B: Configuring Brocade Fabric Watch Port Fencing have been tested and tuned to quarantine components that are misbehaving at the point at which they are likely to cause broader fabric-wide issues.
17 of 35
DATA CENTER
TECHNICAL BRIEF
Frame Viewer
Frame Viewer was introduced in Brocade FOS v7.0 to allow the fabric administrator more visibility into C3 frames dropped due to timeouts. When frame drops are observed on a switch, the user can utilize this feature to find out which flows the dropped frames belong to and potentially determine affected applications by identifying the endpoints of the dropped frame. Frames discarded due to timeout are sent to the CPU for processing. Brocade FOS captures and logs information about the frame such as Source ID (SID), Destination ID (DID), and transmit port number. This information is maintained for a limited number of frames. The end user can use the CLI to retrieve and display this information. NOTE: Frame Viewer captures only FC frames that are dropped in a Receive (Rx) buffer due to a timeout received on an Edge ASIC (ASIC with FE ports). If the frame is dropped for any other reason, it is not captured by Frame Viewer. If the frame is dropped due to a timeout on an Rx buffer on a Core ASIC, the frame is not captured by Frame Viewer. Timeout is defined as a frame that lives in a Rx buffer for longer than the Hold Time default of 500 ms or the Edge Hold Time value custom setting. See Appendix C: Sample Frame Viewer session for an example of a Frame Viewer session.
18 of 35
DATA CENTER
TECHNICAL BRIEF
Clustering: Clustering solutions often impose higher I/O and synchronization requirements on a fabric beyond volumes typically seen in standalone platforms. This can result in more short frames traversing the fabric when storage status is being continuously queried. Congestion from applications can be best addressed at the source itself. The fabric cannot completely compensate for node behavior.
Resiliency
Fabric resiliency is usually threatened by misbehaving devices or other factors external to the fabric. Many features have been added to Brocade FOS to improve resiliency, but not all failing node conditions can be detected or handled transparently in the fabric. Redundancy is a very effective means of increasing resiliency in any SAN. The addition of fabric components must, of course, be weighed against the cost of doing so. Those costs should also be weighed against the opportunity cost of losing access to mission-critical applications.
Redundancy
Fabrics: Redundancy provides a complete failover to a redundant fabric. This requires that all multipathing software on all hosts is in perfect working order and detects the failure. Cores: Redundancy allows for higher resiliency, because only the hosts attached to failing edge switches are required to fail over to the redundant fabric. Edges: Redundancy can be important in routed environments. Backbones: Redundancy is particularly important when distance is involved. ISLs: More paths allow for more alternatives for frames to traverse the fabric. Best practice recommendations: Duplicate the core switches in core-edge and edge-core-edge designs. This vastly improves resilience in the fabric and avoids host failovers to alternate fabrics, in case a core platform ever fails. Experience has shown that host failover software sometimes does not function as expected, causing outages for applications that were expected to participate in a host failover to a second fabric. Duplicate the Fibre Channel Router (FCR) backbone switches to protect against host failover failures. Often the costs associated with a failover failure greatly exceed the cost of the second FCR platform. Provide as many different paths through the fabric as possible. This is particularly true for routed fabrics, as these are prime points of congestion.
19 of 35
DATA CENTER
TECHNICAL BRIEF
20 of 35
DATA CENTER
TECHNICAL BRIEF
21 of 35
DATA CENTER
TECHNICAL BRIEF
CLI Examples bottleneckmon --enable -alert 2/1 2/5-15 2/18-21 Enable Bottleneck Detection using defaults on ports 1, 5 to 15, and 18 to 21 on blade 2. bottleneckmon --enable -alert -thresh 0.2 -time 30/0-31 Enable Bottleneck Detection on blade 1, ports 0 to 31 with a threshold of 20% and a time interval of 30 seconds. bottleneckmon --disable * Disable Bottleneck Detection on all ports. bottleneckmon --disable 2/1 2/12-15 Disable Bottleneck Detection on ports 1 and 12 to 15 on blade 2.
Display Commands
To display bottleneck statistics on a specified port: switch:admin> bottleneckmon --show -interval 5 -span 30 2/24 ============================================================= Mon Jun 15 18:54:35 UTC 2009 ============================================================= Percentage of From To affected secs ============================================================= Jun 15 18:54:30 Jun 15 18:54:35 80.00% Jun 15 18:54:25 Jun 15 18:54:30 40.00% Jun 15 18:54:20 Jun 15 18:54:25 0.00% Jun 15 18:54:15 Jun 15 18:54:20 0.00% Jun 15 18:54:10 Jun 15 18:54:15 20.00% Jun 15 18:54:05 Jun 15 18:54:10 80.00% To display the ports that are monitored for devices affected by latency bottlenecks: switch:admin> bottleneckmon --status Slot Port Alerts? Threshold Time (s) Quiet Time (s) ========================================================== 2 0 N -- -- -2 1 Y 0.200 250 500 2 24 N ----
22 of 35
DATA CENTER
TECHNICAL BRIEF
Alerting was enhanced to include a special Bottleneck Detection SNMP MIB, called the BD MIB. Additional enhancements to Bottleneck Detection were added to several Brocade FOS v6.4.x maintenance releases by back-porting of new capability introduced in Brocade FOS v7.x. Changes include: v6.4.2: Added BE credit recovery. v6.4.3: Decoupled alerts for latency and congestion. In addition to changes in Brocade FOS, Bottleneck Detection support was added to Brocade Network Advisor. Refer to the Brocade Network Advisor documentation for more detail. NOTE: There is a constraint on 48000 directors only that no more than 100 ports are monitored at a time. Port numbers and ranges may be supplied in a list as the last parameters on the command line. All parameter values that are different from the defaults must be specified when using the -config option. All unspecified parameter values revert to their defaults. Brocade FOS v6.4 Bottleneckmon Parameters -time, -qtime, and -alert remain unchanged. -thresh was changed to -lthresh. -cthresh (% utilization, default is 80% .8) Congestion Threshold: A decimal value with 3 digits of precision between 0 and 1. When the value is multiplied by 100, it gives a congestion threshold percentage. When the percentage of affected seconds over the time value is greater than the congestion threshold percentage, an alert can be produced, depending on the quiet time setting. Note that this threshold actually refers to the percentage of time the time interval -time that exceeds 95% link utilization. --config: Change a parameter threshold value without disable. NOTE: You must explicitly provide values for parameters that you do not want to revert to their default values. --configclear: Clear the current values and revert to any switch-wide settings. --exclude: Specify a port range to be excluded from monitoring. --include: Specify a port range to be included for monitoring. -lthresh: Was -thresh in 6.3. -noalert: Disable alerts. --show: Was enhanced to refresh latency or congestion displays. --cfgcretdittools: Configure BE port credit recovery. --showcretdittools: Show BE port credit recovery values (added in v6.4.2). -alert=latency: --configs parameter to alert only on latency bottlenecks (added in v6.4.3). -alert=congestion: --configs parameter to alert only on congestion bottlenecks (added in v6.4.3). CLI Examples bottleneckmon --enable -alert -lthresh 0.2 -cthresh .7 -time 30 -qtime 30 1/0-31 Enable Bottleneck Detection on blade 1, ports 0 to 31 with a latency threshold of 20%, a congestion threshold of 70%, and a time interval of 30 seconds and quiet time of 30 seconds. bottleneckmon --config -cthresh .7 -lthresh .1 -time 60 -qtime 120 1/0-15 Change the congestion and latency thresholds on ports 0 to 15 on blade 1. Note that --config requires you to specify all the parameter values that you do not want to revert to the default values. bottleneckmon --configclear 2/0-7 Clear the configuration on ports 0 to 7 on blade 2 and revert to the switch-wide configuration.
23 of 35
DATA CENTER
TECHNICAL BRIEF
bottleneckmon --exclude 2/9-11 Exclude ports 9-11 on blade 2. bottleneckmon --cfgcredittools -intport -recover onLrOnly Activate the back-end credit recovery mechanism via the bottleneckmon CLI command. This instructs the firmware to issue an LR whenever a loss of credit condition is detected on a back-end link. The firmware continuously scans the links, and during any 2-second window of inactivity, credit levels are confirmed.
24 of 35
DATA CENTER
TECHNICAL BRIEF
CLI Example switch:admin> bottleneckmon --status Bottleneck Detection - Enabled ============================== Switch-wide sub-second latency bottleneck criterion: ==================================================== Time threshold - 0.800 Severity threshold - 50.000 Switch-wide alerting parameters: ================================= Alerts - Yes Congestion threshold for alert - 0.800 Latency threshold for alert - 0.100 Averaging time for alert - 300 seconds Quiet time for alert - 300 seconds Per-port overrides for sub-second latency bottleneck criterion: =============================================================== Slot Port TimeThresh SevThresh ========================================= 0 3 0.500 100.000 0 4 0.600 50.000 0 5 0.700 20.000 Per-port overrides for alert parameters: ======================================== Slot Port Alerts? LatencyThresh CongestionThresh Time(s) QTime(s) ================================================================= 0 1 Y 0.990 0.900 3000 600 0 2 Y 0.990 0.900 4000 600 0 3 Y 0.990 0.900 4000 600 Excluded ports: =============== Slot Port ============ 0 2 0 3 0 4 Back-end port credit recovery examples To enable back-end port credit recovery with the link reset only option and to display the configuration: switch:admin> bottleneckmon --cfgcredittools \ -intport -recover onLrOnly switch:admin> bottleneckmon --showcredittools Internal port credit recovery is Enabled with LrOnly To enable back-end port credit recovery with the link reset threshold option and to display the configuration: switch:admin> bottleneckmon --cfgcredittools -intport \ -recover onLrThresh switch:admin> bottleneckmon --showcredittools Internal port credit recovery is Enabled with LrOnThresh To disable back-end port credit recovery and to display the configuration: switch:admin> bottleneckmon --cfgcredittools \ -intport -recover off
25 of 35
DATA CENTER
TECHNICAL BRIEF
26 of 35
DATA CENTER
TECHNICAL BRIEF
Notes on release descriptions: Not supported Y supported * - lthresh is backwards compatible with -thresh for this release anything else: default value
27 of 35
DATA CENTER
TECHNICAL BRIEF
CRC errors and Invalid Words can occur on normal links. These errors have also been known to occur during certain transitions such as server reboots. When these errors occur more frequently, they can cause a severe impact. While most systems can tolerate infrequent CRC errors or Invalid Words, other environments may be sensitive to even infrequent instances. The overall quality of the fabric interconnects is also a factor. When establishing thresholds for CRC errors and Invalid Words, consider that, in general, cleaner interconnects can have lower thresholds, as they should be less likely to introduce errors on the links. Moderate (recommended), conservative, and aggressive threshold recommendations are provided in Table 6. After selecting the type of thresholds for an environment, set the low threshold with an action of Alert (RASlog, e-mail, SNMP trap). The alert is triggered whenever the low threshold is exceeded. Set the high threshold with an action of Fence. The port is fenced (disabled) whenever the high threshold is detected. Aggressive threshold suggestions do not include settings for low; instead, they have only the high values to trigger fencing action.
28 of 35
DATA CENTER
TECHNICAL BRIEF
29 of 35
DATA CENTER
TECHNICAL BRIEF
If a Frame is dropped due to timeout in this RX Buffer, the frame will NOT be captured by Frame Viewer (-1/-1)
Back-End Port
(-1/-1)
Back-End Port
(-1/-1) If a Frame is dropped due to timeout in this Rx RX Buffer, the frame Buffer will be captured by Frame Viewer
(-1/-1) Rx Buffer
Back-End Port If a Frame is dropped due to timeout in this RX Buffer, the frame will be captured by Frame Viewer
fig03_SAN Fabric Res
Front-End Port 1/23 Frame coming in on port 1/23 and destined out of port 10/29
Figure 3. Frame Viewer capture capability for a director or switch with multiple ASICs NOTE: If the switch is a single ASIC switch, such as an embedded switch or a Brocade 300 Switch, Brocade 5100 Switch, Brocade 6505 Switch, Brocade 6510 Switch, and so on, there are no Core ASIC or back-end ports, and Frame Viewer captures dropped frames due to timeout. The number of frames captured depends on available switch resources. A Core ASIC has only backend ports and UltraScale Inter-Chassis Link (ICL) ports. If a frame is dropped and captured by Frame Viewer, it displays the frame (FC Header and Payload) with a timestamp of the time when the frame was dropped.
30 of 35
DATA CENTER
TECHNICAL BRIEF
Notes: 1. TX Port is the port that discarded the frame. 2. SID is the source Port ID (PID). 3. DID is the destination PID. 4. -1/-1 in the port column refers to a BE port.
31 of 35
DATA CENTER
TECHNICAL BRIEF
Behavior
8G Platforms and the Brocade 48000
On the 48K and all 8G platforms including the DCX/DCX-4S, Hold Time is an ASIC level setting that is applied to all ports on the same ASIC chip. If any single port on the ASIC chip is an F-Port, then the alternate EHT value will be programmed into the ASIC, and all ports (E-Ports and F-Ports) will use this one value. If all ports on the single ASIC chip are E-Ports, then the entire ASIC will be programmed with the default Hold Time value (500ms). When Virtual Fabrics is enabled on an 8G switch, the programming of the ASIC remains at the ASIC level. If any single port on the ASIC is an F-Port, regardless of which Logical Switch it resides in, then the alternate EHT value will be programmed into the ASIC for all ports in all Logical Switches regardless of the port type.
32 of 35
DATA CENTER
TECHNICAL BRIEF
For example: If one ASIC has five ports assigned to Logical Switch 1 comprised of four F-Ports and one E-Port, and this same ASIC has five ports assigned to Logical Switch 2 comprised of all E-Ports, the EHT value will be programmed into all five ports in Logical Switch 1 and also all five ports in Logical Switch 2. The programming of EHT is at the ASIC level and is applied across Logical Switch boundaries. When using Virtual Fabrics, the EHT value configured into the Base Switch is the value that will be used for all Logical Switches.
Gen 5 Platforms
All Brocade Gen 5 platforms (16G) are capable of setting the Hold Time value on a port-by-port basis for ports resident on Gen 5 ASICs. All F-ports will be programmed with the alternate Edge Hold Time All E-Ports will be programmed with the default Hold Time value (500ms) The same EHT value set for the switch will be programmed into all F-Ports on that switch. Different EHT values cannot be programmed on an individual port basis. If 8G blades are installed into a Gen 5 platform (ie, an FC8-64 blade in a DCX 8510), then the behavior of EHT on the 8G blades will be the same as the description provided for 8G platforms above. The same EHT value will be programmed into all ports on the ASIC. If any single port on an ASIC is an F-Port, then the alternate EHT value will be programmed into the ASIC, and all ports (E-Ports and F-Ports) will use this one value. If all ports on an ASIC are E-Ports, then the entire ASIC will be programmed with the default Hold Time value (500ms). When deploying Virtual Fabrics with FOS versions 7.0.0x, 7.0.1x, or 7.0.2x, the EHT value configured into the Default Switch is the value that will be used for all Logical Switches. Starting with FOS v7.1.0, a unique EHT value can be independently configured for each Logical Switch for Gen 5 Platforms. 8G blades installed in a Gen 5 platform will continue to use the Default Logical Switch configured value for all ports on those blades regardless of which Logical Switches those ports are assigned to.
The default setting can be changed using the configure command. The EHT can be changed without having to disable the switch and will take effect immediately after being set.
33 of 35
DATA CENTER
TECHNICAL BRIEF
When using the configure command to set EHT, a suggested EHT value will be provided. If the user accepts this suggested setting by pressing <enter>, then this suggested value will become the new value for EHT on the switch. The suggested value will be the value that was set during the previous time the configure command was run, even if the user just pressed the <enter> key when encountering this configuration parameter. If the configure command has never been run before, and thus the default value is what is currently set in the system, then the suggested value shown will be as follows: Table 8. Suggested EHT Settings for Various FOS Releases
FOS Version Currently on Switch Any version of FOS 7.X FOS 6.4.3x FOS 6.4.2x FOS 6.4.1x FOS 6.4.0x Any version prior to FOS 6.4.0 Suggested EHT Value When Configure Has Not Been Run Previously 220 ms 500 ms 500 ms 220 ms 500 ms 500 ms
Note that the suggested value shown when running the configure command may not be the same as the default value that is currently running in the system. This is because the default EHT value is set based on the FOS version that was installed at the factory, and the suggested EHT value is based on the FOS version currently running in the system and whether or not the configure command had ever been run in the past. Once set by the configure command, the EHT value will be maintained across firmware upgrades, power cycles and HA Fail-Over operations. This is true for all versions of FOS. The behavior of EHT has evolved over several FOS releases. The three different behaviors are shown in the three different examples below. Example (FOS 6.X): sw0:FID128:admin> configure Not all options will be available on an enabled switch. To disable the switch, use the switchDisable command. Configure... Fabric parameters (yes, y, no, n): [no] y Configure edge hold time (yes, y, no, n): [no] y Edge hold time: (100..500) [500] System services (yes, y, no, n): [no] Example (FOS 7.0.X) sw0:FID128:admin> configure Not all options will be available on an enabled switch. To disable the switch, use the switchDisable command. Configure... Fabric parameters (yes, y, no, n): [no] y Edge Hold Time (0 = Low(80ms),1 = Medium(220ms),2 = High(500ms): [220ms]: (0..2) [1] System services (yes, y, no, n): [no]
34 of 35
PRODUCT CATEGORY
TECHNICAL BRIEF
Example (FOS 7.0.2 and higher) sw0:FID128:admin> configure Not all options will be available on an enabled switch. To disable the switch, use the switchDisable command. Configure... Fabric parameters (yes, y, no, n): [no] y Edge Hold Time in ms (80(Low), 220(Medium), 500(High), 80-500(UserDefined)): (80..500) [220] System services (yes, y, no, n): [no]
Recommended Settings
Edge Hold Time does not need to be set on Core Switches that are comprised of only ISLs and will therefore only use the standard Hold Time setting of 500ms Recommended values for platforms containing initiators and targets are based on specific deployment strategies. End users typically either separate initiators and targets on separate switches or mix initiators and targets on the same switch. A frame drop has more significance for a target than an initiator because many initiators typically communicate with a single target port, whereas target ports typically communicate with multiple initiators. Frame drops on target ports usually result in SCSI Transport error messages being generated in server logs. Multiple frame drops from the same target port can affect multiple servers in what appears to be a random fabric or storage problem. Since the source of the error is not obvious this can result in time wasted determining the source of the problem. Extra care should be taken therefore when applying EHT to switches where targets are deployed. The most common recommended value for EHT is 220ms. The lowest EHT value of 80ms should only be configured on edge switches comprised entirely of initiators. This lowest value would be recommended for fabrics that are well maintained and when a more aggressive monitoring and protection strategy is being deployed.
2013 Brocade Communications Systems, Inc. All Rights Reserved. 07/13 GA-BP-477-00 ADX, AnyIO, Brocade, Brocade Assurance, the B-wing symbol, DCX, Fabric OS, ICX, MLX, MyBrocade, OpenScript, VCS, VDX, and Vyatta are registered trademarks, and HyperEdge, The Effortless Network, and The On-Demand Data Center are trademarks of Brocade Communications Systems, Inc., in the United States and/or in other countries. Other brands, products, or service names mentioned may be trademarks of their respective owners. Notice: This document is for informational purposes only and does not set forth any warranty, expressed or implied, concerning any equipment, equipment feature, or service offered or to be offered by Brocade. Brocade reserves the right to make changes to this document at any time, without notice, and assumes no responsibility for its use. This informational document describes features that may not be currently available. Contact a Brocade sales office for information on feature and product availability. Export of technical data contained in this document may require an export license from the United States government.