Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Torn-Write-Prävention ist standardmäßig auf unterstützten Instance-Typen mit unterstützten Volumes aktiviert. Sie müssen keine zusätzlichen Einstellungen aktivieren, um Ihr Volume oder Ihre Instance für Torn-Write-Prävention zu aktivieren.
Anmerkung
Es gibt keine Auswirkungen auf die Leistung von Workloads, die Torn-Write-Prävention nicht unterstützen. Sie müssen keine Änderungen für diese Workloads vornehmen.
Workloads, die Torn-Write-Prävention unterstützen, aber nicht dafür konfiguriert sind, verwenden weiterhin den Doublewrite-Puffer und erhalten keine Leistungsvorteile.
Gehen Sie wie folgt vor, um Ihren MySQL- oder MariaDB-Softwarestack so zu konfigurieren, dass der Doublewrite-Puffer deaktiviert und Torn-Write-Prävention verwendet wird:
-
Konfigurieren Sie Ihr Volume für die Verwendung des ext4-Dateisystems mit der BigAlloc Option und legen Sie die Clustergröße auf 4 KiB, 8 KiB oder 16 KiB fest. Die Verwendung BigAlloc mit einer Clustergröße von 4 KiB, 8 KiB oder 16 KiB stellt sicher, dass das Dateisystem Dateien zuordnet, die an der jeweiligen Grenze ausgerichtet sind.
$
mkfs.ext4 -O bigalloc -C4096|8192|16384
device_name
Anmerkung
Für MySQL und MariaDB müssen Sie
-C 16384
verwenden, um die Seitengröße der Datenbank anpassen. Wenn Sie die Zuweisungsgranularität auf einen anderen Wert als ein Vielfaches der Seitengröße festlegen, kann dies zu Zuordnungen führen, die möglicherweise nicht mit den Grenzen des Speichergeräts zur Verhinderung von fehlerhaften Schreibvorgängen übereinstimmen.Zum Beispiel:
$
mkfs.ext4 -O bigalloc -C 16384 /dev/nvme1n1 -
Konfigurieren Sie InnoDB so, dass es die
0_DIRECT
-Flushing-Methode verwendet, und schalten Sie InnoDB-Doublewrite aus. Verwenden Sie Ihren bevorzugten Texteditor, um/etc/my.cnf
zu öffnen und dieinnodb_flush_method
- undinnodb_doublewrite
-Parameter wie folgt zu aktualisieren:innodb_flush_method=O_DIRECT innodb_doublewrite=0
Wichtig
Wenn Sie den Logical Volume Manager (LVM) oder eine andere Speichervirtualisierungsschicht verwenden, stellen Sie sicher, dass die Startoffsets der Volumes auf ein Vielfaches von 16 KiB ausgerichtet sind. Dies bezieht sich auf den zugrunde liegenden NVMe Speicher, um die Metadaten-Header und Superblöcke zu berücksichtigen, die von der Speichervirtualisierungsebene verwendet werden. Wenn Sie dem physischen LVM-Volume einen Offset hinzufügen, kann dies zu einer Fehlausrichtung zwischen den Dateisystemzuweisungen und den Offsets des NVMe Geräts führen, wodurch der Schutz vor fehlerhaften Schreibvorgängen zunichte gemacht würde. Weitere Informationen finden Sie unter --dataalignmentoffset
in der Linux-Handbuchseite