Outils pour utilisateurs

Outils du site


issue80:labo_linux

When the 1 terabyte hard drive in my wife’s PC failed almost 2 years ago we bought a 2 terabyte hard drive to replace it. We were very fortunate because 2 terabyte hard drives were at an all time low price and our 1 terabyte drive hadn’t completely failed yet (smart reported errors) so we were able to copy all the data over to the new hard drive. Even if the drive had completely failed we had regular backups of her most important data. Although we had backups, it was still several days before I was able to buy a new hard drive from our favourite computer store. Ever since that drive failure I intended to investigate RAID, Redundant Array of Independent Disks. The key for us is redundancy, if one hard drive fails, we want the system to keep humming until we have a replacement drive.

Lorsque le disque dur de 1 téraoctet du PC de ma femme tomba en panne il y a presque 2 ans, nous avons acheté un disque dur de 2 téraoctets en remplacement. Nous avons été très heureux parce que les disques durs de 2 To étaient soldés et notre disque dur de 1 To n'était pas encore complètement mort (signalement d'erreurs SMART), donc nous avons été en mesure de copier toutes les données sur le nouveau disque dur. Même si le disque avait été complètement mort, nous possédions des sauvegardes régulières des données les plus importantes. Même avec ces sauvegardes, plusieurs jours se sont passés avant que je ne puisse acheter un nouveau disque dur dans notre magasin d'informatique préféré.

Depuis le plantage du disque, j'avais l'intention de faire des recherches sur RAID, Redundant Array of Independent Disks [Ndt : architecture redondante de disques indépendants]. L'important pour nous est la redondance, car, si un disque dur tombe en panne, nous voulons que le système tourne normalement jusqu'à ce que nous ayons un disque de remplacement.

Before looking into RAID I knew a few things about RAID: it involves multiple hard drives, sometimes the drives are used in a stripe, combined together for more space and speed, and sometimes for redundancy, when one drive mirrors the contents of another, and sometimes a combination of both. I also knew that there were several levels of RAID, RAID 0, 1, 2, 3, 4, 5, 6, and nested RAID levels (0+1/10, 100, 30, 50 and 60). What I didn’t really know was that RAID is not a backup solution. It’s true that when you mirror a drive you do get an identical copy of the drive, but therein lies the backup problem - if you accidentally delete a file from one drive it’s gone from all mirrored drives. If you really want a backup, RAID by itself isn’t going to help you retrieve lost data.

Avant d'examiner RAID, j'en savais quelques trucs : ça implique plusieurs disques durs, parfois les lecteurs sont regroupés en bande, mis ensemble pour plus d'espace et de vitesse et, parfois, ils sont organisés pour la redondance quand l'un des disques reflète le contenu d'un autre, enfin, parfois, il y a une combinaison des deux. Je savais aussi qu'il y avait plusieurs niveaux de RAID, RAID 0, 1, 2, 3, 4, 5, 6, et des niveaux de RAID imbriqués (0+1/10, 100, 30, 50 et 60).

Ce que je ne savais pas vraiment c'était que RAID n'est pas une solution de sauvegarde. C'est vrai que lorsque vous faites du mirroring, vous obtenez réellement une copie identique du disque, mais c'est là que réside le problème de la sauvegarde : si vous supprimez accidentellement un fichier d'un des disques, il est retiré de tous les disques en miroir. Si vous voulez vraiment une sauvegarde, RAID seul ne va pas vous aider à récupérer les données perdues.

I also wasn’t sure about was which level to use, disks to buy, or how to best implement RAID. Luckily the organization I work for has a great sysadmin I can bug from time to time (thanks Paul!). If there’s one lesson I can impart: plan your RAID array before buying equipment. In our case we already had the computer the RAID array would go in, but I wished we had other equipment as I was building the array. I borrowed 4 x 250GB Seagate STxxxxxx drives from work to as a test before going out and shelling out lots of money for 4 new drives. As I went to put the drives into the computer I ran into 2 issues: even though there were lots of drive bays the case felt cramped and the new power supply I bought didn’t have enough Serial ATA ends to power all the drives plus the SATA Blueray drive.

Je n'étais également pas sûr de savoir quel niveau utiliser, quels disques acheter, ou comment mettre en œuvre RAID au mieux. Heureusement l'organisation pour laquelle je travaille a un administrateur système génial que je peux embêter de temps en temps (merci Paul !). S'il y a une leçon que je peux partager : concevez votre architecture RAID avant d'acheter le matériel. Dans notre cas, nous avions déjà l'ordinateur dans lequel le RAID serait mis, mais j'aurais souhaité d'autres équipements puisque je construisais la matrice.

J'ai emprunté 4 disques Seagate STxxxxxx de 250 Go à mon travail pour faire un test avant de dépenser beaucoup d'argent pour 4 nouveaux disques. Quand j'allais mettre les disques dans l'ordinateur, j'ai rencontré deux problèmes : même s'il y avait beaucoup de baies pour disques durs, ils me semblaient un peu à l'étroit dans le boitier et l'alimentation que j'avais achetée n'avait pas assez de connecteurs Serial ATA pour alimenter tous les disques et le lecteur Blu-ray SATA.

All four hard drives fit into the case, however the top drive was getting dangerously close to blocking the SATA headers on the motherboard. When connecting the SATA power connectors it felt like there wasn’t enough space between drives. I’ve seen my fair share of broken SATA connections on both hard drives and optical media and the cramped nature of the power connections made me think that over time the drive power headers might break. The case I was working with was a mid-tower sized case but it really felt like I should have bought a roomier gaming case with a bit more space both horizontally and vertically. It also dawned on me that I might not have enough SATA data headers on the motherboard, I had 4 hard drives plus a SATA Blueray drive, requiring 5 headers (luckily the board had enough). Some motherboards might only have a couple of SATA headers, so check before you buy a bunch of drives. If you don’t have enough drives you can always buy PCI or PCIe SATA card, though if you’re going to buy an expensive card you might look at a cheaper NAS box (at least for home) since the price is almost the same as an expensive RAID card.

Les quatre disques durs s'insèraient dans le boîtier, mais le lecteur du haut était dangereusement près du connecteur SATA de la carte mère. Lors du branchement des connecteurs d'alimentation, c'était comme s'il n'y avait pas assez d'espace entre les disques. J'ai vu bon nombre de connexions SATA cassées, à la fois sur des disques durs et des supports optiques, et l’exigüité des connexions d'alimentation m'a fait penser qu'avec le temps, les têtes d'alimentation des disques pourraient se casser. Le boitier avec lequel je travaillais était de la taille d'une tour moyenne, mais j'avais vraiment l'impression que j'aurais dû acheter un boitier pour les jeux qui soit plus grand, avec un peu plus d'espace à la fois horizontalement et verticalement.

Ça m'a aussi fait penser que je pourrais ne pas avoir assez de connecteurs SATA sur la carte mère, j'avais 4 disques durs ainsi qu'un lecteur Blu-ray SATA, nécessitant 5 connecteurs, mais, heureusement, la carte en avait assez. Certaines cartes mères pourraient n'avoir que deux connecteurs SATA : vérifiez-les avant d'acheter un tas de disques. Si vous n'avez pas assez de disques vous pouvez toujours acheter une carte PCI ou PCIe SATA, mais si vous allez acheter une carte chère, vous pourriez vous renseigner sur un serveur NAS moins cher (au moins pour la maison), car le prix est presque le même que celui d'une coûteuse carte RAID.

My wife doesn’t like to wait on her computer, so while redundancy was important speed was also equally important - I couldn’t have the RAID array slowing down her system. RAID 0, known as striping, stripes your data across multiple drives giving you better performance, but it provides no mirroring of data or parity error checking. If one drive in a RAID 0 configuration dies your entire stripe is rendered useless, thus RAID 0 really isn’t RAID (redundancy). Because we want redundancy we also need to mirror the drive. RAID 1 provides mirroring, but no parity error checking and no striping. In a RAID 1 configuration as long as you have 1 good drive functioning the RAID array will continue to function. For this month we’ll be creating a RAID 10 configuration (RAID 1+0), we’ll mirror a couple of striped drives (250GB+250GB=500GB) to another set of drives. Although we’ll be using 1TB of drives only 500GB will be available to us. RAID 10 needs a minimum of 4 drives (Linux can do RAID 10 with only 2 drives using the Linux MD driver, but this isn’t official “industry standard” RAID 10), 2 get striped together and the other two mirror the data.

Ma femme n'aime pas attendre que son ordinateur s'active, ce qui fait que, même si la redondance était importante, la vitesse était tout aussi importante : je ne pouvais pas avoir l'architecture RAID ralentissant son système. RAID 0, appelé « volume agrégé par bandes » (striping), répartit vos données sur plusieurs disques en vous donnant une meilleure performance, mais il ne fournit pas la mise en miroir des données ni de contrôle d'erreur de parité. Si un disque dans une configuration RAID 0 meurt, votre bande est rendue entièrement inutile, RAID 0 n'est donc vraiment pas un RAID (redondance). Parce que nous voulons de la redondance nous devons aussi copier le lecteur en miroir. RAID 1 fournit ce miroir, mais pas de contrôle d'erreur de parité et pas d'agrégation par bandes. Dans une configuration RAID 1, aussi longtemps que vous avez un disque qui fonctionne, l'architecture RAID va continuer à fonctionner.

Pour ce mois, nous allons créer une configuration RAID 10 (RAID 1+0), nous copions en miroir un couple de disques en bande (250 Go + 250 Go = 500 Go) vers un autre ensemble de lecteurs. Bien que nous utiliserons 1 To de disque, seulement 500 Go seront disponibles pour nous. RAID 10 a besoin de 4 disques au minimum (Linux peut faire un RAID 10 avec seulement 2 disques en utilisant le pilote Linux MD, mais ce n'est pas un RAID 10 officiel « standard de l'industrie »), 2 disques sont agrégés en bande et les deux autres sont reflète les données.

When I started connecting up all the drives I noticed RAID features in the motherboard BIOS. Initially this was how I thought I’d set up the RAID array. Having lived through software replacements of hardware (winmodems, video cards stealing from motherboard RAM, etc) I’ve always subscribed to the idea that a hardware solution is better than a software one. I didn’t really want to go out and buy a couple of hardware RAID controllers for home because good hardware RAID controllers are costly and you need an identical controller for backup (even revision matters) if one fails. After spending a bunch of time fiddling with the RAID BIOS I did a bit more research and found a lot of advice against using motherboard RAID. Some research suggested that if the motherboard dies you lose your data, other research said it might be possible to recover the data using an identical board but indicated most motherboard RAID took more cycles away from your CPU than dedicated RAID hardware. Ultimately I decided to use the Linux software MD-RAID setup. While it also draws cycles from the CPU it’s less expensive to implement and easier to recover (buying an identical motherboard would have been pretty difficult since the motherboard I’m using is no longer manufactured). TO BE CONTINUED….

Quand j'ai commencé à connecter tous les disques, j'ai remarqué des fonctions RAID dans le BIOS de la carte mère. Au départ, c'était ce que je pensais faire pour mettre en place la matrice RAID. Ayant vécu le remplacement du matériel par des logiciels (winmodems, cartes vidéo utilisent la RAM de la carte mère, etc.), j'ai toujours souscrit à l'idée qu'une solution matérielle ést meilleure qu'une solution logicielle. Je ne voulais pas vraiment acheter deux contrôleurs RAID matériels pour la maison parce que les bons contrôleurs RAID matériels sont chers et on a besoin d'un contrôleur identique de rechange si l'un plante (même la maintenance est importante). Après avoir passé pas mal de temps à bidouiller avec le RAID du BIOS, j'ai fait un peu plus de recherche et j'ai trouvé beaucoup de conseils contre l'utilisation du RAID de la carte mère. Certaines recherches suggéraient que si la carte mère meurt, vous perdrez vos données, d'autres recherches disaient qu'il pourrait être possible de récupérer les données avec une carte mère identique, mais indiquaient que la plupart des RAID de carte mère consommaient plus de cycles de votre CPU que du matériel RAID dédié.

En fin de compte, j'ai décidé d'utiliser la configuration logicielle Linux MD-RAID. Bien qu'elle prenne aussi des cycles du CPU, elle est moins chère à mettre en œuvre et plus facile à récupérer (acheter une carte mère identique aurait été assez difficile car la carte mère que j'utilise n'est plus fabriquée).

À suivre…

issue80/labo_linux.txt · Dernière modification : 2014/05/05 18:48 de auntiee