Btrfs
Btrfs est un système de fichiers fondé sur le copie sur écriture (CoW) pour Linux visant à implémenter des fonctionnalités complexes tout en mettant l'accent sur la tolérance aux pannes, la réparation et la facilité d'administration. Développé conjointement avec Oracle, Red Hat, Fujitsu, Intel, SUSE, STRATO, et bien d'autres, Btrfs est sous licence GPL et est ouvert à la contribution de n’importe qui.
Fonctionnalités
Ext4 is safe and stable and can handle large filesystems with extents, but why switch? While it is true that Btrfs is still considered experimental and is growing in stability, the time when Btrfs will become the default filesystem for Linux systems is getting closer. Some Linux distributions have already begun to switch to it with their current releases. Btrfs has a number of advanced features in common with ZFS, which is what made the ZFS filesystem popular with BSD distributions and NAS devices.
- Copie sur écriture et instantanés - Fait des sauvegardes différentielles sans difficultés, même à partir d'un système de fichiers "chaud" ou d'une machine virtuelle.
- Somme de contrôle au niveau du fichier - Métadonnées qui, pour chaque fichier, incluent une somme de contrôle permettant de détecter et réparer les erreurs.
- Compression - Les fichiers peuvent être compressés et décompressés à la volée, ce qui a pour conséquence d'augmenter les performances en lecture.
- Défragmentation automatique - Les systèmes de fichiers sont réglés par un thread en arrière-plan pendant leur utilisation.
- Sous-volumes - Filesystems can share a single pool of space instead of being put into their own partitions.
- RAID - Btrfs does its own RAID implementations so LVM or mdadm are not required in to have RAID. Currently RAID 0 and 1 are supported; RAID 5 and 6 are upcoming.
- Les partitions sont optionnelles - Bien que Btrfs puisse fonctionner avec des partitions, il est capable d'utiliser directement des périphériques bruts (/dev/<device>).
- Déduplication des données - La prise en charge de la déduplication des données est limitée ; cependant, celle-ci deviendra éventuellement une fonctionnalité standard dans Btrfs, lui permettant ainsi d'économiser de l'espace en comparant les fichiers via des diffs binaires.
Pour une liste à jour et exhaustive des fonctionnalité, vous êtes prié de consulter cette page du wiki officiel. Cependant, gardez à l'esprit que toutes les fonctionnalités listées ne sont pas encore suffisamment mature pour une large utilisation.
Down the road, new clustered filesystems will readily take advantage of Btrfs with its copy on write and other advanced features for their object stores. Ceph is one example of a clustered filesystem that looks very promising, and can take advantage of Btrfs.
Btrfs is said to be a stable and well-tested single-disk filesystem and ext4 replacement, but caution is advised when using advanced features such as Btrfs-RAID.[1]
Caveats
btrfs can counter-intuitively fail filesystem operations with ENOSPC when df reports free space due to internal fragmentation (free space pinned by DATA + SYSTEM chunks, but needed in METADATA chunks).
Additionally, a single 4K reference to a 128M extent inside btrfs can cause free space to be present, but unavailable for allocations. This can also cause btrfs to return ENOSPC when free space is reported by df.
Installing sys-fs/btrfsmaintenance and configuring the scripts to run periodically can help to reduce the possibility of ENOSPC issues by rebalancing btrfs, but it will not eliminate the risk of ENOSPC when free space is present. Some workloads will never hit ENOSPC while others will. If the risk of ENOSPC in production is unacceptable, you should use something else. If using btrfs, be certain to avoid configurations known to have issues.
With the exception of ENOSPC, information on the issues present in btrfs in the latest kernel branches is available at the btrfs status page.
Installation
Noyau
Activez les options suivantes du noyau pour activer la prise en charge de Btrfs :
File systems --->
<*> Btrfs filesystem
Emerge
Le paquet sys-fs/btrfs-progs contient les utilitaires nécessaire au fonctionnent de Btrfs.
root #
emerge --ask sys-fs/btrfs-progs
Utilisation
Consider setting up sys-fs/btrfsmaintenance to handle regular balancing, defrag, trimming, and scrubbing.
Taper les commandes Btrfs longues peut vite se révéler fatigant. Chaque commande (suivant la commande initiale btrfs) peut être réduit en une très petite collection d'instructions. Cette méthode est utile quand lorsque l'on travaille à partir de la ligne de commande pour réduire le nombre de caractères saisis.
Par exemple, pour défragmenter un système de fichiers situé à / (ci-dessous la commande longue) :
root #
btrfs filesystem defragment -v /
Shorten each of the longer commands after the btrfs command by reducing them to their unique, shortest prefix. In this context, unique means that no other btrfs commands will match the command at the command's shortest length. The shortened version of the above command is:
root #
btrfs fi de -v /
Aucune commande btrfs commence par fi
, filesystem
étant la seule. Même chose pour de
sous-commande de filesystem
.
Création
La commande mkfs.btrfs détruit de façon irréversible tout le contenu de la partition qui est désignée pour être formater. Soyez sûr que le disque et la partition sélectionnés sont correctes avant de lancer n'importe quelle commande mkfs !
Pour créer un système de fichiers sur la partition /dev/sdXN :
root #
mkfs.btrfs /dev/sdXN
Dans l'exemple suivant, remplacez N
par le numéro de partition et X
par la lettre correspondant au disque qui va être formaté. Par exemple, pour formater la troisième partition du premier disque en Btrfs, lancez :
root #
mkfs.btrfs /dev/sda3
La dernière colonne dans /etc/fstab devrait être
0
pour toutes les partitions Btrfs. fsck.btrfs et btrfsck ne devraient pas être lancés au démarrage.Labels
Labels can be added to btrfs filesystems, making mounting and organization easier.
Labels are generally less unique than UUIDs, but setting labels like rootfs for /, and homedir for /home can help with organization.
If multiple filesystems with the same label exist on a system, the first labeled system in the fstab, or the first returned by blkid will be mounted. It is generally best to avoid depending on this behavior, so unique labels should be used.
Labels can be added to a btrfs filesystem after it has been created by using:
root #
btrfs filesystem label /dev/sda1 rootfs
Labels can be added when the btrfs filesystem is created with:
root #
mkfs.btrfs -L rootfs /dev/sda1
Montage
Après création, les systèmes de fichiers peuvent être montés de différentes manières :
- mount - Montage manuel.
- fstab - Définir des points de montage dans /etc/fstab activant un montage automatique à chaque démarrage.
- Removable media - Montages automatiques à la demande (utile pour les périphériques USB).
- AutoFS - Montage automatique à l'accès au système de fichiers.
Conversion de systèmes de fichiers basés sur ext*
Il est possible de convertir des systèmes de fichiers ext2, ext3, et ext4 en Btrfs en utilisant l'utilitaire btrfs-convert.
Les instructions suivantes supportent seulement la conversion de systèmes de fichiers non montés. Afin de convertir la partition racine, veuillez démarrer sur un disque système de secours (SystemRescueCD convient parfaitement à ce genre de situation) puis lancer les commandes de conversion sur la partition racine.
Premièrement, soyez sûr que le point de montage est bien démonté :
root #
umount <périphérique_monté>
Vérifiez l'intégrité du système de fichier en utilisant l'outil adéquat fsck. Dans l'exemple suivant, le système de fichier est du ext4 :
root #
fsck.ext4 -f <périphérique_monté>
Utilisez btrfs-convert pour convertir un périphérique formaté en ext*, en Btrfs :
root #
btrfs-convert <périphérique_monté>
Assurez-vous d'éditer /etc/fstab après que le périphérique est été formaté, en changeant la colonne correspondant au système de fichiers utilisé, d'ext4 en Btrfs :
<périphérique> <point_de_montage> btrfs defaults 0 0
Défragmentation
Une autre fonctionnalité du Btrfs est la défragmentation en ligne. Pour défragmenter un système de fichiers racine en Btrfs, lancez :
root #
btrfs filesystem defragment -r -v /
The autodefrag
mount option sets the default behavior to online defragmentation.
La défragmentation avec des noyaux ayant une version < 3.9 ou ≥ 3.14-rc2 ainsi qu'avec des noyaux stables dont la version ≥ 3.10.31, ≥ 3.12.12 ou ≥ 3.13.4 casse les références entre fichiers et donc les copies sur écritures[2] et peut donc considérablement augmenter l’utilisation de l'espace. Soyer sûr d'avoir suffisamment d'espace disponible et de ne pas avoir trop d’instantanés sur le disque car les partitions pleines peuvent ralentir significativement le système.
Compression
Btrfs supporte la compression transparente : trois alghorithmes de compression sont disponibles zlib, lzo, et zstd[3].
Il est possible de compresser des fichiers spécifiques, en utilisant l'attribut suivant :
user $
chattr +c
L'option de montage compress
spécifie le comportement à suivre lors de la création de tous nouveaux fichiers. Pour recompresser tous le système de fichiers, lancer la commande suivante :
root #
btrfs filesystem defragment -r -v -clzo /
En fonction des performances du processeur et du disque, utiliser la compression L.Z.O. peut améliorer le débit global.
Il est possible d'utiliser la compression avec l'algorithme zlib plutôt que lzo. zlib est plus lent mais a un ratio de compression supérieur :
To force zlib compression across the whole filesystem:
root #
btrfs filesystem defragment -r -v -czlib /
Substitute zstd for zlib in the example above to activate zstd compression.
Niveau de compression
Depuis la version 4.15.0 du noyau[4], la compression utilisant zlib peut maintenant utiliser différents niveaux de compression, allant de 1 à 9. Par exemple, pour utiliser le niveau de compression maximum au montage :
root #
mount -o compress=zlib:9 /dev/sdXY /chemin/vers/point_de_montage
Ou pour utiliser le niveau de compression minimal :
root #
mount -o compress=zlib:1 /dev/sdXY /chemin/vers/point_de_montage
Ou ajuster la compression au remontage :
root #
mount -o remount,compress=zlib:3 /chemin/vers/point_de_montage
Le niveau de compression est visible dans /proc/mounts ou peut être obtenue par la sortie la plus récente de dmesg | grep -i btrfs
.
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
Adjust fstab for compression
Once a drive has been remounted or adjusted to compress data, be sure to add the appropriate modifications to the /etc/fstab file. In this example, zstd compression is set with a level of 9 at mount time:
/dev/sdb /srv btrfs compress=zstd:9,relatime,rw 0 0
Ratio de compression et usage du disque
The usual userspace tools for determining used and free space like du and df may provide inaccurate results on a Btrfs partition due to inherent design differences in the way files are written compared to, for example, ext2/3/4[5].
It is therefore advised to use the du/df alternatives provided by the btrfs userspace tool btrfs filesystem
. In addition, 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
Périphériques multiples (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 important 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 profile is 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 <périphérique1> <périphérique2> -d raid1 <périphérique1> <périphérique2>
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 the following command:
root #
btrfs balance start -dconvert=raid0 -mconvert=raid0 --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.
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.
Addition
Additional devices can be added to existing multi device file systems. Follow the removal section below.
A riskier, but faster, alternative to safely removing a device is to shut the system down (or if the system supports hot swappable drives, at least unmount the filesystem), physically disconnect and remove the device that is to be replaced, substituted and connect the new device in it's place, power up the system (if necessary).
Note: Systems that will be power cycled will have the multi device filesystem fail to mount, since a device has been physically removed from the pool.
Once the system is booted, mount the multi-device filesystem with mount -odegraded, then perform the following steps on adding a new device.
root #
mount -odegraded /srv
root #
btrfs device add --force /dev/sdd /srv
After the device has been re-added it is then necessary to re-balance the filesystem to be sure data is spanned across the newly added device:
root #
btrfs balance start /srv
Removal
By device path
Block devices (disks) can be removed from multi-device filesystems using the btrfs device remove subcommand:
root #
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
Resizing
btrfs partitions can be resized while online using the built-in resize subcommand.
This does not affect the size of the partition itself, just the filesystem.
Set the size of the root filesystem to 128gb:
root #
btrfs filesystem resize 128g /
Add 50 gigabytes of space to the rootfs:
root #
btrfs filesystem resize +50g /
The command can also fill all available space:
root #
btrfs filesystem resize max /
Sous-volumes
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 difference: subvolumes can be mounted and unmounted. Subvolumes are nestable (subvolumes can be created inside other subvolumes), and easily created or removed.
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.
Création
To create a subvolume, issue the following command inside a Btrfs filesystem's name space:
root #
btrfs subvolume create <destination>
Remplacez <destination>
par le chemin absolue du sous-volume. Par exemple, si un système de fichiers existe à /mnt/btrfs, un sous-volume pourrait être à l’intérieur de celui-ci en utilisant la commande suivante :
root #
btrfs subvolume create /mnt/btrfs/sousvolume1
Listage
Pour voir les sous-volumes qui ont été créés, utilisez la commande subvolume list
suivie par l'emplacement d'un système de fichiers. Si le dossier courant est quelque part à l'intérieur d'un système de fichiers, la commande suivante affichera les sous-volumes existant à l'intérieur de celui-ci :
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/sousvolume1
Suppression
All available subvolume paths in a Btrfs filesystem can be seen using the list command above.
Les sous-volumes peuvent être proprement supprimés grâce à la commande subvolume delete
suivie du chemin vers le sous-volume. Tous les chemins des sous-volume disponibles peuvent être obtenus en utilisant la commande de listage ci-dessus.
root #
btrfs subvolume delete <chemin>
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/sousvolume1
Delete subvolume (no-commit): '/mnt/btrfs/sousvolume1'
Instantanés
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.
Si la racine est en Btrfs, il est possible de créer un instantané en utilisant les commandes subvolume snapshot
:
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.
#!/bin/bash
NOW=$(date +"%Y-%m-%d_%H:%M:%S")
if [ ! -e /mnt/backup ]; then
mkdir -p /mnt/backup
fi
cd /
btrfs subvolume snapshot / "/mnt/backup/backup_${NOW}"
Montage
Un sous-volume peut être monté à un emplacement différent de celui où il a été créé, mais les utilisateurs peuvent aussi choisir de ne pas les monter du tout. Par exemple, un utilisateur pourrait créer un système de fichier Btrfs dans /mnt/btrfs et créer les sous-volumes /mnt/btrfs/home et /mnt/btrfs/portage. Les sous-volumes pourront être respectivement montés dans /home et /usr/portage, avec le sous-volume parent non monté. Il en résulte une configuration dans laquelle le chemin relatif des sous-volumes du sous-volume parent est différent de leur chemin réel.
Pour monter un sous-volume, veuillez exécuter la commande suivante, où <chemin-rel>
est le chemin relatif du sous-volume du sous-volume parent, obtenable via la commande subvolume list
:
root #
mount -o subvol=<chemin-rel> <périphérique> <point de montage>
De la même manière, on peut mettre à jour la table des système de fichiers afin de monter les sous-volumes comme ceci :
<périphérique> <point de montage> btrfs subvol=<chemin-rel> 0 2
Dépannage
Filesystem check
With a failing disk or corrupted data, it may be necessary to run the a filesystem check. Typically filesystem check commands are handled through the fsck. prefix, but for btrfs filesystems, checks are handled via the btrfs check subcommand:
root #
btrfs check --progress /dev/<device>
Checking multi-device filesystems are handled by passing any one of the devices in the filesystem to btrfs check. As long as all of the devices are available the check should run.
Multi device filesystem mount fails
After ungracefully removing one or more devices from a multi device filesystem, attempting to mount the filesystem will fail:
root #
mnt /srv
mount: /srv: wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error.
This type of mount failure could be caused by missing one or more devices from the multi device filesystem. Missing devices can be detected by using the filesystem show subcommand. In the following example /dev/sdb is one of the devices still connected to the multi device filesystem:
root #
btrfs filesystem show /dev/sdb
Label: none uuid: 9e7e9824-d66b-4a9c-a05c-c4245accabe99 Total devices 5 FS bytes used 2.50TiB devid 1 size 1.82TiB used 817.03GiB path /dev/sdc devid 3 size 1.82TiB used 817.00GiB path /dev/sdb devid 5 size 10.91TiB used 2.53TiB path /dev/sde devid 6 size 10.91TiB used 2.53TiB path /dev/sdd *** Some devices missing
Missing device can be ungracefully dropped from the filesystem by using the following command:
root #
btrfs device delete missing /srv
If the multi device filesystem is in RAID 0 mode, then data loss will occur!
Using with VM disk images
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 /chemin/vers/périphérique /chemin/vers/point_de_montage
Btrfs hogging memory (disk cache)
When utilizing some of Btrfs' special abilities (like making many --reflink
copies or creating high amounts of snapshots), a lot of memory can be consumed and not freed fast enough by the kernel's inode cache. This issue can go undiscovered since memory dedicated to the disk cache might not be clearly visible in traditional system monitoring utilities. The slabtop utility (available as part of the sys-process/procps package) was specifically created to determine how much memory kernel objects are consuming:
Active / Total Objects (% used) : 2259363 / 2338091 (96.6%) Active / Total Slabs (% used) : 467797 / 467803 (100.0%) Active / Total Caches (% used) : 83 / 175 (47.4%) Active / Total Size (% used) : 1489775.62K / 1512200.52K (98.5%) Minimum / Average / Maximum Object : 0.02K / 0.65K / 4096.00K
user $
sync
root #
echo 2 > /proc/sys/vm/drop_caches
root #
echo 3 > /proc/sys/vm/drop_caches
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!
Le montage échoue et retourne mount: type inconnu de système de fichiers 'btrfs'
#
cd /usr/src/linux
#
make menuconfig
#
make && make modules_install
#
cp arch/x86_64/boot/bzImage /boot
#
mv /boot/bzImage /boot/votre_noyau
#
genkernel --install initramfs
La racine Btrfs ne démarre pas
root #
genkernel --btrfs initramfs
Voir aussi
Ressources externes
* https://wiki.debian.org/Btrfs - Comme décrit par le wiki de Debian. * https://wiki.archlinux.org/index.php/Btrfs article sur le Btrfs - Comme décrit par le wiki de Arch Linux. * http://www.funtoo.org/BTRFS_Fun - BTRFS Fun sur le wiki de Funtoo. * http://marc.merlins.org/perso/btrfs/post_2014-05-04_Fixing-Btrfs-Filesystem-Full-Problems.html - Trucs et astuces pour résoudre les problèmes de Btrfs de niche dans certaines situations.
Références
- ↑ Examining btrfs, Linux’s perpetually half-finished filesystem
- ↑ man page for btrfs-filesystem(8), wiki Btrfs. Extrait du 6 février 2017.
- ↑ https://btrfs.wiki.kernel.org/index.php/Compression#Can_I_set_the_compression_level.3F
- ↑ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f51d2b59120ff364a5e612a594ed358767e1cd09
- ↑ https://btrfs.wiki.kernel.org/index.php/Compression#How_can_I_determine_compressed_size_of_a_file.3F
- ↑ Article mentioning that parity RAID code has multiple serious data-loss bugs, Btrfs wiki. Retrieved on January 1st, 2017.
- ↑ Michael Larabel, Btrfs RAID56 "Mostly OK", Phoronix. July 8, 2017.
- ↑ btrfs: scrub: Fix RAID56 recovery race condition, source commit, April 18th 2017.
- ↑ GIT PULL Btrfs from Chris Mason, Linux kernel mailing list, May 9th 2017.
- ↑ 10.0 10.1 Page explaining the differences between subvolumes and logical volumes in LVM, Btrfs wiki. Retrieved on April 2nd, 2023.
- ↑ Documentation for /proc/sys/vm/*, Kernel.org. Retrieved on January 1st, 2017.