Prochaine révision | Révision précédente |
issue82:labo_linux_1 [2014/05/03 18:08] – créée andre_domenech | issue82:labo_linux_1 [2014/06/21 15:07] (Version actuelle) – auntiee |
---|
When FCM was asked about RAID, it seemed like a good idea for me to finally implement RAID at home. Since I have a fair amount of access to different hardware, including lots of hard drives, the others at FCM agreed to let me write an article on RAID – despite having never created a RAID array before. I’m far from being a RAID expert, though I did talk to several people who’ve created RAID arrays before writing Part 1 (FCM 80). | **At our local computer refurbishing project, the top sources of hardware failure that we see are power supplies, CMOS batteries, RAM, and hard drives. The first three failures can cause systems not to POST (Power On Self-Test) correctly. Hard drive failures are a bit more tricky. A really bad hard drive can cause a system to hang while displaying POST messages, or cause a system to randomly reboot (we see more of this on Windows systems), or slow a system down to a crawl, or it might not appear to do anything at all. Knowing a drive has issues before the drive fails can save a lot of work. Of course everyone should be backing up their data, but knowing your drive might have an issue in the near future is helpful. Linux has several tools for examining hard drive failures. This month we’ll look at gsmartcontrol, a graphical version of the smartctl tool (from the smartmontools package).** |
| |
As you’ll see I managed to create the RAID 10 array (mirroring and striping) that I talked about in Part 1. But when I went to test the array by removing the drive, it degraded and I was unable to restore the array before being redirected to another screen and then to a grub prompt. | Dans le cadre de notre projet de rénovation et de réutilisation d'ordinateurs anciens, les principales sources de défaillances matérielles que nous rencontrons se situent au niveau de l'alimentation, des piles CMOS, de la RAM et des disques durs. Les trois premières engendrent des problèmes au démarrage du système (POST - Power On Self Test). Les pannes de disque dur sont un peu plus compliquées à traiter. Un disque dur en mauvais état peut provoquer un blocage du système lors de l'affichage des messages POST, provoquer un redémarrage du système de manière aléatoire (plus fréquent sur les systèmes Windows), ralentir le système à une vitesse d'escargot ou tout simplement ne plus rien faire du tout. Savoir qu'un disque dur rencontre des problèmes avant qu'il ne tombe définitivement en panne peut vous permettre d'économiser plein de travail. Bien sûr, tout le monde devrait sauvegarder ses données, mais savoir que votre disque peut avoir un problème dans un avenir proche est utile. Linux dispose de plusieurs outils pour examiner les pannes de disque dur. Ce mois-ci nous allons voir GSmartControl (du paquet smartmontools). |
| |
When I created my original RAID 10 array, I used 4 hard drives (each a 250GB SATA hard drive). The total array size was 500GB since 2 drives are striped together (500GB), and they got mirrored to the other 2 drives. For this article, I’m using screen shots from a RAID 10 array I created using Virtual Box. | |
| |
When I started to set up the array, I was stuck because I kept booting Live CDs and starting a graphical install. The problem with graphical installs is that they don’t seem to have a RAID option. Even after I installed mdadm and other RAID tools, no RAID options appeared the the graphical drive configuration screen. Both the text and graphical installers let you choose to manually partition your hard drive(s), but the text installer has extra tools so you can easily set up RAID arrays. | **Gsmartcontrol is a graphical version of the smartctl software. For new Linux users (like many of our volunteers) it gives a simple, but comprehensive, look at a hard drive’s health and capabilities as well as providing us with an easy method to do a short or long test on a hard drive.** |
| |
Once you get to the hard drive configuration stage, be sure to choose Manual install instead of Guided - use entire disk. | GSmartControl est une version graphique du logiciel smartctl. Pour les nouveaux utilisateurs de Linux (comme bon nombre de nos bénévoles), il permet de connaître facilement, mais en détail, l'état de la santé et les capacités d'un disque dur et fournit également un moyen facile de faire un test, de courte ou de longue durée, sur un disque dur. |
| |
| |
Because all of the drives are fresh without any previous installation, we need to create a partition table for each individual drive. Choose each drive and hit enter. | **Gsmartcontrol is not installed on most systems by default, so you’ll have to install the gsmartcontrol package. Installing gsmartcontrol also installs the smartmontools package (which contains smartctl, the command-line test tool).** |
Once you select a drive you’ll be prompted to Create a new empty partition table on the device? Choose Yes. | |
Note that you will have to repeat this process for each drive in the array if it has never been initialized before. At this point, I set up a swap partition on each of the 4 drives (this may be part of the reason my array ultimately failed when I removed a drive). | |
| |
On the remaining space for each drive, I created a physical volume for RAID partition. To do this, select the FREE SPACE partition, then choose Create a new partition. Select Continue if you’re satisfied with the size. For the Type of partition, be sure to use Primary partition for the partition you’re going to use as RAID. On the screen where it asks Use as, the default is Ext4 journaling file system; change this to physical volume for RAID. | Puisque GSmartControl n'est pas installé par défaut sur la plupart des systèmes, vous aurez à installer le paquet GSmartControl. L'installation de GSmartControl installe également le paquet smartmontools (qui contient smartctl, l'outil de test en ligne de commande). |
| |
When all drives are set up navigate to the Configure Software RAID option just under Guided partitioning. | |
You’re given one last chance to make changes to your configuration at this point. Choose Yes to the ‘Write the changes to the storage devices and configure RAID’ question if you’re happy with your drive layout. | |
| |
The next step is to Create a MD device (multiple device). As I understand it, if you already have Linux installed and configured on a system you can use mdadm to do the same steps from here on. | **When you first run gsmartcontrol, all hard drives which gsmartcontrol can see are displayed. A hard drive does not have to be mounted for gsmartcontrol to see it and you can have several hard drives in a system. To examine a drive in gsmartcontrol, simply double click on it. When the drive opens up, it opens to an identity view tab that gives information about the hard drive. Besides listing the model of hard drive, the identity screen lists other useful tidbits of information such as the hard drive’s serial number (useful if you ever have to claim for insurance, or, in our case, report serial numbers to equipment donors), the firmware version of the hard drive (which could be useful when diagnosing problems on particular systems which might have issues with certain drives), the drive’s capacity (size), the last time it was checked, as well as overall SMART health status.** |
Finally we’re given a choice of the type of RAID we want. In a 4 drive configuration I had the choice of RAID 0, 1, 5, 6, or 10. I chose RAID 10. | |
The next step is another point where I got really confused because, as I understand RAID 10, I should have had 500GB (2 x 250GB) in my original configuration but when I chose to use 2 drives as active and 2 drives as spare, I had only 250GB available. I was thinking the 2 spares might be the mirrors in the array which appears to be an incorrect assumption. I ended up choosing all 4 drives as active, and 0 as spares, to make the 500GB RAID partition available. | |
| |
(Thanks to Mion and koala_man from the #linux channel on the freenode IRC network for confirming that setting 4 drives as active and 0 as spares was the right choice.) | Lors du premier lancement de GSmartControl, tous les disques durs que GSmartControl peut voir sont affichés. Il n'est pas nécessaire qu'un disque soit monté pour que GSmartControl puisse le voir et vous pouvez avoir plusieurs disques durs dans un système. Pour examiner un lecteur avec GSmartControl, il suffit de double cliquer dessus. Lorsque qu'un lecteur est sélectionné, un onglet s'ouvre et donne des informations sur le disque dur. Outre les informations concernant le modèle du disque dur, l'écran affiche plusieurs informations utiles telles que le numéro de série du disque dur (utile si jamais vous avez un problème de garantie ou, comme dans notre cas, si vous devez signaler le numéro de série aux donateurs d'équipements), la version du micro-logiciel (firmware) utilisé (qui pourrait être utile pour diagnostiquer les problèmes spécifiques à certains disques), la capacité du disque (sa taille), la dernière fois qu'il a été vérifié, ainsi que l'état de santé général SMART. |
Select Continue when you’re done selecting the active partitions. Note: in my screenshot, I have both swap and RAID partitions. | |
| |
At this point, the next menu that appears is the ‘Create a MD device’ menu we were at earlier. Select Finish to move on from the ‘Create a MD device’ menu. You’ll see the ‘starting up the partitioner’ screen as Kubuntu tries to figure out our newly created MD RAID device. | |
| |
Now the partition disks menu shows a RAID 10 device. In my virtual machine example’ that device is 8.7GB (which makes sense since 2 x 4.367GB = 8.734GB). We have 2 striped drives while the other 2 mirror the striped array. | **There are several other tabs: Attributes, Capabilities, Error Log, Self-test logs, and Perform Tests, each of which are useful. When a drive has an issue, the text of some of the tabs might appear red (Attributes and Error Log in our example). This feature makes it easy to spot potential issues. The red text doesn’t mean a drive has failed, but is a sign you might want to consider backing up sooner rather than later and look for another drive. Clicking on the red tabs reveals the potential point of failure.** |
| |
We’re now editing partition #1 of RAID10 device 0. By default the partition is set as Use as: do not use, change this to the Ext4 journaling file system and set the mount point to / - the root file system then select Done setting up the partition. | Il y a plusieurs autres onglets : « Attributes » (Caractéristiques), « Capabilities » (Fonctionnalités du disque), « Error Log » (le journal des erreurs), « Self-Test Logs » (les journaux d'auto-test), et « Perform Tests » (pour effectuer des tests), et chacun a son utilité. Quand un disque présente un problème, le titre de certains onglets apparaît en rouge (« Attributes » et « Error Log » dans notre exemple). Cette caractéristique permet de repérer facilement les problèmes potentiels. Le titre en rouge ne signifie pas qu'un disque est en panne, mais c'est un signe qui vous indique qu'il faut envisager une sauvegarde le plus tôt possible et, éventuellement, se procurer un autre disque. En cliquant sur les onglets en rouge, le logiciel vous révèle le point de défaillance potentiel. |
| |
We’re almost done setting up the RAID10 array. On the next screen select ‘Finish partitioning and write changes to disk’. We have one last chance to make changes before everything gets written to disk. Once you Write the changes to disk, your partitioning is done and your regular Linux install continues. | |
| |
I was excited to see Kubuntu boot up after setting up the RAID10 array for the first time. Then I removed a physical drive and the following message appeared: | **In our example the Hitachi hard drive in my notebook has the Reallocated Sector Count highlighted in pink on the Attributes tab, indicating that at some point the system has come across a bad sector, marked it and reallocated it elsewhere (meaning we won’t have to worry about this sector anymore because it’ll appear invisible to the OS). Red highlighting on any of the sections indicates a more serious error.** |
| |
** WARNING: There appears to be one or more degraded RAID devices *** … Do you wish to start the degraded RAID? | Dans notre exemple, le disque dur Hitachi de mon portable présente un défaut, surligné en rose dans l'onglet « Attributes » au niveau de « Reallocated Sector Count », ce qui signifie qu'à un moment donné le système a rencontré un mauvais secteur qui a été marqué et réaffecté ailleurs (ce qui signifie que nous n'aurons plus à nous soucier de ce secteur, car il est désormais invisible pour le système d'exploitation). La mise en évidence en rouge sur un indicateur signale une erreur plus grave. |
| |
I had about enough time to snap a picture of the screen before it seemed to automatically choose and fail on me. At that point, I shut down the machine and added the drive back that I just took out, sadly all I got was a grub prompt. | |
| |
It looks like I had the chance to perhaps fix the array at the degraded screen, but it passed by without a response from me, so I never had the chance to choose to fix the array. I mentioned earlier that I’m not experienced with RAID (but having access to drives affords this experience). So I’m calling on experts out there to help this article along for next month. Can this be fixed from the grub prompt? | **Wikipedia’s entry on SMART (Self-Monitoring, Analysis and Reporting Technology) is handy because interpreting the Raw values of these Attributes can be tricky. For some attributes it’s better to have a higher raw value while for others it’s better to have a low raw value. You can find the Wikipedia SMART entry here: http://en.wikipedia.org/wiki/S.M.A.R.T.** |
| |
| L'article de Wikipedia sur SMART (Self-Monitoring, Analysis et Reporting Technology) est utile car l'interprétation première des valeurs de ces attributs peut être délicate. Pour certains attributs, il est préférable d'avoir une valeur brute supérieure, tandis que pour d'autres il est préférable d'avoir une valeur brute plus faible. Vous pouvez trouver l'entrée de Wikipedia SMART ici : http://fr.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology |
| |
| |
| **According to Wikipedia we should hope for a lower than Norm-ed value (100) in the Raw value section (166). We’re higher, which indicates failure. The higher the value, the more sectors the hard drive has reallocated.** |
| |
| Selon Wikipedia nous devrions avoir une valeur inférieure à la norm-ed (100) dans la colonne « Raw value » (166) qui indique la valeur brute. La valeur est plus élevée, ce qui indique un échec. Plus la valeur est haute et plus il y a de secteurs du disque dur qui ont été réaffectés. |
| |
| |
| **Similar, but more problematic are the Current Pending Sector Count and Uncorrectable Sector Count – both of which indicate failures where the sectors haven’t been rewritten somewhere else. It’s these kinds of errors that can cause a system to seemingly randomly reboot (or blue/black screen) when the OS comes across the sector.** |
| |
| De même, et c'est plus problématique, les items « Current Pending Sector Count » et « Uncorrectable Sector Count » indiquent des échecs où les secteurs n'ont pas pu être réécrits ailleurs. Ce sont ces types d'erreurs qui peuvent causer un redémarrage aléatoire du système ou un écran bleu/noir quand le système d'exploitation tombe sur ces secteurs du disque. |
| |
| |
| **The Capabilities tab of gsmartcontrol shows the SMART capabilities of the hard drive. For brevity we won’t go into this tab since it doesn’t indicate errors and is less useful preventing drive errors.** |
| |
| L'onglet « Capabilities » de GSmartControl montre les fonctionnalités SMART du disque dur. Par souci de concision, nous n'entrerons pas dans les détails de cet onglet car il n'indique pas d'erreurs et il est moins utile pour prévenir les erreurs. |
| |
| |
| **The Error Log tab (below left) shows up to the last 5 errors. The details section of the Error Log tab is interesting because it shows the exact address where an error occurs. The Lifetime hours section is also interesting because it shows approximately when the error occured, in this case at the 12756th hour (531.5 days, under 2 years). The Self-test Logs tab (below right) displays information from smart tests performed on the drive. The BIOS of some systems (HP for example) have a self-test that might show up in the Self-test Logs, as well as any tests performed on the Perform Tests tab of gsmartcontrol. Again, the Lifetime hours is important because it shows the last hour a self-test was performed (15020th hour in our example - 625 days). Recalling that the error on our drive was at the 531 day mark we’ve gone almost 100 days since the error was found by smart.** |
| |
| L'onglet « Error Log » (ci-dessous à gauche) affiche les 5 dernières erreurs. La colonne « Details » de l'onglet du journal des erreurs est intéressante car elle indique l'adresse exacte où une erreur se produit. La colonne « Lifetime hours » est également intéressante car elle indique, à peu près, quand l'erreur s'est produite, dans notre cas, 12 756e heure (soit 531,5 jours, un peu moins de 2 ans). L'onglet « Self-test Logs » (ci-dessous à droite) affiche des informations relatives aux tests SMART effectués sur le disque. Le BIOS de certains systèmes (HP par exemple) ont un auto-test intégré dont les résultats peuvent apparaître dans les journaux « Self-tests Logs », ainsi que les tests effectués via l'onglet « Perform Tests » de GSmartControl. Encore une fois, les heures indiquées dans la colonne « Lifetime hours » sont importantes car elles indiquent, en heures, la dernière fois qu'un auto-test a été effectué - il y a 15 020 heures dans notre exemple (soit 625 jours). Si on se rappelle que l'erreur trouvée sur notre disque date de 531 jours, cela fait 100 jours depuis que SMART a détecté l'erreur. |
| |
| |
| **To run a self-test on your drive, open the Perform Tests tab, choose either the Short Self-test or the Extended Self-test then click the Execute button. Short Self-tests typically take between 1 to 2 minutes while the Extended Self-test can take 30 minutes or more. At the computer recycling project, we test each drive first using the Short Self-test; if the drive fails, or we suspect a drive might be failing despite passing the short test (the sound of the drive for example), we then run the Extended Self-test. Before finding gsmartcontrol we used to run the manufacturer test for each drive. Running manufacturer’s tests is ultimately the best way to test a drive, but there are a few problems with using a manufacturer’s tool: |
| • Most manufacturer’s tools require you boot from software, meaning you have to reboot your computer to their tool - not good if you don’t want downtime. |
| • Tools get upgraded by the manufacturer and don’t always work on their older drives (or newer drives in the case of old versions of the software). |
| • One manufacturer’s tool often won’t work on a drive by another manufacturer, so if you have a mix of drives you have to get each manufacturer’s tool.** |
| |
| Pour exécuter un auto-test sur votre disque dur, ouvrez l'onglet « Perform Tests », choisissez « Short Self-test » (auto-test rapide) ou « Extended Self-test » (l'auto-test étendu) puis cliquez sur le bouton Exécuter. L'auto-test rapide prend généralement entre 1 à 2 minutes alors que l'auto-test étendu peut prendre 30 minutes ou plus. Au sein de notre organisation de recyclage de matériel informatique, nous testons chaque disque avec un auto-test rapide en premier ; si le test échoue ou si nous soupçonnons que le disque présente un problème malgré le bon résultat du test court (le bruit du disque par exemple), alors nous effectuons l'auto-test étendu. Avant de trouver la solution GSmartControl, nous utilisions les outils des fabricants pour tester nos disques. Faire ce genre de tests avec les outils du constructeur est le meilleur moyen pour tester un disque, mais cela pose néanmoins quelques problèmes : |
| |
| • les outils des constructeurs exigent un démarrage (boot) à partir de leur logiciel, ce qui prend toujours un peu de temps. |
| |
| • Les outils des constructeurs ne fonctionnent pas toujours avec les anciens modèles de disques ou, à l'inverse, les vieilles versions de ces outils ne fonctionnent pas avec des disques plus récents. |
| |
| • L'outil d'un constructeur pourra ne pas fonctionner avec les disques d'un autre constructeur, ce n'est donc pas pratique si vous avez des disques de plusieurs constructeurs différents, car il faudrait obtenir l'outil de chaque constructeur. |
| |
| |
| **Gsmartcontrol (and smartctl) works on a large number of drives from a wide range of manufacturers; it’s Free Libre Open Source Software, and has an extensive but understandable user interface.** |
| |
| GSmartControl (et smartctl) fonctionnent sur un grand nombre de disques d'un éventail large de fabricants ; c'est une solution gratuite, libre et Open Source, qui dispose d'une interface utilisateur avancée, mais compréhensible. |
| |
| |
| **The command-line tool, smartctl, is also installed when you install gsmartcontrol (smartctl is in the smartmontools package). Both tools need to be run with root/administrative privileges. Smartctl can display all the information gsmartcontrol displays, but doesn’t need a graphical user interface to do so. And, like gsmartcontrol, smartctl doesn’t require taking your system down. We won’t cover smartctl this month, but it’s worth mentioning since it’s handy for monitoring drives over a SSH connection and because you can run it in a cron/anacron job.** |
| |
| L'outil de ligne de commande, smartctl est également installé lorsque vous installez GSmartControl (smartctl est dans le paquet smartmontools). Ces deux outils doivent être exécutés avec des privilèges root/administrateur. Smartctl peut afficher tous les écrans d'information de GSmartControl, mais n'a pas besoin d'une interface utilisateur graphique pour le faire. Et, tout comme GSmartControl, smartctl ne nécessite pas l'arrêt momentané de votre système. Nous n'étudierons pas smartctl ce mois-ci, mais cela vaut le coup d'en parler, car il s'avère très pratique pour surveiller des disques au travers d'une connexion SSH et parce que vous pouvez l'exécuter dans une tâche cron/anacron (ordonnanceur/planificateur de tâches). |