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
btrfs [Le 26/05/2023, 15:27]
geole création.
btrfs [Le 08/02/2025, 21:26] (Version actuelle)
92.137.221.224 [Le RAID de disques] correction orthographe
Ligne 46: Ligne 46:
 <​code>​btrfs-convert /​dev/<​device></​code>​ <​code>​btrfs-convert /​dev/<​device></​code>​
 <​note>​Si vous avez une version très ancienne de btrfs-convert (<4.6), 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 sauvegarde. Voir [[http://​www.overclock.net/​t/​1373950/​solved-btrfs-root-booting-read-only|ici]]. Par contre, cet utilitaire a été réécrit depuis (en 2016), et les versions >=4.6 sont stables (voir https://​en.wikipedia.org/​wiki/​Btrfs#​In-place_conversion_from_ext2/​3/​4_and_ReiserFS). Il n'y a donc plus ce risque, au moins depuis Ubuntu 18.04 (bionic)</​note>​ <​note>​Si vous avez une version très ancienne de btrfs-convert (<4.6), 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 sauvegarde. Voir [[http://​www.overclock.net/​t/​1373950/​solved-btrfs-root-booting-read-only|ici]]. Par contre, cet utilitaire a été réécrit depuis (en 2016), et les versions >=4.6 sont stables (voir https://​en.wikipedia.org/​wiki/​Btrfs#​In-place_conversion_from_ext2/​3/​4_and_ReiserFS). Il n'y a donc plus ce risque, au moins depuis Ubuntu 18.04 (bionic)</​note>​
 +==== Convertir une structure ​ BTRFS  vers une autre structure====
 +Utiliser la commande :​
 +<​code>​btrfs restore <​device>​ <​path></​code>​
 +L'​entrée peut être une partition, un raid. La sortie peut être dans un répertoire stocké dans n'​importe quel type de partition. voir [[https://​man7.org/​linux/​man-pages/​man8/​btrfs-restore.8.html|le mode d emploi]]. Exemples
 +<code bash>​mkdir RECUP
 +sudo btrfs restore /dev/sda28 -D -o -i -m -v RECUP
 +time sudo btrfs restore /dev/sda28 -vvv -s -S -x -m -i -c --path-regex '​^/​(|Rugby2019(|/​CoupeDuMonde2019(|/​CAPTVTY(|/​.*))))$' ​   RECUP</​code>​
 ===== Utilisation des fonctions avancées ===== ===== Utilisation des fonctions avancées =====
  
Ligne 96: Ligne 103:
  
 =====Le RAID de disques===== =====Le RAID de disques=====
- ​Notons que le mot  **disques** dans ce chapitre fait référence au disque physique lui-même ou une [[:​partitions|partition]] du disque.+ ​Notons que le mot  **disques** dans ce chapitre fait référence au disque physique lui-même ou à une [[:​partitions|partition]] du disque.
 ==== Principaux types de raids ==== ==== Principaux types de raids ====
   * single: ​  Une seule copie des informations. 100% de l’espace disque est utilisé. Le second disque ne sera utilisé que lorsque le premier est rempli. Le troisième que lorsque les deux premiers seront remplis.   * single: ​  Une seule copie des informations. 100% de l’espace disque est utilisé. Le second disque ne sera utilisé que lorsque le premier est rempli. Le troisième que lorsque les deux premiers seront remplis.
Ligne 107: Ligne 114:
   * raid5: ​  Une copie et une copie de parité distribuée. Un disque peut tomber en panne. L’espace disque utilisable est 100x(**N**-1)/​**N** %.  **N** étant le nombre de disques.   * raid5: ​  Une copie et une copie de parité distribuée. Un disque peut tomber en panne. L’espace disque utilisable est 100x(**N**-1)/​**N** %.  **N** étant le nombre de disques.
   * raid6: Une copie et deux copies de parité distribuées. deux disques peuvent tomber en panne. L’espace disque utilisable est 100x(**N**-2)/​**N** %.  **N** étant le nombre de disques.   * raid6: Une copie et deux copies de parité distribuées. deux disques peuvent tomber en panne. L’espace disque utilisable est 100x(**N**-2)/​**N** %.  **N** étant le nombre de disques.
-Pour les explications détaillées, ​voi[[https://​linuxhint.com/​set-up-btrfs-raid/​|ici]]+Pour les explications détaillées, ​voir [[https://​linuxhint.com/​set-up-btrfs-raid/​|ici]]
  
  
Ligne 113: Ligne 120:
  
  
 +==== Créer le raid de disques ====
 +Quelques exemples:
 +
 +Création d'un raid 1 avec un disque de spare
 +<code bash>​sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc /​dev/​sdd</​code>​
 +Création d'un raid 5 en utilisant des partitions ​ préalablement ​ [[:​gnome-disk-utility#​creer_une_partition|créées]] ​ de préférence [[:​gparted|non formatées.]]
 +<code bash>​sudo mkfs.btrfs -m raid1 -d raid5 -L Test-BTRFS -f /dev/sda20 /dev/sda23 /​dev/​sda2[5-8]
 +btrfs-progs v5.16.2
 +See http://​btrfs.wiki.kernel.org for more information.
 +
 +WARNING: RAID5/6 support has known problems is strongly discouraged
 + to be used besides testing or evaluation.
 +
 +NOTE: several default settings have changed in version 5.15, please make sure
 +      this does not affect your deployments:​
 +      - DUP for metadata (-m dup)
 +      - enabled no-holes (-O no-holes)
 +      - enabled free-space-tree (-R free-space-tree)</​code>​
 +
 +<note important>​Il est important de mettre les données techniques en protection RAID1 car la protection RAID5 n'est pas totalement au point.
 +
 +Une conséquence importante: Au montage, il est possible de ne pas indiquer un disque qui contient ces données. Le  message d'​erreur est inquiétant<​code bash>​mount:​ /​media/​RaidBTRFS:​ wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error.</​code>​ La solution est  d'​indiquer un autre disque qui aura la structure RAID1.</​note>​
 +
 +==== Monter un raid pour utilisation ====
 +Voir le début du document expliquant comment monter une partition. il est possible d'​utiliser n'​importe lequel des "​disques"​ du raid.
 +
 +Si les noms des éléments constituants le RAID  sont oubliés et qu'il n'y a qu'un seul raids BTRFS de défini, il est possible de lancer cette commande
 +<code bash>​udisksctl mount -b  /​dev/​disk/​by-uuid/​$(sudo btrfs filesystem show | grep uuid | cut -d':'​ -f3 |  cut -c2-)
 +Mounted /dev/sda28 at /​media/​a/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281</​code>​ -
 ==== Voir le type de raid actuel ==== ==== Voir le type de raid actuel ====
 Commande pour visualiser le raid en cours Commande pour visualiser le raid en cours
Ligne 120: Ligne 156:
 Metadata, RAID5: total=2.00GiB,​ used=319.66MiB Metadata, RAID5: total=2.00GiB,​ used=319.66MiB
 GlobalReserve,​ single: total=190.94MiB,​ used=0.00B</​code>​ GlobalReserve,​ single: total=190.94MiB,​ used=0.00B</​code>​
 +<code bash>​btrfs fi df /​media/​$USER/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281
 +Data, RAID5: total=89.14GiB,​ used=89.14GiB
 +System, RAID5: total=13.12MiB,​ used=16.00KiB
 +Metadata, RAID5: total=853.12MiB,​ used=113.28MiB
 +GlobalReserve,​ single: total=112.83MiB,​ used=0.00B</​code>​
 +
 +
 +
  
-==== Créer le raid de disques ==== 
-Création d'un raid 1 avec un disque de spare 
-<​code>​mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc /​dev/​sdd</​code>​ 
  
 ==== Vérifier le raid de disques ==== ==== Vérifier le raid de disques ====
Ligne 131: Ligne 172:
     Device size:                   ​1.36TiB     Device size:                   ​1.36TiB
     Device allocated: ​           300.02GiB     Device allocated: ​           300.02GiB
-    Device unallocated: ​           1.07TiB+    Device unallocated: ​           1.07TiB</​code>​ 
 +<​code>​sudo btrfs filesystem usage /​media/​$USER/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281 
 +Overall: 
 +    Device size: 124.99GiB 
 +    Device allocated:​ 118.99GiB 
 +    Device unallocated:​  ​  ​6.00GiB 
 +    Device missing:​  ​    ​0.00B 
 +    Used: 118.10GiB 
 +    Free (estimated):​  ​  ​4.54GiB (min:​ 3.00GiB) 
 +    Free (statfs, df):​  ​    ​0.00B 
 +    Data ratio:​  ​     1.32 
 +    Metadata ratio:​  ​     1.20 
 +    Global reserve: 112.83MiB (used:​ 0.00B) 
 +    Multiple profiles:​  ​       no 
 + 
 +Data,RAID5: Size:​89.14GiB,​ Used:​89.14GiB (100.00%) 
 +   /​dev/​sda20  ​  ​9.83GiB 
 +   /​dev/​sda23  ​ 11.83GiB 
 +   /​dev/​sda25  ​ 15.83GiB 
 +   /​dev/​sda26  ​ 22.83GiB 
 +   /​dev/​sda27  ​ 28.83GiB 
 +   /​dev/​sda28  ​ 28.83GiB 
 + 
 +Metadata,​RAID5:​ Size:​853.12MiB,​ Used:​113.28MiB (13.28%) 
 +   /​dev/​sda20 170.62MiB 
 +   /​dev/​sda23 170.62MiB 
 +   /​dev/​sda25 170.62MiB 
 +   /​dev/​sda26 170.62MiB 
 +   /​dev/​sda27 170.62MiB 
 +   /​dev/​sda28 170.62MiB 
 + 
 +System,​RAID5:​ Size:​13.12MiB,​ Used:​16.00KiB (0.12%) 
 +   /​dev/​sda20  ​  ​2.62MiB 
 +   /​dev/​sda23  ​  ​2.62MiB 
 +   /​dev/​sda25  ​  ​2.62MiB 
 +   /​dev/​sda26  ​  ​2.62MiB 
 +   /​dev/​sda27  ​  ​2.62MiB 
 +   /​dev/​sda28  ​  ​2.62MiB 
 + 
 +Unallocated:​ 
 +   /​dev/​sda20  ​  ​1.00MiB 
 +   /​dev/​sda23  ​  ​1.00MiB 
 +   /​dev/​sda25  ​  ​1.00MiB 
 +   /​dev/​sda26  ​  ​1.00MiB 
 +   /​dev/​sda27  ​  ​1.00MiB 
 +   /​dev/​sda28  ​  ​6.00GiB</​code>​ 
 + ou <code bash>​btrfs fi usage volume_btrfs</​code>​ 
 + 
 + 
 + 
 +<code bash>​btrfs fi usage /​media/​$USER/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281 
 +WARNING: cannot read detailed chunk info, per-device usage will not be shown, run as root 
 +Overall: 
 +    Device size: 124.99GiB 
 +    Device allocated:​  ​    ​0.00B 
 +    Device unallocated:​ 124.99GiB 
 +    Device missing:​  ​    ​0.00B 
 +    Used:​  ​    ​0.00B 
 +    Free (estimated):​  ​    ​0.00B (min:​ 8.00EiB) 
 +    Free (statfs, df):​  ​    ​0.00B 
 +    Data ratio:​  ​     0.00 
 +    Metadata ratio:​  ​     0.00 
 +    Global reserve: 112.83MiB (used:​ 0.00B) 
 +    Multiple profiles:​  ​       no 
 + 
 +Data,RAID5: Size:​89.14GiB,​ Used:​89.14GiB (100.00%) 
 + 
 +Metadata,​RAID5:​ Size:​853.12MiB,​ Used:​113.28MiB (13.28%) 
 + 
 +System,​RAID5:​ Size:​13.12MiB,​ Used:​16.00KiB (0.12%)</​code>​
  
-</​code>​ ou <code bash>​btrfs fi usage volume_btrfs</​code>​ 
  
 Pour vérifier l'​état du système BTRFS passez par la commande :​ Pour vérifier l'​état du système BTRFS passez par la commande :​
Ligne 141: Ligne 250:
 [/​dev/​sdc].write_io_errs ​   12897745 [/​dev/​sdc].write_io_errs ​   12897745
 [/​dev/​sdc].read_io_errs ​    ​6026751 [/​dev/​sdc].read_io_errs ​    ​6026751
-[/​dev/​sdc].flush_io_errs ​   700547 +[/​dev/​sdc].flush_io_errs ​   700547</​code> ​ 
- +<code bash>​sudo btrfs device stats /​media/​$USER/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281 
-</​code>​ ou <code bash>​btrfs device stats volume_btrfs</​code>​+[/​dev/​sda20].write_io_errs ​   0 
 +[/​dev/​sda20].read_io_errs ​    0 
 +[/​dev/​sda20].flush_io_errs ​   0 
 +[/​dev/​sda20].corruption_errs ​ 0 
 +[/​dev/​sda20].generation_errs ​ 0 
 +[/​dev/​sda23].write_io_errs ​   0 
 +[/​dev/​sda23].read_io_errs ​    0 
 +[/​dev/​sda23].flush_io_errs ​   0 
 +[/​dev/​sda23].corruption_errs ​ 0 
 +[/​dev/​sda23].generation_errs ​ 0 
 +[/​dev/​sda25].write_io_errs ​   0 
 +[/​dev/​sda25].read_io_errs ​    0 
 +[/​dev/​sda25].flush_io_errs ​   0 
 +[/​dev/​sda25].corruption_errs ​ 0 
 +[/​dev/​sda25].generation_errs ​ 0 
 +[/​dev/​sda26].write_io_errs ​   0 
 +[/​dev/​sda26].read_io_errs ​    0 
 +[/​dev/​sda26].flush_io_errs ​   0 
 +[/​dev/​sda26].corruption_errs ​ 0 
 +[/​dev/​sda26].generation_errs ​ 0 
 +[/​dev/​sda27].write_io_errs ​   0 
 +[/​dev/​sda27].read_io_errs ​    0 
 +[/​dev/​sda27].flush_io_errs ​   0 
 +[/​dev/​sda27].corruption_errs ​ 0 
 +[/​dev/​sda27].generation_errs ​ 0 
 +[/​dev/​sda28].write_io_errs ​   0 
 +[/​dev/​sda28].read_io_errs ​    0 
 +[/​dev/​sda28].flush_io_errs ​   0 
 +[/​dev/​sda28].corruption_errs ​ 0 
 +[/​dev/​sda28].generation_errs ​ 0</​code>​ 
 +ou <code bash>​btrfs device stats volume_btrfs 
 +btrfs device stats /​media/​$USER/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281 
 +ERROR: getting device info for /​media/​a/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281 failed: Operation not permitted</​code>​
  
 Pour voir l'​état des disques de votre RAID BTRFS passez par la commande :​ Pour voir l'​état des disques de votre RAID BTRFS passez par la commande :​
Ligne 151: Ligne 292:
         devid    1 size 465.76GiB used 100.00GiB path /dev/sdb         devid    1 size 465.76GiB used 100.00GiB path /dev/sdb
         devid    3 size 465.76GiB used 100.01GiB path /dev/sdd         devid    3 size 465.76GiB used 100.01GiB path /dev/sdd
-        *** Some devices missing +        *** Some devices missing=</​code>​ 
-</​code>​ ou <code bash>​btrfs fi show</​code>​+<code bash>​sudo btrfs filesystem show 
 +Label: none  uuid: c2b6e6ec-10d6-4c48-a28a-0dfc6f62d728 
 + Total devices 6 FS bytes used 89.26GiB 
 + devid ​   1 size 10.01GiB used 10.00GiB path /​dev/​sda20 
 + devid ​   2 size 12.00GiB used 12.00GiB path /​dev/​sda23 
 + devid ​   3 size 16.00GiB used 16.00GiB path /​dev/​sda25 
 + devid ​   4 size 23.00GiB used 23.00GiB path /​dev/​sda26 
 + devid ​   5 size 29.00GiB used 29.00GiB path /​dev/​sda27 
 + devid ​   6 size 35.00GiB used 29.00GiB path /​dev/​sda28 
 + 
 +Label: none  uuid: 54cceaf6-7772-4fcc-9548-d9ae0247f9fa 
 + Total devices 6 FS bytes used 148.80GiB 
 + devid ​   1 size 76.25GiB used 56.13GiB path /​dev/​sdc17 
 + devid ​   2 size 76.25GiB used 56.13GiB path /dev/sdd3 
 + devid ​   3 size 76.25GiB used 56.13GiB path /dev/sdd4 
 + devid ​   4 size 76.25GiB used 13.24GiB path /dev/sdd5 
 + devid ​   5 size 76.25GiB used 13.24GiB path /dev/sdd6 
 + devid ​   6 size 76.25GiB used 13.24GiB path /dev/sdd7</​code>​ 
 + ou <code bash>​btrfs fi show</​code>​ 
 +<code bash>​sudo btrfs fi show 
 +Label: none  uuid: c2b6e6ec-10d6-4c48-a28a-0dfc6f62d728 
 + Total devices 6 FS bytes used 89.26GiB 
 + devid ​   1 size 10.01GiB used 10.00GiB path /​dev/​sda20 
 + devid ​   2 size 12.00GiB used 12.00GiB path /​dev/​sda23 
 + devid ​   3 size 16.00GiB used 16.00GiB path /​dev/​sda25 
 + devid ​   4 size 23.00GiB used 23.00GiB path /​dev/​sda26 
 + devid ​   5 size 29.00GiB used 29.00GiB path /​dev/​sda27 
 + devid ​   6 size 35.00GiB used 29.00GiB path /​dev/​sda28 
 + 
 +Label: none  uuid: 54cceaf6-7772-4fcc-9548-d9ae0247f9fa 
 + Total devices 6 FS bytes used 148.80GiB 
 + devid ​   1 size 76.25GiB used 56.13GiB path /​dev/​sdc17 
 + devid ​   2 size 76.25GiB used 56.13GiB path /dev/sdd3 
 + devid ​   3 size 76.25GiB used 56.13GiB path /dev/sdd4 
 + devid ​   4 size 76.25GiB used 13.24GiB path /dev/sdd5 
 + devid ​   5 size 76.25GiB used 13.24GiB path /dev/sdd6 
 + devid ​   6 size 76.25GiB used 13.24GiB path /dev/sdd7</​code>​
  
 Pour voir le détail des disques de votre RAID BTRFS passez la commande :​ Pour voir le détail des disques de votre RAID BTRFS passez la commande :​
Ligne 168: Ligne 345:
 ... ...
 </​code>​ </​code>​
 +<code bash>​sudo btrfs device usage /​media/​$USER/​c2b6e6ec-10d6-4c48-a28a-0dfc6f62d7281
 +/dev/sda20, ID: 1
 +   ​Device size:            10.01GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID5/​6: ​           9.83GiB
 +   ​Metadata,​RAID5/​6: ​     170.62MiB
 +   ​System,​RAID5/​6: ​         2.62MiB
 +   ​Unallocated: ​            ​1.00MiB
 +
 +/dev/sda23, ID: 2
 +   ​Device size:            12.00GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID5/​6: ​           9.83GiB
 +   ​Data,​RAID5/​5: ​           1.99GiB
 +   ​Metadata,​RAID5/​6: ​     170.62MiB
 +   ​System,​RAID5/​6: ​         2.62MiB
 +   ​Unallocated: ​            ​1.00MiB
 +
 +/dev/sda25, ID: 3
 +   ​Device size:            16.00GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID5/​6: ​           9.83GiB
 +   ​Data,​RAID5/​5: ​           1.99GiB
 +   ​Data,​RAID5/​4: ​           4.00GiB
 +   ​Metadata,​RAID5/​6: ​     170.62MiB
 +   ​System,​RAID5/​6: ​         2.62MiB
 +   ​Unallocated: ​            ​1.00MiB
 +
 +/dev/sda26, ID: 4
 +   ​Device size:            23.00GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID5/​6: ​           9.83GiB
 +   ​Data,​RAID5/​5: ​           1.99GiB
 +   ​Data,​RAID5/​4: ​           4.00GiB
 +   ​Data,​RAID5/​3: ​           7.00GiB
 +   ​Metadata,​RAID5/​6: ​     170.62MiB
 +   ​System,​RAID5/​6: ​         2.62MiB
 +   ​Unallocated: ​            ​1.00MiB
 +
 +/dev/sda27, ID: 5
 +   ​Device size:            29.00GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID5/​6: ​           9.83GiB
 +   ​Data,​RAID5/​5: ​           1.99GiB
 +   ​Data,​RAID5/​4: ​           4.00GiB
 +   ​Data,​RAID5/​3: ​           7.00GiB
 +   ​Data,​RAID5/​2: ​           6.00GiB
 +   ​Metadata,​RAID5/​6: ​     170.62MiB
 +   ​System,​RAID5/​6: ​         2.62MiB
 +   ​Unallocated: ​            ​1.00MiB
 +
 +/dev/sda28, ID: 6
 +   ​Device size:            35.00GiB
 +   ​Device slack: ​             0.00B
 +   ​Data,​RAID5/​6: ​           9.83GiB
 +   ​Data,​RAID5/​5: ​           1.99GiB
 +   ​Data,​RAID5/​4: ​           4.00GiB
 +   ​Data,​RAID5/​3: ​           7.00GiB
 +   ​Data,​RAID5/​2: ​           6.00GiB
 +   ​Metadata,​RAID5/​6: ​     170.62MiB
 +   ​System,​RAID5/​6: ​         2.62MiB
 +   ​Unallocated: ​            ​6.00GiB</​code>​
 +
  
 ==== Augmenter/​Diminuer le système de fichier du raid de disques ==== ==== Augmenter/​Diminuer le système de fichier du raid de disques ====
Ligne 208: Ligne 448:
 </​code>​ </​code>​
 ===== Liens ===== ===== Liens =====
 +  * UN complément fort utile : https://​sebsauvage.net/​wiki/​doku.php?​id=btrfs
   * Le [[https://​btrfs.wiki.kernel.org/​index.php/​Main_Page|wiki officiel du projet]]   * Le [[https://​btrfs.wiki.kernel.org/​index.php/​Main_Page|wiki officiel du projet]]
   * **ANGLAIS** [[https://​askubuntu.com/​questions/​967172/​grub2-does-not-detect-btrfs-partition|Faire détecter une installation de UBUNTU ​ par un autre Ubuntu]]   * **ANGLAIS** [[https://​askubuntu.com/​questions/​967172/​grub2-does-not-detect-btrfs-partition|Faire détecter une installation de UBUNTU ​ par un autre Ubuntu]]
  • btrfs.1685107653.txt.gz
  • Dernière modification: Le 26/05/2023, 15:27
  • par geole