Différences
Ci-dessous, les différences entre deux révisions de la page.
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 28/01/2019, 15:19] 195.6.175.29 [Le RAID de disques] |
btrfs [Le 20/10/2019, 21:30] L'Africain |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>système partitions}} | {{tag>système partitions}} | ||
---- | ---- | ||
- | |||
- | <note>Cette page est en cours de rédaction. Quiconque veut y participer et l'améliorer est le bienvenu... Il s'agit surtout de synthétiser et de traduire la documentation disponible ici: https://help.ubuntu.com/community/btrfs et/ou ici: https://btrfs.wiki.kernel.org/index.php/UseCases</note> | ||
====== Le système de fichiers BTRFS ====== | ====== Le système de fichiers BTRFS ====== | ||
Ligne 9: | Ligne 7: | ||
Officiellement, ce système de fichiers est [[https://btrfs.wiki.kernel.org/index.php/Main_Page#Stability_status | stable]]. | Officiellement, ce système de fichiers est [[https://btrfs.wiki.kernel.org/index.php/Main_Page#Stability_status | stable]]. | ||
- | ===== Fonctionnalités ===== | + | Les fonctionnalités principales sont les suivantes : |
* Capacité maximale de 2^64 octets == 16 Eo. max. | * Capacité maximale de 2^64 octets == 16 Eo. max. | ||
* Meilleure gestion de l'espace occupé par les petits fichiers | * Meilleure gestion de l'espace occupé par les petits fichiers | ||
Ligne 22: | Ligne 19: | ||
| | ||
- | ===== Commencer avec BTRFS ===== | + | ===== Installation ===== |
- | Attention ! Je vous conseille de faire un essai sur une partition de test ! Vous pouvez par exemple formater une clé USB vide et vous familiariser avec les commandes de BTRFS avant de l'utiliser pour vos données... | + | Il est conseillé de faire un essai sur une partition de test ! Vous pouvez par exemple formater une clé USB vide et vous familiariser avec les commandes de BTRFS avant de l'utiliser pour vos données... |
- | 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 ! | + | Si vous choisissez de déplacer des données sur votre partition BTRFS, faites une sauvegarde que vous êtes prêt à restaurer ! |
- | + | Pour pouvoir formater une partition en BTRFS [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>btrfs-tools]]**. | |
- | Il faut d'abord [[:tutoriel:comment_installer_un_paquet|Installer le paquet]] **[[apt>btrfs-tools]]**. | + | =====Utilisation===== |
==== 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 [[gnome-disk-utility|gestionnaire de disque d'Ubuntu]] ou [[gparted]], ou bien en ligne de commande: |
- | ''mkfs.btrfs /dev/sdaX'' | + | <code>mkfs.btrfs /dev/sdaX</code> |
//où sdaX est la partition que vous souhaitez formater.// | //où sdaX est la partition que vous souhaitez formater.// | ||
==== Convertir une partition ext4 vers BTRFS ==== | ==== Convertir une partition ext4 vers BTRFS ==== | ||
- | Utiliser la commande btrfs-convert /dev/<device> | + | Utiliser la commande : |
- | <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 sauvegarde. Voir ici : http://www.overclock.net/t/1373950/solved-btrfs-root-booting-read-only </note> | + | <code>btrfs-convert /dev/<device></code> |
+ | <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 sauvegarde. Voir [[http://www.overclock.net/t/1373950/solved-btrfs-root-booting-read-only|ici]].</note> | ||
===== Utilisation des fonctions avancées ===== | ===== Utilisation des fonctions avancées ===== | ||
Ligne 44: | Ligne 42: | ||
=== Créer un sous-volume === | === Créer un sous-volume === | ||
- | ''btrfs subvolume create test'' | + | <code>btrfs subvolume create test</code> |
pour créer un sous-volume intitulé //test// (en supposant que vous êtes quelque part dans votre système de fichiers BTRFS) | pour créer un sous-volume intitulé //test// (en supposant que vous êtes quelque part dans votre système de fichiers BTRFS) | ||
=== Supprimer un sous-volume === | === Supprimer un sous-volume === | ||
- | "sudo btrfs subvolume delete test" | + | <code>sudo btrfs subvolume delete test</code> |
Ligne 57: | Ligne 55: | ||
Pour créer un snapshot du système de fichiers entier : | Pour créer un snapshot du système de fichiers entier : | ||
- | ''btrfs subvolume snapshot test test_v1'' | + | <code>btrfs subvolume snapshot test test_v1</code> |
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). | ||
Ligne 68: | Ligne 66: | ||
* lzo : plus rapide et prend moins de charge CPU, mais compresse moins | * lzo : plus rapide et prend moins de charge CPU, mais compresse moins | ||
- | Pour ceci, il faut éditer le fichier /etc/fstab : | + | Pour ceci, il faut [[:tutoriel:comment_modifier_un_fichier|éditer]] le fichier **/etc/fstab** : |
- | <code bash># <file system> <mount point> <type> <options> <dump> <pass> | + | <file bash># <file system> <mount point> <type> <options> <dump> <pass> |
proc /proc proc nodev,noexec,nosuid 0 0 | proc /proc proc nodev,noexec,nosuid 0 0 | ||
# / was on /dev/sda2 during installation | # / was on /dev/sda2 during installation | ||
Ligne 77: | Ligne 75: | ||
# swap was on /dev/sda5 during installation | # swap was on /dev/sda5 during installation | ||
UUID=a3da3212-876f-4350-94b3-4b5b5040c871 none swap sw 0 0 | UUID=a3da3212-876f-4350-94b3-4b5b5040c871 none swap sw 0 0 | ||
- | </code> | + | </file> |
C'est le compress ligne 4 qui agit. | C'est le compress ligne 4 qui agit. | ||
Pour compresser en lzo, tapez <code>compress=lzo</code> | Pour compresser en lzo, tapez <code>compress=lzo</code> | ||
====Le RAID de disques==== | ====Le RAID de disques==== | ||
+ | === Voir le type de raid actuel === | ||
+ | Commande pour visualiser le raid en cours | ||
+ | <code>btrfs fi df /home | ||
+ | Data, RAID5: total=168.00GiB, used=165.12GiB | ||
+ | System, RAID5: total=64.00MiB, used=16.00KiB | ||
+ | Metadata, RAID5: total=2.00GiB, used=319.66MiB | ||
+ | GlobalReserve, single: total=190.94MiB, used=0.00B</code> | ||
+ | |||
=== Créer le raid de disques === | === Créer le raid de disques === | ||
Création d'un raid 1 avec un disque de spare | Création d'un raid 1 avec un disque de spare | ||
Ligne 87: | Ligne 93: | ||
=== Vérifier le raid de disques === | === 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** | + | Voir la synthèse de système RAID BTRFS : |
- | <code>sudo btrfs filesystem usage /home | + | <code bash>sudo btrfs filesystem usage /home |
Overall: | Overall: | ||
Device size: 1.36TiB | Device size: 1.36TiB | ||
Device allocated: 300.02GiB | Device allocated: 300.02GiB | ||
Device unallocated: 1.07TiB | 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 | + | </code> ou <code bash>btrfs fi usage volume_btrfs</code> |
- | /dev/sdb 99.00GiB | + | |
- | /dev/sdc 100.00GiB | + | |
- | /dev/sdd 99.00GiB | + | |
- | Metadata,RAID1: Size:1.00GiB, Used:239.05MiB | + | Pour vérifier l'état du système BTRFS passez par la commande : |
- | /dev/sdb 1.00GiB | + | <code bash>sudo btrfs device stats /home |
- | /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].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/sdb].generation_errs 0 | ||
[/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 | ||
- | [/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> ou <code bash>btrfs device stats volume_btrfs</code> |
- | <code>sudo btrfs filesystem show | + | |
+ | Pour voir l'état des disques de votre RAID BTRFS passez par la commande : | ||
+ | <code bash>sudo btrfs filesystem show | ||
Label: none uuid: c5f42f5d-7802-4f4f-bee6-3c8e0994bbe8 | Label: none uuid: c5f42f5d-7802-4f4f-bee6-3c8e0994bbe8 | ||
Total devices 3 FS bytes used 146.43GiB | Total devices 3 FS bytes used 146.43GiB | ||
Ligne 145: | Ligne 119: | ||
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> |
- | Pour voir le détail des disques de votre RAID BTRFS passez la commande **sudo btrfs device usage volume_btrfs** | + | Pour voir le détail des disques de votre RAID BTRFS passez la commande : |
- | <code>sudo btrfs device usage /home | + | <code bash>sudo btrfs device usage /home |
/dev/sdb, ID: 1 | /dev/sdb, ID: 1 | ||
Device size: 465.76GiB | Device size: 465.76GiB | ||
Ligne 159: | Ligne 133: | ||
Device size: 0.00B | Device size: 0.00B | ||
Device slack: 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> | </code> | ||
+ | |||
+ | === Augmenter/Diminuer le système de fichier du raid de disques === | ||
+ | Visualiser l'espace libre disponible, puis augmenter la taille du système de fichiers sur le raid : | ||
+ | <code bash>sudo btrfs filesystem resize +10G /home | ||
+ | Resize '/home' of '+10G'</code> | ||
+ | |||
+ | Diminuer la taille du système de fichier sur le raid | ||
+ | <code bash>sudo btrfs filesystem resize -10G /home | ||
+ | Resize '/home' of '-10G'</code> | ||
+ | |||
=== Réparer le raid de disques === | === Réparer le raid de disques === | ||
- | <code> | + | Voir l'état des disques : |
+ | <code bash>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 204890173 | ||
+ | [/dev/sdc].read_io_errs 19080823 | ||
+ | [/dev/sdc].flush_io_errs 10027539 | ||
+ | [/dev/sdd].generation_errs 0</code> | ||
+ | |||
+ | <code bash> | ||
sudo btrfs balance start -v -mconvert=dup -dconvert=single /home | sudo btrfs balance start -v -mconvert=dup -dconvert=single /home | ||
sudo btrfs device remove /dev/sdc | sudo btrfs device remove /dev/sdc | ||
</code> | </code> | ||
- | <code> | + | <code bash> |
sudo btrfs device usage /home | sudo btrfs device usage /home | ||
sudo btrfs fi show | sudo btrfs fi show | ||
Ligne 184: | Ligne 170: | ||
</code> | </code> | ||
- | <code> | + | <code bash> |
sudo btrfs device add /dev/sdc /home | sudo btrfs device add /dev/sdc /home | ||
sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /home | sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /home | ||
Ligne 190: | Ligne 176: | ||
===== Liens ===== | ===== Liens ===== | ||
- | * Le wiki officiel du projet [[https://btrfs.wiki.kernel.org/index.php/Main_Page]] | + | * 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]] |