1 line
10 KiB
JSON
1 line
10 KiB
JSON
{"uuid":"65198cf5-4e11-4731-b2f2-50d5f57d2c41","slug":"btfrs","title":"Btrfs","author":"cedric@abonnel.fr","published":true,"published_at":"2023-02-28 13:37:19","created_at":"2023-02-28 13:37:19","updated_at":"2023-02-28 13:37:19","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# Btrfs\n\n\n\n**Btrfs**, qui signifie \"Système de fichiers B-Tree\" en français, est un système de fichiers moderne et riche en fonctionnalités, conçu pour les systèmes Linux. Il utilise une structure de données en arbre appelée \"B-Tree\" pour organiser les fichiers et les métadonnées. Cette structure permet de gérer efficacement les gros volumes de données et les fichiers de taille importante.\n\n**Btrfs** offre de nombreuses fonctionnalités avancées, telles que la <u>compression de données</u>, la <u>déduplication</u>, la création de <u>snapshots</u>, la <u>migration de blocs défectueux</u> et la prise en charge de plusieurs dispositifs de stockage en <u>mode RAID</u>. Il prend également en charge <u>les sous-volumes</u>, qui sont des sous-partitions logiques du système de fichiers, ce qui permet de mieux organiser les données et de les gérer plus efficacement.\n\n**Btrfs** est considéré comme étant un système de fichiers stable pour un usage courant sur les systèmes Linux modernes. Cependant, il convient de noter que **certaines fonctionnalités plus avancées** de **Btrfs**, telles que la <u>déduplication</u> et le <u>RAID5/6</u>, peuvent être **moins matures** et moins testées que les fonctionnalités de base.\n\n**Btrfs** a été initialement développé par **Oracle en 2007** pour être inclus dans le noyau Linux. Depuis lors, il est développé et maintenu par une communauté de développeurs bénévoles, ainsi que par des entreprises telles que **SUSE**, **Facebook**, **Fujitsu** et **Western Digital**.\n\nLe développement de **Btrfs** se poursuit activement, avec de nouvelles fonctionnalités et améliorations étant régulièrement ajoutées au système de fichiers. **Btrfs** est inclus dans le noyau **Linux** depuis la version **2.6.29** et est devenu de plus en plus populaire en tant que système de fichiers par défaut pour certaines distributions Linux, telles que **SUSE Linux Enterprise Server**, **openSUSE** ou **Fedora Linux**.\n\n### Les commandes avec Btfrs\n#### Créer un système de fichiers Btrfs\nPour créer un système de fichiers Btrfs sur un périphérique de stockage, vous pouvez utiliser la commande suivante :\n\n sudo mkfs.btrfs /dev/sdX\n\noù `/dev/sdX` représente le périphérique de stockage sur lequel vous souhaitez créer le système de fichiers Btrfs.\n\n#### Monter un système de fichiers\nPour monter un système de fichiers **Btrfs** sur un point de montage, vous pouvez utiliser la commande suivante :\n\n sudo mount /dev/sdX /mnt/point-de-montage\n\noù `/dev/sdX` représente le périphérique de stockage sur lequel est situé le système de fichiers **Btrfs**, et `/mnt/point-de-montage` représente le point de montage où vous souhaitez monter le système de fichiers.\n\n#### Afficher des informations\nPour afficher des informations sur un système de fichiers **Btrfs**, vous pouvez utiliser la commande suivante :\n\n sudo btrfs filesystem show\n\nCette commande affichera des informations telles que la version du système de fichiers, la taille totale de l'espace de stockage et les options de montage actuelles.\n\n#### Créer un sous-volume\nCréer un sous-volume Btrfs peut être utile pour plusieurs raisons :\n1. Vous pouvez utiliser des sous-volumes pour **isoler des ensembles de fichiers** et de données spécifiques, par exemple pour séparer les données utilisateur des données système.\n1. Vous pouvez définir des **quotas de disque** pour des ensembles de données spécifiques. \n1. Les **snapshots Btrfs** sont créés à partir de sous-volumes.\n1. Vous pouvez créer des sous-volumes de manière dynamique, les supprimer et les renommer à tout moment, ce qui permet de réorganiser facilement les données.\n\nPour créer un sous-volume dans un système de fichiers **Btrfs**, vous pouvez utiliser la commande suivante :\n\n sudo btrfs subvolume create /chemin/vers/sous-volume\n\noù `/chemin/vers/sous-volume` représente le chemin d'accès au nouveau sous-volume que vous souhaitez créer.\n\n#### Les SnapShots avec Btrfs\nVoir https:*fedoramagazine.org/working-with-btrfs-snapshots/\n\n##### Créer des snapshots\nPour créer des snapshots dans un système de fichiers **Btrfs**, vous devez d'**abord créer un sous-volume** (`btrfs subvolume create`). Les snapshots Btrfs sont en fait des copies instantanées d'un sous-volume, ce qui signifie que vous devez avoir au moins un sous-volume pour créer des snapshots.\n\nPour créer un snapshot d'un sous-volume **Btrfs**, vous pouvez utiliser la commande suivante :\n\n sudo btrfs subvolume snapshot /chemin/vers/source /chemin/vers/destination\n\noù `/chemin/vers/source` représente le chemin d'accès au sous-volume source à partir duquel vous souhaitez créer le snapshot, et `/chemin/vers/destination` représente le chemin d'accès au nouveau sous-volume snapshot.\n\nLes **snapshots** et les **sous-volumes** Btrfs peuvent être utilisés pour organiser et gérer efficacement les données dans un système de fichiers **Btrfs**. Les **sous-volumes** peuvent être utilisés pour isoler différents ensembles de fichiers et de données, tandis que les **snapshots** peuvent être utilisés pour créer des copies de sauvegarde ou des points de restauration de l'état du système de fichiers à un moment donné.\n\n##### Lister les snapshots\nPour lister les snapshots présents dans un système de fichiers Btrfs, vous pouvez utiliser la commande btrfs subvolume list. Cette commande affichera une liste de tous les sous-volumes et snapshots présents dans le système de fichiers Btrfs.\n\nVoici la syntaxe générale de la commande :\n\n sudo btrfs subvolume list [chemin/vers/systeme-de-fichiers]\n\noù `chemin/vers/systeme-de-fichiers` représente le chemin d'accès au système de fichiers **Btrfs** que vous souhaitez lister. Si aucun chemin d'accès n'est spécifié, la commande listera les **sous-volumes** et **snapshots** du système de fichiers monté sur le point de montage courant.\n\n##### Effacer un snapshot\nPour effacer un **snapshot** dans un système de fichiers **Btrfs**, vous pouvez utiliser la commande `btrfs subvolume delete`. Voici la syntaxe générale de cette commande :\n\n sudo btrfs subvolume delete [chemin/vers/snapshot]\n\noù `chemin/vers/snapshot` représente le chemin d'accès au snapshot que vous souhaitez effacer.\n\n#### Vérifier l'intégrité Btrfs\nPour vérifier l'intégrité d'un système de fichiers **Btrfs**, vous pouvez utiliser la commande suivante :\n\n sudo btrfs scrub start /chemin/vers/systeme-de-fichiers\n\noù `/chemin/vers/systeme-de-fichiers` représente le chemin d'accès au système de fichiers **Btrfs** que vous souhaitez vérifier.\n\n#### La compression avec Btrfs\nAvec la **compression transparente** de **Btrfs**, il n'est pas nécessaire d'installer les programmes de compression car *Btrfs les prend en charge directement :\n\n- zstd\n- lzo\n- zlib\n\nLa **compression transparente** est une fonctionnalité qui **permet de compresser des données sur un système de fichiers sans que l'utilisateur ait à s'en soucier**. Cela signifie que lorsque les fichiers sont écrits sur le disque, ils sont automatiquement compressés et, lorsqu'ils sont lus, ils sont automatiquement décompressés. Cette fonctionnalité peut aider à économiser de l'espace de stockage sur le disque dur, car les fichiers compressés prennent moins de place que les fichiers non compressés.\n\nLa compression transparente du système de fichiers dans Btrfs est configurable de plusieurs façons :\n- En tant qu'option de montage lors du montage du système de fichiers (s'applique à tous les sous-volumes du même système de fichiers Btrfs)\n- Avec les propriétés de fichiers Btrfs\n- Lors de la défragmentation du système de fichiers Btrfs (pas permanente)\n- Avec l'interface d'attributs de fichier `chattr`\n\n##### Montage système de fichiers fstab\nEn utilisant l'option de montage `compress` lors du montage du système de fichiers Btrfs. Cette option s'applique alors à tous les sous-volumes de ce système de fichiers. Par exemple, pour monter un système de fichiers Btrfs en utilisant l'algorithme de compression `zstd` sur le niveau 3, la commande suivante doit être utilisée : `sudo mount -o compress=zstd:3 ...`.\n\nIl est important de noter que l'option de montage `compress` s'applique à tout le système de fichiers Btrfs et à tous ses sous-volumes. De plus, c'est la seule méthode supportée pour spécifier le niveau de compression à utiliser.\n\nPour appliquer la compression au système de fichiers racine, elle doit être spécifiée dans le fichier `/etc/fstab`. Par exemple, l'installeur de Fedora Linux active la compression `zstd` sur le niveau 1 par défaut, et cela est reflété dans le fichier `/etc/fstab`.\n\n```\nUUID=47b03671-39f1-43a7-b0a7-db733bfb47ff / btrfs subvol=root,compress=zstd:1,[ ... ] 0 0\n```\n\n##### Activation de la compression par fichier\nUne autre méthode de spécification de la compression consiste à utiliser les propriétés du système de fichiers Btrfs. Pour lire le paramètre de compression pour n'importe quel fichier, dossier ou sous-volume, utilisez la commande suivante :\n\n sudo btrfs property get <CHEMIN> compression\n\nDe même, vous pouvez configurer la compression de la manière suivante :\n\n sudo btrfs property set <CHEMIN> compression <VALEUR>\n\nPar exemple, pour activer la compression zlib pour tous les fichiers sous /etc :\n\n sudo btrfs property set /etc compression zlib\n\nVous pouvez obtenir une liste de valeurs prises en charge avec `man btrfs-property`. Gardez à l'esprit que cette interface ne permet pas de spécifier le niveau de compression. De plus, si une propriété de compression est définie, elle remplace toute autre compression configurée au moment du montage.\n\n### Bibliographie\n- Documentation : https:*btrfs.readthedocs.io/en/latest/man-index.html","featured":false,"tags":[]} |