Dans le chapitre précédent, nous avons vu ce qu’était une partition de disque dur. Nous avons vu qu’avec un seul et même disque physique, il était possible de créer plusieurs disques logiques sous forme de partitions. À présent, nous allons voir l’inverse : à partir de plusieurs disques physiques, nous allons créer un seul disque logique. Cela est rendu possible grâce aux pools et aux espaces de stockage (que j’abrégerai en EDS dans la suite du chapitre).
Je vous ai dit qu’un des grands avantages du partitionnement était de pouvoir séparer le système (Windows) et les données, en les plaçant sur des partitions distinctes. C’est bien, mais si le disque dur tombe en panne, alors les deux partitions seront inaccessibles ! Je vous avais alors dit qu’il serait préférable, si toutefois vous aviez le matériel suffisant, de séparer le système et les données sur deux disques physiques distincts. Eh bien, dans ce chapitre, nous allons aller encore plus loin en mettant en place un système permettant de ne pas perdre les données, même en cas de panne d’un disque dur ! Bien sûr, cela nécessite d’avoir quelques disques sous la main. Mais l’investissement peut valoir le coup si cela permet de sauver vos précieux documents et photos de vacances.
Nous commencerons par définir quelques nouveaux termes (dont les fameux pools et EDS), avant de voir comment nos données peuvent bien survivre à un crash de disque dur. Nous verrons ensuite un petit cas concret pour bien comprendre l’utilisation de ces nouveaux outils, en simulant une panne de disque.
- Que sont les pools et les espaces de stockage ?
- Création et gestion d’un pool et d’un espace de stockage
- Le coup de la panne...
Que sont les pools et les espaces de stockage ?
Le principe des pools et des espaces de stockage est de regrouper plusieurs disques physiques en un (ou plusieurs) disques logiques. Il y a plusieurs intérêts à cela. Tout d'abord, il est possible de constituer un « gros » disque à partir de plusieurs « petits ». Windows se chargera alors de répartir les données sur les différents disques sans que vous ayez à vous soucier du support réellement utilisé. Outre un côté pratique au quotidien, cela peut être utile pour certaines applications où les données manipulées sont très lourdes. Je pense en premier lieu aux logiciels de montage vidéo par exemple.
Un autre intérêt, non des moindres, est de pouvoir mettre en place une protection automatique des données. Comme plusieurs disques physiques sont utilisés, Windows est en mesure de dupliquer les données de l'un à l'autre afin de pouvoir les récupérer en cas de panne de l'un des disques. Permettre à un système de survivre à une panne matériel, c'est ce qu'on appelle la résilience. Retenez bien ce terme, on en reparle un tout petit peu plus loin.
Deux concepts complémentaires sont utilisés pour réaliser cette petite prouesse technique : les pools et les espaces de stockage.
Définition d'un pool
Un pool, que l’on pourrait traduire par « groupe » ou même « grappe » (comme une grappe de raisin, par exemple), est l'agrégation de plusieurs disques durs physiques en un seul disque dur logique. Autrement dit, vous prenez plusieurs vrais disques durs et vous faites croire à Windows qu’il n’y en a qu’un seul.
Une des forces du système proposé par Windows est qu’il peut associer dans un pool plusieurs disques durs de marques et de capacités différentes. Ces disques peuvent être internes ou externes (branchés en USB par exemple).
Définition d'un espace de stockage
L’EDS est à un pool ce qu’une partition est à un vrai disque dur. Un EDS est donc une section du pool, qui aura sa lettre de lecteur dans l’explorateur Windows (D:, E:, F:, etc.).
Il est possible de créer plusieurs EDS par pool, comme c’est le cas sur le schéma ci-dessus, mais il est courant de n’avoir qu’un seul EDS occupant la totalité de l’espace du pool.
Pour vous, utilisateurs, et pour les logiciels et applications Metro installés, tout est transparent. Tant qu’un lecteur apparaît dans l’explorateur Windows, vous pouvez l’utiliser sans vous préoccuper de savoir si c’est un vrai disque, un EDS occupant tout ou partie d’un pool, etc.
On compare habituellement les pools et espaces de stockage au « RAID », qui est lui aussi un système permettant de protéger les données ou d'y accéder plus rapidement (ou les deux). Mais attention, ce que propose Windows n'est pas à proprement parler du RAID. Je vous laisse faire quelques recherches supplémentaires sur le sujet si cela vous intéresse.
Cerise sur le gâteau, il est même possible de créer un EDS dont la capacité dépasse la capacité totale des disques durs qui composent le pool. Prenons un exemple : supposons que vous constituez un pool avec deux disques durs de 300 Go chacun. En toute logique, vous ne pouvez créer un EDS que de 600 Go au sein de votre pool. Eh bien, non ! Tout étant virtuel, il est possible de créer un EDS allant bien au-delà, 1 To par exemple (soit 1000 Go). Lorsque vous arriverez au bout de la capacité réelle des disques (donc 600 Go), Windows vous préviendra simplement que vous ne pourrez aller plus loin qu’en ajoutant un nouveau disque dur à votre pool.
Différents types de résiliences
En informatique, le terme résilience désigne la capacité d’un système, quel qu’il soit, à continuer de fonctionner en cas de panne. Dans le cas qui nous intéresse ici, le système à protéger est l’intégrité de nos données. Comme je vous le disais en introduction, les pools et espaces de stockage ont cet avantage de pouvoir « survivre » à la panne d'un (ou même plusieurs) disque(s) dur(s). Pour cela, il faut choisir l’une des quatre stratégies de résilience proposées par Windows :
- Miroir double ;
- Miroir triple ;
- Parité ;
- Simple (sans résilience).
On applique l’une de ces stratégies à un EDS au moment de sa création. Pour illustrer les différences entre ces stratégies, je vais prendre le cas où un seul EDS est créé au sein d’un pool de disques durs, mais le principe est le même si plusieurs EDS sont définis.
« Miroir double »
Comment faire pour être sûr de récupérer un fichier si le disque qui le contient tombe en panne ? Eh bien, on fait une sauvegarde sur un autre disque ! Avec une résilience en miroir double, les données sont copiées sur deux disques à la fois au sein du pool.
Dans l’exemple ci-dessous, nous enregistrons trois fichiers (notés A, B et C) sur notre EDS, composé de deux disques durs :
Les fichiers sont enregistrés sur le premier disque dur et sur le second. Dans notre EDS, nous ne voyons bien sûr les fichiers qu’une seule fois, mais ceux-ci sont en réalité dupliqués automatiquement. Dans ce cas, si un disque dur tombe en panne, il est toujours possible de retrouver les deux fichiers. Ce type de résilience nécessite donc que le pool contenant l’EDS soit composé d’au moins deux disques durs.
Si le pool contient plus de disques, les fichiers sont toujours enregistrés en deux endroits, pas plus. Par exemple, avec trois disques :
Dans ces conditions, on peut toujours survivre à la panne d’un disque dur, mais pas plus. Chaque fichier n’est toujours copié qu’en deux endroits différents. Si l’un des disques durs tombe en panne, les fichiers A, B et C sont toujours accessibles. En revanche :
- si les disques 1 et 2 tombent, le fichier A n’est plus présent nulle part ;
- si les disques 1 et 3 tombent, le fichier C n’est plus présent nulle part ;
- si les disques 2 et 3 tombent, le fichier B n’est plus présent nulle part.
Pour plus de sécurité, il faut donc copier les fichiers… trois fois ! C’est le type de résilience miroir triple.
« Miroir triple »
Avec une résilience en miroir triple, le principe est exactement le même, si ce n’est que les données sont copiées trois fois. Ce type de résilience nécessite donc au moins trois disques durs mais est capable de protéger vos données même si deux disques tombent en panne en même temps.
Comme précédemment, les données sont toujours copiées le même nombre de fois (ici trois fois), même si on ajoute un disque au pool. On ne peut donc survivre qu’à deux pannes simultanées, pas plus. Je ne vous fais pas le schéma avec quatre disques, je pense que vous avez compris.
« Parité »
Le type de résilience parité est le plus intéressant de la série car il combine deux améliorations : la protection des données et leur rapidité d’écriture sur le pool de disques.
Comme on a eu l’occasion de le voir dans ce tutoriel, écrire un fichier sur un disque dur prend du temps. Il faut que la tête de lecture se balade sur le disque à la recherche d’un emplacement libre, écrive un morceau du fichier, se ballade à nouveau pour trouver un emplacement pour un autre morceau du fichier, etc. Cela peut sembler rapide pour l’utilisateur, mais c’est très long pour l’ordinateur. Écrire sur le disque est même l’une des actions les plus longues qu’a à faire la machine. Lorsqu’on dispose d’un pool de disques (et donc d’EDS), il devient possible d’accélérer les choses en écrivant en parallèle sur plusieurs disques. Ainsi, si on mettait un temps T à écrire un fichier sur un disque dur, on met alors un temps T/2 à écrire ce même fichier sur deux disques dur en même temps (en théorie bien sûr). C’est ce qu’il se passe avec le mode de résilience parité.
Si les données sont écrites en parallèle sur les disques, je vois mal comment celles-ci peuvent être récupérées en cas de panne de l'un des disques. Comment est gérée la protection des données dans ce cas ?
C’est là qu’intervient la fameuse parité ! Je vous explique : ce type de résilience nécessite au moins trois disques. Lorsqu’un fichier est écrit sur l’EDS, il est réparti de cette façon sur les disques du pool :
- un morceau de fichier (la moitié dans ce cas) est écrit sur le premier disque ;
- un autre morceau du fichier (l’autre moitié) est écrit sur le deuxième disque ;
- des « informations de parité » sont écrites sur le troisième.
Ces informations de parité sont des données de récupérations, qui permettent de retrouver les morceaux de fichiers perdus, en les associant aux morceaux de fichiers qui sont toujours présents. Ainsi, les données peuvent être récupérées si un (et un seul) des disques tombe en panne.
Je crois qu’un exemple s’impose… Prenons le cas de deux fichiers, écrits sur un pool de trois disques durs :
Le fichier A est découpé en deux morceaux, A1 et A2, qui sont répartis sur les disques du pool comme le montre le schéma ci-dessus. Les informations de parité associées sont notées PA et sont placé sur le troisième disque. Idem pour le fichier B.
Notez que le principe est le même si davantage de disques sont présents dans le pool. Simplement, les fichiers ne seront pas découpés en deux, mais en morceaux plus petits. Sur quatre disques par exemple, nous n’aurons plus deux moitiés de fichiers et des informations de parités, mais trois tiers de fichiers et des informations de parités.
Selon la répartition faite sur le schéma ci-dessus, voyons ce qui se passe en cas de pannes…
Si le disque 1 tombe en panne :
Rappelons qu’un fichier ne peut être complet que si ses deux parties sont disponibles.
Concernant le fichier A, le morceau A1 est perdu. A2 est toujours disponible sur le disque 2 et les informations de récupérations PA sont toujours sur le disque 3. Grâce à la combinaison de A2 et PA, A1 peut être retrouvé. On a donc A1 et A2. On a donc A tout entier !
La logique est exactement la même pour le fichier B, on a donc bien pu récupérer nos deux fichiers.
Si le disque 2 tombe en panne :
Cette fois, il n’y a pas de problème pour le fichier B car B1 et B2 sont toujours accessibles. Concernant le fichier A, A2 est perdu mais la combinaison de A1 et PA permet de le retrouver. On peut donc reconstituer A.
Si le disque 3 tombe en panne :
Je pense que vous avez compris. A1 et A2 sont accessibles donc il n’y a pas de souci pour le fichier A. B1 et PB permettent de retrouver B2 : B1 et B2 sont alors accessibles et le fichier B est récupéré.
Dans ces trois derniers cas, un seul des disques était tombé en panne. Cela permettait à chaque fois de récupérer les données. En revanche, si deux disques tombent en panne en même temps, c’est une autre histoire…
Si deux disques tombent en panne en même temps :
Prenons l’exemple où les disques 1 et 3 tombent en panne simultanément. Cette fois, A1 est inaccessible et ne peut pas être retrouvé car les informations de récupération PA sont également perdues. Concernant B, seules PB est toujours en état, ce qui ne nous avance pas beaucoup plus.
Conclusion : le mode de résilience parité ne permet de récupérer les données que si l’un des disques tombe en panne, mais pas plus.
« Simple (sans résilience) »
Les termes sans résilience sont clairs : aucune protection des données ne sera appliquée. Si l’un des disques durs tombe en panne, l’ensemble des données seront inaccessibles. L’EDS utilise l’ensemble des disques sans aucune redondance.
Essayez donc de reconstituer un fichier perdu en cas de panne…
Récapitulatif
Beaucoup de notions ont été vues dans ce début de chapitre. Avant d’aller plus loin, récapitulons !
- Un pool est un ensemble de disques dur regroupés en un seul (gros) disque virtuel.
- Un EDS est une partition au sein d’un pool. On peut avoir plusieurs EDS par pool.
- Pour chaque EDS, on choisit l’un des quatre types de résilience suivant :
Simple |
Miroir double |
Miroir triple |
Parité |
|
---|---|---|---|---|
Nombre minimal de disques nécessaires |
1 |
2 |
3 |
3 |
Nombre de disques pouvant tomber en panne simultanément |
0 |
|||
Gain en rapidité ? |
Non |
Non |
Non |
Oui |
Création et gestion d’un pool et d’un espace de stockage
Voyons à présent comment se passe la gestion des pools et EDS au sein de Windows. Pour l’exemple, prenons un cas concret. Nous avons un ordinateur doté d’un seul disque dur, sur lequel est installé le système d’exploitation (Windows, pour ceux qui ne suivent pas ). Nous disposons également de trois disques durs vierges que nous branchons à l’ordinateur (via des ports USB ou en les insérant dans la tour comme on peut le voir dans ce tutoriel). Ces trois disques durs (que nous nommons disque 1, disque 2 et disque 3) vont nous servir pour stocker nos données, nous allons les regrouper au sein d’un pool. Enfin, sur ce pool, nous définirons un EDS, en mode de résilience parité. Au final, nous nous retrouverons avec ces volumes dans l’explorateur Windows :
Le volume C:
est notre disque système. Le volume E: est notre EDS. Vu d’ici, il apparaît comme un disque dur tout ce qu’il y a de plus classique.
Alors comment mettre tout cela en place ? Tout d’abord, comme souvent, direction le panneau de configuration ! Dans la section Système et sécurité
, choisissez Espaces de stockage
:
A priori, aucun pool ni EDS ne sont pour l’instant en place sur votre machine. Il vous faut donc commencer par en créer. Ca tombe bien, c’est la seule option disponible pour le moment :
Vous aurez remarqué le petit bouclier à côté du lien Créer un nouveau pool et un nouvel espace de stockage. Comme nous l’avons vu plus tôt dans ce tutoriel, cela signifie que cette action ne peut être réalisée qu’avec un compte administrateur. Un message de confirmation s’affiche donc pour vous le rappeler.
Les disques accessibles sont alors affichés à l’écran (si ce n’est pas le cas, redémarrer l’ordinateur afin que le système les prenne bien en compte). Cochez ceux que vous souhaitez intégrer au pool et cliquez sur Créer un pool
:
Lorsque vous ajoutez un disque dur à un pool, toutes les données qu’il contient sont perdues. On ne peut donc utiliser que des disques vierges ou bien dont le contenu n’est pas important. De plus, faites bien attention à ce que vous cochez car apparaissent également ici les clés USB qui peuvent être branchées à l’ordinateur au moment de la manip’. Si vous ajoutez une clé à un pool, son contenu sera donc perdu…
Après quelques secondes, le pool est créé. Nous arrivons alors sur un nouveau formulaire qui, cette fois, concerne la création de l’EDS. On commence par lui donner un nom et une lettre (nom et lettre qui apparaîtront dans l’explorateur Windows), avant de choisir le type de résilience :
Si vous avez suivi le début du chapitre, vous devez pouvoir choisir le type de résilience que vous souhaitez. Ici, nous choisissons le mode parité. Nous laissons le nom et la lettre par défaut, mais il est possible de choisir n’importe quoi. Ces informations ne sont de toute façon pas déterminantes.
Vient ensuite le choix de la taille maximale de l’EDS :
Plusieurs informations apparaissent ici. Tout d’abord, la capacité totale du pool : c’est la somme des capacités physiques des trois disques durs de notre pool. Nous disposons dans notre cas de 947 Go. Cette capacité est égale à la capacité du pool disponible car pour le moment nous n’avons créé aucun EDS, toute la place du pool est donc disponible.
La taille maximale est le seul champ à renseigner. Cette taille représente la capacité du lecteur comme elle apparaîtra dans l’explorateur Windows. Comme nous le disions plus tôt, il est possible de définir une taille supérieure à la capacité totale du pool. N’oubliez pas que nous sommes en train de définir un disque virtuel, on peut donc très bien lui « faire croire » qu’il a une capacité logique plus élevée que la capacité physique. Lorsque notre disque virtuel atteindra ses limites physiques, Windows nous indiquera simplement qu’il est temps d’ajouter un disque supplémentaire au pool. Pratique, non ?
La capacité inclusion de la résilience représente la capacité nécessaire pour que la résilience choisie soit assurée.
Ici, nous avons choisi le mode parité, ce qui signifie que les données sont réparties sur deux disques, quand le troisième recueille les données de parité (pour la récupération en cas de panne). On a ainsi des données sur 2/3 de la capacité disponible du pool. Si on note T la taille maximale définie et R la capacité permettant d’assurer la résilience, on a donc :
$T = \frac{2}{3} \times R$ soit,
$R = \frac{3}{2} \times T$ La résilience est assurée tant que R est inférieur ou égal à la capacité disponible. Ici, la capacité disponible est de 947 Go. La capacité est donc assurée si :
$R \leq 947$ $\frac{3}{2} \times T \leq 947$ $T \leq 947 \times \frac{2}{3}$ $T \leq 631,33$
Pour que la résilience reste assurée avec la capacité de pool dont nous disposons, il faut donc choisir une taille de 631 Go. Si on prend ne serait-ce qu’un Go de plus, alors la résilience ne peut être assurée avec notre capacité (si T=632 Go, alors R=(3/2)*632=948 Go, ce qui est supérieur à la capacité disponible de 947 Go).
Bref, si les maths ne sont pas votre tasse de thé, rassurez-vous : la taille maximale est calculée automatiquement et est renseignée par défaut. Vous pouvez donc très bien laisser la valeur par défaut ! Ouf ! Mais il est toujours bon de comprendre ce qu’on fait.
Vous en voulez encore ?
Et avec les autres modes de résilience, comment ça se passe ?
En mode miroir double, les données sont inscrites sur les disques deux fois. La relation de tout à l’heure s’écrit donc maintenant :
$T = \frac{1}{2} \times R$
Pour que la résilience soit assurée, on doit toujours avoir $R \leq 947$, soit $T \leq 473,5$ (je vous laisse faire le calcul). Donc avec notre pool et le mode de résilience miroir double, la taille à choisir serait de 473 Go.
En mode miroir triple, les données sont inscrites trois fois. On a donc $T = \frac{1}{3} \times R$. Soit avec $R \leq 947$, $T \leq 315,67$. On aura donc une taille maximale de 315 Go pour assurer la résilience.
Enfin, en mode de résilience simple, la question ne se pose pas car il n’y a pas du tout de résilience. La capacité permettant d’assurer la résilience est donc égale à la capacité choisie. On a donc $T=R$.
Encore une fois, il n’est pas nécessaire de s’embêter avec ces calculs si ça ne vous intéresse pas. C’est juste pour le plaisir de comprendre !
Bien, notre pool et notre EDS sont créés, ils apparaissent alors dans le panneau de configuration :
La distinction est bien faite entre les « espaces de stockage » (ici nous n’en avons qu’un seul) et les « lecteurs physiques » (nos trois disques de données). Notez que c’est de cette fenêtre que vous pourrez ajouter un lecteur au pool, modifier votre EDS, etc.
Dans l’explorateur Windows, on a donc maintenant un nouveau volume E: aux côtés de notre disque système C:
:
Vous pouvez utiliser ce nouvel espace disque comme s’il s’agissait d’un disque de données classique. En cas de panne, vos données seront protégées ! Voyons justement comment réagit Windows lorsque cela arrive.
Le coup de la panne...
Lorsqu’un disque dur tombe en panne, mieux vaut avoir pris ses précautions ! Il y a la simple sauvegarde manuelle, toujours utile, mais aussi la résilience offerte par les espaces de stockage. Nous allons ici voir comment se déroule une panne au sein de l’espace de stockage créé précédemment.
Pour rappel, nous disposons d’un pool de trois disques durs (disques 1, 2 et 3), sur lequel a été créé un espace de stockage en mode parité. Dans cette configuration, nous sommes à l’abri de la panne d’un (et d’un seul) de nos trois disques. Pour l’exemple, nous allons procéder de la manière suivante :
- tout d'abord nous simuleront une panne sur l'un de nos trois disques durs ;
- nous brancherons alors un quatrième disque de données, neuf, pour l’ajouter à notre pool ;
- nous constaterons alors la réparation automatique de l’EDS ;
- enfin nous débrancherons le disque défectueux.
C’est parti ? C’est parti !
Panne du disque dur 1
Je n'ai malheureusement pas de disque dur sur le point de tomber en panne sous la main. Du moins, si c'était le cas, je ne le saurais pas encore. Pour simuler une panne, je vais donc simplement débrancher l'un des disques du pool. Le résultat est le même : Windows ne parvient plus à y accéder. Comme l'espace de stockage créé sur notre pool est en mode parité, nos données ne sont pas perdues pour autant :
Notre EDS est simplement passé à l'état Avertissement, m'indiquant qu'un problème est survenu.
Un EDS peut connaître trois états lors de son cycle de vie :
- Ok : tout va bien ;
- Avertissement : un problème non bloquant est survenu, mais les données sont toujours accessibles ;
- Erreur : un problème grave est survenu, les données ne sont plus accessibles.
Nous avions déjà croisé cette classification OK / Avertissement / Erreur dans le chapitre sur la gestion de l'énergie (lors de l'examen du rapport énergétique). Je vous avais dit que c'était une classification courante en informatique, je ne vous avais pas menti.
Dans notre exemple, notre pool est à l’état Avertissement. L’EDS qui s’y trouve est toujours accessible, mais il faut agir, car la résilience n’est plus assurée. Dans notre cas, si un second disque venait à tomber en panne, il en serait fini de nos données.
Dans la section lecteurs physiques, Windows nous indique une cause possible de la panne. Dans notre cas, il a bien compris le subterfuge et nous indique que le disque est simplement débranché. Cela dit, nous allons tout de même faire comme si le disque était en panne, nous allons donc le remplacer.
Ajout d’un disque dur de remplacement
Après avoir branché un disque dur supplémentaire à l’ordinateur (eh oui, il faut bien commencer par là), nous l’ajoutons au pool qui nous intéresse ici. Pour cela, on utilise le lien Ajouter des lecteurs
, dans la section du pool concernée :
Les liens sont grisés par défaut car ces opérations nécessitent les droits d’administrateur. Pour les activer, cliquez simplement sur le bouton Modifier les paramètres
qui se situe juste au dessus.
Comme lors de la création du pool, on choisit le disque disponible avant de valider :
Dès l’ajout du disque de remplacement, l’EDS se « répare » automatiquement. Sous le petit panneau d’avertissement, un pourcentage d’avancement de la réparation est affiché :
Une fois la réparation terminée, l’EDS repasse au vert. Notre pool contient cette fois quatre disques physiques, dont trois seulement sont à l’état OK. Nous pouvons donc supprimer le lecteur défectueux grâce au lien Supprimer
situé juste à sa droite :
Nos données sont toujours en place et la résilience est de nouveau assurée.
En résumé
- Un pool de stockage est l’aggrégation de plusieurs disques durs physiques en un seul disque dur logique.
- Un espace de stockage est l’équivalent d’une partition de disque dur, mais pour un pool de disques. Windows voit chaque espace de stockage comme un disque dur à part entière, avec sa propre lettre de lecteur (C:, D:, etc.).
- Un espace de stockage peut continuer de fonctionner en cas de panne de l’un des disques du pool. Pour cela, il faut lui indiquer son mode de résilience :
- Simple : sans résilience. Il n'y a alors pas de résistance aux pannes ;
- Miroir double : les données sont copiées une fois. Il faut au minimum deux disques dans le pool et l’espace de stockage peut supporter la panne d’un seul disque à la fois ;
- Miroir triple : les données sont copiées deux fois. Il faut au minimum trois disques dans le pool et l’espace de stockage peut supporter la panne de deux disques simultanément ;
- Parité : les données sont copiées une fois et des informations de récupérations sont créées sur un troisième disque. Il faut au minimum trois disques dans le pool. L’espace de stockage ne peut supporter la panne que d’un seul disque à la fois mais le système gagne en rapidité.