Ich versuche, meinen eigenen Netzwerkspeicher basierend auf FreeBSD + ZFS + -Standardkomponenten aufzubauen, aber es gibt seltsame Leistungsprobleme.
Die Hardwarespezifikationen sind:
- AMD Athlon II X2 240e Prozessor
- ASUS M4A78LT-M LE Mainboard
- 2GiB Kingston ECC DDR3 (zwei Sticks)
- Intel Pro / 1000 CT PCIe-Netzwerkadapter
- 5x Western Digital Caviar Green 1,5 TB
Ich habe aus allen Festplatten einen RAID-Z2-Zpool erstellt. Ich habe FreeBSD 8.1 nach dem Tutorial auf diesem Zpool installiert . Die SATA-Controller laufen im AHCI-Modus.
Ausgabe des Zpool-Status:
pool: zroot
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
raidz2 ONLINE 0 0 0
gptid/7ef815fc-eab6-11df-8ea4-001b2163266d ONLINE 0 0 0
gptid/80344432-eab6-11df-8ea4-001b2163266d ONLINE 0 0 0
gptid/81741ad9-eab6-11df-8ea4-001b2163266d ONLINE 0 0 0
gptid/824af5cb-eab6-11df-8ea4-001b2163266d ONLINE 0 0 0
gptid/82f98a65-eab6-11df-8ea4-001b2163266d ONLINE 0 0 0
Das Problem ist, dass die Schreibleistung im Pool sehr, sehr schlecht ist (<10 MB / s) und jede Anwendung, die auf die Festplatte zugreift, beim Schreiben alle paar Sekunden nicht reagiert. Es scheint, dass das Schreiben in Ordnung ist, bis der ZFS-Arche-Cache voll ist, und dann blockiert ZFS die gesamte System-E / A, bis das Schreiben dieser Daten abgeschlossen ist.
Außerdem bekomme ich kmem_malloc to small
Kernel-Panik. Ich habe schon versucht zu setzen
vm.kmem_size="1500M"
vm.kmem_size_max="1500M"
in /boot/loader.conf, aber es hilft nicht.
Weiß jemand, was hier los ist? Habe ich wirklich nicht genug Speicher für ZFS, um dieses RAID-Z2 zu handhaben?
systat
und:vm
beobachten Sie dann diesen Bildschirm, während Sie einen großen Schreibvorgang ausführen, um festzustellen, wo der Engpass liegt. Die erweiterten Funktionen von ZFS sind noch nicht genau optimiert, und Sie könnten auf einen Fehler stoßen.