pixel24
Goto Top

RAID Controller mit Trim-Funktion, wie ermitteln

Hallo zusammen,

ich habe ein Hardware-RAID-Controller MegaRAID 9361 an dem ich ein RAID5 mit vier Samsung EVO850 SSD's betreibe (Testserver!) ... damit ungenbutzte Speicherblöcke wieder freigegeben werden muss der RAID-Controller Trim-Support unterstüzen. Korriegiert mich wenn es so nicht richtig ist.

Beim Hersteller in den Spezifikationen MegaRAID SAS 9361-8i finde ich keinn Hinweis was den ersten Schluss zulässt er unterstützt ihn nicht. Lese ich dann eine entsprechende Produk-Vorstellung Thomas Krenn ist immer von HD oder SSD - RAID die Rede. Auch im Handbuch finde ich immer (...anschluss von HD's oder SSD's).

Gibt es eine Müglichkeit herauszufinden ob der Controller es kann?

Viele Grüße
pixel24

Content-Key: 346686

Url: https://administrator.de/contentid/346686

Ausgedruckt am: 19.03.2024 um 07:03 Uhr

Mitglied: 133883
133883 18.08.2017 aktualisiert um 14:10:49 Uhr
Goto Top
https://www.broadcom.com/support/knowledgebase/1211161496937/trim-and-sg ...

Auszug:
Information
LSI 3ware and MegaRAID controllers do not support TRIM.
Gruß
Mitglied: pixel24
pixel24 18.08.2017 um 14:19:29 Uhr
Goto Top
Danke für den Link! Ja, nicht schön ....

Ich habe mal hier im Forum gesucht um zu herauszufinden was das jetzt genau bedeutet.

Auf Wikipedia steht dass der Trim-Befehl dafür sorgt dass Speicherblöcke - nachdem sie nicht mehr in Verwendung sind - wieder freigegeben werden. Im forum hier lese ich in einigen Beiträgen dass der Trim-Befehl die Leistung steigert.

Bedeutet dies jetzt für meine Installation dass Speicherplatz der nicht mehr verwendet wird (gelöscht oder verschoben) dann nicht mehr freigegeben wird und das RAID quasi kontinuierlich voll läuft?

Viele Grüße
pixel24
Mitglied: 133883
133883 18.08.2017 aktualisiert um 14:33:50 Uhr
Goto Top
Zitat von @pixel24:
Bedeutet dies jetzt für meine Installation dass Speicherplatz der nicht mehr verwendet wird (gelöscht oder verschoben) dann nicht mehr freigegeben wird und das RAID quasi kontinuierlich voll läuft?
Nein. Da verstehst du TRIM() falsch. Der TRIM Befehl sorgt nur dafür das, meist in Zeiten in denen kaum Zugriff auf die SSD erfolgt, im Hintergrund Blöcke freigegeben werden. Ist TRIM also nicht aktiv und es sind keine frei markierten Blöcke mehr verfügbar muss der Controller vor jedem Schreibvorgang die Zellen vorher erst "löschen(bit zurücksetzen)" und das kostet Zeit wenn er dies für jede Zelle vor jedem Schreibvorgang tun muss, reduziert dann also die Schreibperformance massiv sobald die SSD einmal vollgeschrieben wurde.
Gerade bei einem RAID5 führt das zusätzlich zu massiven Schreib-Performance-Verlusten.
Mitglied: BassFishFox
BassFishFox 18.08.2017 um 14:33:39 Uhr
Goto Top
Hallo,

Bedeutet dies jetzt für meine Installation dass Speicherplatz der nicht mehr verwendet wird (gelöscht oder verschoben) dann nicht mehr freigegeben wird und das RAID quasi kontinuierlich voll läuft?

Nicht wirklich, wenn der Kontroller in der SSD ueber GC (Garbage Collection) verfuegt.
Und ist es nicht so, das der TRIM-Befehl vom OS kommt?

RAID5 mit vier Samsung EVO850 SSD's betreibe (Testserver!)

Du weisst, dass die SSD eine Konsumer-SSD ist?

BFF
Mitglied: pixel24
pixel24 18.08.2017 um 15:15:20 Uhr
Goto Top
... von hinten nach Vorne ...

Ja, ich weiß dass es sich um eine Consumer-SSD handelt aber für den Homeserver sind mir die Server-SSD's einfach zu teuer.

Was den Speicherplatz angeht habe ich es mal getestet. Dazu muss ich aber noch ein paar Hintergründe zum vorhanden System liefern.

Es ist ein Virtualisierungs-Host (KVM) mit Debian9. Dort steckt o.g. Controller mit RAID5 und den besagten SSD's.

Der Host hat folgende Partitonen:
UUID=592d58dd-d6d3-44de-b3df-9bf8cf5260b8 /boot           ext2    defaults        0       2
/dev/mapper/vg01-kvm01_root /               ext4    errors=remount-ro 0       1
/dev/mapper/vg01-kvm01_var /var            ext4    defaults        0       2

/ und /var sind also LV's. Unterhalb von /var liegen die Image-Files der KVM-Gäste:
root@kvm01:~# cd /var/lib/libvirt/images/
root@kvm01:/var/lib/libvirt/images# ls -l
insgesamt 1086130340
-rw------- 1 libvirt-qemu libvirt-qemu   4196335616 Aug 18 15:02 ipfire_disk1.qcow2
-rw------- 1 libvirt-qemu libvirt-qemu   7805992960 Aug 18 15:02 pbx_disk1.qcow2
-rw------- 1 libvirt-qemu libvirt-qemu  30089019392 Aug 18 15:02 saturn_disk1.qcow2
-rw------- 1 libvirt-qemu libvirt-qemu  56110546944 Aug 18 15:02 tux_disk1.qcow2
-rw------- 1 libvirt-qemu libvirt-qemu 982651633664 Aug 18 14:48 tux_disk2.qcow2
-rw------- 1 root         root          35366567936 Aug 18 10:17 wints_disk1.qcow2

QCOW2 deshalb weil sich damit bequem Sicherungspunkte der VM's anlgen lassen. Die VM 'tux' ist der Anmelde-, File-, und Print-Server. Auf diesem ist das Image 'tux_disk2.qcow2' eingebunden:
UUID="08acb328-cfb6-47b6-9b49-85d0972872a5"     /data   ext4    defaults,user_xattr     0       2  
Unterhalb dieser Parttion liegen zwei Freigaben (SMB&NFS). Wenn ich nun vom Client aus (Ubuntu) Daten von einer Freigabe in die andere verschiebe und mir anschließend die Belegung auf dem Host (nicht Gast) der Partition /var anschaue ist mit genau der Speicherplatz den ich verschoben habe verloren gegangen.
Mitglied: 133883
133883 18.08.2017 aktualisiert um 16:36:52 Uhr
Goto Top
Du hast da noch ein Verständnisproblem. Die Disk-Container spiegeln nicht 1:1 wieder was tatsächlich auf der VM an Speicher belegt ist, diese wachsen dynamisch und einmal benutzter Speicher einer virtuellen Disk wird nicht automatisch wieder freigegeben.
Der Algorithmus der hier entscheidet das mehr Speicher auf der Disk angefordert werden muss konnte hier einfach nicht unterscheiden das die zwei Freigaben auf ein und dem selben Host liegen. Für die Dateioperation war das quasi ein Verschieben übers Netz für welches die VM, bzw. die vhd, ihren Container "erweitert" hat damit ihr der Speicher nicht ausgeht. Mit Trim hat das ganze also rein gar nichts zu tun.
Das Dateisystem weiß selbst wie viel Speicher es vergeben hat und somit auch wie viel frei ist, dazu braucht es nicht die SSD, das regelt das Dateisystem.
Mitglied: ukulele-7
ukulele-7 18.08.2017 um 17:22:02 Uhr
Goto Top
Ich bin leider auch nicht erfahren auf dem Gebiet aber wie sich der Effekt auswirkt müsste sich doch testen lassen in dem du:
Einmal den kompletten RAID voll schreibst, die Performance dabei in der Anfangsphase dokumentierst, dann die Daten löscht und das selbe nochmal tust. Im zweiten Durchgang sollte die Performance dann sinken.
Mitglied: chgorges
chgorges 18.08.2017 um 17:31:13 Uhr
Goto Top
Bei den Samsung ist das fehlende TRIM verschmerzbar, da diese SSDs eine Herstellerfunktion namens "Garbage Collection" integriert haben.
Das heißt, dass Samsung SSDs ihr "eigenes TRIM" fahren und es wenig bis gar keinen Effekt hat, wenn der Controller kein TRIM kann.

Wie gesagt, es ist verschmerzbar, ein TRIM-Ersatz ist GC allerdings nicht.
Mitglied: pixel24
pixel24 19.08.2017 um 08:44:52 Uhr
Goto Top
Zitat von @133883:
Du hast da noch ein Verständnisproblem. Die Disk-Container spiegeln nicht 1:1 wieder was tatsächlich auf der VM an Speicher belegt ist, diese wachsen dynamisch und einmal benutzter Speicher einer virtuellen Disk wird nicht automatisch wieder freigegeben.
Der Algorithmus der hier entscheidet das mehr Speicher auf der Disk angefordert werden muss konnte hier einfach nicht unterscheiden das die zwei Freigaben auf ein und dem selben Host liegen. Für die Dateioperation war das quasi ein Verschieben übers Netz für welches die VM, bzw. die vhd, ihren Container "erweitert" hat damit ihr der Speicher nicht ausgeht. Mit Trim hat das ganze also rein gar nichts zu tun.
Das Dateisystem weiß selbst wie viel Speicher es vergeben hat und somit auch wie viel frei ist, dazu braucht es nicht die SSD, das regelt das Dateisystem.

Ok, dass die Images in QCOW2-Format dynamisch mitwachsen wusste ich. Dass in diesem Fall aber das System nicht erkennt dass er Platz nicht mehr benötigt wird ist interessant bzw. schlecht. Gibt es keine Möglichkeit damit das System "merkt" dass der Platz nicht mehr benötigt wird?
Mitglied: pixel24
pixel24 19.08.2017 um 08:47:45 Uhr
Goto Top
Zitat von @chgorges:

Bei den Samsung ist das fehlende TRIM verschmerzbar, da diese SSDs eine Herstellerfunktion namens "Garbage Collection" integriert haben.
Das heißt, dass Samsung SSDs ihr "eigenes TRIM" fahren und es wenig bis gar keinen Effekt hat, wenn der Controller kein TRIM kann.

Wie gesagt, es ist verschmerzbar, ein TRIM-Ersatz ist GC allerdings nicht.

Dann habe ich dass mit dem TRIM-Befehl soweit verstanden. Ich werde einfach mal beobachten wie sich die Performace auf dem System verhält da das RAID ohnehin schon fast voll ist und um weitere SSD's erweitert werden muss wird es sich bald zeigen ob die Leistung merklich abnimmt. Werde mal schauen welche RAID-Controller verfügbar sind die TRIM unterstützen. Falls jemand hierzu einen Tipp hat, gerne ...
Mitglied: BassFishFox
BassFishFox 19.08.2017 aktualisiert um 21:38:02 Uhr
Goto Top
Hallo,

Ob Du da auf die Schnelle fuendig wirst, mal sehen. face-wink

Ich hatte da vor langem mal was gelesen :

Eine Möglichkeit, der SSD mitzuteilen, welche Datenbereiche nicht mehr verwendet und somit gelöscht werden können, ist TRIM. Hier teilt das Betriebssystem dem SSD-Controller mit, welche Datenbereiche gelöscht werden können. TRIM lässt sich für eine einzelne SSD einfach implementieren, für Paritäts-RAIDs wäre die Umsetzung aber durchaus aufwändig. Daher unterstützt bislang auch kein Hardware RAID-Controller die TRIM-Funktionalität. Dieses Manko lässt sich aber recht leicht umschiffen: Die meisten Enterprise-SSDs kommen von Haus aus mit einer vergleichsweise großen Spare-Area, weshalb die TRIM-Unterstützung kaum eine Rolle spielt. Und wem die Performance noch nicht reicht, der kann zusätzlich noch mit Over-Provisioning arbeiten – dazu später mehr.

http://www.admin-magazin.de/Das-Heft/2015/03/Workshop-SSD-RAIDs-mit-opt ...

Ist zwar ne Weile her, aber ganz interessant.

Was Dir eventuell mit den jetzigen SSD helfen koennte, ist einen Software-RAID zu verwenden. Damit wuerde das OS die einzelnen SSD sehen und TRIM koennte angewendet werden. Nicht so schoen, aber was soll's. face-smile

Zu LSI fand ich noch das hier.
https://www.broadcom.com/support/knowledgebase/1211161496937/trim-and-sg ...

Was konkret das meint, erschliesst sich mir momentan nicht. Schau Du mal drueber, vielleicht ist es foerderlich fuer Dich. face-smile

Schoenes Rest-WE>
BFF