Zwei Schreibmodi für den RAID-Karten-Cache
Sep 02, 2024
Für Schreib-E/A der oberen Schicht gibt es zwei Modi für RAID-Controller:(1) WriteBack-Modus: Wenn Daten von der oberen Schicht eintreffen, speichert der RAID-Controller sie im Cache und benachrichtigt den Host-IO sofort über den Abschluss. Dadurch kann der Host ohne Wartezeit mit dem nächsten IO fortfahren, während die Daten im Cache der RAID-Karte verbleiben, ohne auf die Festplatte geschrieben zu werden. Der RAID-Controller optimiert die Festplattenschreibvorgänge, indem er entweder einzeln oder in Stapeln auf die Festplatte schreibt oder die E/As mithilfe von Warteschlangentechniken in die Warteschlange stellt. Allerdings hat dieser Ansatz einen entscheidenden Nachteil: Bei einem Stromausfall gehen die Daten im Cache der RAID-Karte verloren, während der Host davon ausgeht, dass die E/A abgeschlossen ist, was zu erheblichen Inkonsistenzen zwischen der oberen und der unteren Schicht führt. Daher implementieren bestimmte kritische Anwendungen, wie z. B. Datenbanken, ihre eigenen Maßnahmen zur Konsistenzerkennung. Aus diesem Grund benötigen High-End-RAID-Karten Batterien, um den Cache zu schützen. Im Falle eines Stromausfalls versorgt der Akku den Cache weiterhin mit Strom und gewährleistet so die Datenintegrität. Nach der Wiederherstellung der Stromversorgung priorisiert die RAID-Karte das Schreiben der unvollständigen E/As, die im Cache gespeichert sind, auf die Festplatte. (2) WriteThrough-Modus: In diesem Modus gelten E/A-Vorgänge von der oberen Ebene erst als abgeschlossen, nachdem der RAID-Controller die Daten auf die Festplatte geschrieben hat. Dieser Ansatz garantiert eine hohe Zuverlässigkeit. Obwohl der Leistungsvorteil des Caches in diesem Modus verloren geht, bleibt seine Pufferfunktion wirksam. Neben der Funktion als Schreibcache ist auch der Lesecache sehr wichtig. Der Cache-Algorithmus ist ein sehr komplexes Thema mit einer Reihe komplexer Mechanismen. Einer der Algorithmen heißt PreFetch, was bedeutet, dass die Daten auf der Festplatte, auf die der Host beim nächsten Mal „wahrscheinlich“ zugreifen wird, „in den Cache gelesen“ werden, bevor der Host eine Lese-I0-Anfrage ausgibt. Wie wird diese „wahrscheinlich“ berechnet? Tatsächlich wird davon ausgegangen, dass der Host mit hoher Wahrscheinlichkeit die Daten an der benachbarten Position der Festplatte liest, an der sich die diesmal gelesenen Daten im nächsten IO befinden. Diese Annahme ist sehr gut auf kontinuierliches sequentielles E/A-Lesen anwendbar, beispielsweise auf das Lesen logisch kontinuierlich gespeicherter Daten. Bei solchen Anwendungen wie FTP-Diensten für die Übertragung großer Dateien und Video-on-Demand-Diensten handelt es sich allesamt um Anwendungen zum Lesen großer Dateien. Wenn viele fragmentierte kleine Dateien auch kontinuierlich an benachbarten Positionen auf der Festplatte gespeichert werden, verbessert das Caching die Leistung erheblich, da die zum Lesen kleiner Dateien erforderlichen IOPS sehr hoch sind. Wenn kein Cache vorhanden ist, hängt es ausschließlich vom Kopf ab, ob er jede E/A abschließen möchte, was viel Zeit in Anspruch nimmt. STOR Technology Limited bietet Ihnen hochwertige Produkte 9560-16I, 9560-8I, 9361-4I, 9540-8Iusw. Wir bieten Ihnen qualitativ hochwertigere Dienstleistungen und einen sicheren Kundendienst. Besuchen Sie uns gerne und besprechen Sie mit uns verwandte Produkte.Unsere Website: https://www.cloudstorserver.com/Kontaktieren Sie uns: alice@storservers.com / +86-755-83677183WhatsApp: +8613824334699