dateisysteme
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| dateisysteme [2017-07-24 14:23:57] – [FSCK] manfred | dateisysteme [2020-04-21 16:00:19] (aktuell) – [Dateisysteme] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Dateisysteme ====== | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | - [[FAT]] | ||
| + | - [[UFS]] | ||
| + | - [[ext2]] | ||
| + | - [[ext3]] | ||
| + | - [[ext4]] | ||
| + | - [[ReiserFS]] | ||
| + | - [[XFS]] | ||
| + | - [[JFS]] | ||
| + | - [[btrfs]] | ||
| + | - [[ZFS]] | ||
| + | |||
| + | |||
| + | ==== Inodes ==== | ||
| + | |||
| + | Inodes-Verbrauch anzeigen: | ||
| + | # df -i | ||
| + | |||
| + | |||
| + | ===== Dateisystemliste ===== | ||
| + | |||
| + | |||
| + | ==== Linux-Dateisysteme ==== | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | ^ Dateisystem | ||
| + | ^ Ext4 | 16 TByte | 1024 PByte | | ||
| + | ^ Ext3 | 2 TByte | 16 TByte | | ||
| + | ^ JFS | 4 PByte | 32 PByte | | ||
| + | ^ ReiserFS 3 | 8 TByte | 16 TByte | | ||
| + | ^ XFS | 8192 PByte | 8192 PByte | | ||
| + | ^ ZFS (Solaris) | ||
| + | |||
| + | |||
| + | ==== Dateisystempflege ==== | ||
| + | |||
| + | === FSCK === | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | auf einem ext*-Dateisystem kann man einen Dateisystem-Check nach einer bestimmten Zeit bzw. nach einer bestimmten Anzahl an mounts erzwingen; in diesem Beispiel alle 20 Mounts bzw. alle 30 Tage: | ||
| + | > tune2fs -c 20 -i 30d /dev/sda1 | ||
| + | |||
| + | in der ''/ | ||
| + | * " | ||
| + | * " | ||
| + | * " | ||
| + | |||
| + | automatisches reparieren vor dem Mount, wenn Fehler erkannt werden (beim nächsten Reboot): | ||
| + | > touch /forcefsck | ||
| + | |||
| + | für mehr Infos: | ||
| + | > vi / | ||
| + | ... | ||
| + | GRUB_CMDLINE_LINUX_DEFAULT=" | ||
| + | ... | ||
| + | |||
| + | oder | ||
| + | > vi / | ||
| + | ... | ||
| + | exec mountall --daemon $force_fsck $fsck_fix $debug_arg --verbose | ||
| + | ... | ||
| + | |||
| + | Die folgende Option bewirkt beim Auftreten von Fehlern ein Auto-Repair. //(Nicht in jeder Situation ist ein automatisches Reparieren von Fehlern gewünscht und sinnvoll!)//: | ||
| + | > vi / | ||
| + | ... | ||
| + | FSCKFIX=yes | ||
| + | ... | ||
| + | |||
| + | Standard-Einstellungen für neue Dateisysteme | ||
| + | > vi / | ||
| + | ... | ||
| + | [defaults] | ||
| + | | ||
| + | base_features = sparse_super, | ||
| + | default_mntopts = acl, | ||
| + | enable_periodic_fsck = 1 | ||
| + | default_mntopts = acl, | ||
| + | enable_periodic_fsck = 1 | ||
| + | ... | ||
| + | |||
| + | |||
| + | ==== Cluster-Dateisysteme ==== | ||
| + | |||
| + | * [[http:// | ||
| + | |||
| + | Der Sinn eines Cluster-Dateisystems ist es, die Zugriffe auf ein | ||
| + | Storage Area Network zu regeln, da es zu einem Desaster käme, | ||
| + | wenn A und B gleichzeitig die gleiche Datei im Storage Area Network | ||
| + | schreiben würden. Nicht mehr und nicht weniger. | ||
| + | |||
| + | Generell wird zwischen den Architekturen **//shared nothing//** und **//shared all//** unterschieden. | ||
| + | |||
| + | Typischer Vertreter des **// | ||
| + | ist DB2 mit EEE (gesprochen „triple e“). Hier beherbergt jeder Clusterknoten | ||
| + | eine eigene Datenpartition. Ein Leistungsgewinn wird durch die Partitionierung | ||
| + | der Daten und die damit einhergehende verteilte Verarbeitung erzielt. | ||
| + | Ausfallsicherheit wird hiermit nicht gewährleistet. | ||
| + | |||
| + | Anders ist dies beim **// | ||
| + | durch einen konkurrierenden Zugriff auf Shared Storage, dass alle Clusterknoten | ||
| + | auf den gesamten Datenbestand zugreifen können. Neben Skalierung und | ||
| + | Leistungssteigerung wird durch diese Architektur auch eine zusätzliche | ||
| + | Ausfallsicherheit erreicht. Fällt ein Knoten aus, übernehmen die anderen Knoten | ||
| + | seine Aufgabe(n). | ||
| + | Ein typischer Vertreter der shared-all-Architektur ist der | ||
| + | Oracle Real Application Cluster (RAC). | ||
| + | |||
| + | Um die Konsistenz der Daten sicherzustellen, | ||
| + | | ||
| + | Gelingt den Servern aufgrund einer Störung im Netzwerk die Synchronisation nicht, so besteht die Gefahr von Inkonsistenzen. Üblicherweise wird das betroffene Dateisystem sich dann auf all jenen Servern herunterfahren, | ||
| + | |||
| + | - [[OCFS2]] | ||
| + | - [[GFS2]] | ||
| + | - [[Ceph]] | ||
| + | - [[Coda]] | ||
| + | - [[GlusterFS]] | ||
| + | - [[XtreemFS]] | ||
| + | - [[http:// | ||
| + | |||
| + | Aus meinen Testerfahrungen kommen folgende Clusterfilesysteme für mich in Frage: | ||
| + | - // | ||
| + | - // | ||
| + | |||
| + | // | ||
| + | // | ||
| + | Aber auch für // | ||
| + | |||
| + | // | ||
| + | Weiterhin ist // | ||
| + | |||
| + | // | ||
| + | // | ||
| + | |||
| + | Beide, // | ||
| + | Beide Clients laufen im FUSE-Mode, dadurch wird die Bandbreite eingeschränkt, | ||
| + | und nur // | ||
| + | |||
| + | |||
| + | ==== verteilte Dateisysteme, | ||
| + | |||
| + | # pkg search -o GlusterFS | ||
| + | net/ | ||
| + | |||
| + | # pkg search -o Ceph | ||
| + | net/ | ||
| + | net/ | ||
| + | math/ | ||
| + | |||
| + | # pkg search -o MooseFS | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | sysutils/ | ||
| + | |||
| + | # pkg search -o LizardFS | ||
| + | sysutils/ | ||
| + | |||
| + | |||
| + | ===== fsck-Vergleich ===== | ||
| + | |||
| + | |||
| + | ==== ext3 ==== | ||
| + | |||
| + | root@testhost: | ||
| + | fsck from util-linux-ng 2.17.2 | ||
| + | e2fsck 1.41.11 (14-Mar-2010) | ||
| + | Durchgang 1: Prüfe Inodes, Blocks, und Größen | ||
| + | Durchgang 2: Prüfe Verzeichnis Struktur | ||
| + | Durchgang 3: Prüfe Verzeichnis Verknüpfungen | ||
| + | Durchgang 4: Überprüfe die Referenzzähler | ||
| + | Durchgang 5: Überprüfe Gruppe Zusammenfassung | ||
| + | / | ||
| + | | ||
| + | real 4m17.636s | ||
| + | user 0m11.950s | ||
| + | sys | ||
| + | |||
| + | |||
| + | ==== ext4 ==== | ||
| + | |||
| + | root@testhost: | ||
| + | fsck from util-linux-ng 2.17.2 | ||
| + | e2fsck 1.41.11 (14-Mar-2010) | ||
| + | Durchgang 1: Prüfe Inodes, Blocks, und Größen | ||
| + | Durchgang 2: Prüfe Verzeichnis Struktur | ||
| + | Durchgang 3: Prüfe Verzeichnis Verknüpfungen | ||
| + | Durchgang 4: Überprüfe die Referenzzähler | ||
| + | Durchgang 5: Überprüfe Gruppe Zusammenfassung | ||
| + | / | ||
| + | | ||
| + | real 0m31.204s | ||
| + | user 0m10.980s | ||
| + | sys | ||
| + | |||
| + | |||
| + | ==== JFS ==== | ||
| + | |||
| + | root@testhost: | ||
| + | fsck from util-linux-ng 2.17.2 | ||
| + | fsck.jfs version 1.1.12, 24-Aug-2007 | ||
| + | processing started: 11/9/2010 17.11.30 | ||
| + | The current device is: / | ||
| + | Block size in bytes: | ||
| + | Filesystem size in blocks: | ||
| + | **Phase 0 - Replay Journal Log | ||
| + | **Phase 1 - Check Blocks, Files/ | ||
| + | **Phase 2 - Count links | ||
| + | **Phase 3 - Duplicate Block Rescan and Directory Connectedness | ||
| + | **Phase 4 - Report Problems | ||
| + | **Phase 5 - Check Connectivity | ||
| + | **Phase 6 - Perform Approved Corrections | ||
| + | **Phase 7 - Rebuild File/ | ||
| + | **Phase 8 - Rebuild Disk Allocation Maps | ||
| + | 104857600 kilobytes total disk space. | ||
| + | | ||
| + | | ||
| + | 0 kilobytes in extended attributes | ||
| + | 2186738 kilobytes reserved for system use. | ||
| + | | ||
| + | Filesystem is clean. | ||
| + | .....|... | ||
| + | | ||
| + | real 3m3.351s | ||
| + | user 0m4.700s | ||
| + | sys | ||
| + | |||
| + | |||
| + | ===== Dateisystemüberprüfung ===== | ||
| + | |||
| + | Eigentlich sollte //fsck// ja reichen... | ||
| + | aber leider erkennt es im Einzelfall nicht das richtige Dateisystem und versucht ein [[ext4]] als [[ext3]] anzusprechen | ||
| + | und manchmal möchte man, das auch ein " | ||
| + | |||
| + | Deshalb habe ich dieses Script geschrieben, | ||
| + | |||
| + | #!/bin/bash | ||
| + | | ||
| + | if [ -n " | ||
| + | | ||
| + | blkid ${1} | while read MDEV IDS; | ||
| + | do | ||
| + | | ||
| + | FST=" | ||
| + | MDEV=" | ||
| + | if [ " | ||
| + | fsck -t ${FST} -f -y ${MDEV}; | ||
| + | fi; | ||
| + | | ||
| + | done | ||
| + | | ||
| + | else | ||
| + | | ||
| + | echo "${0} [Laufwerksdatei]" | ||
| + | | ||
| + | fi | ||
| + | |||
| + | |||
| + | ====== Datenträgersoftware ====== | ||
| + | |||
| + | * [[LVM]] | ||
| + | * [[Disk-Mapper]] | ||
| + | * [[DRBD]] | ||
| + | |||
| + | |||
| + | ====== sonstiges ====== | ||
| + | |||
| + | * [[Hilfsprogramme des Dateisystems]] | ||
| + | * [[Dateisystem-Label]] | ||
| + | * [[Clusterfilesysteme]] | ||
| + | * [[kopieren auf verschiedene Weisen]] | ||
| + | |||
| + | |||
| + | ===== Dateiwiederherstellung / forensics ===== | ||
| + | |||
| + | | ||
| + | | ||
| + | Latest version available: 1.1.4-r1 | ||
| + | Latest version installed: [ Not Installed ] | ||
| + | Size of files: 87 kB | ||
| + | Homepage: | ||
| + | Description: | ||
| + | License: | ||
| + | |||
| + | | ||
| + | | ||
| + | Latest version available: 1.10 | ||
| + | Latest version installed: [ Not Installed ] | ||
| + | Size of files: 16 kB | ||
| + | Homepage: | ||
| + | Description: | ||
| + | License: | ||
| + | |||
| + | | ||
| + | | ||
| + | Latest version available: 1.8 | ||
| + | Latest version installed: [ Not Installed ] | ||
| + | Size of files: 41 kB | ||
| + | Homepage: | ||
| + | Description: | ||
| + | License: | ||
| + | |||
| + | |||
| + | ====== Ceph ====== | ||
| + | |||
| + | ein neues Volumen im Ceph erstellen: | ||
| + | > rbd -c / | ||
| + | |||
| + | wenn die Version vom Ceph aktueller ist als die Client-Software, | ||
| + | > rbd -c / | ||
| + | |||
| + | das neue Ceph-Volumen mappen, damit wir eine Gerätedatei bekommen | ||
| + | > rbd -c / | ||
| + | |||
| + | wenn das Volumen nicht mehr benötigt wird, dann trennen wir das Mapping zum Ceph wieder: | ||
| + | > rbd -c / | ||
| + | |||
