Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:user:ruiin

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:user:ruiin [2011/08/23 11:49]
ruiin angelegt
wiki:user:ruiin [2011/08/23 15:45] (aktuell)
ruiin
Zeile 9: Zeile 9:
   * Hobbys: Fotografieren,​ Podcasts hören (Pritlove&​so),​ Basteln, kreativ werden (Kochen, Schreiben, Kunst % Co)   * Hobbys: Fotografieren,​ Podcasts hören (Pritlove&​so),​ Basteln, kreativ werden (Kochen, Schreiben, Kunst % Co)
  
 +{{infobox|OS|title=Benutze OS:​|FreeBSD|MacOS}}
 Twitter: @Ruiin ​ Twitter: @Ruiin ​
 +
 +
 +
 +----
 +====== ZFS ======
 +ZFS ist eine neuartiges Dateisystem der Firma Sun Microsystems,​ nähere Informationen zur Entwicklung und Funktionsweise kann man [[wpde>​ZFS_%28Dateisystem%29|der Wikipedia entnehmen]]. Es kombiniert vor allem verschiedene Funktionsweisen in kurze Kommandos, was die Handhabung vieler Platten mit RAID-Funktionalität sehr einfach macht. Die Handhabung unterscheidet sich merklich von althergebrachten Filesystems. FreeBSD 8.2 unterstützt momentan ZFS Version 15.
 +
 +<note important>​ZFS benötigt in allen seinen Kommandos root-Rechte. Es ist daher ratsam mit der root-shell zu arbeiten.</​note>​
 +===== Vokabular =====
 +Um das Verständnis zu erleichtern verwendet dieser Artikel ein Standartvokabular:​
 +  * **Pools** sind Zusammenschlüsse von Festplatten. Sie sind die Basis jedes ZFS und müssen als erstes mit ''​zpool create''​ erstellt werden. Erfordert eine Syntax einen Poolnamen wird das mit ''​[Pool]''​ angezeigt.
 +  * **Dataset** ist die Verallgemeinerung für: Snapshots, Filesystems,​ Clones und Volumes. Erscheint in einem angegebenen Befehl ''​[Dataset]''​ kann man den Befehl für alle vier Arten verwenden. ​
 +  * **Snapshots** sind Abbilder eines Dateisystems. Sie dienen der Datensicherung,​ legt man einen Snapshot an so wird das ganze benannte Filesystem in seinem Moment-zustand festgehalten. Dabei verbraucht ein ZFS-Snapshot erst einmal keinen weiteren Speicherplatz,​ da der Ist-Zustand auf den Festplatten nicht angetastet wird. Erst wenn Daten verändert werden, werden diese Veränderungen separat abgespeichert und verbrauchen weiteren Speicherplatz. Ein Snapshot bleibt so immer unverändert. Einen Snapshot kann man nicht beschreiben,​ man hat nur Lesezugriff. Mit dem Befehl ''​zfs rollback''​ führt man ein Filesystem wieder zu seinem Stand zum Zeitpunkt des Snapshots zurück. Ein ZFS-Snapshot wird immer mit einem @ eingeleitet,​ daher die Variable ''​[@Snapshot]''​.
 +  * **Volumes** sind Datasets die für das System aussehen wie Blockdevices. Daraus folgt das man dieses Volume mit jedem anderen Filesystem wie UFS bespielen kann. Das aufsitzende UFS profitiert dabei von den Vorzügen des ZFS, wie Checksummen oder RaidZ. Und auch Volumes haben, wie man sich denken könnte, die Variable ''​[Volume]''​.
 +
 +===== Installation =====
 +
 +===== zpool =====
 +Zpool ist eines der beiden Kommandozeilentools für ZFS. Es verwaltet primär die Pools, also die Zusammenschlüsse der Festplatten,​ und deren Konfiguration,​ wie ein RaidZ.
 +==== create, oder "So erstelle ich einen Pool" ====
 +Mit ''​zpool create''​ erstellt man seine Pools. Ein Pool kann aus Festplatten,​ Partitionen oder Files bestehen. Fügt einen Pool ohne eine Option zusammen wird ZFS die Daten schreiben und lesen wie ein RAID-Level 0 es macht, Stichwort Striping. Dadurch erhöht sich die Lese- und Schreibrate,​ da das System die Last auf alle beteiligten Platten verteilt. Der Nachteil an dieser Methode: Wenn eine Platte ausfällt sind alle Daten verloren. Abhilfe schafft da der mirror-Modus und das RaidZ. Mirror bedeutet das der Datenbestand auf allen beteiligten Platten gespiegelt wird. RaidZ ist vergleichbar mit dem RAID-Level 5, es kann eine Platte von mindestens 3 Platten ausfallen ohne Datenverlust. Neben RaidZ gibt es noch RaidZ2, vergleichbar mit RAID-Level 6, und RaidZ2 (Ab Version 17), bei dem bis zu 3 Platten ausfallen können. ​
 +=== Syntax ===
 +<​code>#​ zpool create [Pool] [Modus] [Device1] [Device2] [DeviceX]</​code> ​
 +Für ''​[Pool]''​ gilt:
 +  * erstes Zeichen muss ein Buchstabe (a-z,A-Z) sein. Folgende Zeichenfolgen sind reserviert: log, mirror, raidz, raidz1, raidz2, raidz3, spare und "​c"​ gefolgt von einer Nummer 0 bis 9.
 +Für ''​[Modus]''​ gibt es die Optionen
 +  * Leer lassen! (RAID 0)
 +  * ''​mirror''​ (RAID 1) – Spiegelung des Inhalts
 +  * ''​raidz''​ (RAID 5) – Eine Platte kann ausfallen ohne Datenverlust.
 +  * ''​raidz2''​ (RAID 6) – Zwei Platten können ausfallen ohne Datenverlust.
 +  * ''​raidz3''​ – Drei Platten können ausfallen ohne Datenverlust. (Ab Version 17)
 +
 +=== Devices gruppieren === 
 +Mit ZFS kann man in einem Pool mehrere Devices gruppieren, wie in diesem Beispiel:
 +<​code>#​zpool create testpool raidz /zfst/disk5 /zfst/disk0 /zfst/disk1 raidz /zfst/disk2 /zfst/disk3 /zfst/disk4
 +#zpool status testpool
 +  pool: testpool
 + ​state:​ ONLINE
 + ​scrub:​ none requested
 +config:
 +
 + NAME             ​STATE ​    READ WRITE CKSUM
 + testpool ​        ​ONLINE ​      ​0 ​    ​0 ​    0
 +   raidz1 ​        ​ONLINE ​      ​0 ​    ​0 ​    0
 +     /​zfst/​disk5 ​ ONLINE ​      ​0 ​    ​0 ​    0
 +     /​zfst/​disk0 ​ ONLINE ​      ​0 ​    ​0 ​    0
 +     /​zfst/​disk1 ​ ONLINE ​      ​0 ​    ​0 ​    0
 +   raidz1 ​        ​ONLINE ​      ​0 ​    ​0 ​    0
 +     /​zfst/​disk2 ​ ONLINE ​      ​0 ​    ​0 ​    0
 +     /​zfst/​disk3 ​ ONLINE ​      ​0 ​    ​0 ​    0
 +     /​zfst/​disk4 ​ ONLINE ​      ​0 ​    ​0 ​    0
 +</​code>​
 +Dabei leitet jedes ''​[Modus]''​ eine Reihe von Devices ein die mit der darauf folgenden Reihe von Devices gestriped wird, also in ein RAID-0 gestellt wird.
 +
 +<note tip>Eine einfache Möglichkeit ZFS zu testen ist mit ''​mkfile -nv [Größe] [Ort/​Name]''​ ein paar Datein zu erstellen die man mit ZFS zu seinem ersten Pool zusammenfügt.</​note>​
 +===== Weblinks und Quellen =====
 +  * [[http://​download.oracle.com/​docs/​cd/​E19253-01/​819-5461/​index.html|Oracle Solaris ZFS Administration Guide]] (englisch)
wiki/user/ruiin.1314092956.txt.gz · Zuletzt geändert: 2011/08/23 11:49 von ruiin