ZFS RaidZ1 zu langsam. Alternative?

DerNiemand

Lt. Commander
Registriert
Dez. 2012
Beiträge
1.180
Hi,

ich habe einen Proxmox-Server mit Opteron 3280 16GB ECC. Darin werkeln zwei 250GB SSDs im ZFS-Raid1 und 3*1TB in ZFS RaidZ1. Da die Leistung des RaidZ1 aber zu wünschen übrig lässt, würde ich gerne die HDDs anderes arrangieren. Nur wie? Raid1 aus zwei HDDs und die andere als "single"? oder Raid5? Raid würde über Software erstellt werden.
Oder mergerfs pool und dann snapraid?

Grüße
 
RaidZ ist ein verbessertes Raid5, d.h. meist ist ein Raid5 nicht schneller. Wo genau fehlt Performance: Lesen oder Schreiben? Wie hoch ist diese Performance in absoluten Zahlen?
Ist der ZIL auf einer SSD? L2ARC auf ner SSD bzw. wieviel RAM ist vorhanden?
 
Hi habe ein raid im zfs laufen Du könntest unter Auflösung des RAID 1 eine SSD als cache medium nutzen... und beim ZFS RAID 1 nutzt regelmäßige Backups zur Wiederherstellung, muss es hochverfügbar sein? D.h. wenn sich mal eine SSD verabschieden sollte das es on the Fly geht?
Ergänzung ()

Ich habe etwas gefunden was dir helfen könnte....

http://ghost2-k4kfh.rhcloud.com/proxmox-with-zfs-raidz-ssd-caching/
 
Danke für eure antworten :)
@HominiLupus: wie geschrieben sind da 16GB verbaut. Die sequentielle Performance ist super (600mb/s lesens, 1.2GB/s schreibend) und auch das kopieren von einer iso zwischen beiden Pools ist aufgrund des Caches bei so ca 250mb/s in jede Richtung, aber wenn es um "random-zeugs" geht innerhalb von VMs, dann bricht die Übertragung auf zwischen 5-20mb/s sowohl lesend (okay, hier manchmal auch noch um die 50mb/s), als auch schreibend ein. Das war ohne ZFS bedeutend schneller, da hatte ich so per Samba 118mb/s lesend und 60mb/s schreibend. DIe erreiche ich jetzt zwar auch per Crystaldiskmark im sequentiel-Test, aber real eher so 20 mb/s.

Das ist aktuell mein erster ZFS-Versuch. ZIL und L2ARC (was ist das?) liegen wohl auf den HDDs, da der Pool nur aus HDDs besteht.

@Big Ed: Löse ich RAID1 der SSDs auf, habe ich ja das problem, dass der Server bei Ausfall der verbliebenden SSD abschmiert. Es sollte hochverfügbar sein, da hier meine Nextcloud drauf läuft (OS auf den SSDs, Daten auf den HDDs).
Den Link schaue ich mir mal an, danke.

Ist es möglich den SSD-ZFS-RAID1 als Cache für den HDD-ZFS-RAIDZ1 zu nehmen?
 
Zuletzt bearbeitet:
ZIL und L2ARC ist praktisch Schreib- und Lesecaches. Die können dann grade bei 4k random Zugriffen sehr helfen. Cache eben.
 
Ist es möglich den SSD-ZFS-RAID1 als Cache für den HDD-ZFS-RAIDZ1 zu nehmen?
Also z.B. eine 10GB Parition auf beiden SSDs erstellen und diese dann als Cache einbinden?

Hier mal ein Crystaldiskmark über LAN zu einem Linux-Gast:
SSD-ZFSRaid1:
Code:
----------------------------------------------------------------------
CrystalDiskMark 5.1.2 x64 (C) 2007-2016 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

   Sequential Read (Q= 32,T= 1) :   118.471 MB/s
  Sequential Write (Q= 32,T= 1) :    60.530 MB/s
  Random Read 4KiB (Q= 32,T= 1) :    83.087 MB/s [ 20284.9 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :    66.507 MB/s [ 16237.1 IOPS]
         Sequential Read (T= 1) :   101.502 MB/s
        Sequential Write (T= 1) :    49.074 MB/s
   Random Read 4KiB (Q= 1,T= 1) :     5.663 MB/s [  1382.6 IOPS]
  Random Write 4KiB (Q= 1,T= 1) :     6.232 MB/s [  1521.5 IOPS]

  Test : 1024 MiB [] (x1)  [Interval=5 sec]

und HDD-ZFS-RAIDZ1:
Code:
----------------------------------------------------------------------
CrystalDiskMark 5.1.2 x64 (C) 2007-2016 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

   Sequential Read (Q= 32,T= 4) :   115.367 MB/s
  Sequential Write (Q= 32,T= 4) :    53.227 MB/s
  Random Read 4KiB (Q= 32,T= 4) :    67.689 MB/s [ 16525.6 IOPS]
 Random Write 4KiB (Q= 32,T= 4) :    55.710 MB/s [ 13601.1 IOPS]
         Sequential Read (T= 1) :    99.611 MB/s
        Sequential Write (T= 1) :    48.861 MB/s
   Random Read 4KiB (Q= 1,T= 1) :     5.586 MB/s [  1363.8 IOPS]
  Random Write 4KiB (Q= 1,T= 1) :     5.712 MB/s [  1394.5 IOPS]

  Test : 1024 MiB [] (x1)  [Interval=5 sec]

Da ist ja kaum ein Unterschied zwischen HDD und SSD??

edit: Hier CDM vom Host über Samba:
SSD:
Code:
   Sequential Read (Q= 32,T= 4) :   118.515 MB/s
  Sequential Write (Q= 32,T= 4) :   118.359 MB/s
  Random Read 4KiB (Q= 32,T= 4) :   115.762 MB/s [ 28262.2 IOPS]
 Random Write 4KiB (Q= 32,T= 4) :    16.686 MB/s [  4073.7 IOPS]
         Sequential Read (T= 1) :   106.734 MB/s
        Sequential Write (T= 1) :    98.983 MB/s
   Random Read 4KiB (Q= 1,T= 1) :     8.706 MB/s [  2125.5 IOPS]
  Random Write 4KiB (Q= 1,T= 1) :     7.511 MB/s [  1833.7 IOPS]

HDD:
Code:
  Sequential Read (Q= 32,T= 1) :   118.526 MB/s
  Sequential Write (Q= 32,T= 1) :   118.436 MB/s
  Random Read 4KiB (Q= 32,T= 1) :    82.035 MB/s [ 20028.1 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :    20.709 MB/s [  5055.9 IOPS]
         Sequential Read (T= 1) :   104.006 MB/s
        Sequential Write (T= 1) :   102.773 MB/s
   Random Read 4KiB (Q= 1,T= 1) :     8.063 MB/s [  1968.5 IOPS]
  Random Write 4KiB (Q= 1,T= 1) :     7.474 MB/s [  1824.7 IOPS]


Den Host kann ich mit voller Gbit-LAN Geschwindigkeit ansprechen.
Es muss also an die Weitergabe der Daten an den Proxmox-Gast liegen.

Edit: Wenn jemand meine Lösung interessiert:

Ich habe meine ganzen Dienste nun in (getrennte) LXC-Container untergebracht. Ressourcenschonender und bedeutend (!!!) schneller als VM. Aktuell habe ich nur noch Nextcloud in einer VM, da hier die Geschwindigkeit nicht sooo wichtig ist (Internetleitung limitiert eh). Wenn ich mal Lust/Zeit (eher letzteres) habe, werde ich das auch mal in einen LXC-Container migrieren.
 
Zuletzt bearbeitet:
Welche virtualisierungsloesung hattest du vorher?
In meiner KVM Maschine kann ich z.B. mit 256MB/s schreiben, auf eine aes verschluesselte SSD:
sync; date; dd if=/dev/zero of=testfile bs=1M count=2048; sync; date
-> 8s fuer 2048MB
 
Zurück
Oben