Remplacer à chaud un disque sur un serveur en RAID logiciel
Découvrez les principales étapes pour remplacer à chaud un disque sur un serveur en RAID logiciel
Découvrez les principales étapes pour remplacer à chaud un disque sur un serveur en RAID logiciel
Dernière mise à jour le 21/11/2016
Si l'un des disques de votre serveur est hors d'usage, vous avez la possibilité de le remplacer à chaud si vous disposez d'un modèle Haut de gamme compatible.
Découvrez les principales étapes pour remplacer à chaud un disque sur un serveur en RAID logiciel.
Afin d'illustrer le propos de ce guide, nous partons du principe que nous avons reçu une alerte pour le disque /dev/sdb
. Celui-ci est défectueux et nous souhaitons le remplacer à chaud. Adaptez donc les éléments de cette documentation à votre situation.
Débutez par tester et vérifier le « Serial Number » du disque concerné.
root@ns3054662:/home# smartctl -a /dev/sdb
>>> smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.14.32-xxxx-grs-ipv6-64] (local build)
>>> Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
>>> === START OF INFORMATION SECTION ===
>>> Vendor: HGST
>>> Product: HUS726040ALS210
>>> Revision: A907
>>> Compliance: SPC-4
>>> User Capacity: 4,000,787,030,016 bytes [4.00 TB]
>>> Logical block size: 512 bytes
>>> LB provisioning type: unreported, LBPME=0, LBPRZ=0
>>> Rotation Rate: 7200 rpm
>>> Form Factor: 3.5 inches
>>> Logical Unit id: 0x5000cca25d3155bc
>>> Serial number: K4GW439B
>>> Device type: disk
>>> Transport protocol: SAS (SPL-3)
>>> Local Time is: Mon Nov 21 14:23:43 2016 CET
>>> SMART support is: Available - device has SMART capability.
>>> SMART support is: Enabled
>>> Temperature Warning: Enabled
>>> === START OF READ SMART DATA SECTION ===
>>> SMART Health Status: OK
>>> Current Drive Temperature: 34 C
>>> Drive Trip Temperature: 85 C
>>> Manufactured in week 44 of year 2016
>>> Specified cycle count over device lifetime: 50000
>>> Accumulated start-stop cycles: 9
>>> Specified load-unload count over device lifetime: 600000
>>> Accumulated load-unload cycles: 14
>>> Elements in grown defect list: 0
>>> Vendor (Seagate) cache information
>>> Blocks sent to initiator = 2305525022720
>>> Error counter log:
>>> Errors Corrected by Total Correction Gigabytes Total
>>> ECC rereads/ errors algorithm processed uncorrected
>>> fast | delayed rewrites corrected invocations [10^9 bytes] errors
>>> read: 0 572 0 22548 77 4.725 5580
>>> write: 0 0 0 19548 196 17.344 2569
>>> Non-medium error count: 0
>>> SMART Self-test log
>>> Num Test Status segment LifeTime LBA_first_err [SK ASC ASQ]
>>> Description number (hours)
>>> # 1 Background short Completed - 6 - [- - -]
>>> # 2 Background short Completed - 4 - [- - -]
>>> # 3 Background short Completed - 4 - [- - -]
>>> # 4 Background short Completed - 4 - [- - -]
>>> # 5 Background short Completed - 1 - [- - -]
>>> Long (extended) Self Test duration: 34237 seconds [570.6 minutes]
Vous constatez ainsi que :
Pour obtenir uniquement le « Serial Number » :
root@ns3054662:/home# smartctl -a /dev/sdb | grep Serial
>>> Serial number: K4GW439B
Vous devez maintenant retrouver le « Slot ID » et l'« Enclosure ID » du disque concerné. Pour cela, utilisez l'outil « sas2ircu » préalablement installé sur le serveur.
Débutez alors par vérifier que les disques sont bien connectés via une carte LSI.
root@ns3054662:/home# lspci | grep -i LSI
>>> 81:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire] (rev 03)
Si tel est le cas, déterminez l'ID de cette carte LSI.
root@ns3054662:/home# ./sas2ircu list
>>> LSI Corporation SAS2 IR Configuration Utility.
>>> Version 5.00.00.00 (2010.02.09)
>>> Copyright (c) 2009 LSI Corporation. All rights reserved.
>>> Adapter Vendor Device SubSys SubSys
>>> Index Type ID ID Pci Address Ven ID Dev ID
>>> ----- ------------ ------ ------ ----------------- ------ ------
>>> 0 SAS2004 1000h 70h 00h:81h:00h:00h 1000h 3010h
>>> SAS2IRCU: Utility Completed Successfully.
L'index correspond à l'ID. Ici, la carte a donc l'index/ID 0.
Avec cette information, récupérez à présent pour le disque concerné (via son « Serial Number ») : le « Slot ID » et l'« Enclosure ID ».
root@ns3054662:/home# ./sas2ircu 0 display | grep -B 7 -A 2 K4GW439B
>>> Device is a Hard disk
>>> Enclosure : 1
>>> Slot : 3
>>> State : Available (AVL)
>>> Manufacturer : HGST
>>> Model Number : HUS726040ALS210
>>> Firmware Revision : A907
>>> Serial No : K4GW439B
>>> Protocol : SAS
>>> Drive Type : SAS_HDD
Cette commande permet d'obtenir les informations du disque, dont le « Serial Number » qui est ici le K4GW439B.
Dans notre exemple, nous avons donc récupéré l'« Enclosure ID » (correspondant à 1) et le « Slot ID » (correspondant à 3).
Muni des informations récupérées durant les étapes précédentes, allumez la LED du disque hors d'usage en vue de son remplacement avec la commande ./sas2ircu 0 locate EncID:SlotID on
. Personnalisez celle-ci selon votre situation, comme dans l'exemple ci-dessous :
root@ns3054662:/home# ./sas2ircu 0 locate 1:3 on
>>> LSI Corporation SAS2 IR Configuration Utility.
>>> Version 5.00.00.00 (2010.02.09)
>>> Copyright (c) 2009 LSI Corporation. All rights reserved.
>>> SAS2IRCU: LOCATE Command completed successfully.
>>> SAS2IRCU: Command LOCATE Completed Successfully.
>>> SAS2IRCU: Utility Completed Successfully.
Vous pouvez désactiver le clignotement du disque, en remplaçant « on » par « off » dans la commande.
Si ce n'est pas déjà le cas, passez le disque défectueux en « »Faulty ». Puis regardez l'état du RAID.
root@ns3054662:/home# cat /proc/mdstat
>>> Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
>>> md2 : active raid1 sda2[0] sdb2[1]
>>> 3885385728 blocks super 1.2 [2/2] [UU]
>>> bitmap: 0/29 pages [0KB], 65536KB chunk
>>> md1 : active raid1 sdb1[1] sda1[0]
>>> 20971456 blocks [2/2] [UU]
>>> unused devices: <none>
Dans cet exemple, le disque défectueux fait partie de md1 et md2 (sdb1 et sdb2). Nous allons donc passer celui-ci en « »Faulty », respectivement sdb1 dans md1 et sdb2 dans md2.
root@ns3054662:/home# mdadm --manage /dev/md1 --set-faulty /dev/sdb1
>>> mdadm: set /dev/sdb1 faulty in /dev/md1
root@ns3054662:/home# mdadm --manage /dev/md2 --set-faulty /dev/sdb2
>>> mdadm: set /dev/sdb2 faulty in /dev/md2
À l'issue de ces manipulations, vérifiez de nouveau l'état du RAID.
root@ns3054662:/home# cat /proc/mdstat
>>> Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
>>> md2 : active raid1 sda2[0] sdb2[1](F)
>>> 3885385728 blocks super 1.2 [2/1] [U_]
>>> bitmap: 0/29 pages [0KB], 65536KB chunk
>>> md1 : active raid1 sdb1[2](F) sda1[0]
>>> 20971456 blocks [2/1] [U_]
>>> unused devices: <none>
Les sdb1 et sdb2 sont bien passés en faulty (F). Vous pouvez à présent sortir le disque du RAID.
root@ns3054662:/home# mdadm --manage /dev/md1 --remove /dev/sdb1
>>> mdadm: hot removed /dev/sdb1 from /dev/md1
root@ns3054662:/home# mdadm --manage /dev/md2 --remove /dev/sdb2
>>> mdadm: hot removed /dev/sdb2 from /dev/md2
Vérifiez enfin que le disque n'est plus présent.
root@ns3054662:/home# cat /proc/mdstat
>>> Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
>>> md2 : active raid1 sda2[0]
>>> 3885385728 blocks super 1.2 [2/1] [U_]
>>> bitmap: 0/29 pages [0KB], 65536KB chunk
>>> md1 : active raid1 sda1[0]
>>> 20971456 blocks [2/1] [U_]
>>> unused devices: <none>
Le disque défectueux est désormais prêt à être remplacé par un technicien en datacenter. Une fois l'opération effectuée, vous n'aurez plus qu'à resynchroniser le RAID. Pour cela, aidez-vous de la documentation suivante : RAID logiciel.
Afin d'illustrer le propos de ce guide, nous partons du principe que nous avons reçu une alerte pour le disque /dev/sdb
. Celui-ci est défectueux et nous souhaitons le remplacer à chaud. Adaptez donc les éléments de cette documentation à votre situation.
Il est important de lancer le terminal de commande en tant qu'administrateur, afin de ne pas obtenir d'erreur.
Débutez par tester et vérifier le « Serial Number » du disque concerné. Dans la capture ci-dessous, le stockage n'est pas réellement hors d'usage mais nous ferons comme si c'était le cas.
Vous constatez ainsi que :
Vous devez maintenant retrouver le « Slot ID » et l'« Enclosure ID » du disque concerné. Pour cela, utilisez l'outil « sas2ircu » préalablement installé sur le serveur.
Débutez par déterminer l'ID de cette carte LSI.
Notre carte LSI a donc l'index/ID « 0 ».
Avec cette information, récupérez à présent pour le disque concerné (via son « Serial Number ») : le « Slot ID » et l'« Enclosure ID ».
Cette commande permet d'obtenir les informations du disque, dont le « Serial Number » qui est ici le K4G187WB.
Dans notre exemple, nous avons donc récupéré l'« Enclosure ID » (correspondant à 1) et le « Slot ID » (correspondant à 1).
Muni des informations récupérées durant les étapes précédentes, allumez la LED du disque hors d'usage en vue de son remplacement avec la commande .\sas2ircu 0 locate EncID:SlotID on
. Personnalisez celle-ci selon votre situation, comme dans l'exemple ci-dessous :
Vous pouvez désactiver le clignotement du disque, en remplaçant « on » par « off » dans la commande.
Réalisez cette manipulation depuis l'interface « Gestion des disques » de votre serveur Windows.
Le disque défectueux est désormais prêt à être remplacé par un technicien en datacenter. Une fois l'opération effectuée, vous n'aurez plus qu'à resynchroniser le RAID. Pour cela, aidez-vous de la documentation suivante : RAID logiciel.
Échangez avec notre communauté d'utilisateurs sur https://community.ovh.com.
N’hésitez pas à nous proposer des suggestions d’amélioration afin de faire évoluer cette documentation.
Images, contenu, structure… N’hésitez pas à nous dire pourquoi afin de la faire évoluer ensemble !
Vos demandes d’assistance ne seront pas traitées par ce formulaire. Pour cela, utilisez le formulaire "Créer un ticket" .
Merci beaucoup pour votre aide ! Vos retours seront étudiés au plus vite par nos équipes..
Accedez à votre espace communautaire. Posez des questions, recherchez des informations, publiez du contenu et interagissez avec d’autres membres d'OVHcloud Community.
Echanger sur OVHcloud Community