Erforderlicher Plattenspeicherplatz für Dateispeicher
Die Zuverlässigkeit Ihrer Speicherinfrastruktur wirkt sich auf die Möglichkeiten von WebSphere Application Server aus, die Integrität Ihrer Daten zu verwalten.
Suchen Sie in der Dokumentation zu Ihrer Speicherinfrastruktur nach Informationen zu den Zuverlässigkeitsstufen, die Sie für die Speicherinfrastruktur konfigurieren können. Beispiele für Komponenten, die in Ihre Speicherinfrastruktur eingeschlossen werden können, sind Festplattenlaufwerke, RAID-Controller, Dateisysteme und Netzdateisystemprotokolle.
- Zuverlässigkeit der Ein-/Ausgabe
- Die Protokoll- und Speicherdateien werden mit Java-APIs so geschrieben, dass die JVM entweder Flags setzen muss, damit alle Schreiboperationen synchron erfolgen, oder die Daten aller vorherigen Schreiboperationen nach bestimmten API-Aufrufen auf die Platte geschrieben werden müssen. Dies setzt voraus, dass Fehler nicht dazu führen, dass Daten, die in einer synchronen Schreiboperation oder vor einer erzwungenen Auslagerung auf die Platte geschrieben werden, verloren oder beschädigt werden oder in einer falschen Reihenfolge geschrieben werden.
- An der Berücksichtigung dieser Schreibanforderungen sind eine Reihe von Schichten beteiligt. nur die Betriebssystem-, Dateisystem und Festplattenanbieter können angeben, ob die verschiedenen verfügbaren Konfigurationen die erforderliche Zuverlässigkeitsstufe unterstützen. Dies gilt auch für andere Protokollierungssyteme wie Datenbanken.
- Wenn sich die Speichereinheit nicht auf der lokalen Maschine befindet, auf der die Messaging-Engine ausgeführt wird, und wenn sich die Dateien in einem Netzdateisystem wie NFS befinden, muss NFS konfiguriert werden, um sicherzustellen, dass diese Anforderungen erfüllt sind. Es gibt keinen Test, mit dem sichergestellt werden kann, dass kein Caching bei Schreiboperationen stattfindet.
- Dateiadresse
- Wenn sich eine Messaging-Engine in einem Cluster-Bus-Member befindet, kann sie auf verschiedenen Servern ausgeführt werden. Dies erfordert, dass sich die Dateispeicherdateien in einem gemeinsam genutzten Speicher befindet. Der Pfad zu den Dateispeicherdateien, der in der Administrationskonsole konfiguriert wird, muss ein Pfad zu denselben Dateien auf jeder Maschine sein, auf dem die Messaging-Engine ausgeführt werden kann. Dies kann mit NFS oder einem anderen erweiterten Speichermechanismus erreicht werden.
- Wenn die Dateien im angegebenen Pfad nicht identisch sind und die Messaging-Engine von einem anderen Server übernommen wird, handelt es sich effektiv um eine andere Messaging-Engine desselben Namens. Die persistenten Daten stehen der neuen Instanz der Messaging-Engine nicht zur Verfügung.
- Dateisperren
- Die Protokolldatei wird mit java.nio.channels.FileLock.tryLock() gesperrt. Das Betriebssystem und das Dateisystem müssen diese Sperre in jedem Fall berücksichtigen, und die Sperre wird freigegeben, wenn dies explizit angefordert wird oder wenn der Java-Prozess, in dem die Messaging-Engine ausgeführt wird, unerwartet beendet wird.
- Die Sperre muss insbesondere dann, wenn sie gehalten wird, verhindern, dass andere Prozesse die Datei sperren, selbst wenn diese Datei von einer anderen Maschine aufgerufen wird. Wenn der Java-Prozess, in dem die Messaging-Engine ausgeführt wird, unerwartet beendet wird, muss die Sperre freigegeben werden, damit die andere Maschine auf die Datei zugreifen kann.
- Diese Anforderung vereinfacht den Fall, in dem sich eine Messaging-Engine in einem Cluster-Bus-Member befindet, so dass sie in mehreren verschiedenen Servern ausgeführt werden kann. Wenn der HAManager den Start einer Messaging-Engine anfordert, weil die erste Instanz der Messaging-Engine ausgefallen ist, muss sie in der Lage sein, die Protokolldatei zu sperren, wenn der andere Prozess beendet wurde. Wenn der andere Prozess nicht beendet wurde (so genanntes Split-Brain-Szenario), darf die neue Instanz der Messaging-Engine die Sperre nicht anfordern können, was somit den Start der Messaging-Engine verhindert.
- Ein Testtool für Dateisperren kann verwendet werden, um sicherzustellen, dass das Dateisystem die grundlegenden Sperranforderungen unterstützt. Das IBM Support-Dokument enthält weitere Einzelheiten zum Testtool für das Sperrprotokoll des Dateisystems.