Btrfs

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Btrfs and the translation is 56% complete.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Btrfs ist ein copy-on-write (CoW) filesystem für Linux, welches die Implementierung erweiterter Funktionen anstrebt und einen Fokus auf Fehlertoleranz, Reparatur und einfache Administration legt. Während es von Oracle, Red Hat, Fujitsu, Intel, SUSE, STRATO, und vielen anderen gemeinsam Entwickelt wird, ist btrfs unter der GPL lizenziert und ist für Beiträge offen.

Merkmale

Ext4 ist sicher, stabil und kann große Dateisysteme mit Extents handhaben, also warum sollte man wechseln? Während es richtig ist, dass Btrfs immer noch als experimentell angesehen wird und dessen Stabilität noch wächst, kommt es dessen Übernahme als Standarddateisystem für Linux nahe. Manche Linuxdistributionen haben bereits angefangen, dazu zu wechseln mit deren neuesten Veröffentlichungen. Btrfs hat mit ZFS einige erweiterte Features gemeinsam, welche auch das ZFS-Dateisystem bei BSD-Distributionen und NAS-Geräten so weitverbreitet gemacht haben.

  • Copy on Write (CoW) und snapshotting - Macht das erstellen eines inkrementellen Backups unproblematisch, sogar von einem stark verwendeten Dateisystem oder einer Virtuellen Maschine (VM).
  • Dateilevel-Prüfsummen - Die Metadaten jeder Datei beinhalten eine Prüfsumme, die zum Erkennen und Reparieren von Fehlern verwendet wird.
  • Kompression - Dateien können auf die Schnelle komprimiert und dekomprimiert werden, was die Leseperformance steigert.
  • Auto-Defragmentierung - Die Dateisysteme werden von einem Thread im Hintergrund verwaltet während sie benutzt werden.
  • Subvolumes - Dateisysteme können sich einen einzelnen Speicherpool teilen anstatt auf deren eigenen Partition zu sein.
  • RAID - Btrfs hat dessen eigene Implementierung von RAID, also wird LVM oder mdadm nicht für RAID benötigt. Derzeit sind RAID 0, 1 und 10 unterstützt; RAID 5 und 6 werden als Unstabil angesehen.
  • Partitionen sind optional - Obwohl Btrfs mit Partitionen arbeitet, kann es auch direkt auf Rohlaufwerken benutzt werden (/dev/<device>).
  • Datendeduplizierung - Es gibt bisher nur limitierte Unterstützung für Datendeduplizierung; jedoch wird diese eventuell eine Standardfunktion von Btrfs werden. Dies ermöglicht Btrfs Platz zu sparen, in dem Dateien per binary diffs verglichen werden.
Tip
Siehe die Statusseite der Upstreamwiki für eine aktuelle und ausführliche Liste der Features. Für die weitverbreitete Verwendung sind aber nicht alle Features genug ausgereift.

In der Zukunft werden geclusterte Dateisysteme für deren Objektspeicher aktiv nutzen von copy on write und anderen erweiterten Features von Btrfs machen. Ceph ist ein Beispiel eines geclusterten Dateisystem, welches sehr vielversprechend aussieht und aus Btrfs nutzen ziehen kann.

Installation

Kernel

Aktiviere folgende Kerneloption, um Btrfs-Unterstützung einzuschalten:

KERNEL Activate Btrfs in the kernel
File systems  --->
    <*> Btrfs filesystem

Emerge

Das Paket sys-fs/btrfs-progs beinhaltet die Werkzeuge, die zum Arbeiten mit dem Btrfs-Dateisystem nötig sind.

root #emerge --ask sys-fs/btrfs-progs

Bedienung

Lange Btrfs-Befehle zu tippen kann sehr schnell mühsam werden. Jeder Befehl kann (außer dem grundlegenden btrfs-Kommando) auf einen sehr kurzen Satz an Anweisungen reduziert werden. Diese Methode ist hilfreich, wenn man über die Kommandozeile arbeitet und um dort die Menge der getippten Zeichen zu reduzieren.

Zum Beispiel zeigt folgender ausgeschriebene Befehl wie das Dateisystem defragmentiert werden kann, welches unter / befindlich ist:

root #btrfs filesystem defragment -v /

Kürzen Sie alle längeren Befehle die btrfs folgen, indem Sie alle auf deren eindeutigen, kürzesten Prefix reduzieren. In diesem Kontext wird mit eindeutig gemeint, dass es keine anderen btrfs-Befehle gibt, die sich mit dem getrimmten Befehl überschneiden. Die gekürzte Version des obenstehenden Befehls ist:

root #btrfs fi de -v /

Kein anderer Befehl von btrfs beginnt mit fi; filesystem ist das Einzige. Dasselbe gilt für das Subkommando de innerhalb des filesystem-Befehls.

Erstellung

Warnung
Der Befehl mkfs.btrfs zerstört unwiederruflich jeglichen Inhalt auf den Partitionen, welche zur Formatierung angegeben wurden. Bitte stellen Sie sicher, dass der richtige Datenträger und die korrekte Partition gewählt wurden bevor Sie jegliche mkfs-Befehle ausführen!

Um ein Btrfs-Dateisystem auf der Partition /dev/sdXN zu erstellen:

root #mkfs.btrfs /dev/sdXN

Im obigen Beispiel müssen Sie lediglich N mit der Partitionszahl und X mit dem Laufwerksbuchstaben des Datenträgers austauschen, welches zu formatieren ist. Zum Beispiel können Sie folgenden Befehl anstoßen, um den dritten Datenträger des Systems mit Btrfs zu formatieren:

root #mkfs.btrfs /dev/sda3
Wichtig
Die letzte Zahl in der Datei /etc/fstab sollte für alle Btrfs-Partitionen auf 0 stehen. fsck.btrfs und btrfsck sollten nicht bei jedem Systemstart durchgeführt werden.

Einhängen

Nach der Erstellung können Dateisysteme auf verschiedene Weisen eingehängt werden:

  • mount - Manuelles Einhängen.
  • fstab - Einhängepunkte in /etc/fstab zu definieren ermöglicht das automatische Einhängen bei Systemstart.
  • Removable media - Automatisches Einhängen durch Aufruf (nützlich für USB-Geräte).
  • AutoFS - Automatisches Einhängen bei Zugriff auf das Dateisystem.

Konvertieren von Dateisystemen auf Basis von ext*

Es ist möglich mit dem btrfs-convert-Dienstprogramm ext2, ext3 und ext4-Dateisysteme in Btrfs zu konvertieren.

Die folgenden Anweisungen unterstützen nur die Konvertierung von uneingehängten Dateisystemen. Um das Wurzeldateisystem zu konvertieren, muss man in ein Rescuesystem booten (SystemRescueCD funktioniert hierbei gut) und von dort aus die Befehle auf die Partition anwenden, auf der das Wurzeldateisystem liegt.

Stelle zuerst sicher, dass der Einhängepunkt nicht eingehängt ist:

root #umount <eingehängtes_gerät>

Prüfen Sie die Integrität des Dateisystems mit dessen zugehörigen fsck-Tool. Im nächsten Beispiel ist das Dateisystem ext4:

root #fsck.ext4 -f <ausgehängtes_gerät>

Verwende btrfs-convert, um den mit ext4 formatierten Datenträger auf Btrfs zu konvertieren.

root #btrfs-convert <ausgehängtes_gerät>

Stellen Sie sicher, dass in der Datei /etc/fstab die Spalte, die das Dateisystem angibt hinter dem gerade umformatierten Datenträger von ext4 zu Btrfs geändert wird.

DATEI /etc/fstabÄndern von ext4 auf btrfs
<Gerät>   <Einhängepunkt>  btrfs  defaults  0 0

Defragmentierung

Ein weiteres Feature von Btrfs ist die Defragmentierung während der Datenträger online ist. Um ein Wurzeldateisystem mit Btrfs zu defragmentieren, führen sie folgendes aus:

root #btrfs filesystem defragment -r -v /
Warnung
Defragmentieren mit den Kernelversionen < 3.9 oder ≥ 3.14-rc2 sowie auch dem Linux stable kernel der Versionen ≥ 3.10.31, ≥ 3.12.12 oder ≥ 3.13.4 trennt die ref-links zwischen Dateien und deren COW-Kopien[1] und kann dadurch die Speichernutzung erheblich erhöhen. Stellen Sie sicher, dass genug Speicherplatz auf dem Datenträger vorhanden ist und nicht zu viele Schnappschüsse existieren, da volle btrfs-Partitionen sehr langsam werden können.

Kompression

Btrfs unterstützt transparente Kompression mit den Kompressionsalgorithmen zlib, lzo und zstd (v5.1.0)[2]

Es ist auch möglich, einzelne Dateien durch die Nutzung von Dateiattributen zu komprimieren.

user $chattr +c

Die Einhängeoption compress schaltet das komprimieren aller neu erstellten Dateien als Standardverhalten ein. Um das gesamte Dateisystem erneut zu komprimieren, führen Sie folgenden Befehl aus:

root #btrfs filesystem defragment -r -v -clzo /

Abhängig von der Prozessor- und Laufwerksleistung kann die Benutzung von lzo-Komprimierung den Gesamtdurchsatz verbessern.

Als Alternative zu lzo ist es auch möglich, den Kompressionsalgorithmus zlib oder zstd zu verwenden. Zlib ist langsamer, hat aber ein höheres Kompressionsverhältnis, während zstd ein gutes Verhältnis zwischen den beiden hat[3].

Um zlib-Kompression auf dem gesamten Dateisystem zu erzwingen:

root #btrfs filesystem defragment -r -v -czlib /

Kompressionslevel

Seit der Kernelversion 4.15.0[4] kann das Kompressionslevel von zlib auf Level 1-9 gesetzt werden. Seit Kernelversion 5.1.0 kann zstd von Level 1-15 gesetzt weden. Zum Beispiel, um zlib zur Einhängezeit auf dessen maximales Kompressionslevel zu setzen:

root #mount -o compress=zlib:9 /dev/sdXY /pfad/zum/btrfs/einhängepunkt

Oder um minimale Kompression zu setzen:

root #mount -o compress=zlib:1 /dev/sdXY /pfad/zum/btrfs/einhängepunkt

Oder um die Kompressionsstärke anzupassen, in dem man den Datenträger neu einhängt:

root #mount -o remount,compress=zlib:3 /pfad/zum/btrfs/einhängepunkt

Das Kompressionslevel sollte einsehbar sein unter /proc/mounts oder in dem man den neuesten dmesg-Output mit folgendem Befehl ausliest:

root #dmesg | grep -i btrfs
[    0.495284] Btrfs loaded, crc32c=crc32c-intel
[ 3010.727383] BTRFS: device label My Passport devid 1 transid 31 /dev/sdd1
[ 3111.930960] BTRFS info (device sdd1): disk space caching is enabled
[ 3111.930973] BTRFS info (device sdd1): has skinny extents
[ 9428.918325] BTRFS info (device sdd1): use zlib compression, level 3

Kompressionsverhältnis und Speicherplatznutzung

Die bekannten Werkzeuge des Benutzerbreichs, um den derzeitigen Speicherplatzverbrauch und den freien Platz zu ermitteln wie etwa du und df können ungenaue Resultate auf einer Btrfs-Partition ausgeben aufgrund von grundlegenden Abweichungen wie Dateien geschrieben werden im Gegensatz zu, zum Beispiel, ext2/3/4[5].

It is therefore advised to use the du/df alternatives provided by the btrfs userspace tool btrfs filesystem. In addition to that, The compsize tool found in the sys-fs/compsize package can be helpful in providing additional information regarding compression ratios and the disk usage of compressed files. The following are example uses of these tools for a btrfs partition mounted under /media/drive.

user $btrfs filesystem du -s /media/drive
     Total   Exclusive  Set shared  Filename
 848.12GiB   848.12GiB       0.00B  /media/drive/
user $btrfs filesystem df /media/drive
Data, single: total=846.00GiB, used=845.61GiB
System, DUP: total=8.00MiB, used=112.00KiB
Metadata, DUP: total=2.00GiB, used=904.30MiB
GlobalReserve, single: total=512.00MiB, used=0.00B
user $compsize /media/drive
Processed 2262 files, 112115 regular extents (112115 refs), 174 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       99%      845G         848G         848G       
none       100%      844G         844G         844G       
zlib        16%      532M         3.2G         3.2G 

Multiple devices (RAID)

Btrfs can be used with multiple block devices in order to create RAIDs. Using Btrfs to create filesystems that span multiple devices is much easier than creating using mdadm since there is no initialization time needed for creation.

BTRFS handles data and metadata separately. This is an important factor to keep in mind when using a multi-device filesystem. It is possible to use separate profiles for data and metadata block groups. For example, metadata could be configured across multiple devices in RAID1, while data could be configured to RAID5. This is profile possible when using three or more block devices, since RAID5 requires a minimum of 3 block devices.

This type of profile offers the benefit of redundancy for metadata on each device and striping for data across devices, which increases read speeds. The drawback of this profile is more space than necessary is used for metadata, and write speeds are reduced for data blocks, since RAID5 uses a parity bit.

Creation

The simplest method is to use the entirety of unpartitioned block devices to create a filesystem spanning multiple devices. For example, to create a filesystem in RAID1 mode across two devices:

root #mkfs.btrfs -m raid1 <device1> <device2> -d raid1 <device1> <device2>

Conversion

Converting between RAID profiles is possible with the balance sub-command. For example, say three block devices are presently configured for RAID1 and mounted at /srv. It is possible to convert the data in this profile from RAID1 to RAID5 with using the following command:

root #btrfs balance start -dconvert=raid5 --force /srv

Conversion can be performed while the filesystem is online and in use. Possible RAID modes in btrfs include RAID0, RAID1, RAID5, RAID6, and RAID10. See the upstream BTRFS wiki for more information.

Warnung
It is currently not safe to use the RAID 5 or 6 modes[6]. RAID 5 and 6 modes have seen some fixes[7] in Linux 4.12, but overall status is still marked as unstable.[8][9]. Users who want to use RAID5 or RAID6 functionality of btrfs are encouraged to check the btrfs status page for stability status of said modes before utilizing the modes.

Removal

By device path

Block devices (disks) can be removed from multi-device filesystems using the btrfs device remove subcommand:

root #sudo btrfs device remove /dev/sde /srv
By device ID

Use the usage subcommand to determine the device IDs:

root #btrfs device usage /srv
/dev/sdb, ID: 3
   Device size:             1.82TiB
   Device slack:              0.00B
   Data,RAID1:             25.00GiB
   Data,RAID5:            497.00GiB
   Data,RAID5:              5.00GiB
   Metadata,RAID5:         17.00GiB
   Metadata,RAID5:        352.00MiB
   System,RAID5:           32.00MiB
   Unallocated:             1.29TiB
 
/dev/sdc, ID: 1
   Device size:             1.82TiB
   Device slack:              0.00B
   Data,RAID1:             25.00GiB
   Data,RAID5:            497.00GiB
   Data,RAID5:              5.00GiB
   Metadata,RAID5:         17.00GiB
   Metadata,RAID5:        352.00MiB
   System,RAID5:           32.00MiB
   Unallocated:             1.29TiB
 
/dev/sdd, ID: 4
   Device size:             1.82TiB
   Device slack:              0.00B
   Data,RAID1:             25.00GiB
   Data,RAID5:            497.00GiB
   Data,RAID5:              5.00GiB
   Metadata,RAID5:         17.00GiB
   Metadata,RAID5:        352.00MiB
   System,RAID5:           32.00MiB
   Unallocated:             1.29TiB
 
/dev/sde, ID: 5
   Device size:               0.00B
   Device slack:              0.00B
   Data,RAID1:             75.00GiB
   Data,RAID5:              5.00GiB
   Metadata,RAID5:        352.00MiB
   Unallocated:             1.74TiB

Next use the device ID to remove the device, in this case /dev/sde will be removed:

root #btrfs device remove 5 /srv

Subvolumes

As mentioned above in the features list, Btrfs can create subvolumes. Subvolumes can be used to better organize and manage data. They become especially powerful when combined with snapshots. Important distinctions must be made between Btrfs subvolumes and subvolumes created by Logical Volume Management (LVM). Btrfs subvolumes are not block level devices, they are POSIX file namespaces.[10] They can be created at any location in the filesystem and will act like any other directory on the system with one caveat: subvolumes can be mounted and unmounted. Subvolumes are nestable (subvolumes can be created inside other subvolumes), and easily created or removed.

Notiz
A subvolume cannot be created across different Btrfs filesystems. If /dev/sda and /dev/sdb both contain separate (non-RAID) Btrfs filesystems, there is no way a subvolume can expand across the two filesystems. The snapshot can be moved from one filesystem to another, but it cannot span across the two. It must be on /dev/sda or /dev/sdb.

Create

To create a subvolume, issue the following command inside a Btrfs filesystem's name space:

root #btrfs subvolume create <dest-name>

Replace <dest-name> with the desired destination and subvolume name. For example, if a Btrfs filesystem exists at /mnt/btrfs, a subvolume could be created inside it using the following command:

root #btrfs subvolume create /mnt/btrfs/subvolume1

List

To see the subvolume(s) that have been created, use the subvolume list command followed by a Btrfs filesystem location. If the current directory is somewhere inside a Btrfs filesystem, the following command will display the subvolume(s) that exist on the filesystem:

root #btrfs subvolume list .

If a Btrfs filesystem with subvolumes exists at the mount point created in the example command above, the output from the list command will look similar to the following:

root #btrfs subvolume list /mnt/btrfs
ID 309 gen 102913 top level 5 path mnt/btrfs/subvolume1

Remove

Subvolumes can be properly removed by using the subvolume delete command followed by the path to the subvolume. All available subvolume paths in a Btrfs filesystem can be seen using the list command above.

root #btrfs subvolume delete <subvolume-path>

As above, replace <subvolume-path> with the actual path to the subvolume to be removed. To delete the subvolume used in the examples above, the following command would be issued:

root #btrfs subvolume delete /mnt/btrfs/subvolume1
Delete subvolume (no-commit): '/mnt/btrfs/subvolume1'

Snapshots

Snapshots are subvolumes that share data and metadata with other subvolumes. This is made possible by Btrfs' Copy on Write (CoW) ability.[10] Snapshots can be used for several purposes, one of which is to create backups of file system structures at specific points in time.

If the root filesystem is Btrfs, it is possible to create a snapshot using the subvolume snapshot commands:

root #mkdir -p /mnt/backup/rootfs
root #btrfs subvolume snapshot / /mnt/backup/rootfs/

The following small shell script can be added to a timed cron job to create a timestamped snapshot backup of a Btrfs formatted root filesystem. The timestamps can be adjusted to whatever is preferred by the user.

DATEI btrfs_snapshot.shBtrfs rootfs snapshot cron job example
#!/bin/bash
NOW=$(date +"%Y-%m-%d_%H:%M:%S")
 
if [ ! -e /mnt/backup ]; then
mkdir -p /mnt/backup
fi
 
cd /
/sbin/btrfs subvolume snapshot / "/mnt/backup/backup_${NOW}"

Mounting

A subvolume can be mounted in a location different from where it was created, or users can choose to not mount them at all. For example, a user could create a Btrfs filesystem in /mnt/btrfs and create /mnt/btrfs/home and /mnt/btrfs/gentoo-repo subvolumes. The subvolumes could then be mounted at /home and /var/db/repos/gentoo, with the original top level subvolume left unmounted. This results in a configuration where the subvolumes' relative path from the top level subvolume is different from their actual path.

To mount a subvolume, perform the following command, where <rel-path> is the relative path of the subvolume from the top level subvolume, obtainable through the subvolume list command:

root #mount -o subvol=<rel-path> <device> <mountpoint>

Similarly, one can update the filesystem tab to mount their Btrfs subvolumes like so:

DATEI /etc/fstabMounting Subvolumes
<device>  <mountpoint>  btrfs  subvol=<rel-path>  0 2

Fehlersuche

Benutzung mit VM-Datenträgerdateien

When using Btrfs with virtual machine disk images, it is best to disable copy-on-write on the disk images in order to speed up IO performance. This can only be performed on files that are newly created. It also possible to disable CoW on all files created within a certain directory. For example, using the chattr command:

root #chattr +C /var/lib/libvirt/images

Clear the free space cache

It is possible to clear Btrfs' free space cache by mounting the filesystem with the clear_cache mount option. For example:

root #mount -o clear_cache /path/to/device /path/to/mountpoint

Btrfs frisst Arbeitsspeicher (Diskcache)

Wenn einige spezielle Funktionen von Btrfs verwendet werden (wie etwa das erstellen vieler Kopien per --reflink oder erstellen sehr vieler Schnappschüsse) kann viel Arbeitsspeicher beansprucht und nicht schnell genug vom inode cache des Kernels wieder freigegeben werden. Dieses Problem kann lange unentdeckt bleiben, da der für den Disk Cache verwendete Arbeitsspeicher nicht gut sichtbar ist für traditionelle Systemüberwachungswerkzeuge. Das Werkzeug slabtop, (welches Bestandteil des Pakets sys-process/procps ist), wurde spezifisch dafür gemacht, um herauszufinden wie viel Arbeitsspeicher von Kernelobjekten beansprucht wird.

root #slabtop
Active / Total Objects (% used)    : 5011373 / 5052626 (99.2%)
Active / Total Slabs (% used)      : 1158843 / 1158843 (100.0%)
Active / Total Caches (% used)     : 103 / 220 (46.8%)
Active / Total Size (% used)       : 3874182.66K / 3881148.34K (99.8%)
Minimum / Average / Maximum Object : 0.02K / 0.77K / 4096.00K
 
OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME
2974761 2974485  99%    1.10K 991587        3   3966348K btrfs_inode
1501479 1496052  99%    0.19K  71499       21    285996K dentry

Wenn der inode-cache zu viel Arbeitsspeicher verbraucht, kann der Kernel manuell dazu gebracht werden den Cache aufzulösen indem man per Echo einen Integer an /proc/sys/vm/drop_caches leitet[11].

Um auf der sicheren Seite zu sein und um dem Kernel zu helfen, die maximale Menge an Arbeitsspeicher zu ermitteln, die freigegeben werden kann, stellen Sie sicher dass Sie sync vor dem Ausführen der untenstehenden echo-Befehlen ausführen:

user $sync

Most of the time Btrfs users will probably want to echo 2 to reclaim just the slab objects (dentries and btrfs_inodes):

root #echo 2 > /proc/sys/vm/drop_caches

To clear the entire disk cache (slab objects and the page cache) use echo 3 instead:

root #echo 3 > /proc/sys/vm/drop_caches
Warnung
While the above commands are non-destructive (as long as a sync was completed before running them), they could seriously but temporarily slow down the system while the kernel loads only the necessary items back into memory. Think twice before running the above commands for systems under heavy load!

More information on kernel slabs can be found in this dedoimedo blog entry.

Einhängen von Btrfs schlägt fehl mit der Meldung: unknown filesystem type 'btrfs'

Die ursprüngliche Lösung von Tim auf Stack Exchange ermutigte zu folgender Lösung: Baue den Kernel manuell anstatt mit genkernel:

#cd /usr/src/linux
#make menuconfig
#make && make modules_install
#cp arch/x86_64/boot/bzImage /boot
#mv /boot/bzImage /boot/irgendein_kernelname
#genkernel --install initramfs

Btrfs root bootet nicht

Genkernel's initramfs lädt btrfs nicht so wie sie generiert wurde:

root #genkernel --btrfs initramfs

Kompiliere die Unterstützung für btrfs direkt in den Kernel anstatt eines Kernelmoduls oder Dracut, um die initramfs zu generieren.

Siehe auch

  • Btrfs snapshots - Skript, der Schnappschüsse erstellt sobald sich Dateien geändert haben
  • Btrfs/System Root Guide - Benutzen des Btrfs-Dateisystem als Sammlung von Subvolumes inklusive eines, welches als Wurzeldateisystem verwendet wird.
  • Btrfs native system root guide - Eine Alternativanleitung bezüglich der Nutzung eines Subvolumes auf einem Btrfs-Dateisystem als das Systemwurzeldateisystem.
  • Ext4 — an open source disk filesystem and most recent version of the extended series of filesystems.
  • Btrbk - Ein Backuptool für Btrfs-Subvolumes, welches Btrfs-spezifische Features benutzt, um einzelne Backups zu erstellen und diese auf bestimmte Backuporte zu übertragen.
  • Samba shadow copies - Benutzen von Samba um Schattenkopien als "Vorgängeversionen" auf Windowsclients anzeigen zu lassen.
  • Snapper — a command-line program capable of managing filesystem snapshots.
  • ZFS — a next generation filesystem created by Matthew Ahrens and Jeff Bonwick.

Externe Ressourcen

Referenzen