Cache HDD - bringt das was?

Status
Not open for further replies.

Passwort

Dabbler
Joined
Feb 26, 2012
Messages
38
Hallo,

derzeit habe ich eine 5. Platte als Cache konfiguriert, in der Hoffnung, das jederzeit ändern zu können.
Frage: bringt eine Cache HDD etwas in der Performance? Falls nein, würde ich die gerne wieder aus dem Verbund mit 4x 2TB als RaidZ nehmen und als eigenständige Platte betreiben. Nur: wie mache ich das am geschicktesten, ohne das Dataset neu erstellen zu müssen und die Daten darauf zu verlieren?

Danke & Gruss,
Thorsten
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
eine cache-platte nützt gar nichts. Es bringt nur was, wenn man z.B. eine SSD als cache nimmt (schneller).

Es gibt genau 2 Möglichkeiten von Cache bei zfs: Lese-cache (L2ARC) und Schreb-Cache (ZIL). Wie gesagt, nur sinnvoll,
wenn man hierfür SSD's verbaut. Beim Schreib-Cache empfiehlt es sich eine gespiegelte SSD zu nehmen, um Datenverlust
bei Defekten an der SSD Platte zu vermeiden. Beim Lesecache spielt es keine Rolle. Wenn der kaputt ist liest das system een direkt von der Platte.

RAIDZ ist immer nur so schnell wie eine einzelne Platte, da vom stripe kein Geschwindigkeitsgewinn erzielt wird (Prüfsummen über das RAID).

Eine Spiegelung bringt dagegen ca die n-fache Lese-Performance mit n=Platten. Also 2 Platten ca. 2 mal schneller ale eine einzelne Platte, bei einer Spiegelung mit 3 Platten ist Lesen 3x so schnell wie lesen von einer einzelnen platte. (Während die eine platte den angeforderten Sektor liest, kann die nächste schon positionieren für den nächsten Sektor. Schreiben entspricht der Geschwindigkeit der langsamsten Platte.

Noch schneller geht striping (RAID0) - ähnliches Prinzip beim Lesen wie der Spiegelung, aber auch beim Schreiben gleiche Geschwindigkeitsvorteile (Keine Parität zu berechnen und zu schreiben). Mit 4 Platten (RAID10) ist somit theoretisch doppelte schreibgeschwindigkeit und annähernd 4 Fache Lesegeschwindigkeit erreichbar. ZIL und L2ARC können nch mal um Größenordnungen beschleunigen, wobei der Lesecache nur was nützt, wenn häufig die gleichen Daten abgerufen werden, so dass die Platten nicht bemüht werden müssen - Für Videostreaming also eher ungeeignet / ohne Effekt, der Schreibcache bringt dagegen immer was beim schreiben, da der Schreibvorgang mit der Datenübernahme auf dem (hoffentlich gespiegelten) ZIL abgeschlossen ist und das System erst bei langerweile oder Überlauf die Daten auf die Platten verbannt.

Wenn Du Leistung steigern willst, ist RAM die erste Wahl, je mehr Daten (Dateistrukturen, Bäume, Prüfsummen etc) im Speicher gehalten werden, um so schneller kann das System die daten finden und liefern.

Die Platte kannst Du nur über die CLI (console) wieder aushängen. (zpool kommandos - google man zpool / man zfs)
 

Passwort

Dabbler
Joined
Feb 26, 2012
Messages
38
Irgendwo habe ich gelesen, dass SSDs für ein NAS auch nichts bringen. Naja, egal.

Mit Console meinst du SSH, oder?
Laut google lautet der cmd "zpool detach pool device" während "device" wohl die Bezeichnung der HDD ist, die ich im WebIF angezeigt bekomme (beginnt mit a) oder? was gebe ich für "pool" an?
 

Teddie

Contributor
Joined
Feb 26, 2012
Messages
159
ZFS: http://docs.oracle.com/cd/E23824_01/html/821-1448/index.html

SSDs machen dein NAS nur extrem schnell. > Google: Pegasus RAID, LaCie Little Big Disk (Thunderbolt)

Grundsätzlich ist eine Cache-Festplatte auch bei gzip-komprimierten ZFS-Dateisystemen sinnvoll.
So können die Daten schnell übertragen werden und Schritt für Schritt vom System komprimiert und abgelegt werden.

Bei normalen Systemen ist es jedoch Verschwendung.
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
ZU Deiner Frage:

zpool detach DEINPOOLNAME DIEPLATTE

mit zpool status
und zpool list

kannst Du dir ansehen, welche Platten in Deinen Pools sind und wie Deine Pools heißen - die Namen der Pools hast Du selbst beim Einrichten vergeben, die Platten werden vom System benannt c0t0d0... (controller, tank, disk, evtl. partition durchnummeriert)

p.s. mit console meine ich die console Deiner Wahl (eine beliebige shell), sie kann lokal an der NAS sein, oder über ssh, telnet oder sonst was aufgerufen werden - ich meine eine der möglichen "Kommandozeilen"-Fenster von freeBSD oder solaris - Du kannst in manchen Versionen von freeNAS die Kommandos auch über das Web-UI eingeben. Die Kommandos benötigen Adminrechte (root), das kann man erreichen durch Eingbe von su in der shell und danach nach Aufforderung das richtige root passwort, . Dann wechselt die Eingabeaufforderung von $> zu #> . Das zeigt Dir, dass du nur Adminrechte hast... Alternativ hilft auch sudo vor dem kommando und dann Dein Passwort (falls Du Dich als Admin angemeldet hast), sudo musst du bei jedem Kommando voranstellen, bei dem Du root Rechte brauchst, während du dich bei su in eine root-shell anmeldest mit dauerhaften Rechten. (googeln nach su / sudo). Wenn Du das root Passwort nicht weißt, kannst Du es neu setzen:

sudo passwd root

dann wirst Du nach deinem Password gefragt, und dann darfst Du das neue root passwort festlegen und bestätigen...

Bei ordentlichen Unix / Linus Systemen ist in der Regel eine Anmeldung mit root remote über ssh o-Ä. nicht zugelassen. Man muss sich immer mit einem normalen User anmelden und kann sich dann mit su / sudo zum root erheben.... An der Console auf der NAS (direkt am Rechner, Menüpunkt console) bist Du sofort root.
 

Passwort

Dabbler
Joined
Feb 26, 2012
Messages
38
ZU Deiner Frage:

zpool detach DEINPOOLNAME DIEPLATTE

mit zpool status
und zpool list

kannst Du dir ansehen, welche Platten in Deinen Pools sind und wie Deine Pools heißen - die Namen der Pools hast Du selbst beim Einrichten vergeben, die Platten werden vom System benannt c0t0d0... (controller, tank, disk, evtl. partition durchnummeriert)
Ah, danke. Damit habe ich den richtigen Befehl. Wusste nicht, dass Dataset = pool

Aber wie melde ich die HDD ab? Denn detachen geht nicht, solange sie verwendet wird: "cannot detach ada1p1: device is in use as a cache"
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
Nicht ganz, dataset ist normalerweise eins von vielen möglichen Dateisystemen (zfs datasets) auf einem zpool. freeNAS / zpool richtet ein default dataset automatisch mit ein beim erstellen des zpools.

Mit Datasets kann man einen zpool partitionieren und für einzelne Bereiche die Eigenschaften setzen (erscheinen als Verzeichnisse - z.B. kann man Kompression, deduplizierung, Verschlüsselung, Quota, Mindestspeicher etc. für einzelne Bereiche festlegen), so kann man z.B. auch nur diese Bereiche per snapshot sichern oder auch einzeln freigeben.

zfs list

listet Dir die datasets auf

zfs list -t snapshot

listet Die zusätzlich alle snapshots auf....
 

Passwort

Dabbler
Joined
Feb 26, 2012
Messages
38
ok, danke für die Aufklärung.
Aber wie kann ich denn jetzt die HDD "abmelden", damit ich sie detachen kann?
 

xbmcg

Explorer
Joined
Feb 6, 2012
Messages
79
http://www.freebsd.org/cgi/man.cgi?query=zpool&sektion=8

zpool detach DEINPOOLNAME DASLAUFWERK
zpool remove DEINPOOLNAME DASLAUFWERK

zpool remove pool device ...

Removes the specified device from the pool. This command currently
only supports removing hot spares, cache, and log devices. A mir-
rored log device can be removed by specifying the top-level mirror
for the log. Non-log devices that are part of a mirrored configura-
tion can be removed using the zpool detach command. Non-redundant
and raidz devices cannot be removed from a pool.
 
Status
Not open for further replies.
Top