Les deux révisions précédentesRévision précédente | |
issue189:disques_durs [2023/02/01 14:45] – andre_domenech | issue189:disques_durs [2023/02/02 11:36] (Version actuelle) – auntiee |
---|
Making multiple copies of all files that are written to our computer’s hard drives is a technique used in all server environments; every time a file is modified, alterations are written to more than one disk using one of several different schemes. The thinking being that, should one of these drives stop working suddenly: the second copy would not only ensure no data is lost, but, moreover, that service could continue immediately with no interruptions. Even when making a more pedestrian use of our personal computers, at some point we need to recognise that hard drives can, and do, fail.** | Making multiple copies of all files that are written to our computer’s hard drives is a technique used in all server environments; every time a file is modified, alterations are written to more than one disk using one of several different schemes. The thinking being that, should one of these drives stop working suddenly: the second copy would not only ensure no data is lost, but, moreover, that service could continue immediately with no interruptions. Even when making a more pedestrian use of our personal computers, at some point we need to recognise that hard drives can, and do, fail.** |
| |
Comme la plupart des utilisateurs, je change de temps en temps mon ordinateur de travail principal. Ce faisant, c'est peut-être le moment de repartir de zéro et de réfléchir à la configuration de notre disque dur. Même si le stockage en nuage est largement utilisé, les limites en quantité de stockage disponible (ou son coût mensuel) et la bande passante du réseau pour acheminer nos fichiers vers le nuage signifient que la plupart des utilisateurs conservent en fait une part importante de leurs fichiers sur leurs disques locaux. Les considérations de sécurité peuvent également être un facteur à prendre en compte, même avec des fichiers plus petits. Dans cet article, j'aimerais exposer plusieurs idées qu'un utilisateur plus ou moins technique peut envisager, des stratégies qui peuvent être utiles à la fois pour la déduplication des données sur votre disque local, ou pour l'extension d'un disque dont nous atteignons la limite de capacité. | Comme la plupart des utilisateurs, je change de temps en temps mon ordinateur de travail principal. Ce faisant, c'est peut-être le moment de repartir de zéro et de réfléchir à la configuration du disque dur. Même si le stockage en nuage est largement utilisé, les limites en quantité de stockage disponible (ou son coût mensuel) et la bande passante du réseau pour acheminer nos fichiers vers le nuage signifient que la plupart des utilisateurs conservent en fait une part importante de leurs fichiers sur leurs disques locaux. Les considérations de sécurité peuvent également être un facteur à prendre en compte, même avec des fichiers plus petits. Dans cet article, j'aimerais exposer plusieurs idées qu'un utilisateur plus ou moins technique peut envisager, des stratégies qui peuvent être utiles à la fois pour la déduplication des données sur votre disque local, ou pour l'extension d'un disque dont nous atteignons la limite de capacité. |
| |
Pourquoi mettre les données en miroir ? | Pourquoi mettre les données en miroir ? |
Avec la technologie SSD moderne, les choses ne sont peut-être pas aussi critiques qu'elles l'étaient à un moment donné avec les disques rotatifs et leurs plateaux mobiles. Le temps moyen entre défaillances (MTBF - Mean Time Between Failures) est une mesure couramment utilisée qui semble avoir augmenté avec le passage à la technologie à semi-conducteurs. Mais malgré tout, le bon sens nous dit qu'il est peut-être préférable de ne pas confier toutes nos données à une seule copie sur notre disque interne, sans faire de sauvegardes. Bien... mais il y a encore des obstacles. Dans la pratique, toutes les sauvegardes ne sont pas effectuées selon un calendrier précis et ne sont pas tenues à jour. Il arrive même que des fichiers volumineux ne soient jamais sauvegardés - ni sur le cloud parce qu'ils sont trop volumineux, ni sur un disque externe local parce qu'il faudrait penser à le brancher et à effectuer la sauvegarde. Puisque, selon les mots immortels de la loi de Murphy, tout ce qui peut mal tourner le fera, et au pire moment possible, il peut être judicieux d'avoir plusieurs copies de toutes nos données, effectuées automatiquement, sur notre ordinateur de tous les jours. | Avec la technologie SSD moderne, les choses ne sont peut-être pas aussi critiques qu'elles l'étaient à un moment donné avec les disques rotatifs et leurs plateaux mobiles. Le temps moyen entre défaillances (MTBF - Mean Time Between Failures) est une mesure couramment utilisée qui semble avoir augmenté avec le passage à la technologie à semi-conducteurs. Mais malgré tout, le bon sens nous dit qu'il est peut-être préférable de ne pas confier toutes nos données à une seule copie sur notre disque interne, sans faire de sauvegardes. Bien... mais il y a encore des obstacles. Dans la pratique, toutes les sauvegardes ne sont pas effectuées selon un calendrier précis et ne sont pas tenues à jour. Il arrive même que des fichiers volumineux ne soient jamais sauvegardés - ni sur le cloud parce qu'ils sont trop volumineux, ni sur un disque externe local parce qu'il faudrait penser à le brancher et à effectuer la sauvegarde. Puisque, selon les mots immortels de la loi de Murphy, tout ce qui peut mal tourner le fera, et au pire moment possible, il peut être judicieux d'avoir plusieurs copies de toutes nos données, effectuées automatiquement, sur notre ordinateur de tous les jours. |
| |
Il est clair que faire plusieurs copies de nos fichiers sur un seul disque ne serait pas du tout utile. En cas de défaillance physique catastrophique de ce disque, nous perdrions l'accès à toutes les données qu'il contient et le fait qu'il contienne plusieurs copies de chaque fichier serait sans intérêt. Notre objectif doit donc d'inclure l'utilisation de plus d'un disque dur physique sur notre ordinateur. Et, puisque jouer avec les disques durs de notre véhicule quotidien n'est probablement pas une bonne idée, quel meilleur moment pour examiner les possibilités que lors de l'acquisition d'une machine neuve (ou nouvelle pour nous) ? | Il est clair que faire plusieurs copies de nos fichiers sur un seul disque ne serait pas du tout utile. En cas de défaillance physique catastrophique de ce disque, nous perdrions l'accès à toutes les données qu'il contient et le fait qu'il contienne plusieurs copies de chaque fichier serait sans intérêt. Notre objectif doit donc d'inclure l'utilisation de plus d'un disque dur physique sur notre ordinateur. Et, puisque jouer avec les disques durs de notre ordinateur quotidien n'est probablement pas une bonne idée, quel meilleur moment pour examiner les possibilités que lors de l'acquisition d'une machine neuve (ou nouvelle pour nous) ? |
| |
| |
As a final thought, it may be useful to remember that using two partitions situated on the same physical disk would not be a good idea: not only will access times be lengthened since all data needs to be written twice to the very same disk thus creating a bottleneck, but if that unit goes out physically, both partitions will be lost at once thus rendering mirroring completely useless as implemented. To sum up: mirroring requires the use of (at least) two physical disks or drives.** | As a final thought, it may be useful to remember that using two partitions situated on the same physical disk would not be a good idea: not only will access times be lengthened since all data needs to be written twice to the very same disk thus creating a bottleneck, but if that unit goes out physically, both partitions will be lost at once thus rendering mirroring completely useless as implemented. To sum up: mirroring requires the use of (at least) two physical disks or drives.** |
| |
D'autre part, les machines de bureau peuvent utiliser un adaptateur PCI-Express (carte d'extension) pour ajouter une interface M2 à une machine existante. Certains adaptateurs sont prévus pour un seul lecteur M2, tandis que d'autres ont même de l'espace pour deux interfaces M2, permettant ainsi à l'utilisateur de construire un système à deux lecteurs sur un seul adaptateur. De plus, le coût peut être très modéré, certains adaptateurs à double interface M2 étant disponibles pour seulement 17 $ US. Cependant, assurez-vous peut-être que votre ordinateur peut démarrer sur cette carte d'extension avant d'en acquérir une. | En revanche, les machines de bureau peuvent utiliser un adaptateur PCI-Express (carte d'extension) pour ajouter une interface M2 à une machine existante. Certains adaptateurs sont prévus pour un seul lecteur M2, tandis que d'autres ont même de l'espace pour deux interfaces M2, permettant ainsi à l'utilisateur de construire un système à deux lecteurs sur un seul adaptateur. De plus, le coût peut être très modéré, certains adaptateurs à double interface M2 étant disponibles pour seulement 17 $ US. Cependant, assurez-vous peut-être que votre ordinateur peut démarrer sur cette carte d'extension avant d'en acquérir une. |
| |
Pour finir, il peut être utile de rappeler que l'utilisation de deux partitions situées sur le même disque physique n'est pas une bonne idée : non seulement les temps d'accès seront allongés puisque toutes les données doivent être écrites deux fois sur le même disque, créant ainsi un goulot d'étranglement, mais si cette unité tombe physiquement en panne, les deux partitions seront perdues d'un coup, rendant ainsi la mise en miroir complètement inutile. En résumé, la mise en miroir nécessite l'utilisation de deux disques ou lecteurs physiques (au moins). | Pour finir, il peut être utile de rappeler que l'utilisation de deux partitions situées sur le même disque physique n'est pas une bonne idée : non seulement les temps d'accès seront allongés puisque toutes les données doivent être écrites deux fois sur le même disque, créant ainsi un goulot d'étranglement, mais si cette unité tombe physiquement en panne, les deux partitions seront perdues d'un coup, rendant ainsi la mise en miroir complètement inutile. En résumé, la mise en miroir nécessite l'utilisation de deux disques ou lecteurs physiques (au moins). |
Démarrez à partir de l'image Live USB comme d'habitude, installez le système d'exploitation en utilisant ubiquity sur le premier disque dur. Lorsque vous arrivez à la sélection du disque dur, créez une partition. Dans mon exemple, je vais utiliser Kubuntu 20.04, et le disque à installer est /dev/sdc. Vérifiez bien que vous utilisez le bon disque, peut-être deux fois, c'est mieux qu'une seule ! | Démarrez à partir de l'image Live USB comme d'habitude, installez le système d'exploitation en utilisant ubiquity sur le premier disque dur. Lorsque vous arrivez à la sélection du disque dur, créez une partition. Dans mon exemple, je vais utiliser Kubuntu 20.04, et le disque à installer est /dev/sdc. Vérifiez bien que vous utilisez le bon disque, peut-être deux fois, c'est mieux qu'une seule ! |
| |
Démarrez votre nouveau système, comme d'habitude. Maintenant, en utilisant les outils de notre choix pour le partitionnement (fdisk, gfdisk, KDE Partition Manager...), créez une partition unique sur votre second disque dur. Il n'est pas nécessaire de la formater en btrfs, puisque le format que nous utilisons sera écrasé. | Démarrez votre nouveau système, comme d'habitude. Maintenant, en utilisant les outils de notre choix pour le partitionnement (fdisk, gfdisk, KDE Partition Manager...), créez une partition unique sur votre second disque dur. Il n'est pas nécessaire de la formater en btrfs, puisque le format que nous utilisons sera écrasé. |
| |
Nous ajoutons ensuite la partition du second disque à la partition existante (contenant notre système d'exploitation). Cela peut être fait avec l'ordinateur qui exécute le système. Supposons que notre partition principale sur le premier disque avec le système d'exploitation soit /dev/sda1, et que la nouvelle partition sur le second disque soit /dev/scd1, nous devrions lancer des commandes telles que celles-ci : | Nous ajoutons ensuite la partition du second disque à la partition existante (contenant notre système d'exploitation). Cela peut être fait avec l'ordinateur qui exécute le système. Supposons que notre partition principale sur le premier disque avec le système d'exploitation soit /dev/sda1, et que la nouvelle partition sur le second disque soit /dev/scd1, nous devrions lancer des commandes telles que celles-ci : |
For interested readers, there is a nice writeup by Jim Salter on ArsTechnica. Though server-focussed, it should give you a good initial presentation to fully understand the specific strengths (and quirks) of ZFS over other file systems: https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/ . ** | For interested readers, there is a nice writeup by Jim Salter on ArsTechnica. Though server-focussed, it should give you a good initial presentation to fully understand the specific strengths (and quirks) of ZFS over other file systems: https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/ . ** |
| |
Les systèmes de fichiers ZFS partagent de nombreuses caractéristiques avec BTRFS, bien que certains détails soient différents. Par exemple, avec ZFS, un périphérique virtuel (vdev) peut être une unité d'écriture unique, ou peut mettre en œuvre la mise en miroir ou d'autres formes de duplication de données - mais il ne peut pas passer d'un schéma à un autre comme peut le faire BTRFS. Ainsi, lorsqu'un vdev est créé, il faut spécifier dès le départ si l'on souhaite que la mise en miroir se produise, ou non. Une deuxième caractéristique est que les unités ZFS sont généralement montées automatiquement par le sous-système ZFS, sans nécessiter d'entrées dans la configuration du système. En bref, le fichier /etc/fstab peut contenir zéro entrée sur un système qui utilise uniquement des unités ZFS. Enfin, dans les versions actuelles d'Ubuntu, les pilotes ZFS ne font pas partie de l'installation de base, mais doivent être ajoutés via divers paquets apt. | Les systèmes de fichiers ZFS partagent de nombreuses caractéristiques avec BTRFS, bien que certains détails soient différents. Par exemple, avec ZFS, un périphérique virtuel (vdev) peut être une unité d'écriture unique ou peut mettre en œuvre la mise en miroir ou d'autres formes de duplication de données - mais il ne peut pas passer d'un schéma à un autre comme peut le faire BTRFS. Ainsi, lorsqu'un vdev est créé, il faut spécifier dès le départ si l'on souhaite que la mise en miroir se produise ou non. Une deuxième caractéristique est que les unités ZFS sont généralement montées automatiquement par le sous-système ZFS, sans nécessiter d'entrées dans la configuration du système. En bref, le fichier /etc/fstab peut contenir zéro entrée sur un système qui utilise uniquement des unités ZFS. Enfin, dans les versions actuelles d'Ubuntu, les pilotes ZFS ne font pas partie de l'installation de base, mais doivent être ajoutés via divers paquets apt. |
| |
Pour les lecteurs intéressés, il y a un bon article de Jim Salter sur ArsTechnica. Bien que centré sur les serveurs, il devrait vous donner une bonne présentation initiale pour comprendre pleinement les forces spécifiques (et les bizarreries) de ZFS par rapport aux autres systèmes de fichiers : https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/ . | Pour les lecteurs intéressés, il y a un bon article de Jim Salter sur ArsTechnica. Bien que centré sur les serveurs, il devrait vous donner une bonne présentation initiale pour comprendre pleinement les forces spécifiques (et les bizarreries) de ZFS par rapport aux autres systèmes de fichiers : https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/ . |
/dev/sda1 46G 7,7G 36G 18% / | /dev/sda1 46G 7,7G 36G 18% / |
| |
••Deux partitions, /dev/sda2 et /dev/sdc1. Elles seront combinées dans un pool ZFS pour contenir les données des utilisateurs. | ••Deux partitions, /dev/sda2 et /dev/sdc1. Elles seront combinées dans un pool ZFS pour contenir les données de l'utilisateur. |
| |
| |
tank 756G 128K 756G 1% /tank** | tank 756G 128K 756G 1% /tank** |
| |
Le but du système de fichiers racine est simplement de contenir notre système d'exploitation, et de le faire séparément des données utilisateur. Cela signifie qu'il peut être formaté facilement sans affecter les données de l'utilisateur, ou même remplacé par une partition sur un autre disque (ou même un média vivant) à la rigueur. Le pool ZFS sera monté sur /home, pour contenir les données utilisateur. | Le but du système de fichiers racine est simplement de contenir notre système d'exploitation et de le faire séparément des données utilisateur. Cela signifie qu'il peut être formaté facilement sans affecter les données de l'utilisateur, ou même remplacé par une partition sur un autre disque (ou même un média vivant) à la rigueur. Le pool ZFS sera monté sur /home, pour contenir les données utilisateur. |
| |
Avant de commencer, installons les paquets nécessaires. BTRFS est intégré dans les noyaux Linux actuels, mais pas ZFS. Nous aurons donc besoin de : | Avant de commencer, installons les paquets nécessaires. BTRFS est intégré dans les noyaux Linux actuels, mais pas ZFS. Nous aurons donc besoin de : |
# mv /home/* /tank/home/** | # mv /home/* /tank/home/** |
| |
Chaque partition est d'environ 400 Goctets, mais combinées elles donnent 756 Go. Notez que le nouveau zpool a été automatiquement monté sous /tank. | Chaque partition est d'environ 400 Goctets, mais combinées elles donnent 756 Go. Notez que le nouveau zpool a été automatiquement monté comme /tank. |
| |
Dans le zpool, nous allons maintenant créer un système de fichiers (vdev) appelé home, qui peut s'étendre pour utiliser tout l'espace disponible. | Dans le zpool, nous allons maintenant créer un système de fichiers (vdev) appelé home, qui peut s'étendre pour utiliser tout l'espace disponible. |
De plus, ZFS et BTRFS proposent tous deux des instantanés, ce qui facilite le retour en arrière des modifications du système en cas de catastrophe, ce qui est peut-être mieux intégré dans le chargeur de démarrage GRUB sous OpenSuSE. Ils peuvent également être utilisés comme mécanisme de sauvegarde, puisque les instantanés peuvent être transférés entre les systèmes en utilisant le processus send-receive. | De plus, ZFS et BTRFS proposent tous deux des instantanés, ce qui facilite le retour en arrière des modifications du système en cas de catastrophe, ce qui est peut-être mieux intégré dans le chargeur de démarrage GRUB sous OpenSuSE. Ils peuvent également être utilisés comme mécanisme de sauvegarde, puisque les instantanés peuvent être transférés entre les systèmes en utilisant le processus send-receive. |
| |
Tout ceci ouvre des perspectives intéressantes pour l'étudiant intéressé par la gestion des systèmes, ou pour l'utilisateur avancé. Cependant, nous suggérons de commencer par tester l'un ou l'autre ou les deux systèmes décrits ici sur un ordinateur de rechange, sans les utiliser comme système principal (c'est-à-dire pour les données dont vous dépendez) jusqu'à ce que vous vous sentiez parfaitement à l'aise avec leur syntaxe et leurs particularités. | Tout cela ouvre des perspectives intéressantes pour l'étudiant intéressé par la gestion des systèmes, ou pour l'utilisateur avancé. Cependant, nous suggérons de commencer par tester l'un ou l'autre ou les deux systèmes décrits ici sur un ordinateur de rechange, sans les utiliser comme système principal (c'est-à-dire pour les données dont vous dépendez) jusqu'à ce que vous vous sentiez parfaitement à l'aise avec leur syntaxe et leurs particularités. |
| |