Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue94:labo_linux_1 [2015/04/01 10:16] – [8] auntiee | issue94:labo_linux_1 [2015/04/01 10:40] (Version actuelle) – [18] auntiee |
---|
As a side note, it can be observed that the BTRFS subsystem has correctly recognized the physical disk as an SSD unit, and has accordingly activated TRIM.** | As a side note, it can be observed that the BTRFS subsystem has correctly recognized the physical disk as an SSD unit, and has accordingly activated TRIM.** |
| |
Notre système de fichiers racine est monté, et le système d'exploitation de notre ordinateur est exécuté dessus. C'est pourquoi gparted ne peut pas le redimensionner à la volée, et affiche une clé à côté du nom de la partition. | Notre système de fichiers racine est monté, et le système d'exploitation de notre ordinateur est exécuté dessus. C'est pourquoi gparted ne peut pas le redimensionner à la volée et affiche une clé à côté du nom de la partition. |
| |
Cependant, nous pouvons utiliser l'espace libre pour créer une nouvelle partition, dans ce cas, /dev/sda3. Nous n'aurons pas besoin de la créer avec un système de fichiers spécifique pour notre usage, de sorte qu'on peut la laisser comme une nouvelle partition, non formatée. | Cependant, nous pouvons utiliser l'espace libre pour créer une nouvelle partition, dans ce cas, /dev/sda3. Nous n'aurons pas besoin de la créer avec un système de fichiers spécifique pour notre usage, de sorte qu'on peut la laisser comme une nouvelle partition, non formatée. |
| |
Maintenant, nous pouvons ajouter cette nouvelle partition à /dev/sda2, pour étendre l'espace disponible. C'est aussi simple que d'ajouter la nouvelle partition au périphérique existant, et ré-équilibrer les données sur les partitions. Curieusement, l'ajout du dispositif est presque instantané, mais l'équilibrage peut prendre un certain temps en fonction de la taille des partitions : | Maintenant, nous pouvons ajouter cette nouvelle partition à /dev/sda2, pour étendre l'espace disponible. C'est aussi simple que d'ajouter la nouvelle partition au périphérique existant et de ré-équilibrer les données sur les partitions. Curieusement, l'ajout du dispositif est presque instantané, mais l'équilibrage peut prendre un certain temps en fonction de la taille des partitions : |
| |
# btrfs dev add /dev/sda3 / | # btrfs dev add /dev/sda3 / |
Done, had to relocate 10 out of 10 chunks | Done, had to relocate 10 out of 10 chunks |
| |
On peut observer de façon annexe que le sous-système BTRFS a correctement reconnu le disque physique comme une unité SSD, et a donc activé TRIM. | Notons en passant que le sous-système BTRFS a correctement reconnu le disque physique comme une unité SSD et a donc activé TRIM. |
| |
====== 10 ====== | ====== 10 ====== |
Une autre caractéristique utile de BTRFS est que RAID 0 et RAID 1 sont tous les deux inclus dans le système de fichiers lui-même. RAID 0, ou « entrelacement », signifie que les données sont écrites sur plus d'un disque dur ou une partition. C'est ce qui a été appliqué dans la section ci-dessus. | Une autre caractéristique utile de BTRFS est que RAID 0 et RAID 1 sont tous les deux inclus dans le système de fichiers lui-même. RAID 0, ou « entrelacement », signifie que les données sont écrites sur plus d'un disque dur ou une partition. C'est ce qui a été appliqué dans la section ci-dessus. |
| |
D'autre part, RAID 1 ou « miroir » permet au système de fichiers de contenir plusieurs copies à la fois de nos fichiers et des métadonnées du système de fichiers. | En revanche, RAID 1, ou « miroir », permet au système de fichiers de contenir plusieurs copies à la fois de nos fichiers et des métadonnées du système de fichiers. |
| |
====== 11 ====== | ====== 11 ====== |
Done, had to relocate 4 out of 6 chunks** | Done, had to relocate 4 out of 6 chunks** |
| |
Par défaut, BTRFS crée de multiples (en fait, seulement deux) exemplaires des seules métadonnées. C'est l'information concernant l'emplacement réel des fichiers sur les secteurs du disque qui étaient auparavant contenus dans une table d'allocation de fichiers (FAT) sur certains systèmes de fichiers. Dans les systèmes modernes, cette information est répartie sur tout le disque ou la partition, pour réduire l'usure localisée. Garder deux copies des métadonnées signifie que le risque d'avoir des fichiers corrompus est réduit. Les options actives peuvent être consultées avec la commande suivante : | Par défaut, BTRFS crée de multiples (en fait, seulement deux) exemplaires des seules métadonnées. C'est l'information concernant l'emplacement réel des fichiers sur les secteurs du disque qui était auparavant contenue dans une table d'allocation de fichiers (FAT) sur certains systèmes de fichiers. Dans les systèmes modernes, cette information est répartie sur tout le disque ou la partition, pour réduire l'usure localisée. Garder deux copies des métadonnées signifie que le risque d'avoir des fichiers corrompus est réduit. Les options actives peuvent être consultées avec la commande suivante : |
| |
# btrfs fil df / | # btrfs fil df / |
Metadata, RAID1: total=1.00GiB, used=192.17MiB | Metadata, RAID1: total=1.00GiB, used=192.17MiB |
| |
Ici, nous voyons que les éléments Système et Métadonnées sont dupliqués - avec, par défaut, une copie sur chaque périphérique. Les données de l'utilisateur (fichiers) sont détenues en une seule copie, cependant. Ceci peut être changé, simplement en ré-équilibrant le système de fichiers avec l'ensemble d'options appropriées : | Ici, nous voyons que les éléments Système et Métadonnées sont dupliqués - avec, par défaut, une copie sur chaque périphérique. Les données de l'utilisateur (fichiers) sont détenues en un seul exemplaire, cependant. Ceci peut être changé, simplement en ré-équilibrant le système de fichiers avec l'ensemble d'options appropriées : |
| |
# btrfs bal start / -dconvert=raid1 | # btrfs bal start / -dconvert=raid1 |
Supprimer des partitions | Supprimer des partitions |
| |
C'est bien d'ajouter de nouvelles partitions et plus d'espace sur notre système, mais parfois nous avons besoin de supprimer des partitions. Peut-être qu'un disque physique a mal tourné, ou peut-être que nous souhaitons utiliser l'une des partitions sous-jacentes à d'autres fins. | C'est bien d'ajouter de nouvelles partitions et plus d'espace sur notre système, mais parfois nous avons besoin de supprimer des partitions. Peut-être qu'un disque physique a été corrompu, ou peut-être que nous souhaitons utiliser l'une des partitions sous-jacentes à d'autres fins. |
| |
Dans ce test, nous allons supprimer /dev/sda2 de notre système de fichiers BTRFS, ne laissant que /dev/sda1 utilisé pour /boot, formaté en ext4, et les 45 GiO de /dev/sda3 pour nos données système et utilisateur. | Dans ce test, nous allons supprimer /dev/sda2 de notre système de fichiers BTRFS, ne laissant que /dev/sda1 utilisé pour /boot, formaté en ext4, et les 45 GiO de /dev/sda3 pour nos données système et utilisateur. |
ERROR: error removing the device '/dev/sda2' - unable to go below two devices on raid1 | ERROR: error removing the device '/dev/sda2' - unable to go below two devices on raid1 |
| |
C'est assez logique, car nous ne pourrons plus avoir deux copies de chaque bloc de données sur des partitions différentes si nous réduisons le nombre de partitions à une seule. Alors, ré-équilibrons notre système afin d'utiliser un seul exemplaire de chaque bloc de données (-dconvert=single), et aussi pour réduire la copie des métadonnées à une (-mconvert=single). Ce n'est pas une situation sans risque, et si nous devions effectuer cette opération sur un système en production ce serait un bon moment pour s'assurer que nos sauvegardes sont fonctionnelles. C'est pourquoi nous devrons ajouter le paramètre -f pour forcer l'exécution. | C'est très logique, car nous ne pourrons plus avoir deux copies de chaque bloc de données sur des partitions différentes si nous réduisons le nombre de partitions à une seule. Alors, ré-équilibrons notre système afin d'utiliser un seul exemplaire de chaque bloc de données (-dconvert=single), et aussi pour réduire la copie des métadonnées à une (-mconvert=single). Ce n'est pas une situation sans risque, et si nous devions effectuer cette opération sur un système en production ce serait un bon moment pour s'assurer que nos sauvegardes ont été bien effectuées. C'est pourquoi nous devrons ajouter le paramètre -f pour forcer l'exécution. |
| |
Alors, re-équilibrez le système, puis retirez /dev/sda2 : | Alors, re-équilibrez le système, puis retirez /dev/sda2 : |
10485760 bytes (10 MB) copied, 0,720581 s, 14,6 MB/s | 10485760 bytes (10 MB) copied, 0,720581 s, 14,6 MB/s |
| |
La prochaine fois que nous redémarrererons le système, /dev/sda2 ne sera plus montée. Nous devons prendre soin, si les noms /dev/sda sont cités dans /etc/fstab, de mettre à jour ce fichier avant le redémarrage. Sinon, si la nomenclature UUID est utilisée, cette étape n'est pas nécessaire. | La prochaine fois que nous redémarrerons le système, /dev/sda2 ne sera plus montée. Nous devons prendre soin, si les noms /dev/sda sont cités dans /etc/fstab, de mettre à jour ce fichier avant le redémarrage. Sinon, si la nomenclature UUID est utilisée, cette étape n'est pas nécessaire. |
| |
Ensuite, gparted ou un outil similaire peut être utilisé pour enlever l'ancienne partition et la répartition si c'est ce qu'on souhaite : | Ensuite, gparted ou un outil similaire peut être utilisé pour enlever l'ancienne partition et la répartition si c'est ce qu'on souhaite : |
Ne serait-ce pas super si nous avions un filet de sécurité qui nous permettrait de revenir sur des modifications faite au disque système ? Retourner à un état qui fonctionnait serait tout simplement une question de redémarrage de la machine, et voilà ! | Ne serait-ce pas super si nous avions un filet de sécurité qui nous permettrait de revenir sur des modifications faite au disque système ? Retourner à un état qui fonctionnait serait tout simplement une question de redémarrage de la machine, et voilà ! |
| |
C'est justement l'une des capacités du mécanisme d'instantané (« snapshot ») de BTRFS. En substance, un instantané est un moyen de prendre une photo d'un volume. Cet instantané restera par définition inchangé, pendant que nous modifierons le volume qui fonctionne. L'implémentation BTRFS de cette fonctionnalité est en fait assez efficace, car seule l'information différentielle est enregistrée sur les modifications apportées aux fichiers depuis que le cliché a été pris. Revenir à l'instantané consiste simplement à rejouer ces changements à l'envers, ramenant le système de fichiers dans son état original. | C'est justement l'une des capacités du mécanisme d'instantané (« snapshot ») de BTRFS. En substance, un instantané est un moyen de prendre la photo d'un volume. Cet instantané restera par définition inchangé, pendant que nous modifierons le volume qui fonctionne. L'implémentation BTRFS de cette fonctionnalité est en fait très efficace, car seule l'information différentielle est enregistrée sur les modifications apportées aux fichiers depuis que le cliché a été pris. Revenir à l'instantané consiste simplement à refaire ces changements à l'envers, ramenant le système de fichiers dans son état original. |
| |
====== 16 ====== | ====== 16 ====== |
ID 279 gen 873 top level 5 path @home-snap** | ID 279 gen 873 top level 5 path @home-snap** |
| |
Nous devons juste faire un point avant de commencer les tests : les instantanés peuvent être faits uniquement sur les sous-volumes. C'est une autre raison pour laquelle il est important de planifier à l'avance des sous-volumes du système. | Il y a une chose à souligner avant de commencer les tests : les instantanés peuvent être faits uniquement sur les sous-volumes. C'est une autre raison pour laquelle il est important de planifier à l'avance des sous-volumes du système. |
| |
Commençons par un exemple simple. Supposons que nous voulions faire un instantané du sous-volume /home. Appelons-le home_snap. Commencez par monter la partition parent sur /mnt : | Commençons par un exemple simple. Supposons que nous voulions faire un instantané du sous-volume /home. Appelons-le home_snap. Commencez par monter la partition parent sur /mnt : |
Finally, some tools are starting to become available to manage snapshots in the Ubuntu repositories – snapper and apt-btrfs-snapshot both may be worth some investigation… I may report on them later on in these columns, so stay tuned.** | Finally, some tools are starting to become available to manage snapshots in the Ubuntu repositories – snapper and apt-btrfs-snapshot both may be worth some investigation… I may report on them later on in these columns, so stay tuned.** |
| |
Quelques mots pour finir | Quelques mots pour conclure |
| |
Tout ce que nous avons fait jusqu'à présent aurait tout aussi bien pu être réalisé avec d'autres systèmes de fichiers. Peut-être que le plus impressionnant est que de nombreuses tâches ont été effectuées sans avoir à redémarrer le système et sur des partitions en cours d'utilisation (montées). C'est ce qui rend BTRFS vraiment magique pour les administrateurs de serveurs, car les temps d'arrêt du système sont à éviter. Mais il peut aussi nous aider, nous simples mortels, dans une situation délicate. | Tout ce que nous avons fait jusqu'à présent aurait tout aussi bien pu être réalisé avec d'autres systèmes de fichiers. Peut-être que le plus impressionnant est que de nombreuses tâches ont été effectuées sans avoir à redémarrer le système et sur des partitions en cours d'utilisation (montées). C'est ce qui rend BTRFS vraiment magique pour les administrateurs de serveurs, car les temps d'arrêt du système sont à éviter. Mais il peut aussi nous aider, nous simples mortels, dans une situation délicate. |
| |
Un deuxième point qui doit être noté est que, avec ces techniques, vous pouvez très facilement endommager votre système - ça m'est arrivé. Alors s'il vous plaît soyez prudents, et commencez par jouer avec un ordinateur et un disque dur dont le contenu vous importe peu. | Un deuxième point qui doit être noté est que, avec ces techniques, vous pouvez très facilement endommager votre système - ça m'est arrivé. Alors soyez prudents, et commencez par jouer avec un ordinateur et un disque dur dont le contenu vous importe peu. |
| |
Enfin, certains outils commencent à devenir disponibles dans les dépôts Ubuntu pour gérer les snapshots - snapper et apt-btrfs-snapshot méritent d'être essayés… J'en ferai peut-être un compte rendu ultérieurement dans ces colonnes, alors restez à l'écoute. | Enfin, certains outils commencent à devenir disponibles dans les dépôts Ubuntu pour gérer les snapshots - snapper et apt-btrfs-snapshot méritent sans doute d'être essayés… J'en ferai peut-être un compte rendu ultérieurement dans ces colonnes, alors restez à l'écoute. |
| |