Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
btrfs [Le 10/07/2012, 22:22]
YoBoY Correction des niveaux des titres
btrfs [Le 17/10/2018, 10:24]
sefran Le RAID de disques
Ligne 7: Ligne 7:
  
 Btrfs (souvent prononcé "​ButterFS"​) est un système de fichiers développé par Oracle et placé sous licence GPL. Au contraire d'ext4 qui est une évolution des systèmes de fichiers ext2/3, btrfs se veut conçu différemment,​ et apporte certaines fonctionnalités inédites. Btrfs (souvent prononcé "​ButterFS"​) est un système de fichiers développé par Oracle et placé sous licence GPL. Au contraire d'ext4 qui est une évolution des systèmes de fichiers ext2/3, btrfs se veut conçu différemment,​ et apporte certaines fonctionnalités inédites.
-Il est à noter que, officiellement, ce système de fichiers est toujours en bêtaCependant, il est proposé dans Ubuntu et tout à fait utilisable pour un ordinateur personnelIl est simplement recommandé d'​utiliser un kernel ​récent (donc une version d'​Ubuntu récente).+Officiellement, ce système de fichiers est [[https://​btrfs.wiki.kernel.org/​index.php/​Main_Page#​Stability_status | stable]].
  
 ===== Fonctionnalités ===== ===== Fonctionnalités =====
Ligne 19: Ligne 19:
   * Sauvegarde incrémentale intégrée au système de fichiers   * Sauvegarde incrémentale intégrée au système de fichiers
   * Défragmentation à chaud   * Défragmentation à chaud
 +  * conscient des SSD (stockage flash) (TRIM / Élimination de la notification blocs libres pour réutilisation) et optimisations (par exemple en évitant des optimisations de recherche inutiles, l'​envoi d'​écritures en cluster, même si elles proviennent de fichiers indépendants. Cela se traduit par des opérations d'​écriture plus grandes et plus rapide en débit d'​écriture)
     ​     ​
  
Ligne 26: Ligne 27:
 Je vous conseille également d'​utiliser la dernière version d'​Ubuntu,​ et si vous choisissez de déplacer des données sur votre partition BTRFS, faites une sauvegarde que vous êtes prêt à restaurer ! Je vous conseille également d'​utiliser la dernière version d'​Ubuntu,​ et si vous choisissez de déplacer des données sur votre partition BTRFS, faites une sauvegarde que vous êtes prêt à restaurer !
  
 +Il faut d'​abord [[:​tutoriel:​comment_installer_un_paquet|Installer le paquet]] **[[apt>​btrfs-tools]]**.
 ==== Créer une nouvelle partition ou formater une partition existante ==== ==== Créer une nouvelle partition ou formater une partition existante ====
 Utilisez simplement le gestionnaire de disque d'​Ubuntu,​ ou bien en ligne de commande: Utilisez simplement le gestionnaire de disque d'​Ubuntu,​ ou bien en ligne de commande:
 ''​mkfs.btrfs /​dev/​sdaX''​ ''​mkfs.btrfs /​dev/​sdaX''​
-//où sdaX est la partition que vous souhaitez ​formatter.//+//où sdaX est la partition que vous souhaitez ​formater.//
  
 ==== Convertir une partition ext4 vers BTRFS ==== ==== Convertir une partition ext4 vers BTRFS ====
-Procédure ​à documenter. +Utiliser la commande btrfs-convert /​dev/<​device>​ 
- +<note important>​Il est possible, voire probable que le système de fichiers ainsi créé se corrompe et se retrouve accessible uniquement en lecture. Donc, à utiliser avec énormément de prudence et avec une sauvegardeVoir ici : http://​www.overclock.net/​t/​1373950/​solved-btrfs-root-booting-read-only </​note>​
 ===== Utilisation des fonctions avancées ===== ===== Utilisation des fonctions avancées =====
  
Ligne 59: Ligne 60:
 Cette commande va prendre un snaphsot du sous-volume (répertoire) test. Cette version figée de votre répertoire sera accessible à travers le répertoire "​test_v1"​. Les modifications faites dans chacun des deux répertoires sont indépendantes. Le système de fichiers gère les modifications pour qu'​elles soient transparentes aux yeux de l'​utilisateur (avec ext4, il aurait fallu créer une copie du répertoire,​ ce qui aurait occupé le double d'​espace disque. Un snapshot ne consomme pas d'​espace disque supplémentaire). Cette commande va prendre un snaphsot du sous-volume (répertoire) test. Cette version figée de votre répertoire sera accessible à travers le répertoire "​test_v1"​. Les modifications faites dans chacun des deux répertoires sont indépendantes. Le système de fichiers gère les modifications pour qu'​elles soient transparentes aux yeux de l'​utilisateur (avec ext4, il aurait fallu créer une copie du répertoire,​ ce qui aurait occupé le double d'​espace disque. Un snapshot ne consomme pas d'​espace disque supplémentaire).
  
-=== Restaurer un snapshot ===+===Restaurer un snapshot ===
 Utilisez simplement la commande "​mv"​. Notez que vous pouvez faire la même chose à travers votre gestionnaire de fichiers en mode graphique. Les snapshots apparaissent comme des répertoires que vous pouvez manipuler à votre guise. Utilisez simplement la commande "​mv"​. Notez que vous pouvez faire la même chose à travers votre gestionnaire de fichiers en mode graphique. Les snapshots apparaissent comme des répertoires que vous pouvez manipuler à votre guise.
  
 +====La compression====
 +Ceci permet de compresser les données lorsqu'​elles seront écrites sur le disque. Deux algorithmes de compression sont disponibles :
 +  * zlib (par défaut)
 +  * lzo : plus rapide et prend moins de charge CPU, mais compresse moins
 +
 +Pour ceci, il faut éditer le fichier /etc/fstab :
 +<code bash># <file system> ​                     <mount point> ​   <​type> ​ <​options> ​         <​dump> ​ <​pass>​
 +proc                                        /proc  proc    nodev,​noexec,​nosuid ​  ​0 ​ 0
 +# / was on /dev/sda2 during installation
 +UUID=07e198ed-18a3-41ed-9e48-bde82ead65fc ​  / ​     btrfs   ​defaults,​compress ​    ​0 ​ 1
 +# /boot was on /dev/sda1 during installation
 +UUID=90983817-83f8-464f-a50c-39cd02317447 ​  /​boot ​ ext2    defaults ​             0  2
 +# swap was on /dev/sda5 during installation
 +UUID=a3da3212-876f-4350-94b3-4b5b5040c871 ​  ​none ​  ​swap ​   sw                    0  0
 +</​code>​
 +C'est le compress ligne 4 qui agit.
 +Pour compresser en lzo, tapez <​code>​compress=lzo</​code>​
 +
 +====Le RAID de disques====
 +=== Créer le raid de disques ===
 +Création d'un raid 1 avec un disque de spair
 +<​code>​mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc /​dev/​sdd</​code>​
 +
 +=== Vérifier le raid de disques ===
 +Voir la synthèse de système RAID BTRFS **btrfs filesystem usage volume_btrfs** ou **btrfs fi usage volume_btrfs**
 +<​code>​sudo btrfs filesystem usage /home
 +Overall:
 +    Device size:                   ​1.36TiB
 +    Device allocated: ​           300.02GiB
 +    Device unallocated: ​           1.07TiB
 +    Device missing: ​             465.76GiB
 +    Used:                        292.88GiB
 +    Free (estimated): ​           551.43GiB ​     (min: 551.43GiB)
 +    Data ratio: ​                      2.00
 +    Metadata ratio: ​                  2.00
 +    Global reserve: ​             175.81MiB ​     (used: 0.00B)
 +
 +Data,RAID1: Size:​149.00GiB,​ Used:​146.20GiB
 +   /​dev/​sdb ​      ​99.00GiB
 +   /​dev/​sdc ​     100.00GiB
 +   /​dev/​sdd ​      ​99.00GiB
 +
 +Metadata,​RAID1:​ Size:​1.00GiB,​ Used:​239.05MiB
 +   /​dev/​sdb ​       1.00GiB
 +   /​dev/​sdd ​       1.00GiB
 +
 +System,​RAID1:​ Size:​8.00MiB,​ Used:​48.00KiB
 +   /​dev/​sdc ​       8.00MiB
 +   /​dev/​sdd ​       8.00MiB
 +
 +Unallocated:​
 +   /​dev/​sdb ​     365.76GiB
 +   /​dev/​sdc ​     365.75GiB
 +   /​dev/​sdd ​     365.75GiB
 +</​code>​
 +
 +Pour vérifier l'​état du système BTRFS passez par la commande **btrfs device stats volume_btrfs**
 +<​code>​sudo btrfs device stats /home
 +[/​dev/​sdb].write_io_errs ​   0
 +[/​dev/​sdb].read_io_errs ​    0
 +[/​dev/​sdb].flush_io_errs ​   0
 +[/​dev/​sdb].corruption_errs ​ 0
 +[/​dev/​sdb].generation_errs ​ 0
 +[/​dev/​sdc].write_io_errs ​   12897745
 +[/​dev/​sdc].read_io_errs ​    ​6026751
 +[/​dev/​sdc].flush_io_errs ​   700547
 +[/​dev/​sdc].corruption_errs ​ 0
 +[/​dev/​sdc].generation_errs ​ 0
 +[/​dev/​sdd].write_io_errs ​   0
 +[/​dev/​sdd].read_io_errs ​    0
 +[/​dev/​sdd].flush_io_errs ​   0
 +[/​dev/​sdd].corruption_errs ​ 0
 +[/​dev/​sdd].generation_errs ​ 0
 +</​code>​
 +
 +Pour voir l'​état des disques de votre RAID BTRFS passez par la commande **btrfs filesystem show** ou **btrfs fi show**
 +<​code>​sudo btrfs filesystem show
 +Label: none  uuid: c5f42f5d-7802-4f4f-bee6-3c8e0994bbe8
 +        Total devices 3 FS bytes used 146.43GiB
 +        devid    1 size 465.76GiB used 100.00GiB path /dev/sdb
 +        devid    3 size 465.76GiB used 100.01GiB path /dev/sdd
 +        *** Some devices missing
 +</​code>​
 +
 +Pour voir le détail des disques de votre RAID BTRFS passez la commande **sudo btrfs device usage volume_btrfs**
 +<​code>​sudo btrfs device usage /home
 +/dev/sdb, ID: 1
 +   ​Device size:           ​465.76GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID1: ​            ​99.00GiB
 +   ​Metadata,​RAID1: ​         1.00GiB
 +   ​Unallocated: ​          ​365.76GiB
 +
 +/dev/sdc, ID: 2
 +   ​Device size:               0.00B
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID1: ​           100.00GiB
 +   ​System,​RAID1: ​           8.00MiB
 +   ​Unallocated: ​          ​365.75GiB
 +
 +/dev/sdd, ID: 3
 +   ​Device size:           ​465.76GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID1: ​            ​99.00GiB
 +   ​Metadata,​RAID1: ​         1.00GiB
 +   ​System,​RAID1: ​           8.00MiB
 +   ​Unallocated: ​          ​365.75GiB
 +</​code>​
 +
 +=== Réparer le raid de disques ===
 +<​code>​
 +sudo btrfs balance start -v -mconvert=dup -dconvert=single /home
 +sudo btrfs device remove /dev/sdc
 +</​code>​
 +
 +<​code>​
 +sudo btrfs device usage /home
 +sudo btrfs fi show
 +sudo btrfs fi usage
 +</​code>​
  
 +<​code>​
 +sudo btrfs device add /dev/sdc /home
 +sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /home
 +</​code>​
 ===== Liens ===== ===== Liens =====
  
   * Le wiki officiel du projet [[https://​btrfs.wiki.kernel.org/​index.php/​Main_Page]]   * Le wiki officiel du projet [[https://​btrfs.wiki.kernel.org/​index.php/​Main_Page]]
  • btrfs.txt
  • Dernière modification: Le 17/08/2023, 09:01
  • par 171.16.208.3