logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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
doc:systeme:btrfs [14/03/2014 16:50]
louispolaire
doc:systeme:btrfs [14/03/2014 17:33]
louispolaire [BTRFS]
Ligne 5: Ligne 5:
   * Commentaires : //Les principes et commandes principales pour utiliser le BTRFS, les snapshots, les sauvegardes...//​   * Commentaires : //Les principes et commandes principales pour utiliser le BTRFS, les snapshots, les sauvegardes...//​
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|La ligne de commande]] ; [[:​doc:​systeme:​sauvegarde|Les sauvegardes]] ; [[:​doc:​systeme:​partition|Le partitionnement]] ; [[:​doc:​systeme:​fstab|Le montage des partitions]]:​-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|La ligne de commande]] ; [[:​doc:​systeme:​sauvegarde|Les sauvegardes]] ; [[:​doc:​systeme:​partition|Le partitionnement]] ; [[:​doc:​systeme:​fstab|Le montage des partitions]]:​-)
-  * Suivi : {{tag>en-chantier}}+  * Suivi : {{tag>à-placer}} {{tag>​à-tester}}
     * Création par **louispolaire** 12/03/2014     * Création par **louispolaire** 12/03/2014
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
Ligne 60: Ligne 60:
  
 Les outils de gestion doivent être installés. Les outils de gestion doivent être installés.
-<code root>​apt-get install ​Btrfs-tools</​code>​+<code root>​apt-get install ​btrfs-tools</​code>​
  
 ===== Commandes de Base  ===== ===== Commandes de Base  =====
Ligne 67: Ligne 67:
  
 Pour formater la partition /dev/sdX1 taper : Pour formater la partition /dev/sdX1 taper :
-<code root>​mkfs.Btrfs -L label /​dev/​sdX1</​code>​+<code root>​mkfs.btrfs -L label /​dev/​sdX1</​code>​
 Il peut être utile d'​ajouter l'​option -f si la partition n'est pas vide. Il peut être utile d'​ajouter l'​option -f si la partition n'est pas vide.
  
Ligne 78: Ligne 78:
  
 Pour effacer la table des partitions et utiliser tout le disque /dev/sdX comme un volume Btrfs : Pour effacer la table des partitions et utiliser tout le disque /dev/sdX comme un volume Btrfs :
-<code root>​mkfs.Btrfs /​dev/​sdX</​code>​+<code root>​mkfs.btrfs /​dev/​sdX</​code>​
  
 ==== Convertir un système ext3 / ext4 ==== ==== Convertir un système ext3 / ext4 ====
Ligne 87: Ligne 87:
 <code root>​umount /dev/sdX1 <code root>​umount /dev/sdX1
 fsck.ext3 -f /dev/sdX1 fsck.ext3 -f /dev/sdX1
-Btrfs-convert /dev/sdX1+btrfs-convert /dev/sdX1
 mount /dev/sdX1 /​point-de-montage</​code>​ mount /dev/sdX1 /​point-de-montage</​code>​
  
Ligne 94: Ligne 94:
 Si tout va bien et que vous avez tous vos fichiers on supprime cette image et le subvolume qui la contient : Si tout va bien et que vous avez tous vos fichiers on supprime cette image et le subvolume qui la contient :
 <code root>rm /​point-de-montage/​ext2_saved/​* <code root>rm /​point-de-montage/​ext2_saved/​*
-Btrfs subvolume delete /​ext2_saved +btrfs subvolume delete /​ext2_saved 
-Btrfs balance start /​point-de-montage</​code>​+btrfs balance start /​point-de-montage</​code>​
  
 Si tout ne va pas bien, qu'il y a eu un problème ou que vous avez les jetons :-P : Si tout ne va pas bien, qu'il y a eu un problème ou que vous avez les jetons :-P :
 <code root>​umount /dev/sdX1 <code root>​umount /dev/sdX1
-Btrfs-convert -r /​dev/​SdX1</​code>​+btrfs-convert -r /​dev/​SdX1</​code>​
  
 ==== Options de montage ==== ==== Options de montage ====
Ligne 105: Ligne 105:
 En des différentes options disponibles lors de la création du système de fichiers, le nombreuses options de montage pour Btrfs peuvent drastiquement changer ses performances. En des différentes options disponibles lors de la création du système de fichiers, le nombreuses options de montage pour Btrfs peuvent drastiquement changer ses performances.
  
-^Option de montage propres à Btrfs ^Rôle ^+^Option de montage propres à Btrfs^Rôle ^ 
 +|autodefrag|Autorise la défragmentation en arrière plan|
 |compress=zlib|La compression la plus importante. Par défaut| |compress=zlib|La compression la plus importante. Par défaut|
 |compress=lzo|La compression la plus rapide| |compress=lzo|La compression la plus rapide|
Ligne 112: Ligne 113:
 |discard |Utilise le TRIM pour les disques SSD| |discard |Utilise le TRIM pour les disques SSD|
 |recovery|Lance la réparation automatique après le montage. A utilise si le volume ne veut plus se monter. un fois monté réaliser un scrub pour réparer les erreurs. (Ne fonctionne qu'​avec les volumes crées avec la version 3.2 ou +)| |recovery|Lance la réparation automatique après le montage. A utilise si le volume ne veut plus se monter. un fois monté réaliser un scrub pour réparer les erreurs. (Ne fonctionne qu'​avec les volumes crées avec la version 3.2 ou +)|
-|ssd|Utilise l'​optimisation pour ssd de Btrfs. C'est utilisé par défaut si votre système reconnaît le SSD. Cette option ne lance pas le TRIM !| +|ssd|Utilise l'​optimisation pour disques SSD de Btrfs. C'est utilisé par défaut si votre système reconnaît le SSD. Cette option ne lance pas le TRIM !| 
-|subvol=/​chemin/​vers/​subvolume|Permet de monter un subvolume| +|subvol=///​chemin/​vers/​subvolume//|Permet de monter un subvolume| 
-|subvolid=id|Permet de monter un subvolume par son id. La racine a un id=0|+|subvolid=//id//|Permet de monter un subvolume par son id. La racine a un id=0|
  
 === Pour un SSD === === Pour un SSD ===
Ligne 140: Ligne 141:
  
 Pour voir l'​espace utilisé dans le volume Btrfs monté dans /mnt : Pour voir l'​espace utilisé dans le volume Btrfs monté dans /mnt :
-<code user>Btrfs filesystem df /​mnt</​code>​+<code user>btrfs filesystem df /​mnt</​code>​
 <​file>​Data,​ single: total=27.00GiB,​ used=24.28GiB <​file>​Data,​ single: total=27.00GiB,​ used=24.28GiB
 System, DUP: total=32.00MiB,​ used=4.00KiB System, DUP: total=32.00MiB,​ used=4.00KiB
Ligne 148: Ligne 149:
  
 Pour avoir des informations sur le disque, l'UUID du volume etc : Pour avoir des informations sur le disque, l'UUID du volume etc :
-<code root>Btrfs filesystem show /​mnt</​code>​+<code root>btrfs filesystem show /​mnt</​code>​
 <​file>​Label:​ none  uuid: a69d9182-f4c7-4276-b35d-7d5f9bd50a57 <​file>​Label:​ none  uuid: a69d9182-f4c7-4276-b35d-7d5f9bd50a57
  Total devices 1 FS bytes used 25.98GiB  Total devices 1 FS bytes used 25.98GiB
Ligne 167: Ligne 168:
  
 On peut aussi voir si le disque a fait des erreurs On peut aussi voir si le disque a fait des erreurs
-<code root>Btrfs device stats /​dev/​sdX</​code>​+<code root>btrfs device stats /​dev/​sdX</​code>​
 <​file>​[/​dev/​sdX].write_io_errs ​  0 <​file>​[/​dev/​sdX].write_io_errs ​  0
 [/​dev/​sdX].read_io_errs ​   0 [/​dev/​sdX].read_io_errs ​   0
Ligne 179: Ligne 180:
  
 Pour créer un subvolume : Pour créer un subvolume :
-<code root>Btrfs subvolume create NOM</​code>​+<code root>btrfs subvolume create NOM</​code>​
  
 Pour avoir la liste des subvolumes dans le volume Btrfs : Pour avoir la liste des subvolumes dans le volume Btrfs :
-<code root>Btrfs subvolume list /​mnt</​code>​+<code root>btrfs subvolume list /​mnt</​code>​
  
 ==== Monter un subvolume ==== ==== Monter un subvolume ====
Ligne 194: Ligne 195:
  
 Pour réaliser un snapshot du subvolume NOM : Pour réaliser un snapshot du subvolume NOM :
-<code root>Btrfs subvolume snapshot NOM SNAP</​code>​+<code root>btrfs subvolume snapshot NOM SNAP</​code>​
  
 ===== La compression ===== ===== La compression =====
Ligne 203: Ligne 204:
  
 Pour compresser un volume non compressé ou changer le type de compression (à chaud bien sur !): Pour compresser un volume non compressé ou changer le type de compression (à chaud bien sur !):
-<code root>Btrfs filesystem defragment -r -v -clzo /​point-de-montage</​code>​+<code root>btrfs filesystem defragment -r -v -clzo /​point-de-montage</​code>​
  
 ===== Maintenance ===== ===== Maintenance =====
Ligne 211: Ligne 212:
 Scrub permet de vérifier à chaud le système de fichiers. Les données et métadonnées sont lues et les sommes de contrôle sont vérifiées,​ les données corrompues sont identifiées et réparées. Scrub permet de vérifier à chaud le système de fichiers. Les données et métadonnées sont lues et les sommes de contrôle sont vérifiées,​ les données corrompues sont identifiées et réparées.
  
-<code root>Btrfs scrub start /​point-de-montage</​code>​+<code root>btrfs scrub start /​point-de-montage</​code>​
  
 On peut changer la commande **start** avec **cancel** pour stopper la vérif, **pause**, et **status** pour voir l'​état d'une vérif en cours. On peut changer la commande **start** avec **cancel** pour stopper la vérif, **pause**, et **status** pour voir l'​état d'une vérif en cours.
Ligne 219: Ligne 220:
 Balance ré-alloue les données dans le système de fichier. C'est particulièrement utile lorsqu'​on a un système de fichiers en RAID et qu'un disque est ajouté ou retiré. Les copies manquantes sont ainsi régénérées. Balance ré-alloue les données dans le système de fichier. C'est particulièrement utile lorsqu'​on a un système de fichiers en RAID et qu'un disque est ajouté ou retiré. Les copies manquantes sont ainsi régénérées.
  
-<code root>Btrfs balance start /​point-de-montage</​code>​+<code root>btrfs balance start /​point-de-montage</​code>​
  
 Idem que pour scrub pour les commandes **start**, **cancel** et **status**. Idem que pour scrub pour les commandes **start**, **cancel** et **status**.
  
-===== RAID 0 1 (5/6) et 10 =====+===== RAID 0 1 et 10 =====
  
 Si on dispose de plusieurs disques il est possible d'​activer la redondance logicielle des données. Si vous voulez plus d'​information sur le RAID : https://​fr.wikipedia.org/​wiki/​RAID_%28informatique%29 Si on dispose de plusieurs disques il est possible d'​activer la redondance logicielle des données. Si vous voulez plus d'​information sur le RAID : https://​fr.wikipedia.org/​wiki/​RAID_%28informatique%29
Ligne 231: Ligne 232:
 On crée un système de fichier sur ces deux disques : On crée un système de fichier sur ces deux disques :
  
-<code root>​mkfs.Btrfs /dev/sda /​dev/​sdb</​code>​+<code root>​mkfs.btrfs /dev/sda /​dev/​sdb</​code>​
  
 On  monte le volume : On  monte le volume :
Ligne 237: Ligne 238:
  
 Si on décide d'​augmenter la taille de ce volume (à chaud) en ajoutant un disque /dev/sdc : Si on décide d'​augmenter la taille de ce volume (à chaud) en ajoutant un disque /dev/sdc :
-<code root>Btrfs device add /​dev/​sdc</​code>​+<code root>btrfs device add /​dev/​sdc</​code>​
 puis on ré-alloue les données en utilisant les 3 disques. puis on ré-alloue les données en utilisant les 3 disques.
-<code root>Btrfs balance start /​mnt</​code>​+<code root>btrfs balance start /​mnt</​code>​
  
 Par défaut Btrfs utilise RAID0, pour passer en RAID1 : Par défaut Btrfs utilise RAID0, pour passer en RAID1 :
-<code root>Btrfs balance start -dconvert=raid1 -mconvert=raid1 /​mnt</​code>​+<code root>btrfs balance start -dconvert=raid1 -mconvert=raid1 /​mnt</​code>​
  
 Il est aussi possible de supprimer des disques si nécessaire. Il est aussi possible de supprimer des disques si nécessaire.
Ligne 256: Ligne 257:
     * C'est la méthode la plus élégante, puisqu'​elle est très flexible.     * C'est la méthode la plus élégante, puisqu'​elle est très flexible.
     * Je ne vais pas détailler cette méthode ici, il y a des tutoriels bien faits [[:​doc:​install:​debootstrap-chroot|(par exemple ici)]]. Sachez juste qu'il suffit au moment du montage des partitions d'​ajouter dans les options de montage **subvol=//​chemin/​vers/​le/​subvolume/​racine//​** pour utiliser le subvolume comme racine.     * Je ne vais pas détailler cette méthode ici, il y a des tutoriels bien faits [[:​doc:​install:​debootstrap-chroot|(par exemple ici)]]. Sachez juste qu'il suffit au moment du montage des partitions d'​ajouter dans les options de montage **subvol=//​chemin/​vers/​le/​subvolume/​racine//​** pour utiliser le subvolume comme racine.
-    * Grub sait maintenant bien gérer le Btrfs même à l'​intérieur d'un subvolume. Par contre, dans le cas d'un multi-boot, os-prober ne va pas fouiller dans tous les subvolumes, donc votre nouveau système ne saura pas trouvé par la commande update-grub d'un autre système. Je propose une méthode plus bas.+    * Grub sait maintenant bien gérer le Btrfs même à l'​intérieur d'un subvolume. Par contre, dans le cas d'un multi-boot, os-prober ne va pas fouiller dans tous les subvolumes, donc votre nouveau système ne saura pas trouvé par la commande update-grub d'un autre système. ​[[syntax#​GRUB|Je propose une méthode plus bas]].
     * La méthode d'​installation via chroot est utilisée par Arch et Gentoo entre autre. Il est donc simple d'​installer ces distributions dans un subvolume.     * La méthode d'​installation via chroot est utilisée par Arch et Gentoo entre autre. Il est donc simple d'​installer ces distributions dans un subvolume.
   * Utiliser le mode d'​installation expert pour installer Debian dans un subvolume.   * Utiliser le mode d'​installation expert pour installer Debian dans un subvolume.
Ligne 293: Ligne 294:
  
 On monte le volume Btrfs dans /mnt On monte le volume Btrfs dans /mnt
-<code root>​mount -t Btrfs -o ..options.. /dev/sdaX /​mnt</​code>​+<code root>​mount -t btrfs -o ..options.. /dev/sdaX /​mnt</​code>​
  
 On va créer les subvolumes où l'on désire installer Debian : On va créer les subvolumes où l'on désire installer Debian :
 <code root>cd /mnt <code root>cd /mnt
-Btrfs subvolume create debian+btrfs subvolume create debian
 cd debian cd debian
-Btrfs subvolume create root +btrfs subvolume create root 
-Btrfs subvolume create home+btrfs subvolume create home
 </​code>​ </​code>​
  
Ligne 309: Ligne 310:
 <code root>cd / <code root>cd /
 mkdir -p /target mkdir -p /target
-mount -t Btrfs -o ..options..,​subvol=debian/​root /dev/sdaX /target+mount -t btrfs -o ..options..,​subvol=debian/​root /dev/sdaX /target
 mkdir /​target/​home mkdir /​target/​home
-mount -t Btrfs -o ..options..,​subvol=debian/​home /dev/sdaX /​target/​home+mount -t btrfs -o ..options..,​subvol=debian/​home /dev/sdaX /​target/​home
 (umount /mnt) (umount /mnt)
 cat /​proc/​self/​mountinfo cat /​proc/​self/​mountinfo
Ligne 355: Ligne 356:
  
 Toujours dans l'​installateur Debian installez grub. **__Mais n'​installez pas le programme de démarrage GRUB sur le secteur d'​amorçage !__** Toujours dans l'​installateur Debian installez grub. **__Mais n'​installez pas le programme de démarrage GRUB sur le secteur d'​amorçage !__**
-<​note>​vous pourrez désinstaller grub une fois que vous aurez booté le "​nouveau"​ système. \\ +<​note>​Vous pourrez désinstaller grub une fois que vous aurez booté le "​nouveau"​ système. \\ 
 Vous pouvez aussi continuer sans programme d’amorçage et utiliser le modèle de fichier 40_custom donné ci dessous **à vos risques et périls**</​note>​ Vous pouvez aussi continuer sans programme d’amorçage et utiliser le modèle de fichier 40_custom donné ci dessous **à vos risques et périls**</​note>​
  
Ligne 424: Ligne 425:
  
 <note warning> **Profitez en pour éditer le fstab du nouveau système :** <note warning> **Profitez en pour éditer le fstab du nouveau système :**
-<​code>​nano /​mnt/​debian/​root/​etc/​fstab</​code>​ +<​code ​root>nano /​mnt/​debian/​root/​etc/​fstab</​code>​ 
-<file fstab>​UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 ​     /      Btrfs      rw,​noatime,​ssd,​discard,​autodefrag,​subvol=debian/​root ​     0      0+<file fstab>#​l'​entrée pour la racine 
 +UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 ​     /      Btrfs      rw,​noatime,​ssd,​discard,​autodefrag,​subvol=debian/​root ​     0      0 
 +#​l'​entrée pour le home
 UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 ​     /home      Btrfs      rw,​noatime,​ssd,​discard,​autodefrag,​subvol=debian/​home ​     0      0 UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 ​     /home      Btrfs      rw,​noatime,​ssd,​discard,​autodefrag,​subvol=debian/​home ​     0      0
 +#swap et tmpfs
 swap... swap...
 tmpfs /tmp tmpfs default 0 0 tmpfs /tmp tmpfs default 0 0
Ligne 442: Ligne 446:
 <code root>cp 40_custom 41_debian2 <code root>cp 40_custom 41_debian2
 chmod +x 41_debian2</​code>​ chmod +x 41_debian2</​code>​
-et changer ​les subvolumes dans le menuentry.+Changer ​les subvolumes dans le menuentry ​pour correspondre au snapshot. 
 +<code root>​update-grub</​code>​
  
 C'est pratique pour : C'est pratique pour :
Ligne 461: Ligne 466:
 Snapper est un programme qui gère les snapshots et qui a été développé par OpenSuse ((http://​snapper.io/​manpages/​snapper.html)). Snapper est un programme qui gère les snapshots et qui a été développé par OpenSuse ((http://​snapper.io/​manpages/​snapper.html)).
  
-<​code>​ apt-get install snapper+<​code ​root> apt-get install snapper
 man snapper</​code>​ man snapper</​code>​
  
 Pour des snapshots automatiques de la racine : Pour des snapshots automatiques de la racine :
-<​code>​snapper -c root create-config /</​code>​+<​code ​root>snapper -c root create-config /</​code>​
 Ceci va créer un subvolume /.snapshot à la racine et les snapshots seront placés dedans. Ceci va créer un subvolume /.snapshot à la racine et les snapshots seront placés dedans.
 Les snaphots se font toutes les heures Les snaphots se font toutes les heures
Ligne 481: Ligne 486:
 <​note>​ Notez encore une fois que les snapshots ne sont pas récursifs ! \\  <​note>​ Notez encore une fois que les snapshots ne sont pas récursifs ! \\ 
 Si vous avez /home dans un subvolume, alors votre /home ne sera pas snapshotté. Si vous avez /home dans un subvolume, alors votre /home ne sera pas snapshotté.
-recréez alors une configuration pour home <​code>​snapper -c home create-config /​home</​code></​note>​+recréez alors une configuration pour home <​code ​root>snapper -c home create-config /​home</​code></​note>​
  
 Voici ce que vous aurez une semaine après : Voici ce que vous aurez une semaine après :
-<​code>​snapper list</​code>​+<​code ​user>snapper list</​code>​
 <​file>​Type ​  | #   | Pré # | Date                           | Utilisateur | Nettoyage | Description | Données utilisateur <​file>​Type ​  | #   | Pré # | Date                           | Utilisateur | Nettoyage | Description | Données utilisateur
 -------+-----+-------+--------------------------------+-------------+-----------+-------------+-------------------- -------+-----+-------+--------------------------------+-------------+-----------+-------------+--------------------
Ligne 516: Ligne 521:
 Le principe de base est simple : un [[:​doc:​programmation:​shell:​scripts|script bash]] et [[:​doc:​systeme:​crontab|cron]]. Le principe de base est simple : un [[:​doc:​programmation:​shell:​scripts|script bash]] et [[:​doc:​systeme:​crontab|cron]].
  
-<​code>​btrfs subvolume snapshot /​home/​btrfs/​debian/​home /​home/​btrfs/​snapshots/​home-backup-$(date)</​code>​+<​code ​root>btrfs subvolume snapshot /​home/​btrfs/​debian/​home /​home/​btrfs/​snapshots/​home-backup-$(date)</​code>​
  
  
doc/systeme/btrfs.txt · Dernière modification: 01/07/2023 08:06 par Croutons

Pied de page des forums

Propulsé par FluxBB