Auf dieser Seite erhalten Sie einen Überblick über das FlexCache-Feature.
FlexCache
NetApp FlexCache beschleunigt den Datenzugriff, reduziert die WAN-Latenz und senkt die WAN-Bandbreitenkosten für leseintensive Arbeitslasten, insbesondere wenn Clients wiederholt auf dieselben Daten zugreifen. Wenn Sie ein FlexCache-Volume erstellen, fungiert es als Remote-Cache eines vorhandenen (Ursprungs-)Volumes. In diesem Cache werden nur häufig aufgerufene Hot-Daten des Quellvolumes gespeichert.
Wenn ein FlexCache-Volume eine Leseanfrage für darin enthaltene Hot Data erhält, reagiert es schneller als das Quellvolume, da die Daten eine kürzere Strecke zum Client zurücklegen müssen. Wenn ein FlexCache-Volume eine Leseanfrage für selten aufgerufene Cold Data erhält, ruft es die erforderlichen Daten vom Ursprungsvolume ab, speichert sie und verarbeitet dann die Clientanfrage. Nachfolgende Leseanfragen für diese Daten werden dann direkt vom FlexCache-Volume bereitgestellt. Nach der ersten Anfrage müssen die Daten nicht mehr über das Netzwerk übertragen oder von einem stark ausgelasteten System bereitgestellt werden.
Anwendungen können zwar auf ein FlexCache-Volume schreiben, diese Schreibvorgänge werden jedoch an das Ursprungsvolume gesendet, um die Cache-Kohärenz aufrechtzuerhalten.
Durch die Integration von FlexCache in Google Cloud NetApp Volumes können Sie Cache-Volumes in Ihrem Google-Netzwerk bereitstellen, um die Leistung für Hybrid-Cloud-Umgebungen zu verbessern. Diese Funktion unterstützt die Migration von Arbeitslasten in die Hybrid Cloud, indem Daten aus einem lokalen Rechenzentrum in der Cloud zwischengespeichert werden.
Volumes in NetApp Volumes können nicht als Quellvolumes dienen.
FlexCache hat die folgenden Eigenschaften:
Schreibverhalten
FlexCache sorgt dafür, dass Daten, die Sie aus dem Ursprung oder einem seiner Caches lesen, immer aktuell sind. FlexCache bietet die folgenden Strategien zum Verwalten von Schreibvorgängen in Umgebungen, in denen Daten in den Ursprung oder einen beliebigen Cache geschrieben werden können.
Umschreiben
„Write-around“ ist die Standardeinstellung für den Cache. Es wird für Umgebungen mit leseintensiven Arbeitslasten oder Umgebungen empfohlen, in denen nur kleine Dateien geschrieben werden.
Wenn Daten in ein FlexCache-Volume geschrieben werden, wird der Schreibvorgang an das Quellvolume übergeben. Der Cache bestätigt den Schreibvorgang, sobald das Ursprungssystem ihn bestätigt hat. Wenn in eine Datei geschrieben wird, wird die Kopie im Cache ungültig und beim nächsten Zugriff wird sie wieder aus dem Cache abgerufen.
Diese Strategie bietet eine LAN-ähnliche Leselatenz für im Cache gespeicherte Daten. Der Schreibdurchsatz hängt jedoch von der Netzwerkverbindung zum Ursprung ab. Wenn das Netzwerk zwischen dem Ursprung und einem Cache ausfällt, können Nutzer weiterhin auf Daten im Cache zugreifen.
Rückschreiben
Das Zurückschreiben ist nur für bestimmte Arbeitslasten geeignet. Sie bietet eine hohe Schreibgeschwindigkeit für umfangreiche Schreibvorgänge in große Dateien. Write-Back wird für Arbeitslasten mit vielen kleinen Schreibvorgängen in mehrere Dateien nicht empfohlen, da der Aufwand für die Verwaltung der Datenkonsistenz zwischen dem Ursprung und allen Caches die Leistung erheblich beeinträchtigt.
Bevor Sie Write-Back für FlexCache aktivieren, sollten Sie sich die ONTAP FlexCache-Write-Back-Richtlinien ansehen, die Auswirkungen der Architektur verstehen und prüfen, ob Ihre Umgebung dem dokumentierten Arbeitslastprofil entspricht. Write-Around ist die empfohlene Option, sofern Sie nicht bestätigen können, dass Ihre Arbeitslast für Write-Back geeignet ist.
Nutzer können optional die Unterstützung von Write-Back aktivieren. Wenn Write-Back aktiviert ist, können Clients große Datenmengen mit LAN-ähnlicher Leistung in einen Cache schreiben. Der Cache sendet diese Änderungen dann an den Ursprungsserver. Da die Schreibgeschwindigkeit eines Clients in den Cache die Geschwindigkeit überschreiten kann, mit der Daten an den Ursprungsserver gesendet werden, werden die Änderungen vorübergehend im Cache gespeichert, bis sie vollständig an den Ursprungsserver übertragen wurden. Während ein Client in eine Datei schreibt, blockieren der Ursprungsserver und alle anderen Caches Lesevorgänge für diese Datei, bis der Schreibvorgang abgeschlossen ist.
Die Write-Back-Strategie bietet LAN-ähnliche Lese- und Schreibleistung für zwischengespeicherte Daten. Wenn jedoch entweder die Caches oder der Ursprung die Verbindung verlieren, werden alle Lese- und Schreibvorgänge blockiert.
Cache-Invalidierung aufgrund von Aktualisierungen der Zugriffszeit
ONTAP bietet ein Feld auf Volume-Ebene namens -atime-update, um Aktualisierungen der Zugriffszeit für Dateien und Verzeichnisse zu verwalten, die mit READ, READLINK und READDIR gelesen werden.
Aktualisierungen der Zugriffszeit auf Quell- oder Cache-Volumes können zu Dateiinvalidierungen führen, die die Cache-Effektivität verringern und zu langsamer Leistung und hoher Latenz beim Dateizugriff führen. Um dies zu verhindern, deaktivieren Sie die Aktualisierungen der Zugriffszeit auf dem Quellvolume mit dem ONTAP-Befehl volume modify -atime-update. In den Szenarien, in denen die Zugriffszeit aktuelle Lesevorgänge widerspiegeln muss, verwenden Sie den Befehl volume modify -atime-update-period, um einen Zeitraum zu definieren, in dem die Aktualisierung der Zugriffszeit angehalten wird. Wenn Sie den Wert beispielsweise auf 86400 Sekunden festlegen, wird die Zugriffszeit nur einmal pro Tag aktualisiert.
FlexCache-Volumes in NetApp Volumes übernehmen die Einstellung -atime-update vom Ursprung, was zu mehr Cache-Invalidierungen führen kann. Daher empfehlen wir, die Aktualisierungen der Zugriffszeit auf dem Quell-Volume zu deaktivieren.
Globale Dateisperrung
Die globale Dateisperrung erzwingt das Verweigern von Lese- und exklusiven Bytebereichssperren für Dateien in allen Caches und im Quellvolume. Wenn diese Sperren in Ihrem Workflow unbedingt durchgesetzt werden müssen, um die Datenkonsistenz aufrechtzuerhalten oder Zugriffskonflikte zu verhindern, aktivieren Sie die globale Dateisperrung.
Hinweise
Aktivieren Sie die globale Dateisperrung nur, wenn Sie eine zuverlässige Verbindung zwischen dem Cache und dem Ursprung haben. Instabile Verbindungen können Änderungen verzögern oder aussetzen oder zu Zeitüberschreitungen führen, wenn FlexCache-Volumes offline sind.
Leistungseinbußen: Wenn Sie die globale Dateisperrung aktivieren, erhöht sich die Latenz, da jeder Cache-Lesevorgang eine Anfrage an den Ursprung zur Sperrungsvalidierung auslöst, wodurch sich die Umlaufzeit (Round-Trip Time, RTT) erhöht.
Auswirkungen auf die Verfügbarkeit: Wenn ein Cache-Volume offline geht, werden Lesevorgänge seiner Dateien auf allen anderen Cache-Volumes blockiert und Änderungen am Quell-Volume werden ausgesetzt, bis alle FlexCache-Volumes wieder online sind.
Da die globale Dateisperrung die Systemleistung und ‑zuverlässigkeit beeinträchtigen kann, sollte sie deaktiviert bleiben, sofern sie nicht explizit für Ihren Workflow erforderlich ist.
CIFS-Änderungsbenachrichtigungen
Das SMB-Protokoll bietet einen Mechanismus, um SMB-Clients über Änderungen zu informieren, die von anderen Clients an einem Volume vorgenommen wurden. So können Anwendungen wie der Windows-Datei-Explorer ihre Ansichten aktualisieren, ohne das Volume abzufragen. Diese optionale Funktion ist nützlich für Caches, in denen interaktive Nutzer über den Windows Explorer auf Dateien auf SMB-Volumes zugreifen. Andernfalls sollte sie deaktiviert werden, um die Anzahl der Benachrichtigungen zu reduzieren.
Vorabausfüllung des Cache
FlexCache beschleunigt den Lesezugriff, indem Daten beim ersten Lesen aus einem Ursprung im Cache gespeichert werden. Außerdem wird die Cache-Kohärenz sichergestellt, sodass der Ursprung und alle Caches synchronisiert bleiben. Daher hat der erste Dateizugriff eine WAN-ähnliche Leseleistung, aber nachfolgende Lesevorgänge sind so schnell wie lokale Lesevorgänge.
Wenn Sie wissen, welche Daten in Ihrem Cache benötigt werden, können Sie den Cache vorab befüllen. Mit dem Vorab-Caching können Sie den Cache anweisen, bestimmte Dateien und Ordner vor der ersten Verwendung abzurufen, um Lesevorgänge beim ersten Zugriff zu beschleunigen.
Wenn Sie einen Vorab-Populierungsjob starten möchten, müssen Sie dem Cache eine Liste mit Datei- oder Verzeichnispfaden zur Verfügung stellen. Sie haben auch die Möglichkeit, die Rekursion zu aktivieren, um alle Inhalte in Unterverzeichnissen abzurufen.
Die Ausführungszeit eines Vorab-Befüllungsjobs kann je nach Datenmenge, die vorab befüllt werden soll, und Netzwerkgeschwindigkeit zwischen dem Cache und dem Ursprung variieren. Mit FlexCache können Sie den Status eines Vorabfülljobs überwachen, unabhängig davon, ob er noch ausgeführt wird oder abgeschlossen ist.