Hallo zusammen,
ich spiele in letzter Zeit verschiedene Setups zwischen FreeNAS, Proxmox, ESXi und diversen VMs durch.
Im Kern baue ich dabei die "Standard-Architektur":
- ein Host, bspw. ESXi, verwaltet verschiedene VMs
- darunter ist eine VM für einen Storage-Provider, hier FreeNAS, der wiederum NFS-Mounts bereitstellt
- die NFS-Mounts werden vom Host als Storage für weitere VMs verwendet.
Eine der gehosteten VMs verwaltet bei mir eine Nextcloud. Die Cloud-Daten liegen damit entweder innerhalb der VM und werden letztendlich im Rahmen der Disk, die im NFS liegt, auf FreeNAS durchgereicht - oder ich mache ein separaten NFS-Mount für die Cloud-Daten, so dass die Cloud-VM die Cloud-Daten direkt an FreeNAS durchreicht, während ihre eigentliche Disk via Host und NFS zu FreeNAS kommt.
In beiden Fällen habe ich eine echt bescheidene Schreibperformance, die im Bereich von 1-3 MB/s liegt. Die Lese-Performance ist bei rund 50 MB/s.
Grund ist, dass ja jedes einzelne Byte durch einen der beiden NFS-Mounts muss - teilweise mehrfach, da Nextcloud ja bei größeren Files erstmal Part-Files anlegt.
Hoste ich die Cloud hingegen in einem FreeNAS-Jail, kriege ich ein vielfaches an Performance beim Schreiben, das Lesen bleibt unverändert.
Ein bisschen NFS-Optimierung habe ich betrieben: selbstverständlich async, tcp und eine maximale wsize.
Jetzt frage ich mich: ist die bescheidene Performance von NFS nicht ein Problem für alle gehosteten VMs? Oder sind "normale" VMs, die nicht selber Fileserver sind, nicht so abhängig von der NFS-Leistung?
Fällt Euch noch eine Stelle ein, an der man drehen könnte, oder ist ein Jail auf FreeNAS für deratige Dinge wirklich der beste Ort, trotz der quasi doppelten Virtualisierung (ESXi -> FreeNAS -> Jail)?
(Es spielt dabei keine wesentliche Rolle, ob der Hypervisor ESXi oder Proxmox ist.)
ich spiele in letzter Zeit verschiedene Setups zwischen FreeNAS, Proxmox, ESXi und diversen VMs durch.
Im Kern baue ich dabei die "Standard-Architektur":
- ein Host, bspw. ESXi, verwaltet verschiedene VMs
- darunter ist eine VM für einen Storage-Provider, hier FreeNAS, der wiederum NFS-Mounts bereitstellt
- die NFS-Mounts werden vom Host als Storage für weitere VMs verwendet.
Eine der gehosteten VMs verwaltet bei mir eine Nextcloud. Die Cloud-Daten liegen damit entweder innerhalb der VM und werden letztendlich im Rahmen der Disk, die im NFS liegt, auf FreeNAS durchgereicht - oder ich mache ein separaten NFS-Mount für die Cloud-Daten, so dass die Cloud-VM die Cloud-Daten direkt an FreeNAS durchreicht, während ihre eigentliche Disk via Host und NFS zu FreeNAS kommt.
In beiden Fällen habe ich eine echt bescheidene Schreibperformance, die im Bereich von 1-3 MB/s liegt. Die Lese-Performance ist bei rund 50 MB/s.
Grund ist, dass ja jedes einzelne Byte durch einen der beiden NFS-Mounts muss - teilweise mehrfach, da Nextcloud ja bei größeren Files erstmal Part-Files anlegt.
Hoste ich die Cloud hingegen in einem FreeNAS-Jail, kriege ich ein vielfaches an Performance beim Schreiben, das Lesen bleibt unverändert.
Ein bisschen NFS-Optimierung habe ich betrieben: selbstverständlich async, tcp und eine maximale wsize.
Jetzt frage ich mich: ist die bescheidene Performance von NFS nicht ein Problem für alle gehosteten VMs? Oder sind "normale" VMs, die nicht selber Fileserver sind, nicht so abhängig von der NFS-Leistung?
Fällt Euch noch eine Stelle ein, an der man drehen könnte, oder ist ein Jail auf FreeNAS für deratige Dinge wirklich der beste Ort, trotz der quasi doppelten Virtualisierung (ESXi -> FreeNAS -> Jail)?
(Es spielt dabei keine wesentliche Rolle, ob der Hypervisor ESXi oder Proxmox ist.)