BtrFs » Historique » Version 1
Fabien Dupont, 09/05/2013 13:01
1 | 1 | Fabien Dupont | h1. BtrFs |
---|---|---|---|
2 | 1 | Fabien Dupont | |
3 | 1 | Fabien Dupont | h2. Présentation |
4 | 1 | Fabien Dupont | |
5 | 1 | Fabien Dupont | BtrFs (se prononce « Butter FS ») est un filesystem de type CoW (« Copy on Write »). C'est à dire que deux données identiques (même CRC32) ne sont écrites qu'une seule fois sur le filesystem jusqu'à ce qu'une des deux soit modifiées. |
6 | 1 | Fabien Dupont | |
7 | 1 | Fabien Dupont | Exemple : |
8 | 1 | Fabien Dupont | |
9 | 1 | Fabien Dupont | <pre> |
10 | 1 | Fabien Dupont | $ cat toto > fichier1 # « toto » est écrit quelque part sur le disque dur |
11 | 1 | Fabien Dupont | $ cat toto > fichier2 # fichier2 devient un pointeur vers fichier1 |
12 | 1 | Fabien Dupont | $ sed -ie 's/o/a/g' fichier2 # « tata » est écrit quelque part sur le disque dur |
13 | 1 | Fabien Dupont | # et fichier2 n'est plus un pointeur vers fichier1 |
14 | 1 | Fabien Dupont | </pre> |
15 | 1 | Fabien Dupont | |
16 | 1 | Fabien Dupont | De plus, BtrFs est différents des systèmes de fichiers « classiques » (ext2/3/4) car il offre les fonctionnalités suivantes : |
17 | 1 | Fabien Dupont | |
18 | 1 | Fabien Dupont | * possibilité d'écrire le filesystem sur plusieurs disques : raid1, raid0, raid10 et depuis le kernel 3.9, raid5 ou raid6. |
19 | 1 | Fabien Dupont | * sous-volumes : il n'y a pas de notion de partitions mais un répertoire peut devenir la racine d'un nouveau volume. |
20 | 1 | Fabien Dupont | * snapshots : une image peut être créée et utilisée pour sauvegarder ou restaurer l'état d'un filesystem (ou d'un sous-volume) à un instant T. |
21 | 1 | Fabien Dupont | |
22 | 1 | Fabien Dupont | h2. Création d'un filesystem BtrFs sous debian |
23 | 1 | Fabien Dupont | |
24 | 1 | Fabien Dupont | Le paquet « btrfs-tools » offre les outils permettant la création et la gestion d'un filesystem BtrFs. |
25 | 1 | Fabien Dupont | |
26 | 1 | Fabien Dupont | <pre> |
27 | 1 | Fabien Dupont | # apt-get install btrfs-tools |
28 | 1 | Fabien Dupont | </pre> |
29 | 1 | Fabien Dupont | |
30 | 1 | Fabien Dupont | h3. Single |
31 | 1 | Fabien Dupont | |
32 | 1 | Fabien Dupont | Les données et les métadonnées sont écrites sur un seul disque. |
33 | 1 | Fabien Dupont | |
34 | 1 | Fabien Dupont | <pre> |
35 | 1 | Fabien Dupont | # mkfs.btrfs -d single /dev/sdb |
36 | 1 | Fabien Dupont | </pre> |
37 | 1 | Fabien Dupont | |
38 | 1 | Fabien Dupont | h3. raid0 |
39 | 1 | Fabien Dupont | |
40 | 1 | Fabien Dupont | Les données sont « stripées » sur deux disques. Il faut donc un minimum de 2 disques. |
41 | 1 | Fabien Dupont | |
42 | 1 | Fabien Dupont | <pre> |
43 | 1 | Fabien Dupont | # mkfs.btrfs -d raid0 -m raid0 /dev/sdb /dev/sdc |
44 | 1 | Fabien Dupont | </pre> |
45 | 1 | Fabien Dupont | |
46 | 1 | Fabien Dupont | Par exemple pour un fichier contenant « abcdefgh », on aura sur les disques : |
47 | 1 | Fabien Dupont | |
48 | 1 | Fabien Dupont | <pre> |
49 | 1 | Fabien Dupont | +-----+ +-----+ |
50 | 1 | Fabien Dupont | | sdb | | sdc | |
51 | 1 | Fabien Dupont | +-----+ +-----+ |
52 | 1 | Fabien Dupont | | a | | b | |
53 | 1 | Fabien Dupont | | c | | d | |
54 | 1 | Fabien Dupont | | e | | f | |
55 | 1 | Fabien Dupont | | g | | h | |
56 | 1 | Fabien Dupont | +-----+ +-----+ |
57 | 1 | Fabien Dupont | </pre> |
58 | 1 | Fabien Dupont | |
59 | 1 | Fabien Dupont | Pros : |
60 | 1 | Fabien Dupont | |
61 | 1 | Fabien Dupont | * Performance accrue en lecture, un fichier est lue sur deux disques, débit doublé. |
62 | 1 | Fabien Dupont | * Plusieurs disques sont vus en un seul volume. |
63 | 1 | Fabien Dupont | |
64 | 1 | Fabien Dupont | Cons : |
65 | 1 | Fabien Dupont | |
66 | 1 | Fabien Dupont | * Sécurité des données faible, si un seul disque tombe en panne, l'ensemble des données est perdue. |
67 | 1 | Fabien Dupont | |
68 | 1 | Fabien Dupont | h3. raid1 |
69 | 1 | Fabien Dupont | |
70 | 1 | Fabien Dupont | Les données sont « mirrorées » sur deux disques. Il faut donc un minimum de 2 disques. |
71 | 1 | Fabien Dupont | |
72 | 1 | Fabien Dupont | <pre> |
73 | 1 | Fabien Dupont | # mkfs.btrfs -d raid1 -m raid1 /dev/sdb /dev/sdc |
74 | 1 | Fabien Dupont | </pre> |
75 | 1 | Fabien Dupont | |
76 | 1 | Fabien Dupont | Par exemple pour un fichier contenant « abcdefgh », on aura sur les disques : |
77 | 1 | Fabien Dupont | |
78 | 1 | Fabien Dupont | <pre> |
79 | 1 | Fabien Dupont | +-----+ +-----+ |
80 | 1 | Fabien Dupont | | sdb | | sdc | |
81 | 1 | Fabien Dupont | +-----+ +-----+ |
82 | 1 | Fabien Dupont | | a | | a | |
83 | 1 | Fabien Dupont | | b | | b | |
84 | 1 | Fabien Dupont | | c | | c | |
85 | 1 | Fabien Dupont | | d | | d | |
86 | 1 | Fabien Dupont | | e | | e | |
87 | 1 | Fabien Dupont | | f | | f | |
88 | 1 | Fabien Dupont | | g | | g | |
89 | 1 | Fabien Dupont | | h | | h | |
90 | 1 | Fabien Dupont | +-----+ +-----+ |
91 | 1 | Fabien Dupont | </pre> |
92 | 1 | Fabien Dupont | |
93 | 1 | Fabien Dupont | Pros : |
94 | 1 | Fabien Dupont | |
95 | 1 | Fabien Dupont | * Sécurité des données forte, N-1 disques peuvent tomber en panne avant de perdre les données. |
96 | 1 | Fabien Dupont | |
97 | 1 | Fabien Dupont | Cons : |
98 | 1 | Fabien Dupont | |
99 | 1 | Fabien Dupont | * Pour N disques de taille T, on n'a que T octets à disposition. |
100 | 1 | Fabien Dupont | |
101 | 1 | Fabien Dupont | h4. raid10 |
102 | 1 | Fabien Dupont | |
103 | 1 | Fabien Dupont | Les données sont « mirrorées » sur N/2 disques puis « stripées » entre les 2 N/2 disques. Il faut donc un minimum de 4 disques. |
104 | 1 | Fabien Dupont | |
105 | 1 | Fabien Dupont | <pre> |
106 | 1 | Fabien Dupont | # mkfs.btrfs -d raid10 -m raid10 /dev/sdb /dev/sdc /dev/sdd /dev/sde |
107 | 1 | Fabien Dupont | </pre> |
108 | 1 | Fabien Dupont | |
109 | 1 | Fabien Dupont | Par exemple pour un fichier contenant « abcdefgh », on aura sur les disques : |
110 | 1 | Fabien Dupont | |
111 | 1 | Fabien Dupont | <pre> |
112 | 1 | Fabien Dupont | <-------raid0-------> |
113 | 1 | Fabien Dupont | <-----raid1-----> <-----raid1-----> |
114 | 1 | Fabien Dupont | +-----+ +-----+ +-----+ +-----+ |
115 | 1 | Fabien Dupont | | sdb | | sdc | | sdd | | sde | |
116 | 1 | Fabien Dupont | +-----+ +-----+ +-----+ +-----+ |
117 | 1 | Fabien Dupont | | a | | a | | b | | b | |
118 | 1 | Fabien Dupont | | c | | c | | d | | d | |
119 | 1 | Fabien Dupont | | e | | e | | f | | f | |
120 | 1 | Fabien Dupont | | g | | g | | h | | h | |
121 | 1 | Fabien Dupont | +-----+ +-----+ +-----+ +-----+ |
122 | 1 | Fabien Dupont | </pre> |
123 | 1 | Fabien Dupont | |
124 | 1 | Fabien Dupont | Pros : |
125 | 1 | Fabien Dupont | |
126 | 1 | Fabien Dupont | * Sécurité des données forte, N-1 disques dans chaque morceau du raid0 peuvent tomber en panne avant de perdre les données. |
127 | 1 | Fabien Dupont | * Performance accrue en lecture, un fichier est lue sur deux disques, débit doublé. |
128 | 1 | Fabien Dupont | * Plusieurs disques sont vus en un seul volume. |
129 | 1 | Fabien Dupont | |
130 | 1 | Fabien Dupont | Cons : |
131 | 1 | Fabien Dupont | |
132 | 1 | Fabien Dupont | * Pour N disques de taille T, on n'a que (NÃT)/2 octets à disposition. |