[Sammelthread] ZFS Stammtisch

Log und L2Arc lassen sich aus einem Pool entfernen. Ein plötzlicher Verlust ist unkritisch. Beim L2Arc gibt es dann halt nur noch den RAM Lesecache Arc. Beim Slog wird lediglich auf das langsamere onpool Logging gewechselt.

Bei special vdev ist das anders. Die kann man zwar auch nachtröglich aus dem Pool entfernen, es gibt aber zwei Besonderheiten:
Das special vdev benötigt den gleichen ashift wie die Pool vdevs, sonst klappt Entfernen nicht
Geht das special vdev plötzlich verloren, ist der Pool verloren - es sei denn man kann das Device wiederbeleben. Die Daten auf dem special Device werden ja nicht zusätzlich darauf gespeichert wie es beim L2Arc der Fall ist, sondern ausschließlich- man will ja Top Performance.

Ich gehe weiterhin davon aus, dass das bei OpenZFS (noch/mittlerweile) anders gehandhabt wird, bzw. "special" nicht "meta" aus Solaris entspricht, denn man zpool sagt:
log

A separate-intent log device. If more than one log device is speci-
fied, then writes are load-balanced between devices. Log devices
can be mirrored. However, raidz vdev types are not supported for
the intent log. For more information, see the "Intent Log" section.

meta

A device used to optimize reads of certain types of ZFS metadata,
in particular, deduplication entries. If more than one meta device
is specified, operations will be load balanced between them. Meta
devices can be mirrored. However, raidz vdev types are not sup-
ported. For more information, see the "Meta Devices" section.

cache

A device used to cache storage pool data. A cache device cannot be
configured as a mirror or raidz group. For more information, see
the "Cache Devices" section.

Intent Log
The ZFS Intent Log (ZIL) satisfies POSIX requirements for synchronous
transactions. For instance, databases often require their transactions
to be on stable storage devices when returning from a system call. NFS
and other applications can also use fsync to ensure data stability. By
default, the intent log is allocated from blocks within the main pool.
However, it might be possible to get better performance using separate
intent log devices such as NVRAM or a dedicated disk. For example:

# zpool create pool c0d0 c1d0 log c2d0

Multiple log devices can also be specified, and they can be mirrored.
See the EXAMPLES section for an example of mirroring multiple log
devices.

Log devices can be added, replaced, attached, detached, and imported,
and exported as part of the larger pool
. Mirrored log devices can be
removed by specifying the top-level mirror for the log.

Meta Devices
Devices can be added to a storage pool as meta devices. These devices
store copies of critical metadata which needs to be accessed in a non-
sequential manner. This functionality is especially useful for dedupli-
cation entries. Since copies of the metadata are also written to the
main storage pool, I/O errors to this device can be recovered and this
device does not have to be mirrored.


To create a pool with meta devices, specify a meta vdev with any number
of devices. For example:

# zpool create pool c0d0 c1d0 meta c2d0 c3d0

Multiple meta devices can be specified, and they can be mirrored, but
they cannot be part of a raidz configuration.

Meta devices can be added, replaced, attached, detached, imported, and
exported as part of the larger pool.



Cache Devices
Devices can be added to a storage pool as cache devices. These devices
provide an additional layer of caching between main memory and disk.
For read-heavy workloads, where the working set size is much larger
than what can be cached in main memory, using cache devices allow much
more of this working set to be served from low latency media. Using
cache devices provides the greatest performance improvement for random
read-workloads of mostly static content.

To create a pool with cache devices, specify a cache vdev with any
number of devices. For example:

# zpool create pool c0d0 c1d0 cache c2d0 c3d0

Cache devices cannot be mirrored or part of a raidz configuration. If a
read error is encountered on a cache device, that read I/O is reissued
to the original storage pool device, which might be part of a mirrored
or raidz configuration.


The content of the cache devices is considered volatile, as is the case
with other system caches
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Von der Funktion und vom Crashverhalten haben Solaris meta devices Ähnlichkeit zum persistent L2Arc Lesecache bei aktuellem Open-ZFS. Der arbeitet auch als Lesecache der einen Reboot übersteht-ist aber nicht auf Metadaten beschränkt. Ein Ausfall ist unkritisch.

Special vdev ist dagegen kein Lesecache der Duplicate speichert. Hier werden Originaldaten gespeichert Die dürfen daher genausowenig ausfallen wie normale Daten vdvs.
 
Hallo,

ich brauche mal einen Denkanstoß

Ich hab 2 OmniOS/napp-it ZFS Filer (Primär und Sekundär) aufgesetzt. Beide sind identisch in Hardware und Software

Plan: die beiden Filer als Failover betreiben, das Failover wird aktuell Clientseitig (Win) gelöst (alle 1 Minute läuft ne BATCH, pingt P an, wenn nein, löscht es seine Netzlaufwerke und verbindet mit S), Es gibt 2 Win Clients (einer schreibt, einer liest). Ein Ausfall von 1 Minute ist als okay angesehen, es muss keine absolute Hochverfügbarkeit sein.
Wenn der Failover-Fall jetzt aber eintritt wird ja das schreiben im Backuppool stattfinden statt im Primärpool.

wie löst man jetzt eine 2 Wege Synchronisation am besten?
 
Drei Optionen für 2 Wege Sync:
1. mirror mit robocopy (Ist bei Windows dabei und kopiert auch ntfs ACL)

Auf einem Windows Client läuft ein Robocopy Job als geplanter Task A >B
Für ein Failover wird der Job gestoppt.
Nach einem Failover startet man einmal ein sync B > A

2. ZFS Replication für ein Sync A > B
Um mit B zu arbeiten muss der Pool auf rw gesetzt werden und die Replikation gestoppt werden.
Nach einem Failover startet man einmal eine Replikation B > A auf Basis des neuesten B/gemeinsamen Snaps

3. Cluster
Man hat zwei Filer und ein gemeinsames multipath SAS Storage. Bei einem Failover wird der Pool und eine gemeinsame HA ip umgeschaltet

Für Variante 1 und 2 kann man auch ein Script auf den Servern nutzen um die eine HA ip bereitzustellen so wie automatisiert bei Variante 3. Die Clients sehen dann das Storage immer über die gleiche ip, egal ob A oder B
 
Variante 2 klingt interessant, hast du da weiterführende Informationen zu? Geht HA auch in der Free Version?
 
Man legt man auf beiden Filern einen Replikationsjob an und startet den manuell oder per autojob/cron. Wenn napp-it die Replikation erledigt wird das Zieldateisystem sicherheitshalber auf readonly gesetzt. Will man damit arbeiten muss man das Dateisystem auf rw gesetzt

Man kann viel mit Scripten erledigen oder unterstützen. Insbesondere bei HA kann man für ein mamuelles failover auch ein Script anlegen das den Pool exortiert und die HA ip löscht bzw. den Pool importiertund die HA ip erstellt. Menüunterstützung ist in napp-it Pro. Bei Replikation kann man pre oder post Befehle als Shellscript anfügen, z.B. /var/web-gui/_log/jobs/$id.pre oder /var/web-gui/_log/jobs/$id.post

bei HA mmp aktivieren damit nicht aus Versehen beide Filer den Pool gleichzeitig importieren. Napp-it HA prüft das zusätzlich vorher ab und macht sicherheitshalber ein stonith (startet ein reset des inaktiven Filers, shot the node in the head) vor einem Failover.
 
Moin, irgendwann sind mir scheinbar in meiner Napp-It Installation Folder ACL verloren gegangen und ich würde das gerne wieder gerade ziehen. Ich habe noch ein Backup gefunden, wo die ACL offenbar ordentlich gesetzt sind, der Datenbestand aber natürlich veraltet ist. Gibt‘s eine Möglichkeit, die ACL Settings aus dem Backup auszulesen und im produktiven System zu setzen?
 
Zuletzt bearbeitet:
Folder ACL sind bei Solaris/OmniOS Windows ntfs artige ACL auf Dateien . Da Solaris direkt Windows SID mit speichert und auch lokale SMB Gruppen unterstützt, bleiben alle ACL, z.B. auch Domänen ACL auch im Backup und nach einem Restore voll erhalten und werden nicht durch ein Mapping später zugeordnet (hier unterscheidet sich der Solaris SMB Server ganz besonders von SAMBA auf anderen Plattformen). Bei lokalen ACL muss man bei einem Restore lediglich beachten dass es die gleichen Nutzer (AD user oder lokale Unix uid) gibt damit man die ACL leicht zuordnen kann. Sonst sieht man nur die Windows sid wie es auch bei Windows passiert wenn man eine fremde Platte anschließt.

Um die Folder ACL aus dem Backup auszulesen:
Pool irgendwo importieren oder Dateisystem wiederherstellen, dann SMB aktivieren und ACL per Windows Eigenschaft > Sicherheit" auslesen oder setzen. Man kann ACL auch auf der Konsole mit ls -av /ordner anzeigen lassen.

Share ACL
sind ACL auf die Steuerdatei /pool/dateisystem/.zfs/shares/dateisystem
Diese Steuerdatei wird beim Aktivieren eines Share angelegt und beim Beenden gelöscht
 
Zuletzt bearbeitet:
Danke, @gea! Das werde ich auf der Konsole gleich mal probieren.

Noch ein anderes Thema: der Backup-Server hängt an einem Vodafone DSL Anschluss mit Fritzbox vom Provider. Da ist nach meinem Kenntnisstand keine VPN Verbindung von außen möglich, weil Vodafone keine echte IPv4 vergibt und die Fritte VPN über IPv6 nicht kann. Bravo. Also will ich zumindest übergangsweise den Backup-Server per Portfreigabe erreichbar machen. Das muss dann natürlich über IPv6 passieren. Aber leider hat die Napp-It VM nur IPv4. Hat jemand einen Tipp, wie ich IPv6 eingeschaltet kriege? Ich finde nur Artikel, die beschreiben wie man‘s ausschaltet?!

Edit: Auslesen klappt per Konsole. Kann man den Output verwenden, um die ACL im anderen Filesystem zu setzen (also übertragen)? Noch ne Ergänzung: bei mir gibt es keine Windows-Clients, nur Mac.
 
Zuletzt bearbeitet:
Ich konnte die beiden Fritz-Boxen über MyFritz nun doch koppeln, damit erledigt sich IPv6 auf der Napp-It VM.

Bleibt nun noch die Frage, ob bzw. wie die über ls -av ausgelesenen Folder ACL übertragen werden können. Oder muss man das dann manuell setzen? Geht das auch per Konsole?

Edit: verwendet jemand iSH Shell auf dem iPad, um damit auf seinen Napp-It Server per ssh zuzugreifen? Das ging bei mir eine Weile ziemlich problemlos, aber inzwischen erscheint nach dem Login leider gar nix mehr, wenn man das Passwort eingegeben hat. Der Cursor bleibt am Zeilenanfang stehen und die Verbindung kann nur über Ctrl-D beendet werden. Ich bilde mir ein, dass blind eingetippte Kommandos in der Bash History zu sehen sind. Also passiert war, wird nur nicht angezeigt. Das habe ich auf zwei Napp-It Servern so, Debian Server hingegen funktionieren problemlos. So kann ich immer nur mit Termius auf Napp-It, da bricht die Verbindung aber immer nach wenigen Sekunden ab, wenn man die App wechselt. Ich weiß, möglicherweise ein App-Problem, da es aber nur Napp-It betrifft, spielt hier vielleicht auch OmniOS eine Rolle…
 
Zuletzt bearbeitet:
Man kann ACL per /usr/bin/chmod srtzen

Nur per Console könnte man die ACL auslesen, in eine Textdatei sichern und daraus mit Hilfe eines Scriptes setzen.

zu iSH
geht denn z.B. Putty problemfrei (Windows)?
 
Jetzt habe ich hier (Backup-Site) doch 'nen Windows Rechner aufgetrieben und Putty installiert. Da klappt es problemfrei wie bei mir zuhause am Mac (Terminal).

ACLs: Kleines Script geschrieben, das die ACLs in eine Textdatei schreibt. Setzen mache ich dann per chmod, da muss ich mich dann nochmal rein fuchsen (oder schreibt man hier: rein luxxen? ;-) ).
 
Putty ist genial, vor allem weil man mit der rechten Maustaste ein Copy/Paste machen kann.
Auch kann man den Zeichensatz einstellen, z.B. damit Midnight Commander saubere Linien um die zwei Menübereiche zeichnen kann
 
Gibt‘s nur leider nicht für‘s iPad. 😉 Aber für den Mac offenbar schon. Werde ich mir gelegentlich mal anschauen, denn eigentlich mag ich Putty auch. Da ich aber häufiger mit dem iPad auf dem Schoß da sitze, wäre ich eher daran interessiert, mithilfe von iSH wieder eine Verbindung zur Napp-It VM aufbauen zu können…
 
Da kann ich kaum etwas beitragen.

Meine Mac Erfahrung besagt aber etwas geht sofort und problemlos oder garnicht
bzw. ist schwierig zum Laufen zu bringen ...
 
Ich benutz den Termius Client:

 
Joa, den hab ich ja auch, allerdings verliert der nach wenigen Sekunden nach einem App-Wechsel immer die Verbindung und man muss die SSH Session neu aufmachen. So macht das für mich keinen Sinn… Den sog. Background Support gibt's dann nur für‘s teure Abo-Modell. Nein Danke…
 
Heute gab es neues Spielzeug:

3x Radian RMS 200 8G

Gekauft aus Spaß an der Freude zu einem guten Kurs, der auch "experimentieren" und "Spaß an der Freude" noch rechtfertigt.

Was ich ja gerne mal probieren würde: Metadata Device mit Optane 5800X. Die könnten mit 1.6 TB gerade so für einen mittelgroßen Storagenode (~400TB) ausreichen, wenn ich das richtig in Erinnerung habe...
 
OmniOS 151038q ist verfügbar

Die ist ein Security Update für OpenSSL bugs

Übrigens
OmniOS hat ein Stable Release alle 6 Monate mit neuesten Open-ZFS Features und eine Long Term Stable alle 2 Jahre. Dabei werden keine neuen OS oder ZFS Features aufgenommen, es gibt nur Sicherheits- und Bugfixes ca 1-2 mal im Monat. Jede Version hat ein eigenes Software Repository um die Versionen sauber zu trennen.

Alle OmniOS Versionen sind OpenSource inkl. der Sicherheits- und Bugfixupdates und frei verfügbar. Es gibt aber eine kommerzielle Support Option. - für mich neben dem minimalistischen Ansatz und der damit einhergehenden Stabilität ein sehr wichtiger Aspekt, Commercial Support

Für sonstige Nutzung kann man OmniOS als Patron unterstützen, Donate
 
Hi

Ich möchte gerne meinem ESXi AiO napp-it eine Platte und eine SSD entnehmen. Da drauf waren VMs per NFS und SMB Storage. Muss ich da bezüglich ZFS/Pools/Platten was entfernen, bevor ich die Hardware kappe? Ich habe da bei Platten entfernen mal drauf geklickt, da hat napp-it irgend etwas verarbeitet. Die ZFS Dateisysteme sind aber noch da.

Wie entferne ich die Platten richtig?
 
Das ist zumindest eine Möglichkeit, wenn Du den jeweiligen Pool gar nicht mehr nutzt, in dem die Platte hing. Falls Du eine Platte aber nur aus einem vdev entfernen willst und der zugehörige Pool aber überleben/verfügbar bleiben soll, ist das nicht der richtige Weg.
 
Ne, ich brauch die Datenträger anderweitig dann. Sofern die evo nicht totgeschrieben ist. Bin schon gespannt auf die Cristal Disk Info.
 
Hallo,

ich habe gerade Proxmox aufgesetzt und möchte auf den Disks nun zusätzliche Partitionen erstellen, mit welchen ZFS Pools gebildet werden sollen.
Aber wie erstelle ich neue Partitionen auf den Disks?
Code:
root@Z97X:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk
├─sda1   8:1    0  1007K  0 part
├─sda2   8:2    0   512M  0 part
└─sda3   8:3    0  14.5G  0 part
sdb      8:16   0 232.9G  0 disk
├─sdb1   8:17   0  1007K  0 part
├─sdb2   8:18   0   512M  0 part
└─sdb3   8:19   0  14.5G  0 part
sdc      8:32   0 232.9G  0 disk
├─sdc1   8:33   0  1007K  0 part
├─sdc2   8:34   0   512M  0 part
└─sdc3   8:35   0  14.5G  0 part
hat sich erledigt, cfdisk scheint gut zu funktionieren.

MFG Basti
 
Zuletzt bearbeitet:
Basti, vergiss Partitionen - Du machst normalerweise einen zpool über alle Disks und erstellst dann ZFS Datasets statt Partitionen.
 
Hi

Ich möchte gerne meinem ESXi AiO napp-it eine Platte und eine SSD entnehmen. Da drauf waren VMs per NFS und SMB Storage. Muss ich da bezüglich ZFS/Pools/Platten was entfernen, bevor ich die Hardware kappe? Ich habe da bei Platten entfernen mal drauf geklickt, da hat napp-it irgend etwas verarbeitet. Die ZFS Dateisysteme sind aber noch da.

Wie entferne ich die Platten richtig?

Wen man den Pool nicht mehr benötigt:
Pool Export oder Pool Destroy, dann Platten ziehen (Falls Hotplugfähig, sonst vorher herunterfahren)

Wenn man den Pool weiterbetreibt und Platte ersetzen möchte
Neue Platte einsetzen (hot oder cold) einstecken und Disk > Replace

Disk Remove geht nur bei Mirror, L2Arc, Slog und special vdev (Pool bleibt funktionsfähig ohne dieses Device).
Einzelne Platten aus einem Raid-Z lassen sich nich entfernen ohne Pool Degraded oder Pool Offline
 
Hi

Ja danke. Noch eine Frage: was bewirkt das genau, wenn ein HBA IT geflasht ist? Wieso sehe ich die daran angeschlossenen Platten im BIOS nicht? Das ist ja noch vor dem Zeitpunkt, wo dann der Controller vom ESXi an den Filer durchgereicht wird. Wenn der HBA dann im ESXi zum Filer durchgereicht ist, sieht das Storage die Platten ja auch?

Und an was erkenne ich, ob ein HBA bereits geflasht ist? Wenn sich sein BIOS beim Boot nicht mehr meldet, bzw. wenn ich die Platten im BIOS nicht sehe? Weil muss demnächst einen Server mit LSI2008 aufsetzen, und bin mir nicht sicher, ob der schon im IT Mode ist.
 
Der Controller meldet sich nach dem Booten und zeigt kurz die Firmware und angeschlossene Platten. Die Anzeige des Ramtests, der Biosversion und weiterer Controller kann man im Bios ein/ausschalten. Nennt sich oft fastboot oder ähnlich.

IT Mode ist wie Sata AHCI und reicht die Platten einfach an das OS durch. Es gibt keine Raid Funktionalität im HBA oder Treiber wie z.B. bei IR Mode (Raid 1/10 oder bei Mainboard Raid statt AHCI ). Mit jeder Firmware wird ein anderer Treiber benötigt. IT Mode und der zugehörige Treiber gilt als besonders stabil, ausgereift und schnell.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh