PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SSD-Caching für vorhandenes und verschlüsseltes Kubuntu 14.04 nachrüsten?


Wolfram
2015-06-05, 15:58:38
Hallo allerseits,

ich habe ein Kubuntu 14.04-System (Celeron G1620 auf ASRock H61 Mini-ITX, 8GB DDR3, 4TB-Seagate NAS), das unter starken Festplattenzugriffen leidet. Ich habe ich laut Systemmonitor andauernd Warteschlangelängen von 100 I/Os und mehr.

Da es ein bißchen teuer wäre, die ganzen 4TB auf SSD umzustellen, überlege ich, eine vorhandene 256GB-SSD zum Cachen zu verwenden. Dafür gibt es ja offenbar auch mehrere Softwarelösungen. Da ich aber keine Erfahrung habe, frage ich mich, welche überhaupt in mein gewünschtes Szenario passt:

1. Integration in das bestehende System (Neuaufsetzen ist keine Option) möglich? LVM ist installiert.
2. Das System ist komplett verschlüsselt (über die bei der Standardinstallation angebotene Option). Stört das?

TIA,

Wolfram

Eidolon
2015-06-05, 16:37:32
Auch wenn das Deine Frage nun nicht beantwortet, aber wie kommt es bei 8GB RAM das da wild geswapped wird oder habe ich das nun falsch gedeutet?

Arcanoxer
2015-06-05, 17:03:33
Schon mal versucht an der "swappiness" zu drehen?
Ich habe die bei mir auf 0.

http://wiki.ubuntuusers.de/Swap#Swapnutzung-einstellen

2. Das System ist komplett verschlüsselt (über die bei der Standardinstallation angebotene Option). Stört das?
Stören nicht, aber kostet natürlich performance, besonders auf ein Celeron.
Der hat imho keinerlei AES Verschlüsselung und -Entschlüsselung features.

lumines
2015-06-05, 17:13:41
Vollverschlüsselung verringert die I/O-Performance schon massiv, wenn das nicht hardwarebeschleunigt ist und ich glaube das kann der Celeron auch nicht. Daran dürfte es auch liegen. Ich hatte schon mit langsameren Kisten keine Probleme bei den typischen Desktop-Sachen wie Surfen und Co..

Wolfram
2015-06-05, 19:50:18
Auch wenn das Deine Frage nun nicht beantwortet, aber wie kommt es bei 8GB RAM das da wild geswapped wird oder habe ich das nun falsch gedeutet?

Auf der Kiste läuft eine Serveranwendung. Es wird - wenn ich das laut Systemmonitor richtig sehe - nicht viel geswappt, es gibt einfach sehr viele Festplattenzugriffe, laut Monitor regelmäßig um die 120/s. Der Speicher ist gerade mal halb voll.

Der Celeron kann kein AES in Hardware, das stimmt, aber die CPU-Last scheint nicht das Problem zu sein, liegt idR eher bei ~60-70%.

Lokadamus
2015-06-05, 19:58:02
Hast du den Artikel schon durchgeguckt?
https://help.ubuntu.com/community/DiskPerformance
Das mounten mit den Optionen scheint ein Prob zu sein.

60 - 70% CPU Performence ... da sollte man das Caching- Verhalten von Ubuntu mal überprüfen, aber mir fällt momentan kein guter Begriff zur Suche ein.

Wolfram
2015-06-05, 20:09:49
Hast du den Artikel schon durchgeguckt?
https://help.ubuntu.com/community/DiskPerformance
Das mounten mit den Optionen scheint ein Prob zu sein.

60 - 70% CPU Performence ... da sollte man das Caching- Verhalten von Ubuntu mal überprüfen, aber mir fällt momentan kein guter Begriff zur Suche ein.

Sehe mir den Artikel mal an, danke.

Zur Ergänzung sei noch gesagt, daß die Kiste an einem 75W-LC-Power-Passivnetzteil hängt. Deswegen hatte ich die Option, einen i5 reinzusetzen (der AES in Hardware kann), erst mal verworfen. Selbst wenn man den in irgendeiner Form drosselt, könnte es immer noch Probleme beim Booten geben, wegen hoher Last, solange nur das UEFI läuft. Oder?

Außerdem soll die Kiste nicht allzuviel Strom schlucken, weil sie 24/7 läuft.

(del676)
2015-06-05, 20:47:25
Vielleicht hilft dir das: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=548906&highlight=enhanceio

Wolfram
2015-06-06, 01:26:48
Vielleicht hilft dir das: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=548906&highlight=enhanceio

Auf jeden Fall, danke! Zumal es bei mir in der Regel um nur Dateien von einigen Kilobyte geht, die zu cachen wären.

lumines
2015-06-07, 21:38:31
Du könntest übrigens auch einmal den I/O-Scheduler von Deadline (stellt Ubuntu standardmäßig ein) auf CFQ setzen. Der ist auch der Standard im Mainline-Kernel und könnte bei HDDs vielleicht etwas bessere Performance erzielen.

Wolfram
2015-06-08, 16:22:41
Du könntest übrigens auch einmal den I/O-Scheduler von Deadline (stellt Ubuntu standardmäßig ein) auf CFQ setzen. Der ist auch der Standard im Mainline-Kernel und könnte bei HDDs vielleicht etwas bessere Performance erzielen.

Danke für den Tip, aber wenn ich den Output von cat /sys/block/sda/queue/scheduler richtig deute, ist bereits CFQ aktiv (steht in Klammern).

lumines
2015-06-08, 18:08:38
Ok, das ist interessant. Ubuntu 14.04 mit Unity hat jedenfalls Deadline als Standard.

PHuV
2015-06-08, 21:57:27
Hallo allerseits,

ich habe ein Kubuntu 14.04-System (Celeron G1620 auf ASRock H61 Mini-ITX, 8GB DDR3, 4TB-Seagate NAS), das unter starken Festplattenzugriffen leidet. Ich habe ich laut Systemmonitor andauernd Warteschlangelängen von 100 I/Os und mehr.

Da es ein bißchen teuer wäre, die ganzen 4TB auf SSD umzustellen, überlege ich, eine vorhandene 256GB-SSD zum Cachen zu verwenden.
Warum brauchst Du 4 TB? :confused: Teil doch das OS-relevante von den Daten, dann reicht sogar eine kleine 64 GB SSD + 4 TB Datenplatte. Das Prinzip OS von Daten trennen funktioniert unter Linux genau so gut und schlecht wie unter Windows auch. Bei mir mache ich das bei meinen Linuxen seit Jahren so, und es hat sich einfach bewährt. Und für das Swap-Problem würde ich dann einfach mehr Ram reinbauen, und swap in eine-Ramdisk legen.

El_Presidente
2015-06-15, 00:03:41
also ich würde dir dringend empfehlen eine AES-NI fähige cpu einzusetzen, laut dem test hier: http://www.phoronix.com/scan.php?page=article&item=intel_aesni_dmcrypt&num=1 ist der unterschied teilweise gigantisch. außerdem verballerst du unnütze resourcen was auch nicht im sinne des erfinders ist...

muss kein intel sein, denn selbst der günstigste kaveri (45€) kann das.

Wolfram
2015-06-15, 03:50:00
Warum brauchst Du 4 TB? :confused: Teil doch das OS-relevante von den Daten, dann reicht sogar eine kleine 64 GB SSD + 4 TB Datenplatte. Das Prinzip OS von Daten trennen funktioniert unter Linux genau so gut und schlecht wie unter Windows auch. Bei mir mache ich das bei meinen Linuxen seit Jahren so, und es hat sich einfach bewährt. Und für das Swap-Problem würde ich dann einfach mehr Ram reinbauen, und swap in eine-Ramdisk legen.

Ich brauche die 4TB für Daten, und die vielen Datenzugriffe produzieren in erster Linie die großen Warteschlangenlängen. Glaube ich jedenfalls bisher.

Es gibt kein Swap-Problem. Die Festplattenzugriffe sind keine Swap-Zugriffe. Der Arbeitsspeicher reicht lang aus.

also ich würde dir dringend empfehlen eine AES-NI fähige cpu einzusetzen, laut dem test hier: http://www.phoronix.com/scan.php?page=article&item=intel_aesni_dmcrypt&num=1 ist der unterschied teilweise gigantisch. außerdem verballerst du unnütze resourcen was auch nicht im sinne des erfinders ist...

muss kein intel sein, denn selbst der günstigste kaveri (45€) kann das.

Ich hatte bei Einrichtung des Systems über einen A4-4000 nachgedacht. Es kam nur FM2/+ in Frage, weil ich ein Mini-ITX-Board wollte. Warum ich das verworfen hatte, weiß ich nicht mehr genau... vermutlich war es der unter Last höhere Stromverbrauch des A4-4000 gegenüber dem G1620. Außerdem war ich davon ausgegangen, daß das Software-AES nicht übermäßig viel CPU-Leistung frißt. Und zuletzt kann ich ja immer noch einen i5 in das vorhandene Board setzen, wie oben gesagt, habe nur Bedenken hinsichtlich der Leistungsaufnahme beim Booten.

Aber wie gesagt: Mangelnde CPU-Leistung scheint mir eher nicht die Ursache für die langen I/O-Schlangen zu sein, sondern mangelnde Datenträgerleistung. Werde erst mal - wie von Ulukay vorgeschlagen - EinhanceIO ausprobieren, dann melde ich mich wieder.

Falls das nichts bringen sollte, versuch ich's mal mit einer anderen CPU bzw. Plattform. Habe gerade erst gesehen, daß die Haswell-i3s auch schon AES in Hardware beherrschen... zu blöd, das war mir seinerzeit nicht bewußt. Würde wahrscheinlich jetzt ein i5-2500T oder 3570T.

El_Presidente
2015-06-16, 12:16:06
was du machen solltest ist kubuntu auf einen usb stick oder eine kleine ssd aufspielen, damit die platte(n) (nur eine 4tb?) nur mit den daten beschäftigt ist.

Wolfram
2015-06-23, 20:11:20
Vielleicht hilft dir das: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=548906&highlight=enhanceio

Habe jetzt eine 128GB-SSD als Writeback-Cache installiert und die Performance hat sich auf Anhieb drastisch verbessert. Mal sehen, ob das so bleibt. Die Warteschlangenlänge liegt jetzt statt regelmäßig über 100 durchgehend bei 0 bis 1. Den Effekt sah man auf dem Systemmonitor unmittelbar, nachdem der Cache zugeschaltet wurde. Die Ansprechbarkeit des System hat sich auch sehr merklich verbessert.

Mein einziges Problem noch: Der Cache ist nicht verschlüsselt. Wie richte ich das am einfachsten ein? Wie gesagt: Das System (auf der HDD) wurde bei Installation auf komplett verschlüsselt, aber die Cache-SSD ja jetzt erst hinzugefügt.


was du machen solltest ist kubuntu auf einen usb stick oder eine kleine ssd aufspielen, damit die platte(n) (nur eine 4tb?) nur mit den daten beschäftigt ist.

Wie gesagt: Die Plattenzugriffe sind vor allem Datenzugriffe. Außerdem wäre es für mich wahrscheinlich deutlich umständlicher gewesen, das System neu einzurichten, und dann noch mit eben zweifelhaftem Nutzen...

(del676)
2015-06-23, 22:05:45
Das ist ein Blockdevice Cache. D.h. es cacht die verschluesselten Blocks deiner HDDs.

Wolfram
2015-06-24, 03:16:52
Klingt gut, danke!

Eine Frage habe ich noch - was soll mir das hier sagen?: https://www.thomas-krenn.com/de/wiki/EnhanceIO (unter "Caching einrichten")

Achtung: Bei Caches auf Root-Devices ist Vorsicht geboten, vor allem wenn ein Cache persistent sein soll:[1][2]

Creating a writeback cache on root device is not supported. This is because the root device is mounted as read only prior to the processing of udev rules.

Bei mir sieht es so aus:

HDD: sda
sda1 /boot/efi
sda2 /boot
sda3 verschlüsselt

SSD: sdb
sdb1 <- der Cache, für sda. Hätte ich da nur sda3 nehmen sollen?

(del676)
2015-06-24, 09:21:30
Wahrscheinlich musst du den Writecache nach einem Reboot wieder haendisch dazukonfigurieren.
Wenn du nur SDA3 gecached haettest, wuerde das automatisch funktionieren.

Wolfram
2015-06-24, 09:50:51
Ah... dann werde ich das bei der Gelegenheit auf sda3 umstellen.

Vielen Dank nochmal!

Wolfram
2015-06-24, 17:40:26
Ulukay, hast Du eigentlich mal mit den cleaning-Schwellenwerten herumgespielt? Bei mir steht alles noch auf default (also cleaning zwischen 10 und 30 Prozent "dirty"-Gesamtdaten, jedenfalls aber alle sechs Minuten) und "nr_dirty" steht immer nur auf rund einem Prozent von "nr_blocks". Ist das jetzt gut, schlecht, egal...? X-D

(del676)
2015-06-24, 22:48:07
Aehm. Ka?
Habs immer als Read Cache benutzt. :)

Wolfram
2015-06-25, 12:09:48
Ok, dann fummel ich vielleicht besser nicht daran herum. Habe im Moment 32% Read-Hits (immer noch steigend) und 92% Write-Hits. Kein Wunder, daß es besser flutscht.