Welche Cache-Einstellung?

Änderungsstand: 2020-07-02

Folgende Aussagen treffen im Gbit-Lan zu. Verwendet man 2,5Gbit oder höher, ist ein Cache immer Pflicht, wenn man auch nur geringfügig-höhere Datenraten hat, es sei denn, mann verwendet eine oder 2 schnelle M.2-SSD(s) als Cache. Ich spreche momentan prinzipiell von ganz normalen, handelsüblichen, bezahlbaren SSD’s im Privatbereich. Ich habe nun mal keinen Sponsor, der mir die Hardware um die Ohren schmeißt, damit ich Rezensionen schreibe 🙂 . Und das ist in gewisser Weise auch gut so, denn so erreiche ich Anwender, die sich auch alles selbst finanzieren müssen.

Nun, ein Cache erleichtert sehr das Arbeiten am Server, sofern denn eine Paritätsplatte verwendet wird. Will man sich die Paritätsplatte sparen, meist aus Kostengründen, hat man natürlich keine Datenintgegrität. Allerdings kann man sich hier auch die Cache-Platte, jedenfalls in gewisser Hinsicht, sparen. Warum? Ein normaler Server, mit z.B. Openmediavault, auf ext.4, hat auch keine Cache-Platte und funktioniert bestens 🙂 .

Aber schauen wir der Tatsache ins Auge. Unraid profitiert von vielen Sachen, weil diese so sind, wie sie sind. Und da gehört auch die Parity und das Cache dazu. Aber welche Cache-Einstellung ist denn nun die Richtige? Angeboten wird, für jedes einzelne Share (Freigabe) gesondert, „no“, „yes“, „only“, „prefer“.

„no“: Hier wird kein Cache verwendet. Alle Daten werden direkt auf die Platte geschrieben. Der Mover unternimmt nichts.

yes„: Hier werden die Daten zuerst auf einen Cache geschrieben und später, wenn der „Mover“ gestartet wird, auf die HDD’s umgelagert. Bevorzugt für Dateien, die oft benutzt werden.

„only“: Hier werden alle Daten nur auf Cache geschrieben und bleiben dort. Der „Mover“ greift diese Daten nicht an. Z.B. für appdata, domains, system geeignet. Mit CA Backup / Restore Appdata unbedingt Sicherungen anlegen, da diese Dateien immer auf dem Cache liegen.

prefer„: Hier werden die Daten im Array auf dem Cache geschrieben. Eigentlich nur interessant, wenn man den Cache wechseln möchte. Da stellt man vor dem Wechsel die 3 Verzeichnisse auf „Ja“, lässt den Mover laufen und nach dem Wechsel stellt man auf „Prefer / Bevorzugt“ und lässt wieder den Mover laufen. Anschließend wieder auf „Cache only / Nur“ stellen. Ich habe das in einem Guide detailliert beschrieben.

Doch was soll man denn nun nehmen? Für mich ist die Methode „yes“ wahrscheinlich für das Meiste das Beste (*1). Alles was an Daten auf den Server kommt, wird zwischengecachet und zur angegeben Uhrzeit auf die jeweilen Platten geschaufelt. Einen Nachteil hat diese Methode aber, wenn man, so wie ich, zwei Cache-Platten zu einem Raid0-Verbund zusammegehängt hat oder nur eine Cache-Platte verwendet. Fällt eine Cache-Platte aus, so sind die Daten komplett für den laufenden Tag weg. Um auch hier eine gewisse Datenitegrität zu schaffen, empfehle ich, 2 Cache-Platten im Raid1-Verbund zu verwenden (z.B. 2x 256GB). So kann auch hier eine Platte ohne Datenverlust ausfallen. Oder zumindest tägliche Backups der Cache-Daten. Und falls man sich fragt, warum ich dann doch Raid0 für die Caches verwende? Ich baute mir dieses System zu Testzwecken auf. Im Produktivbereich würde ich wahrscheinlich (*2) 2x 256GB SSD oder 2x 512GB SSD als Raid1 verwenden. Das käme auf die Beanspruchung des Servers an. 2x 256GB SSD sind bezahlbar und normalerweise dicke ausreichend.

*1) Ich verwende für appdata, domains, system „Cache only“. Des Rest setze ich auf „Cache yes“.

*2) Für das Cache-Laufwerk verwende ich nun ein 512GB NVMe-Laufwerk und tätige regelmäßige Backups des Caches. Update: Unraid 6.9 ist da! Ich verwende jetzt 2x 1TB Cache 🙂

Erstelle eine Website wie diese mit WordPress.com
Jetzt starten