[Sammelthread] ZFS Stammtisch

Eine wirklich saubere Lösung wird schwierig sein.
Für den generellen Zugriff wäre ein Internet-Router/ Firewall eine saubere Lösung. Die haben zumindest basierend auf der IP sowas eingebaut.

Ich hab ja bei deinem all-in-one Konzept die Astaro Firewall am Laufen. Da kann ich zwar den Internetzugang zeitgesteuert machen, aber wenn die User-PCs und Astaro im gleichen subnetz sind, kann ich glaub nicht den internen Verkehr einschränken, denn der läuft doch nicht über die Firewall.

Für den zweiten Fall mit den verschiedenen Ordnern gäbe es die Lösung z.B. per con zu den entsprechenden Zeiten ein shell-script zu starten, das die share-level ACL-Rechte entsprechend setzt und den SMB Dienst dann neu startet,

Leider hab ich von scripting überhaupt keine Ahnung, wie sie geschrieben werden müssen. gea wärst du so nett und würdest du so ein Script hierfür zusammenstellen?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich hab ja bei deinem all-in-one Konzept die Astaro Firewall am Laufen. Da kann ich zwar den Internetzugang zeitgesteuert machen, aber wenn die User-PCs und Astaro im gleichen subnetz sind, kann ich glaub nicht den internen Verkehr einschränken, denn der läuft doch nicht über die Firewall.

Ich kenne die Astaro nicht. Prinzipiell müsste die NAS in ein DMZ mit Regelung des Datenverkehrs LAN-DMZ
z.B. alle Ports für IP 192.168.1.2 von .. bis Uhr erlaubt. Wird aber in der Regel nur für IP Adressen der Rechner einstellbar sein.


Leider hab ich von scripting überhaupt keine Ahnung, wie sie geschrieben werden müssen. gea wärst du so nett und würdest du so ein Script hierfür zusammenstellen?

Ein Script ist zunächst eine einfache Textdatei die mit jedem Texteditor erstellt werden kann und in der im einfachsten Fall Console-Befehle nacheinander aufgelistet sind. Sowas gibt es auch unter Windows und heißt dort Batchdatei. Das Script muss Execute Dateirechte haben (z.B. 755) und kann per Console zum Testen oder dann per cron (root) gestartet werden. Der Aufruf erfolgt entweder mit sh /pfad/script oder einfach mit /pfad/script

Das Script enthält in der ersten Zeile die Angabe des Interpreters, der das script ausführen soll also z.B.

#!/bin/sh

Befehl1
Befehl2
Befehl3
..


Die Befehle müssten folgendes auf die share-Steuerdatei Datei setzen
(Solaris legt für jedes share z.B. das share /backup/tm eine Steuerdatei /backup/tm/.zfs/shares/tm an.
ACL auf diese Datei wirken direkt auf die Freigabe unabhängig und zusätzlich zu den Dateirechten)

vorhandene ACL löschen
ACL für die erlaubten user setzen
SMB service neu starten


also z.B.

#!/bin/sh
chmod A- /backup/tm/.zfs/shares/tm
chmod A=user:gozer:read_data:allow /backup/tm/.zfs/shares/tm
svcadm restart smb/server

siehe ACL: http://docs.oracle.com/cd/E19253-01/820-2313/gbchf/index.html
 
Zuletzt bearbeitet:
Die Befehle müssten folgendes auf die share-Steuerdatei Datei setzen
(Solaris legt für jedes share z.B. das share /backup/tm eine Steuerdatei /backup/tm/.zfs/shares/tm an.
ACL auf diese Datei wirken direkt auf die Freigabe unabhängig und zusätzlich zu den Dateirechten)

vorhandene ACL löschen
ACL für die erlaubten user setzen
SMB service neu starten


also z.B.

#!/bin/sh
chmod A- /backup/tm/.zfs/shares/tm
chmod A=user:gozer:read_data:allow /backup/tm/.zfs/shares/tm
svcadm restart smb/server

siehe ACL: http://docs.oracle.com/cd/E19253-01/820-2313/gbchf/index.html

WOW, super danke für die Hilfe.

Jetzt gehts aber schon los. Ich hab mal versucht mit WinSCP auf das versteckte Verzeichnis ".zfs" zu kommen - aber keine Chance. Bei WinSCP sind zwar unter Einstellungen/Umgebung/Listenfenster "Versteckte Dateien anzeigen" aktiviert und ich sehe auch.$EXTEND aber eben .zfs nicht. Natürlich bin ich als root angemeldet.
Gibts hier eine Lösung, da per Console und mc die Ansicht nicht gerade prickelnd ist.

In deinem Link zu Oracle wird auf den Befehl "# ls -V file.1" hingewiesen. Diese benötige ich ja um da im Script die gewünschten Änderungen zu machen.
Die Option -V gibts bei meinem oi_148 nicht, obwohl die Option ja schon seit mind. Solaris10 drinne ist.
Auf der Console bekomm ich bei
Code:
root@ripley:/archepool/bilder/.zfs/shares# ls -l bilder
-rwxrwxrwx+ 1 root root 0 2011-12-16 13:50 bilder
#
#
root@ripley:/archepool/bilder/.zfs/shares# ls -V bilder
ls: invalid option -- 'V'
Try `ls --help' for more information.
Offensichtlich ist da irgend etwas falsch bei mir, denn siehe Bild sind die ACLs doch gesetzt.
acl.png

Irgendwelche Ideen was falsch läuft?
Auch habe ich diese Steuerdatei bzw. .zfs in keinem der darunter liegenden Folder. Geh ich richtig in der Annahme, dass die ACL vererbt werden und erst eine Steuerdatei in einem Unterverzeichnis angelegt wird, wenn ich dort anderweitige ACLs setze.

Wenn bei group:kids:readxs_set:fs_____allow steht kann ich dann ein einzelnes Kind, welches in der Gruppe kids ist ein "read___deny" setzen?
 
1.
Das .zfs Snapshotverzeichnis wird von Solaris versteckt. Ein direkter Zugriff darauf ist aber möglich.
per zfs set snapdir=visible dataset kann man den Ordner sichtbar machen

Die share-Steuerdatei wird automatisch angelegt, wenn SMB sharing aktiviert wird

2.
nicht das gnu ls sondern die Solaris ls Version nehmen
/usr/bin/ls
OpenSolaris CIFS ACL / Permission Settings HowTo : SolarisCIFSPermissions

3.
Bei Solaris ist die ACL Reihenfolge wichtig.
Dier erste allow oder deny Regel, die zutrifft wird genommen.
Weitere Regeln werden dann nicht geprüft. (Wie bei Firewall-Regeln)

(Im Gegensatz zu Windows, wo erst alle deny dann alle allow Regeln geprüft werden)
 
Zuletzt bearbeitet:
Hallo,

hat jemand Erfahrung mit rdiffi-backup und opensolaris machen können? Funktioniert es uneingeschränkt bei heterogenen Umgebungen?

Hat jemand ein gutes Howto zum erstellen von ZFS-Pools Raid1, Vergrößerungen (Platte hinzufügen), Wartung (Geschwindigkeit, "Gesundheit" beobachten, Was tun bei defekt einer HDD, Benachrichtigungsmöglichkeiten bei defekt) und Verschlüsselung der Pools.

MfG
MrDeluxe
 
Das .zfs Snapshotverzeichnis wird von Solaris versteckt. Ein direkter Zugriff darauf ist aber möglich.
per zfs set snapdir=visible dataset kann man den Ordner sichtbar machen

Muss aber offensichtlich für jedes Share-Verzeichnis extra gemacht werden.

Die Befehle müssten folgendes auf die share-Steuerdatei Datei setzen
(Solaris legt für jedes share z.B. das share /backup/tm eine Steuerdatei /backup/tm/.zfs/shares/tm an.
ACL auf diese Datei wirken direkt auf die Freigabe unabhängig und zusätzlich zu den Dateirechten)

vorhandene ACL löschen
ACL für die erlaubten user setzen
SMB service neu starten


also z.B.

#!/bin/sh
chmod A- /backup/tm/.zfs/shares/tm
chmod A=user:gozer:read_data:allow /backup/tm/.zfs/shares/tm
svcadm restart smb/server

Ich hab die Shares so gemacht, wie in deiner Anleitung beschrieben, also die ACLs nicht über oi gesetzt, sondern über Windows.
Die Gruppe Kids hat nur lese und ausführ-Rechte
verwaltung.png

Übersicht:
Code:
root@ripley:/# /usr/bin/ls -V /archepool/bilder/.zfs/shares/bilder
-rwxrwxrwx+  1 root     root           0 Dez 16 13:50 /archepool/bilder/.zfs/shares/bilder
              everyone@:rwxpdDaARWcCos:-------:allow
#
#
root@ripley:/# /usr/bin/ls -dv /archepool/bilder/.zfs/shares/bilder
-rwxrwxrwx+  1 root     root           0 Dez 16 13:50 /archepool/bilder/.zfs/shares/bilder
     0:everyone@:read_data/write_data/append_data/read_xattr/write_xattr
         /execute/delete_child/read_attributes/write_attributes/delete
         /read_acl/write_acl/write_owner/synchronize:allow
#
#
root@ripley:/# idmap dump -n
wingroup:Domain Users@ripley    ==      gid:2147483653
wingroup:Guests@BUILTIN ==      gid:2147483654
winuser:Guest@ripley    ==      uid:2147483649
wingroup:Network        ==      gid:2147483651
wingroup:Authenticated Users    ==      gid:2147483652
wingroup:Administrators@BUILTIN ==      gid:2147483650
usid:S-1-5-21-3426417962-2065886083-3854092125-1101     ==      unixuser:alex
winuser:Administrator@ripley    ==      unixuser:root
gsid:S-1-5-21-3426417962-2065886083-3854092125-2147483658       ==      unixgroup:staff
gsid:S-1-5-21-3426417962-2065886083-3854092125-2147483651       ==      unixgroup:sys
gsid:S-1-5-21-3426417962-2065886083-3854092125-2147483648       ==      unixgroup:root
gsid:S-1-5-21-3426417962-2065886083-3854092125-2147483750       ==      unixgroup:kids
usid:S-1-5-21-3426417962-2065886083-3854092125-1116     ==      unixuser:wdlxtv
usid:S-1-5-21-3426417962-2065886083-3854092125-1115     ==      unixuser:Werner
usid:S-1-5-21-3426417962-2065886083-3854092125-1113     ==      unixuser:Georg
usid:S-1-5-21-3426417962-2065886083-3854092125-1117     ==      unixuser:mathilda
#

Wenn ich jetzt die Hilfedateien richtig verstehe, müsste das deny-Script für User "Georg" so aussehen:
Code:
#!/bin/sh
chmod A0user:Georg:read_data/execute/list_directory:deny /archepool/bilder/.zfs/shares/bilder
svcadm restart smb/server

um dann wieder Zugriff für "Georg" zu gewähren:
Code:
#!/bin/sh
chmod A-user:Georg /archepool/bilder/.zfs/shares/bilder
svcadm restart smb/server

Ist das richtig so?
Funktioniert das auch, wenn Georg in der group kids ist und die Zugriffsrechte per Windows gesetzt sind?
Was passiert mit den Verz. oder Dateien, welche in der Zeit wenn für User auf deny steht, sind für diese dann auch ein Zugriff, wenn wieder auf allow gestellt ist möglich? Stichwort: Vererbung
 
Zuletzt bearbeitet:
Ich hab jetzt mal 2 Dateien mit 0755 Rechte angelegt.
/var/eigene_scripte/Georg.allow.sh
Code:
#!/bin/sh
chmod A-user:Georg /archepool/bilder/.zfs/shares/bilder
svcadm restart smb/server

/var/eigene_scripte/Georg.deny.sh
Code:
#!/bin/sh
chmod A0user:Georg:read_data/execute/list_directory:deny /archepool/bilder/.zfs/shares/bilder
svcadm restart smb/server

unter /var/spool/cron/crontabs/root
hab ich jetzt
Code:
00 22 * * * /usr/eigene_scripte/Georg.deny.sh
00 17 * * 1-5 /usr/eigene_scripte/Georg.allow.sh
00 14 * * 6,7 /usr/eigene_scripte/Georg.allow.sh
hinzugefügt.
Täglich ab 22:00 Uhr Zugang verweigern, Mo-Fr ab 17:00 Uhr und Sa-So ab 14:00 Uhr Zugang erlaubt.
 
Zuletzt bearbeitet:
Hallo,

habe gerade im HardForum gelesen, dass man mindestens eine 64-bit fähige CPU nutzen sollte. Also kann ich das mit einem Pentium IV als Fileserver gleich vergessen?
 
hallo zusammen,

am wochenende hat mir scrub zum ersten mal fehler korrigiert. als ich mir dann die platten im napp-it an geschaut habe, sah es bei zwei so aus:

c6t0d0 Soft Errors: 1 Hard Errors: 12 Transport Errors: 0
Vendor: ATA Media Error: 5 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 3224 Predictive Failure Analysis: 0

c6t5d0 Soft Errors: 0 Hard Errors: 14 Transport Errors: 0
Vendor: ATA Media Error: 9 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 3224 Predictive Failure Analysis: 0



wie muss ich das jetzt bewerten, sind die kurz vor exitus oder alles noch im sicheren bereich?

(muss die frage in den festplatten bereich? wer kennt dort zfs?)
 
Hallo,

habe gerade im HardForum gelesen, dass man mindestens eine 64-bit fähige CPU nutzen sollte. Also kann ich das mit einem Pentium IV als Fileserver gleich vergessen?

Prinzipiell geht es auch mit 32bit und max 3,5 GB RAM, am Besten mit einer älteren Distri z.B. mit NexentaCore.
Es kann nur sein, dass Fehler nicht entdeckt wurden weil heute alle mit der 64 Bit Version arbeiten

Angesichts des Stromverbrauchs würde ich aber lieber ein etwas neueres Board in 64 Bit nehmen

---------- Post added at 14:52 ---------- Previous post was at 14:41 ----------



Zu Plattenfehlern:
Alle Platten haben irgendwann Fehler, seien es Oberflächenfehler, Schreib/ Lesefehler warum auch immer oder sogenannte silent errors (Datenrost) z.B. zufällig, durch Entmagnetisierung/Magnetfelder oder Radioaktivität. Das Besondere an ZFS ist lediglich, dass es diese Fehler durch die Prüsummen auf alle Daten entdecken und reparieren kann, entweder beim Zugriff darauf oder durch Plattenscrubbing auf alle Daten des Pools.

Andere Dateisysteme merken das nichtmal. Erst durch Zugriffsfehler, Bluescreens oder bei einem Offline Filecheck werden die da eher zufällig entdeckt. Problematisch wird es nur, wenn immer wieder neue Fehler auftauchen. Dann mal einen Smartcheck oder besser einen Test mit einem Tool des Plattenherstellers durchführen.
 
Zuletzt bearbeitet:
Hallo zusammen!

wir haben ein Riesen-Problem mit unserem Zpool, und zwar sind plöztlich die Metadaten korrupt vom Pool und er ist nicht mehr nutzbar.
Daten sind nicht mehr verfügbar.
Lösungsvorschlag des Systems ist, den Pool zu destroyen und neu zu erstellen.

Wie kann es überhaupt dazu kommen, sind die Metadaten nicht auch redundant auf den Festplatten des Pools?

Und hat jemand eine Idee wie der Pool gerettet werden kann?

Hier die zpool status Ausgabe:

pool: tank
state: FAULTED
status: The pool metadata is corrupted and the pool cannot be opened.
action: Destroy and re-create the pool from
a backup source.
see: http://www.sun.com/msg/ZFS-8000-72
scan: none requested
config:

NAME STATE READ WRITE CKSUM
tank FAULTED 0 0 1 corrupted data
raidz2-0 ONLINE 0 0 6
spare-0 ONLINE 0 0 0
c7t1d0 ONLINE 0 0 0
c7t16d0 ONLINE 0 0 0
c7t2d0 ONLINE 0 0 0
c7t3d0 ONLINE 0 0 0
c7t4d0 ONLINE 0 0 0
c7t5d0 ONLINE 0 0 0
c7t15d0 ONLINE 0 0 0

Hilfe!
 
Moin viktorx,

die Frage warum die Metadaten des Pools korrupt sind, kann ich Dir auch nicht beantworten, aber zur Rettung Eurer Daten auf dem Pool würde ich Folgendes versuchen:

1. Maschine herunterfahren und alles Platten des Pools herausnehmen.
2. Maschine wieder hochfahren. Dabei wird sich das ZFS über einen nicht mehr vorhandenen ZPOOL tank beschweren. (Klar, die Platten sind ja auch nicht mehr da!)
3. Den ZPOOL löschen (# zpool destroy trank ,evtl. mit '-f' das Löschen erzwingen)
4. Sofern bei '# zpool status' keine Fehler mehr angezeigt werden jetzt die Maschine wieder herunterfahren und die Platten wieder einbauen.
5. Wenn das System wieder läuft mit '# zpool import tank' versuchen den Pool zu importieren. Das kann zu Fehlermeldungen führen und evtl. sind auch nicht alle Daten mehr zu restaurieren, aber besser als nichts. Mit dem Schalter '-n' kann ein Trockendurchlauf ohne echtes Importieren vorgenommen werden, zumindest habe ich so die Hinweise aus dem Link zu Oracle (Sun) verstanden. Wenn der Import nicht gleich klappt, kannst Du ihn mit '-f' erzwingen.

6. Wenn das nichts nützt, musst Du wohl Euer Backup bemühen.

Grüße und viel Erfolg!
 
Danke für die Antwort Witan!

wir haben etwas ähnliches schon ausprobiert gehabt:
System mit Solaris 11 live CD gebootet und versucht den Pool in das Live System zu importieren mit: # sudo zpool import -fFn tank
-f für Force
-F für Recovery mode for a non-importable pool
-n für Dry run

Da kamen allerdings IO-Errors.. Und der Import schlug fehl.

Zur Info noch, das System lief auf Solaris11Express.

gibt's noch Ideen?
 
Hallo zusammen!

wir haben ein Riesen-Problem mit unserem Zpool, und zwar sind plöztlich die Metadaten korrupt vom Pool und er ist nicht mehr nutzbar.Daten sind nicht mehr verfügbar.
Lösungsvorschlag des Systems ist, den Pool zu destroyen und neu zu erstellen.

Ich würde

- erst mal neustarten (ausschalten, kurz warten, einschalten)
- versuchen den Pool (eventuell read only) neu importieren
- es ohne
c7t1d0 ONLINE 0 0 0 und/oder
c7t16d0 ONLINE 0 0 0

versuchen, falls eine der Platten defekt ist und den Bus blockiert.
Ein Hardware-Problem ist durchaus wahrscheinlich (Controller, Kabel, Disk)

Falls das nicht hilft, an anderer Hardware ein import versuchen oder ein ganz aktuelles Solaris 11
von DVD booten und versuchen, ob das den Pool importieren kann.
 
Zuletzt bearbeitet:
@viktorx

die IO-Fehler beim Import scheinen "normal" zu sein. Entscheidend ist der Rest der Fehlermeldung beim Import. In dem Dokument von Sun wird das deutlich (darf ich Teile aus dem Dokument hier per Copy/Paste zitieren?). Sofern ein Import möglich ist, hast Du immer mit einem irreversiblen Datenverlust zu tun, da der Pool auf einen älteren Stand (den letzten fehlerfreien?) zurückgesetzt wird. Nach einem erfolgreichen Import (auch mit IO-Fehlern) wird in dem Dokument eine Fehlerprüfung des Pools mittels Scrub dringend empfohlen!
 
Ab napp-it 0.7b unterstütze ich XAMPP 1.7.7 in der GUI
apache friends - xampp für solaris

Installation unter OpenIndiana live oder Solaris 11 live via
wget -O - www.napp-it.org/amp | perl

enthalten:
Apache 2.2.21, MySQL 5.5.16, PHP 5.3.8 & PEAR + multibyte (mbstring) support, Perl 5.12.1, ProFTPD 1.3.3e, phpMyAdmin 3.4.5, OpenSSL 1.0.0c, Freetype2 2.4.2, libjpeg 6b, libpng 1.2.39, zlib 1.2.5, expat 1.95.7, pdf class 009e, IMAP C-Client 2007e, OpenLDAP 2.4.23, libiconv 1.13.1, FreeTDS 0.82, libgdbm 1.8.3, libxslt 1.1.26, mcrypt 2.5.8, cURL 7.21.1, eAccelerator 0.9.6.1, Webalizer 2.21-2, libxml 2.7.7, mod_perl 2.0.4, SQLite 2.8.17 + 3.7.2

xampp.png
 
Zuletzt bearbeitet:
Servus,

seit einiger Zeit überlege ich meinen Linux-Server auf ZFS zu migrieren. Nun will ich diesen Schritt endlich wagen. Mit Linux habe ich mehrere Jahre Erfahrung (RAID, LVM, LUKS) ... kein Problem. Von Solaris und ZFS habe ich aber so gut wie keine Ahnung. Das Prinzip von ZFS (Pools, Raidz, etc.) habe ich so weit verstanden und unter Linux bereits ausprobiert. Der Punkt mit der Verschlüsselung wird wohl der schwierigste werden. Genau deshalb bin ich hier und hoffe auf Unterstützung.

Prinzipiell würde ich folgendermaßen vorgehen:

1. Alle vier Festplatten mit LUKS verschlüsseln.
2. Die Platten via cryptsetup ins System einbinden.
3. Mit zpool create tank raidz /dev/mapper/x1 /dev/mapper/x2 .. einen Pool erstellen und ins System einbinden.
4. Dateisystem erzeugen.
5. Startskript für das einbinden der Platten (USB-Keyfile) erstellen.

Ist es wirklich so einfach (naiv gefragt :d)? Oder fehlt noch etwas bzw. gibt es bessere Ansätze. Den Umweg über Solaris würde ich ungern gehen. Natürlich wäre die native ZFS-Verschlüsselung wohl die elegantere Lösung. Leider gibt es diese Unterstützung unter Linux noch nicht.
 
Servus,

seit einiger Zeit überlege ich meinen Linux-Server auf ZFS zu migrieren. Nun will ich diesen Schritt endlich wagen. Mit Linux habe ich mehrere Jahre Erfahrung (RAID, LVM, LUKS) ... kein Problem. Von Solaris und ZFS habe ich aber so gut wie keine Ahnung. Das Prinzip von ZFS (Pools, Raidz, etc.) habe ich so weit verstanden und unter Linux bereits ausprobiert. Der Punkt mit der Verschlüsselung wird wohl der schwierigste werden. Genau deshalb bin ich hier und hoffe auf Unterstützung.

Prinzipiell würde ich folgendermaßen vorgehen:

1. Alle vier Festplatten mit LUKS verschlüsseln.
2. Die Platten via cryptsetup ins System einbinden.
3. Mit zpool create tank raidz /dev/mapper/x1 /dev/mapper/x2 .. einen Pool erstellen und ins System einbinden.
4. Dateisystem erzeugen.
5. Startskript für das einbinden der Platten (USB-Keyfile) erstellen.

Ist es wirklich so einfach (naiv gefragt :d)? Oder fehlt noch etwas bzw. gibt es bessere Ansätze. Den Umweg über Solaris würde ich ungern gehen. Natürlich wäre die native ZFS-Verschlüsselung wohl die elegantere Lösung. Leider gibt es diese Unterstützung unter Linux noch nicht.

Ich bin jetzt nicht genug in Linux geübt um die Erfolgsaussichten abzuschätzen.
Ich würde es so machen:

Aus den vier Platten ein vdev und einen ZFS Pool erstellen
Darauf ein ZFS Dateisystem anlegen
Wenn gewünscht die ZFS-Eigenschaft Crypt aktivieren
(Mit Eingabe des Keys oder als File von z.B. USB)

Voll transparent für alle Anwendungen und der Pool ist voll transportabel

Leider geht dies nur bei Solaris 11. Alle anderen ZFS - Plattformen können das nicht.
Ich erwarte das nichtmal bei OpenIndiana. Ich denke Oracle wird da den Deckel drauf halten.
(Vielleicht mal als nicht komptible Eigenentwicklung)

Wenn das aber heute unter ZFS wichtig ist, würde ich wirklich empfehlen, einen Blick auf Solaris 11 zu werfen.
Es ist bestechend einfach und stabil- mit Linux Vorkenntnissen sowieso.

ps
In den 90ern ging jeder davon aus, dass Windows NT jedes Unix und Linux killen wird.
Lediglich MacOS wurde daneben eine Daseinsberechtigung zugesprochen. SUN ist damals angetreten
etwas zu schaffen, was Windows NT im Serverbereich in fast jedem Punkt schlagen kann.
Ich denke, Sie haben das in vielen Punkten erreicht. Leider waren Sie technisch top, konnten das aber
nicht in Verkaufserfolge umsetzen und wurden von Oracle geschluckt. Dennoch ist es neben Windows
und OSX das einzige Serversystem "aus einer Hand". Vieles tut einfach ohne Verrenkungen.
(Trotz der manchmal bescheuerten Usability - im Vergleich z.B. zu OSX)
 
Zuletzt bearbeitet:
Hallo gea,

vielen Dank für deine Ausführungen.

Grundsätzlich spricht nichts gegen Solaris. Auch nichts gegen eine Insellösung a la FreeNAS oder napp-it. Entscheidend für mich ist aber die Flexibilität. Ich möchte einen einzigen Server (für fast alles ;) ) haben. Nicht mehrere Speziallösungen die nur mehr Zeitaufwand bedeuten. Unter Linux habe ich eine riesige Auswahl an Anwendungen. Unter Solaris wüsste ich nicht einmal wie ich mir aus den Sourcen eines Programms schnell mal etwas kompilieren könnte. Zumal ich mir sicher bin, dass soetwas nicht ohne Anpassungen ablaufen würde. Hardwarekompatibilität und Verfügbarkeit (Ich kann die Platten auf fast jedem anderen Linux lesen, wenn ich muss) sprechen eindeutig für Linux. Ich lasse mich hier aber gerne eines Besseren belehren. Interessant in diesem Zusammenhang wäre für mich, ob ich mit der Solaris-Live Version auch auf NTFS formatierte Datenträger lesend und schreibend zugreifen kann.

Soweit ich es deine Ausführungen richtig verstanden habe, werden unter ZFS die Daten transparent verschlüsselt, d. h. es ist für jeden ersichtlich wie eine Datei benannt wurde und wo sich diese auf der Festplatte befindet!? Ideal ist das zwar nicht aber für meine Zwecke ausreichend. Entscheidend wäre ob ich auf eine solche verschlüsselte Platte auch unter Linux, zumindest lesend, zugreifen könnte.


Zurück zu meinem Eingangspost. Es wären auch folgende Strukturen denkabar:

MD-RAID (disk-1 + disk-2, ...)
LUKS
ZFS

oder

ZFS
LUKS
MD-RAID (disk-1 + disk-2, ...)

oder

ZFS
mirror-0
LUKS-1
disk-1
LUKS-2
disk-2
etc.

Der Punkt Datenintegrität in diesem Zusammenhang wäre hier entscheidend. Leider fehlen mir an dieser Stelle tiefergehenden Kenntnisse zu ZFS, um das zu beurteilen.
 
Grundsätzlich spricht nichts gegen Solaris. Auch nichts gegen eine Insellösung a la FreeNAS oder napp-it. Entscheidend für mich ist aber die Flexibilität. Ich möchte einen einzigen Server (für fast alles ;) ) haben.
Nicht mehrere Speziallösungen die nur mehr Zeitaufwand bedeuten. Unter Linux habe ich eine riesige Auswahl an Anwendungen. Unter Solaris wüsste ich nicht einmal wie ich mir aus den Sourcen eines Programms schnell mal etwas kompilieren könnte. Zumal ich mir sicher bin, dass soetwas nicht ohne Anpassungen ablaufen würde.

Entweder aus dem repository installieren (pkg add oder apt-get install, je nach distri) oder kompilieren
Aber vielleicht sind Speziallösungen auch nicht so schlecht. Im Storagebereich ist Solaris einfach weiter,
manche Sachen sind mit Windows am Einfachsten, anderes is besonders gut bei Linux.
Ich nehme dazu meine all-in-one Lösung: ESXi als Basis, alles inkl. Storage (mit passthrough) virtualisisert.


Hardwarekompatibilität und Verfügbarkeit (Ich kann die Platten auf fast jedem anderen Linux lesen, wenn ich muss) sprechen eindeutig für Linux. Ich lasse mich hier aber gerne eines Besseren belehren.

Wenn ZFS, dann ist der pool in jedem ZFS-OS importierbar, das dessen ZFS Version und Grundpartitionierung kann.
(Egal ob Solaris, FreeBSD oder Linux)

Interessant in diesem Zusammenhang wäre für mich, ob ich mit der Solaris-Live Version auch auf NTFS formatierte Datenträger lesend und schreibend zugreifen kann.

siehe Fuse on Solaris
wobei ich die ntfs Platte immer am PC anstecken würde und übers Netz gehen.

Soweit ich es deine Ausführungen richtig verstanden habe, werden unter ZFS die Daten transparent verschlüsselt, d. h. es ist für jeden ersichtlich wie eine Datei benannt wurde und wo sich diese auf der Festplatte befindet!? Ideal ist das zwar nicht aber für meine Zwecke ausreichend. Entscheidend wäre ob ich auf eine solche verschlüsselte Platte auch unter Linux, zumindest lesend, zugreifen könnte.

transparent heisst hier, ein Dateisystem ist verschlüsselt und dann quasi offline oder per key geöffnet und ohne Einschränkung zugänglich. Die Verschlüssellung von Solaris 11 Dateisystemen oder Pools kann nur von Solaris 11 gelesen werden.

Zurück zu meinem Eingangspost. Es wären auch folgende Strukturen denkabar:

MD-RAID (disk-1 + disk-2, ...)
LUKS
ZFS
..

wenn ich dm-crypt richtig verstehe, geht LUKS zwischen Dateisystem und Platte. Das wäre mir zu instabil (Ich würde ZFS unter Linux generell noch nicht stabil sehen).


Der Punkt Datenintegrität in diesem Zusammenhang wäre hier entscheidend. Leider fehlen mir an dieser Stelle tiefergehenden Kenntnisse zu ZFS, um das zu beurteilen.

eher experimentell = eher unsicher ?
 
Zuletzt bearbeitet:
Mangels Erfahrung kann ich zur Stabilität der Linux-Implementierung nicht viel dazu sagen. Die Liste von Bugs und Features die Fehlen ist recht überschaubar (https://github.com/zfsonlinux/zfs/issues?milestone=&sort=created&direction=desc&labels=&state=open). Ich denke, dass man Ende diesen Jahres / Anfang nächsten Jahres mit der Final rechnen kann.

Natürlich hat auch eine Virtualisierungslösung ihre Reize. Aber da bin ich noch am Überlegen ob ich mir den Aufwand antun möchte. Zumal das mit dem durchschleifen von Hardware auf Consumer-Boards vom jeweiligen Board abhängig ist. Serverhardware ist mir für eine rein private Nutzung zu teuer und kommt daher nicht in Frage.

LUKS ist quasi die Verschlüsselung. Am "sichersten" ist wohl eine solche Kombination bei der ZFS ganz oben in der Hierachie steht. Also die von mir zuletzt genannte Variante. ZFS als Basis incl. raidz. Darüber wird dann die Cryptengine gestülpt. Es sollten also alle ZFS-Features erhalten bleiben. Ob die Daten verschlüsselt sind oder nicht sollte dann für ZFS ja egal sein.
Wie löst eigentlich FreeNAS das Ganze? Unter FreeBSD ist ja die Situation (keine native ZFS-Verschlüsselung verfügbar) ähnlich. Nur sind sie dort etwas weiter als unter Linux. Dafür unterstützt FreeNAS (Version 7.xx) aber die Verschlüsselung von ZFS Datenpartitionen. Das muss ja auf ähnliche Weise wie von mir hier beschrieben geschehen. Es schadet offensichtlich weder der Performance noch der Datenintegrität.
 
Funktionsweise Snaps

Hallo Ihr,

ich lasse mir auf meinem Fileserver alle paar Tage automatisch einen Snap des Filesystems anlegen.
Wenn ich mir den Platzverbrauch der einzelnen Snaps ansehe, komme ich zu der Erkentnis, das die Snaps immer auf den vorhergehenden Snap aufbauen. Stimmt das so? Was passiert denn dann, wenn ich irgendeinen Snap aus der Mitte lösche? Dann wären doch auch die nachfolgenden Sicherungen nur noch Müll - Oder?!
Irgendwie habe ich da noch ein kleines Verständnisproblem oder ich interpretiere die Statistiken falsch.
Kann mich da jemand bitte mal "aufklären" :wink:

Gruß Millenniumpilot
 
Mangels Erfahrung kann ich zur Stabilität der Linux-Implementierung nicht viel dazu sagen. Die Liste von Bugs und Features die Fehlen ist recht überschaubar (https://github.com/zfsonlinux/zfs/issues?milestone=&sort=created&direction=desc&labels=&state=open). Ich denke, dass man Ende diesen Jahres / Anfang nächsten Jahres mit der Final rechnen kann.
Final ne ausgereift

Natürlich hat auch eine Virtualisierungslösung ihre Reize. Aber da bin ich noch am Überlegen ob ich mir den Aufwand antun möchte. Zumal das mit dem durchschleifen von Hardware auf Consumer-Boards vom jeweiligen Board abhängig ist. Serverhardware ist mir für eine rein private Nutzung zu teuer und kommt daher nicht in Frage.

Supemicro X9 boards mit Intel Serverchipsattz ab ca 130 Euro

LUKS ist quasi die Verschlüsselung. Am "sichersten" ist wohl eine solche Kombination bei der ZFS ganz oben in der Hierachie steht. Also die von mir zuletzt genannte Variante. ZFS als Basis incl. raidz. Darüber wird dann die Cryptengine gestülpt. Es sollten also alle ZFS-Features erhalten bleiben. Ob die Daten verschlüsselt sind oder nicht sollte dann für ZFS ja egal sein.

Verschlüsselung im Dateisystem ist am Idealsten.

<paranoia>Verschlüsselung on Top of Dateisystem: Da braucht man nur einen Layer ala Virenscanner dazwischenschalten und alles ist offen
</paranoia>

Wie löst eigentlich FreeNAS das Ganze? Unter FreeBSD ist ja die Situation (keine native ZFS-Verschlüsselung verfügbar) ähnlich. Nur sind sie dort etwas weiter als unter Linux. Dafür unterstützt FreeNAS (Version 7.xx) aber die Verschlüsselung von ZFS Datenpartitionen. Das muss ja auf ähnliche Weise wie von mir hier beschrieben geschehen. Es schadet offensichtlich weder der Performance noch der Datenintegrität.

search: Geli

---------- Post added at 22:59 ---------- Previous post was at 22:44 ----------

Hallo Ihr,

ich lasse mir auf meinem Fileserver alle paar Tage automatisch einen Snap des Filesystems anlegen.
Wenn ich mir den Platzverbrauch der einzelnen Snaps ansehe, komme ich zu der Erkentnis, das die Snaps immer auf den vorhergehenden Snap aufbauen. Stimmt das so? Was passiert denn dann, wenn ich irgendeinen Snap aus der Mitte lösche? Dann wären doch auch die nachfolgenden Sicherungen nur noch Müll - Oder?!
Irgendwie habe ich da noch ein kleines Verständnisproblem oder ich interpretiere die Statistiken falsch.
Kann mich da jemand bitte mal "aufklären" :wink:

Gruß Millenniumpilot

Copy on Write Dateisysteme wie ZFS (und mal btrfs) verbrauchen keinen Platz für einen Snapshot. Es kostet auch fast keine Zeit einen anzulegen (in Gegensatz zu Lösungen wie etwa Apple's TimeMaschine die Snaps durch Kopieren erzeugen). Selbst Zehntausende von Snaps mit Multi-Terabytes Größe sind deshalb kein Problem.

Da beim Schreiben grundsätzlich keine Daten überschrieben werden sondern immer neu angelegt werden, ist ein Snapshot lediglich ein Einfrieren des momentanen Datenstands mit der Markierung, dass diese Blöcke nicht überschrieben werden dürfen. Ob Snapshots davor oder danach gelöscht werden ist dabei grundsätzlich unerheblich. Der im Snapshot gespeicherte Datenstand ist immer sicher.

Die Snapshots belegen zwar quasi keinen Extra-Speicher, blockieren aber Speicher, der nicht für Änderungen überschrieben werden darf. Der freie Speicher sinkt daher. Das Löschen eines Snapshots gibt dessen blockierten Speicher (Größe =die Änderung zum Vorsnap) aber zum Überschreiben frei. Falls andere Snaps aber noch Blöcke davon benötigten, bleiben diese vor dem Überschreiben geschützt.

..Nur einer der Gründe warum ZFS einen Quantensprung bei den Dateisystemen darstellt!
Bei allen anderen Systemen sind Snapshots in der Anzahl oder der Größe beschränkt und/oder es kostet immer furchtbar viel Zeit einen anzuleben oder die Performance des Systems sinkt zum Teil drastisch. (z.B.ESXi)

Von dem Problem, dass Snaps im Crashfall sonst meist weg sind ganz zu schweigen (z.B. ntfs)
 
Zuletzt bearbeitet:
Ausgereift ist das sicher nicht. Selbst ZFS hat fast fünf Jahre gebraucht um als ausgereift angesehen werden zu können.

An Serverhardware habe ich kein Interesse. Ich habe bereits ein System auf AMD Basis, welches für meine Zwecke vollkommen ausreicht.

Beim Thema Verschlüsselung reden wir etwas aneinander vorbei. Ich bezog das am "sichersten" auf die Integrität und Verfügbarkeit meiner Daten. Dass es bei der Art und Weise meiner Lösungsansätze offene Flanken gibt ist mir durchaus bewusst. Mir geht es bei diesem Thema weniger um meine "geheimen" Daten. Primär geht es mir um den möglichen Verlust. Vor ca. einem 3/4 Jahr wurde ein paar Straßen weiter von mir eingebrochen und sämtliche Hardware mitgenommen. Hintz und Kuntz muss ja nicht alles bekommen was sich darauf befindet.
Im Übrigen ist jeder physische Zugriff eines Angreifers auf ein System potentiell gefährlich. Da braucht es keinen Virenscanner irgendwo dazwischen. Da reicht schon ein Keylogger der die Passworteingabe beim Booten abgreift. Von den potentiellen Lücken eines Betriebssystems, welches über ein LAN and das Internet angebunden ist, brauchen wir erst gar nicht reden. Sprich dem Bundestrojander werde auch ich so kaum entkommen können. ^^

Wenn ich GELI richtig verstehe macht es nichts anderes als LUKS. Also genau das was ich unter Linux vorhabe.
 
Hallo Gea,

Das Löschen eines Snapshots gibt dessen blockierten Speicher (Größe =die Änderung zum Vorsnap) aber zum Überschreiben frei. Falls andere Snaps aber noch Blöcke davon benötigten, bleiben diese vor dem Überschreiben geschützt.

Danke, das war die Erklärung. Mich hatte gewundert, das die älteren Snaps nicht den größten Speicherplatzverbrauch hatten, sondern nur die Differenz zum vorherigen Snap. Daher auch meine falsche Vermutung.
Müsste damit aber nicht nach dem Löschen eines Snaps der nachfolgende Snap größer werden, da er jetzt auch Blöcke vom Vorgänger schützen muß?

Edit: OK, nachfolgende Snaps werden ggf größer. Frage also erledigt. Hatte wohl zufälligerweise gerade ungeeignete Snaps ausgewählt.

Gruß Millenniumpilot
 
Zuletzt bearbeitet:
Hallo Gea,

habe soeben von Napp-it 0.6k auf 0.6r upgedatet und seit dem zählen bei den Festplatten die Softerrors hoch "Error: S:4 H:0 T:0".
Der Grund ist ja bekannt. Gibt es hierfür demnächst eine Lösung oder ist dies ein reines smartctl-Problem?

Gruß millenniumpilot
 
Hallo zusammen!

wir haben ein Riesen-Problem mit unserem Zpool, und zwar sind plöztlich die Metadaten korrupt vom Pool und er ist nicht mehr nutzbar.
Daten sind nicht mehr verfügbar.
Lösungsvorschlag des Systems ist, den Pool zu destroyen und neu zu erstellen.

Wie kann es überhaupt dazu kommen, sind die Metadaten nicht auch redundant auf den Festplatten des Pools?

Und hat jemand eine Idee wie der Pool gerettet werden kann?

Hier die zpool status Ausgabe:

pool: tank
state: FAULTED
status: The pool metadata is corrupted and the pool cannot be opened.
action: Destroy and re-create the pool from
a backup source.
see: http://www.sun.com/msg/ZFS-8000-72
scan: none requested
config:

NAME STATE READ WRITE CKSUM
tank FAULTED 0 0 1 corrupted data
raidz2-0 ONLINE 0 0 6
spare-0 ONLINE 0 0 0
c7t1d0 ONLINE 0 0 0
c7t16d0 ONLINE 0 0 0
c7t2d0 ONLINE 0 0 0
c7t3d0 ONLINE 0 0 0
c7t4d0 ONLINE 0 0 0
c7t5d0 ONLINE 0 0 0
c7t15d0 ONLINE 0 0 0

Hilfe!

Nochmals Danke für Eure Tipps, Leute!
Aber der Pool konnte leider nicht mehr gerettet werden, und musste neu erstellt werden.

Ohne der "Spare"-Platten(c7t1d0,c7t16d0) ließ er sich gar nicht importieren, auch nicht mit -f(force) oder -m (-m bezieht sich wohl nur auf Cache devices), da weigerte sich Solaris zu importieren wegen nicht genügend replicas... Ausgaben waren also immer, entweder "pool metadaten corrupt" oder "nicht genug replicas". Alle Festplatten waren aber online und mit dd konnte man alle auslesen. fmadm faulty lieferte auch keine Informationen zu dem Problem.
Jedoch waren in /var/adm/messages einige Warnungen über 2 Festplatten
(die dann auch ausgetauscht wurden, weil diese die einzigen verdächtigen waren in diesem Zwischenfall):

Jan 24 18:29:29 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@e,0 (sd20):
Jan 24 18:29:29 s911fs007 drive offline
Jan 24 18:29:29 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@f,0 (sd21):
Jan 24 18:29:29 s911fs007 drive offline
Jan 24 19:29:44 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@e,0 (sd20):
Jan 24 19:29:44 s911fs007 drive offline
Jan 24 19:29:44 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@f,0 (sd21):
Jan 24 19:29:44 s911fs007 drive offline
Jan 24 20:29:58 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@e,0 (sd20):
Jan 24 20:29:58 s911fs007 drive offline
Jan 24 20:29:58 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@f,0 (sd21):
Jan 24 20:29:58 s911fs007 drive offline

Was gibt es denn für Möglichkeiten Festplatten zu monitoren und Festplatten-Fehler früh zu erkennen?
Weil Solaris merkt sowas wohl nicht schnell genug
 
Hallo Gea,

habe soeben von Napp-it 0.6k auf 0.6r upgedatet und seit dem zählen bei den Festplatten die Softerrors hoch "Error: S:4 H:0 T:0".
Der Grund ist ja bekannt. Gibt es hierfür demnächst eine Lösung oder ist dies ein reines smartctl-Problem?

Gruß millenniumpilot

Unter Solaris funktioniert die smartctl-auto-Erkennung des Plattentyps nicht. Ich muss also aufs Blaue die Plattentypen sata, iscsi und ide durchprobieren. Auch klappt das gezielte Auslesen einzelner Parameter nicht überall. Ich probiere daher jetzt die wichtigsten Methoden durch um Status, Seriennummer und Temperatur bei möglichst vielen Konfigurationen auszulesen und nehme dafür in Kauf dass der Softerror-Zähler bei Abfrage der Smartwerte hochzählt.

---------- Post added at 13:47 ---------- Previous post was at 13:26 ----------

Jan 24 18:29:29 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@e,0 (sd20):
Jan 24 18:29:29 s911fs007 drive offline
Jan 24 18:29:29 s911fs007 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci8086,3410@9/pci1000,3150@0/sd@f,0 (sd21):
Jan 24 18:29:29 s911fs007 drive offline

Was gibt es denn für Möglichkeiten Festplatten zu monitoren und Festplatten-Fehler früh zu erkennen?
Weil Solaris merkt sowas wohl nicht schnell genug

Ich vermute mal, dass da eine Platte warum auch immer ausgefallen ist und Solaris hat versucht die Hotfix einzubauen. Vor dem Ende des Rebuild ist dann eine zweite Platte ausgefallen womit die Redundanz eines Raid-Z2 verloren ist. Dies ist ein generelles Raid-Problem unabhängig von ZFS.

Insgesamt merkt ZFS viel früher Probleme als andere Systeme aufgrund der Daten-Prüfsummen. Bei einem Ausfall zweier Platten hilft das aber auch nicht. Da bringt es nur ein Backup an einem anderen physischen Ort. Was man machen könnte ist statt eines Raid-Z2 ein Z3 aufbauen, bei dem drei Platten ausfallen könnten und/oder regelmäßig den Smart-status zu prüfen oder einen Smart Check laufen zu lassen. Ob das den obigen Fehler vorhergesagt hätte ist aber nicht sicher.

Wenn die Platten jetzt alle wieder 'als in Ordnung scheinen' würde ich ohnehin die Verkabelung, das Netzteil oder die sonstige Hardware (Controller, RAM, Board) oder das Stromnetz in den Kreis der Ursachen einbeziehen. (aufgrund der zeitgleichen offline-Meldung zweier Platten vor allem aber Verkabelung und den Plattencontroller, denn dass zwei Platten gleichzeitig ausfallen ist eigentlich nicht wahrscheinlich)
 
Zuletzt bearbeitet:
Wäre es denkbar, dass eine der 2 Festplatten Probleme gemacht hat und dabei die 2e mit riss? Weil beide an einem Kanal oder ähnliches hingen?
Seltsam sind diese stündlichen Abstände, und dass es immer diese 2 gewesen sind.
 
Zuletzt bearbeitet:
Ich vermute mal, dass da eine Platte warum auch immer ausgefallen ist und Solaris hat versucht die Hotfix einzubauen. Vor dem Ende des Rebuild ist dann eine zweite Platte ausgefallen womit die Redundanz eines Raid-Z2 verloren ist. Dies ist ein generelles Raid-Problem unabhängig von ZFS.)

Ich dachte bei einem Raid-Z2 können bis zu 2 Platten gleichzeitig ausfallen?
 
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