**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** ## Remplacement d'un disque HS Vous avez un disque HS, par exemple le disque 0, qui clignote. Vous constatez ainsi le `Firmware state: Failed` : ~~~ # /opt/MegaCli -PDList -a0 Adapter #0 Enclosure Device ID: 32 Slot Number: 0 Device Id: 0 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 70007MB [0x88bb93a Sectors] Non Coerced Size: 69495MB [0x87bb93a Sectors] Coerced Size: 69376MB [0x8780000 Sectors] Firmware state: Failed SAS Address(0): 0x5000c5000b0b1c51 SAS Address(1): 0x0 Connected Port Number: 0(path0) Enclosure Device ID: 32 Slot Number: 1 Device Id: 1 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 70007MB [0x88bb93a Sectors] Non Coerced Size: 69495MB [0x87bb93a Sectors] Coerced Size: 69376MB [0x8780000 Sectors] Firmware state: Online SAS Address(0): 0x5000c5000b0b4355 SAS Address(1): 0x0 Connected Port Number: 1(path0) ~~~ Vous le remplacez à chaud... et vous constatez qu'il ne se reconstruit pas tout seul. Pas de panique. Notez déjà qu'il est possible que le nouveau disque apparaissent deux fois, une fois en `Firmware state: Unconfigured(bad)` et une autre en `Firmware state: Unconfigured(good)`_ : ~~~ Enclosure Device ID: 32 Slot Number: 0 Device Id: 0 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 0MB [0x0 Sectors] Non Coerced Size: 9007199254740480MB [0xfffffffffff00000 Sectors] Coerced Size: 0MB [0x0 Sectors] Firmware state: Unconfigured(bad) SAS Address(0): 0x5000c5002c5d18b5 SAS Address(1): 0x0 Connected Port Number: 0(path0) Enclosure Device ID: N/A Slot Number: 33 Device Id: 33 Sequence Number: 1 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 70007MB [0x88bb93a Sectors] Non Coerced Size: 69495MB [0x87bb93a Sectors] Coerced Size: 69376MB [0x8780000 Sectors] Firmware state: Unconfigured(good) SAS Address(0): 0x5000c5002c5d18b5 SAS Address(1): 0x0 Connected Port Number: 0(path0) ~~~ Après un petit reboot, seul `Firmware state: Unconfigured(good)` subsiste. Vous avez ainsi : ~~~ # /opt/MegaCli -PDList -a0 Adapter #0 Enclosure Device ID: 32 Slot Number: 0 Device Id: 0 Sequence Number: 1 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 70007MB [0x88bb93a Sectors] Non Coerced Size: 69495MB [0x87bb93a Sectors] Coerced Size: 69376MB [0x8780000 Sectors] Firmware state: Unconfigured(good) SAS Address(0): 0x5000c5002c5d18b5 SAS Address(1): 0x0 Connected Port Number: 0(path0) Enclosure Device ID: 32 Slot Number: 1 Device Id: 1 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 70007MB [0x88bb93a Sectors] Non Coerced Size: 69495MB [0x87bb93a Sectors] Coerced Size: 69376MB [0x8780000 Sectors] Firmware state: Online SAS Address(0): 0x5000c5000b0b4355 SAS Address(1): 0x0 Connected Port Number: 1(path0) ~~~ On s'intéresse ensuite à notre volume RAID1 dans ce cas : ~~~ # /opt/MegaCli -CfgDsply -a0 ============================================================================== Adapter: 0 Product Name: PERC 6/i Integrated Memory: 256MB BBU: Present ============================================================================== Number of DISK GROUPS: 1 DISK GROUPS: 0 Number of Spans: 1 SPAN: 0 Span Reference: 0x00 Number of PDs: 2 Number of VDs: 1 Number of dedicated Hotspares: 0 Virtual Disk Information: Virtual Disk: 0 (target id: 0) Name: RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 Size:69376MB State: Degraded Stripe Size: 64kB Number Of Drives:2 Span Depth:1 Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU Access Policy: Read/Write Disk Cache Policy: Disk's Default Physical Disk Information: Physical Disk: 0 Physical Disk: 1 Enclosure Device ID: 32 Slot Number: 1 Device Id: 1 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 70007MB [0x88bb93a Sectors] Non Coerced Size: 69495MB [0x87bb93a Sectors] Coerced Size: 69376MB [0x8780000 Sectors] Firmware state: Online SAS Address(0): 0x5000c5000b0b4355 SAS Address(1): 0x0 Connected Port Number: 1(path0) ~~~ On veut donc remplacer `Physical Disk: 0` (row = 0) dans le `target id: 0` (array = 0) par notre nouveau disque identifié comme étant `[32:0]` ce qui donne : ~~~ # /opt/MegaCli -PdReplaceMissing -PhysDrv [32:0] -array0 -row0 -a0 Adapter: 0: Missing PD at Array 0, Row 0 is replaced. ~~~ Il devrait donc apparaître en `Firmware state: Offline`. On lance enfin la reconstruction : ~~~ # /opt/MegaCli -PDRbld -Start -PhysDrv[32:0] -a0 Started rebuild progress on device(Encl-32 Slot-0) ~~~ Il passe donc en `Firmware state: Rebuild`. On peut suivre sa reconstruction via : ~~~ # /opt/MegaCli -PDRbld -ShowProg -PhysDrv [32:0] -aALL Rebuild Progress on Device at Enclosure 32, Slot 0 Completed 28% in 3 Minutes. ~~~ Une fois terminé, il apparaît en `Firmware state: Online` et les opérations sont terminées. * !!! ATTENTION !!! ATTENTION !!! ATTENTION !!! * L'erreur fatale à ne pas commettre lorsque vous constatez un disque en état `Firmware state: Failed` est de le forcer à revenir `Online`. En effet, cela force à repasser en mode RAID sans reconstruction et vous pouvez dire adieu à votre système de fichiers. NE FAITES DONC *PAS* : ~~~ # /opt/MegaCli_ATTENTION -PDOnline -PhysDrv [32:0] -a0 EnclId-32 SlotId-0 state changed to OnLine. ~~~ Identifier un disque physiquement (faire clinoter la LED) : ~~~ /opt/MegaCli -PdLocate start -physdrv[:] -a0 ~~~ ## Ajout d'un disque dans un volume RAID5 Avoir un système avec la commande `omconfig`, par exemple, booter sur un Live-CD DELL OMSA (rappel, par défaut: login=root password=calvin) téléchargeable sur Pour connaître l'état des disques/volumes on utilisera `omreport` : ~~~ # omreport storage vdisk controller=0 # omreport storage pdisk controller=0 ~~~ Et voilà un exemple qui ajoute un disque (ici `1:0:5`) sur un volume existant. ~~~ # omconfig storage vdisk action=reconfigure controller=0 vdisk=0 raid=r5 pdisk=0:0:0,0:0:1,0:0:2,0:0:3,1:0:5 Command successful! ~~~ Suite à cela, une loooongue phase de reconstruction du volume RAID. ## Performances Si les performances lors d'un benchmark avec le cache FS désactivé sont ridicules (voir HowtoBenchmarks), il est possible que le cache du controlleur ne soit pas activé. Dans ce cas, si le controlleur dispose d'une mémoire cache ET d'une batterie, on peut l'activer : ~~~ # /opt/MegaCli -AdpBbuCmd -GetBbuStatus -a0 | grep -e '^isSOHGood' -e '^Charger Status' -e '^Remaining Capacity' Charger Status: Complete Remaining Capacity: 1640 mAh isSOHGood: Yes ~~~ La batterie est bonne, on peut l'activer : ~~~ # /opt/MegaCli -LDSetProp -Cached -LAll -aAll Set Cache Policy to Cached on Adapter 0, VD 0 (target id: 0) success Set Cache Policy to Cached on Adapter 0, VD 1 (target id: 1) success Exit Code: 0x00 # /opt/MegaCli -LDSetProp EnDskCache -LAll -aAll Set Disk Cache Policy to Enabled on Adapter 0, VD 0 (target id: 0) success Set Disk Cache Policy to Enabled on Adapter 0, VD 1 (target id: 1) success Exit Code: 0x00 # /opt/MegaCli -LDSetProp WB -LALL -aALL Set Write Policy to WriteBack on Adapter 0, VD 0 (target id: 0) success Set Write Policy to WriteBack on Adapter 0, VD 1 (target id: 1) success Exit Code: 0x00 ~~~ Et dans le cas ou la batterie subisse une defaillance, on demande à ce que le cache soit désactivé : ~~~ # /opt/MegaCli -LDSetProp NoCachedBadBBU -LALL -aALL Set No Write Cache if bad BBU on Adapter 0, VD 0 (target id: 0) success Set No Write Cache if bad BBU on Adapter 0, VD 1 (target id: 1) success Exit Code: 0x00 ~~~ Les débits en lecture/écriture devraient faire un bond ! ## Ajout d'un nouveau volume RAID Exemple avec l'ajout d'un volume RAID1 sur 2 nouveaux disques : ~~~ # /opt/MegaCli -CfgLdAdd -r1 [32:2,32:3] -a0 Adapter 0: Created VD 1 Adapter 0: Configured the Adapter!! Exit Code: 0x00 ~~~ Ou un disque simple : ~~~ # /opt/MegaCli -CfgLdAdd -r0 [252:3] -a0 Adapter 0: Created VD 2 Adapter 0: Configured the Adapter!! Exit Code: 0x00 ~~~ ## Sauvegarde/restauration de la configuration ~~~ # megacli -CfgSave -f /home/backup/megacli_conf.dump -a0 # megacli -CfgRestore -f /home/backup/megacli_conf.dump -a0 ~~~