Ein typisches SAN umfasst verschiedene Computer, die über ein Netzwerk aus Switches mit verschiedenen Speichersystemen verbunden sind. Mehrere Computer greifen häufig auf denselben Speicher zu.

„Eine einzige Ethernet-Verbindung mit dem Speicher“ zeigt mehrere Computersysteme, die über einen Ethernet-Switch mit einem Speichersystem verbunden sind. In dieser Konfiguration sind die einzelnen Systeme über eine einzige Ethernet-Verbindung mit dem Switch verbunden, der ebenfalls über eine einzige Ethernet-Verbindung mit dem Speichersystem verbunden ist. In den meisten Konfigurationen, mit modernen Switches und typischem Datenverkehr, stellt dies kein Problem dar.

Abbildung 1. Eine einzige Ethernet-Verbindung mit dem Speicher
Die Abbildung zeigt verschiedene Systeme, die über einen Ethernet-Switch mit einem Speichersystem verbunden sind.

Wenn Systeme Daten aus dem Speicher lesen, ist die maximale Antwort des Speichers, genügend Daten zu senden, um die Verbindung zwischen den Speichersystemen und dem Ethernet-Switch zu füllen. Es ist unwahrscheinlich, dass ein einziges System oder eine einzige virtuelle Maschine die Netzwerkgeschwindigkeit vollständig nutzen kann. Wenn mehrere Systeme ein Speichergerät gemeinsam verwenden, ist dies jedoch die erwartete Situation.

Beim Schreiben von Daten in den Speicher versuchen möglicherweise mehrere Systeme oder virtuelle Maschinen, ihre Datenträger zu füllen. Wie „Verworfene Pakete“ zeigt, gehen in dieser Situation Daten zwischen den Systemen und dem Speichersystem verloren. Der Grund dafür ist, dass die zu übertragende Datenmenge die Kapazität einer einzigen Verbindung mit dem Speichersystem überschreitet. In diesem Fall verwirft der Switch Netzwerkpakete, da die Datenmenge, die übertragen werden kann, durch die Geschwindigkeit der Verbindung zwischen Switch und Speichersystem eingeschränkt ist.

Abbildung 2. Verworfene Pakete
Die Abbildung stellt den Switch, der Daten verwirft, zwischen den Servern und den Speichersystemen dar.

Das Wiederherstellen von verworfenen Netzwerkpaketen führt zu einer erheblichen Leistungsbeeinträchtigung. Neben der Zeit zur Ermittlung, dass Daten verloren gegangen sind, ist für die erneute Übermittlung Netzwerkbandbreite erforderlich, die anderenfalls für aktuelle Transaktionen verwendet werden könnte.

iSCSI-Datenverkehr wird innerhalb des Netzwerks über TCP (Transmission Control Protocol) übermittelt. Bei TCP handelt es sich um ein zuverlässiges Übertragungsprotokoll, mit dem Sie sicherstellen, dass wiederholt versucht wird, verworfene Pakete zu übermitteln, bis diese ihr Ziel erreichen. TCP ist für eine Wiederherstellung und schnelle und problemlose Übermittlung von verworfenen Paketen konzipiert. Wenn der Switch jedoch regelmäßig Pakete verwirft, ist der Netzwerkdurchsatz deutlich reduziert. Das Netzwerk ist aufgrund von Anforderungen für ein erneutes Senden der Daten und durch die erneut gesendeten Pakete überlastet, und es werden letztendlich weniger Daten übertragen als in einem Netzwerk, das nicht überlastet ist.

Die meisten Ethernet-Switches können Daten puffern oder speichern, sodass jedes Gerät, das versucht Daten zu senden, die gleiche Möglichkeit hat, dieses Ziel zu erreichen. Diese Möglichkeit zum Puffern von Übertragungen erlaubt es, in Kombination mit einer Vielzahl an Systemen, die die Anzahl von ausstehenden Befehlen einschränken, kleine Datenpakete von mehreren Systemen der Reihe nach an ein Speichersystem zu senden.

Wenn bei umfangreichen Transaktionen mehrere Server versuchen, Daten über einen einzigen Switch-Port zu senden, kann die Kapazität des Switches zum Puffern einer Anforderung überschritten werden, während eine andere Anforderung übermittelt wird. In diesem Fall werden die Daten, die der Switch nicht senden kann, verworfen, und das Speichersystem muss die erneute Übermittlung des verworfenen Pakets anfordern. Wenn ein Ethernet-Switch an einem Eingangsport beispielsweise 32 KB puffern kann, der mit dem Switch verbundene Server jedoch annimmt, das 256 KB an das Speichergerät gesendet werden können, gehen einige Daten verloren.

Die meisten verwalteten Switches bieten Informationen zu verworfenen Paketen, die in etwa den folgenden Angaben entsprechen:

*: interface is up
IHQ: pkts in input hold queue     IQD: pkts dropped from input queue
OHQ: pkts in output hold queue    OQD: pkts dropped from output queue
RXBS: rx rate (bits/sec)          RXPS: rx rate (pkts/sec)
TXBS: tx rate (bits/sec)          TXPS: tx rate (pkts/sec)
TRTL: throttle count
Tabelle 1. Beispiel zu Switch-Informationen

Schnittstelle

IHQ

IQD

OHQ

OQD

RXBS

RXPS

TXBS

TXPS

TRTL

* GigabitEthernet0/1

3

9922

0

0

476303000

62273

477840000

63677

0

In diesem Beispiel eines Cisco-Switches lautet die verwendete Bandbreite 476303000 Bit/s, also weniger als die Hälfte der Kabelgeschwindigkeit. Trotzdem puffert die Schnittstelle eingehende Pakete, und es wurden einige Pakete verworfen. Die letzte Zeile dieser Schnittstellenübersicht zeigt, dass diese Schnittstelle bereits fast 10.000 eingehende Pakete in der IQD-Spalte verworfen hat.

Um dieses Problem zu verhindern, sind Konfigurationsänderungen erforderlich. Stellen Sie dabei sicher, dass eingehende Ethernet-Verbindungen nicht zu einer ausgehenden Verbindung zusammengefasst werden, sodass die Verbindung „überbucht“ wird. Wenn mehrere Verbindungen, deren Datenverkehr bereits fast die maximale Kapazität erreicht, zu einer kleineren Anzahl von Verbindungen zusammengefasst werden, ist eine Überbuchung möglich.

Im Allgemeinen sollten Anwendungen oder Systeme, die große Datenmengen in den Speicher schreiben (z. B. Datenerfassungs- oder Transaktionsprotokolliersysteme) keine gemeinsamen Ethernet-Verbindungen zu einem Speichergerät verwenden. Für diese Anwendungstypen wird mit mehreren Verbindungen zu Speichergeräten eine optimale Leistung erzielt.

„Mehrere Verbindungen zwischen Switch und Speicher“ zeigt mehrere Verbindungen vom Switch zum Speicher.

Abbildung 3. Mehrere Verbindungen zwischen Switch und Speicher
Die Abbildung zeigt mehrere Verbindungen vom Switch zum Speicher.

Die Verwendung von VLANs oder VPNs ist keine geeignete Lösung für das Problem von überlasteten Verbindungen in Konfigurationen mit gemeinsam verwendeten Komponenten. VLANs und andere Konfigurationen zur virtuellen Partitionierung von Netzwerken bieten eine Möglichkeit für den logischen Aufbau eines Netzwerks, ändern jedoch nicht die physischen Kapazitäten von Verbindungen und Trunks zwischen Switches. Wenn für den Speicherdatenverkehr und anderen Netzwerkverkehr gemeinsame physische Verbindungen verwendet werden (wie in einem VPN), besteht das Risiko von überlasteten Verbindungen und Paketverlust. Gleiches gilt für VLANs mit gemeinsamen Interswitch-Trunks. Für die Leistungsberechnungen in einem SAN müssen die physischen Grenzen des Netzwerks, nicht die logischen Zuordnungen berücksichtigt werden.