Ich konfiguriere den Dienst, der viele von nginx hochgeladene Dateien in / srv / storage dir auf dem Hostsystem speichert. Diese Dateien werden von Worker-KVM-Gästen verarbeitet, die möglicherweise neue Dateien erstellen oder vorhandenen Attribute erweiterte Attribute zuweisen. Dateien werden nie überschrieben, sondern schließlich von einem Mitarbeiter gelöscht.
Der Host-Server hat also eine Schreibgeschwindigkeit von ca. 177 MB / s. Das KVM-Image ist eine QCOW2-Datei, die auf dem Host-Dateisystem gespeichert ist. Dank dieser Virtio-Einstellung erreicht das Image in der KVM-Instanz ~ 155 MB / s:
<driver name='qemu' type='raw' cache='none' io='native'/>
Ich kann solche Ergebnisse jedoch nicht für freigegebene Ordner erhalten. Ich habe max 40MB / s mit virtfs aka virtio 9p . Es scheint, dass es kein AIO-Äquivalent für mount gibt:
mount -t 9p -o trans=virtio,version=9p2000.L uploads /srv/storage
Ich dachte auch darüber nach:
- Es fehlen keine NFS-erweiterten Attribute
- kein GlusterFS - funktioniert, aber die Leistung ist schlechter als virtio, weil vernetzt, eine Art Overkill auf einer einzelnen Hardwaremaschine,
- Vielleicht LVM-Volume für R / W teilen? - Eigentlich ist der Ordner in einer separaten Partition gespeichert, aber ich habe irgendwo gelesen, dass LV nicht gemeinsam genutzt werden kann, da dies zu einer Beschädigung von fs führen kann.
- Hochgeladene Dateien auf QCOW2 behalten und von allen Parteien teilen?
- Nginx und hochgeladene Dateien in KVM-Instanz auf QCOW2 behalten, das Bild irgendwie mit allen Gästen teilen?
- iSCSI - möglich mit einzelner Partition?
So können Sie den Ordner des Hosts effizient für KVM-Gäste freigeben, wobei erweiterte Attribute funktionieren.
msize=262144
auf einer SSD und es brachte meinefio-cdm
sequentiellen Lese- / Schreibzahlen von ~ 90 MiB / s auf> 1000 MiB / s! Die SSD macht ~ 430 MiB / s auf dem Host.