Btrfs dans Fedora 13

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Created page with '== Interview with Josef Bacik == '''Je pense que tu peux commencer par te présenter''' Certes. Je travaille pour Red Hat depuis 6 ans maintenant. Je suis entré en tant que st...')
 
(Typos)
Line 19: Line 19:
  
 
RAID est une façon d'organiser les données sur plusieurs disques et dont il existent plusieurs niveaux.
 
RAID est une façon d'organiser les données sur plusieurs disques et dont il existent plusieurs niveaux.
Donc RAID0 est appellé stripping qui fait plus ou moins ce que fait LVM: prendre deux disques afin d'en faire un seul gros disque. Puis RAID1 appelé "mise en mirroir" qui lui prends deux disques et copie les données entre ces deux et les fait apparaitre comme un seule. Si par exemple, vous voulez vraiment mettre en mirroir votre /home mais pas le reste en cas de défaillance matérielle, vous pouvez créer un sous-volume pour / et l'utiliser avec un profil de données normal puis créer le répertoire /home et définir son profil en RAID1. Puis, chaque écriture dans /home sera copié sur les deux disques. Donc, si un de vos disque rends l'âme, vous pourrez récupérer votre /home intact sur l'autre.
+
Donc RAID0 est appelé stripping qui fait plus ou moins ce que fait LVM: prendre deux disques afin d'en faire un seul gros disque. Puis RAID1 appelé "mise en mirroir" qui lui prends deux disques et copie les données entre ces deux et les fait apparaitre comme un seule. Si par exemple, vous voulez vraiment mettre en mirroir votre /home mais pas le reste en cas de défaillance matérielle, vous pouvez créer un sous-volume pour / et l'utiliser avec un profil de données normal puis créer le répertoire /home et définir son profil en RAID1. Puis, chaque écriture dans /home sera copié sur les deux disques. Donc, si un de vos disque rends l'âme, vous pourrez récupérer votre /home intact sur l'autre.
  
 
Plus d'informations sur RAID sur [[http://en.wikipedia.org/wiki/RAID]]
 
Plus d'informations sur RAID sur [[http://en.wikipedia.org/wiki/RAID]]
Line 43: Line 43:
 
Tu n'as juste qu'à sélectionner une organisation de disque personnalisée au lieu de l'organisation par défaut et ensuite quand tu assigneras les volumes, choisis un système de fichiers Btrfs au lieu de ext4. Tu auras encore besoin d'une partition /boot séparée en ext3 car le grub de Fedora 13 ne prends pas encore en charge Btrfs.
 
Tu n'as juste qu'à sélectionner une organisation de disque personnalisée au lieu de l'organisation par défaut et ensuite quand tu assigneras les volumes, choisis un système de fichiers Btrfs au lieu de ext4. Tu auras encore besoin d'une partition /boot séparée en ext3 car le grub de Fedora 13 ne prends pas encore en charge Btrfs.
  
'''Peux-tu nous donner des détails sur l'utilisaton de Btrfs pour ceux qui l'auraient choisis ?'''
+
'''Peux-tu nous donner des détails sur l'utilisation de Btrfs pour ceux qui l'auraient choisis ?'''
  
 
Supposons que tu ais un /dev/sda1 et un /dev/sda2 (peu importe). La première partition est d'environ 250 Mo et a été formaté en ext3 avec pour point de montage /boot. D'habitude, /dev/sda2 est utilisé comme un groupe de volumes et dans lequel, on ajoute différents volumes logiques supplémentaires formatés en ext4. Au lieu de cela, tu veut avoir ta première partition formaté en ext3 et montée dans /boot comme avant, mais remplacer ext4 par Btrfs pour ton volume logique / .
 
Supposons que tu ais un /dev/sda1 et un /dev/sda2 (peu importe). La première partition est d'environ 250 Mo et a été formaté en ext3 avec pour point de montage /boot. D'habitude, /dev/sda2 est utilisé comme un groupe de volumes et dans lequel, on ajoute différents volumes logiques supplémentaires formatés en ext4. Au lieu de cela, tu veut avoir ta première partition formaté en ext3 et montée dans /boot comme avant, mais remplacer ext4 par Btrfs pour ton volume logique / .
Line 53: Line 53:
 
'''D'autres conseils d'utilisation ?'''
 
'''D'autres conseils d'utilisation ?'''
  
Une fois que l'installeur s'est lancé, tapes sur tab et tu tomberas sur un prompt. Entre Btrfs et valide, ensuite, tu pourras formatter tes volumes avec Btrfs.
+
Une fois que l'installeur s'est lancé, tapes sur tab et tu tomberas sur un prompt. Entre Btrfs et valide, ensuite, tu pourras formater tes volumes avec Btrfs.
  
Avec Fedora 13, si tu réalises une installation avec Btrfs et veux utiliser la fonctionnalité de retour en arrière, tu voudras certainement installer le greffon yum adéquat. Retiens bien qu'à chaque *fois* que tu utiliseras yum, le greffon créera un cliché, donc tu te retrouveras avec pleins de clichés /yum-<date> dans la racine. (Ça veut dire que tu devrais nettoyer régulièremment celle-ci afin de ne pas gaspiller de l'espace disque.)
+
Avec Fedora 13, si tu réalises une installation avec Btrfs et veux utiliser la fonctionnalité de retour en arrière, tu voudras certainement installer le greffon yum adéquat. Retiens bien qu'à chaque *fois* que tu utiliseras yum, le greffon créera un cliché, donc tu te retrouveras avec pleins de clichés /yum-<date> dans la racine. (Ça veut dire que tu devrais nettoyer régulièrement celle-ci afin de ne pas gaspiller de l'espace disque.)
  
 
Le greffon se nomme yum-plugin-fs-snapshot et se trouve dans les dépôts. Tout ce que tu dois fais faire c'est yum install yum-plugin-fs-snapshot et ça fonctionnera tout seul.
 
Le greffon se nomme yum-plugin-fs-snapshot et se trouve dans les dépôts. Tout ce que tu dois fais faire c'est yum install yum-plugin-fs-snapshot et ça fonctionnera tout seul.
Line 63: Line 63:
 
Je ne crois pas qu'il y ait de tutoriels pour le moment. Comme Btrfs est encore expérimental, nous tenons à ce qu'il soit testé et uniquement par des personnes qui ont pris connaissances des risques encourus. Bien que je pense que ce soit une bonne à faire.
 
Je ne crois pas qu'il y ait de tutoriels pour le moment. Comme Btrfs est encore expérimental, nous tenons à ce qu'il soit testé et uniquement par des personnes qui ont pris connaissances des risques encourus. Bien que je pense que ce soit une bonne à faire.
  
'''Btrfs n'est pas prêt pour être laché dans la nature. Y-a-t'il un calendrier pour le projet ?'''
+
'''Btrfs n'est pas prêt pour être lâché dans la nature. Y-a-t'il un calendrier pour le projet ?'''
  
 
Non, ce n'est pas encore prêt. Par exemple, il n'y a toujours pas de fsck fonctionnel, donc au premier pépin, la seule solution est de reformater le système de fichiers et de restaurer à partir d'une sauvegarde.
 
Non, ce n'est pas encore prêt. Par exemple, il n'y a toujours pas de fsck fonctionnel, donc au premier pépin, la seule solution est de reformater le système de fichiers et de restaurer à partir d'une sauvegarde.

Revision as of 13:10, 23 May 2010

Interview with Josef Bacik

Je pense que tu peux commencer par te présenter

Certes. Je travaille pour Red Hat depuis 6 ans maintenant. Je suis entré en tant que stagiaire à la division support et je me suis retrouvé au final dans le groupe système de fichiers du noyau il y a quelques années. Quand Chris Mason a annoncé Btrfs en 2007 (je crois), j'ai commencé à bidouiller autour, principalement pour compléter les fonctionnalités. Auparavant, mon expérience dans le domaine des systèmes de fichiers était basé sur GFS/GFS2, notre système de fichiers pour clusters. Attaquer un système de fichiers non clusterisé a été un changement plutôt agréable. Depuis, je consacre plus de la moitié de mon temps de travail à Btrfs.

Qu'est-ce que Btrfs exactement ?

C'est un nouveau système de fichiers apportant des fonctionnalités modernes à Linux. Par exemple, il prends directement en charge les clichés et les sous-volumes sans devoir passer par une couche intermédiaire telle que LVM. Il offre des fonctionnalités uniques d'intégrité des données, comme les sommes de hachages pour toutes les données et méta-données et nous utilisons la technique de la copie-sur-écriture pour gérer l'intégrité des données au lieu de la journalisation classique d'ext4 ou xfs

Peux-tu simplifier pour les quelques non informaticiens qui nous lisent ?

Prendre un cliché signifie créer une copie exacte du disque à un instant donné. C'est utile pour les programmes de backup qui n'ont pas envie de gérer un système de fichiers movant. Vous pouvez prendre un cliché du système de fichiers, ensuite revenir sur ce cliché. Dans Fedora, nous avons utilisé cette fonctionnalité pour sécuriser les transactions yum. Donc avant de faire notre mise à jour via yum, notre greffon va prendre un cliché du système de fichiers donc vous aurez deux copies de celui-ci et ensuite yum fera sa mise à jour sur le volume original. Si par la suite, quelque chose se passe mal, vous pourrez revenir "en arrière" sur le cliché pris avant la mise à jour par yum. Il suffit pour cela de faire du cliché le volume par défaut, lors du prochain redémarrage, votre système sera à l'état exact où il était avant cette mise à jour. Ensuite, vous pourrez monté le volume cassé ailleurs et essayer de corriger les choses à la main.

Les sous-volumes sont juste une façon différentes d'organiser ses données. Parce que Btrfs prends nativement en charge RAID, l'idée est de permettre à l'avenir d'assigner différents profils RAID à différents sous-volumes.


Qu'est-ce que RAID ?

RAID est une façon d'organiser les données sur plusieurs disques et dont il existent plusieurs niveaux. Donc RAID0 est appelé stripping qui fait plus ou moins ce que fait LVM: prendre deux disques afin d'en faire un seul gros disque. Puis RAID1 appelé "mise en mirroir" qui lui prends deux disques et copie les données entre ces deux et les fait apparaitre comme un seule. Si par exemple, vous voulez vraiment mettre en mirroir votre /home mais pas le reste en cas de défaillance matérielle, vous pouvez créer un sous-volume pour / et l'utiliser avec un profil de données normal puis créer le répertoire /home et définir son profil en RAID1. Puis, chaque écriture dans /home sera copié sur les deux disques. Donc, si un de vos disque rends l'âme, vous pourrez récupérer votre /home intact sur l'autre.

Plus d'informations sur RAID sur [[1]]

Est-ce que les clichés et RAID sont des fonctionnalités de Btrfs ?

Oui, Btrfs comporte un tas de fonctionnalités de gestion de volumes en plus de celles habituellement fournies avec un système de fichiers classique. Je ne crois pas l'avoir dit explicitement mais Btrfs est capable de gérer seul plusieurs disques sans devoir passer par MD ou LVM ce qui nous permet de faire du RAID1 etc...

Que signifient MD et LVM ?

LVM signifie Gestion de Volumes Logiques, l'installation par défaut de Fedora mets tout dans un groupe de volumes LVM. Je ne suis pas certain de la signification de MD mais c'est ce qui donne la gestion logicielle RAID de Linux.

Donc Btrfs n'est pas par défaut dans Fedora 13 ?

Oh non, ce n'est pas prêt encore. C'est encore un système de fichiers expérimental en cours de développement. Bon nombre de fonctionnalités clés sont déjà là mais il reste un gros travail de stabilisation à faire.

Les utilisateurs de Fedora 13 peuvent quand même l'utiliser (voire travailler dessus ?)

Oui, si tu donnes à l'installeur l'option "btrfs" au démarrage ce qui te permettra de faire une installation sur un système de fichiers Btrfs. C'est une option depuis Fedora 11. Ma machine de travail est une Fedora 11 avec une racine installé sur Btrfs. Bien sûr, c'est beaucoup plus rapide et stable sur Fedora 13.

Si l'installeur démarre avec Btrfs, comme utilise-t-on celui-ci ? Est-ce automatisé ?

Tu n'as juste qu'à sélectionner une organisation de disque personnalisée au lieu de l'organisation par défaut et ensuite quand tu assigneras les volumes, choisis un système de fichiers Btrfs au lieu de ext4. Tu auras encore besoin d'une partition /boot séparée en ext3 car le grub de Fedora 13 ne prends pas encore en charge Btrfs.

Peux-tu nous donner des détails sur l'utilisation de Btrfs pour ceux qui l'auraient choisis ?

Supposons que tu ais un /dev/sda1 et un /dev/sda2 (peu importe). La première partition est d'environ 250 Mo et a été formaté en ext3 avec pour point de montage /boot. D'habitude, /dev/sda2 est utilisé comme un groupe de volumes et dans lequel, on ajoute différents volumes logiques supplémentaires formatés en ext4. Au lieu de cela, tu veut avoir ta première partition formaté en ext3 et montée dans /boot comme avant, mais remplacer ext4 par Btrfs pour ton volume logique / .

Si tu utilises l'organisation par défaut dans Anaconda, je crée en général /boot dans /dev/sda1, un swap das /dev/sda2, puis / dans /dev/sda3 qui est formaté en Btrfs.

Bien, notre organisation par défaut crée deux partitions, une pour /boot, l'autre pour LVM. Au sein de ce groupe de volumes, nous avons encore deux volumes, l'un pour le swap et l'autre pour / formaté en ext4. Si tu veux la solution de facilité pour changer, tu demandes d'avoir l'organisation par défaut et de pourvoir faire une revue avant la création. Ensuite, tout ce qui tu as à faire, lors de la revue, c'est de changer le système de fichiers du volume logique d'ext4 à Btrfs.

D'autres conseils d'utilisation ?

Une fois que l'installeur s'est lancé, tapes sur tab et tu tomberas sur un prompt. Entre Btrfs et valide, ensuite, tu pourras formater tes volumes avec Btrfs.

Avec Fedora 13, si tu réalises une installation avec Btrfs et veux utiliser la fonctionnalité de retour en arrière, tu voudras certainement installer le greffon yum adéquat. Retiens bien qu'à chaque *fois* que tu utiliseras yum, le greffon créera un cliché, donc tu te retrouveras avec pleins de clichés /yum-<date> dans la racine. (Ça veut dire que tu devrais nettoyer régulièrement celle-ci afin de ne pas gaspiller de l'espace disque.)

Le greffon se nomme yum-plugin-fs-snapshot et se trouve dans les dépôts. Tout ce que tu dois fais faire c'est yum install yum-plugin-fs-snapshot et ça fonctionnera tout seul.

Y-a-t'il des captures d'écrans ou tutoriels pour les utilisateurs ?

Je ne crois pas qu'il y ait de tutoriels pour le moment. Comme Btrfs est encore expérimental, nous tenons à ce qu'il soit testé et uniquement par des personnes qui ont pris connaissances des risques encourus. Bien que je pense que ce soit une bonne à faire.

Btrfs n'est pas prêt pour être lâché dans la nature. Y-a-t'il un calendrier pour le projet ?

Non, ce n'est pas encore prêt. Par exemple, il n'y a toujours pas de fsck fonctionnel, donc au premier pépin, la seule solution est de reformater le système de fichiers et de restaurer à partir d'une sauvegarde. Mon objectif personnel est d'avoir l'option spéciale "Btrfs" supprimé dans Anaconda au alentour de Fedora 15, ainsi chacun pourra le tester. Et par la suite, avoir quelque chose de suffisamment stable pour en faire le système de fichiers par défaut de Fedora 16 ou 17. On peut espérer qu'il sera suffisamment stable l'automne de l'année prochaine pour qu'il soit le système de fichiers par défaut de Fedora. Je tiens à supprimer l'option dans Anaconda afin de permettre à chacun de tester Btrfs sans devoir passer une option spéciale à l'installeur.


as-tu une remarque importante à faire à propos de Btrfs ?

Retenez que c'est un système de fichiers tout nouveau qui évolue encore, donc si vous tenez à vois données, faites des sauvegardes régulièrement.

Merci encore. Ça me semble très bien, merci pour cet interview.

Content d'avoir rendu service et merci.


L'interview originale est disponible sur [[2]]

Questions supplémentaires

Combien de développeurs travaillent à temps pleins sur Btrfs chez Red Hat ? Et à quoi s'intéressent-ils ?

Seulement moi. Je m'occupe principalement de n'importe quoi et de tout ce qui est à faire. Les deux autres développeurs à temps pleins travaillent pour Oracle.

Que vaut la conversion sur-place à partir d'ext3/ext4 ?

Parfait, sans défaut, sans bogues. Nous utilisons e2fsprogs pour lire les méta-données ext*, et ensuite on les stocke dans un snapshot spécial, donc si tu n'aimes pas la conversion, tu n'as qu'à revenir en arrière sur le système de fichiers précédent.

Y-a-t'il des bons benchmarks mesurant les performances ?

Ouais, le jeu de benchmarks le plus complet et régulièrement actualisé se trouve ici [[3]]


À quoi ressemble le feuille de route et quels ont les fonctionnalités majeures prévues ou bien est-ce juste des corrections de bogues et un travail de stabilisation pour le moment ?

Il n'y a pas de feuille de route bien définie, mais il existe une liste de tâches sur le wiki de Btrfs [[4]]

Mais la cible est mouvante. Ma feuille de route personnelle est:

  • prise en charge des entrées/sorties directes.
  • différents types de RAID par sous-volume.
  • performances et stabilisation.
  • chiffrement.

Mais en majorité, Btrfs est d'ors et déjà fonctionnel pour être utilisable quotidiennement, donc on teste et corrige les bogues au fur et à mesure, puis travaille sur les fonctionnalités annexes sur notre temps libre.

Quels sont les fonctionnalités de ZFS qui manquent encore à Btrfs ?

ZFS peut démultiplier les données, ce qui n'est pas fait dans Btrfs mais est prévu dans un avenir proche. À part ça, je pense qu'on est plus ou moins à parité de fonctionnalités mais encore, je ne connais pas bien ZFS.

Les développeurs

Chris Ball, cjb@laptop.org Josef Bacik, josef@redhat.com

La page wiki suivante comporte quelques informations supplémentaires à ce sujet [[5]]