mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

325 lines
9.2 KiB

  1. ---
  2. title: RAID Hardware sur serveur DELL avec contrôleur PERC
  3. ---
  4. **Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
  5. <http://hwraid.le-vert.net/wiki/LSIMegaRAIDSAS>
  6. ## Remplacement d'un disque HS
  7. Vous avez un disque HS, par exemple le disque 0, qui clignote.
  8. Vous constatez ainsi le `Firmware state: Failed` :
  9. ~~~
  10. # /opt/MegaCli -PDList -a0
  11. Adapter #0
  12. Enclosure Device ID: 32
  13. Slot Number: 0
  14. Device Id: 0
  15. Sequence Number: 2
  16. Media Error Count: 0
  17. Other Error Count: 0
  18. Predictive Failure Count: 0
  19. Last Predictive Failure Event Seq Number: 0
  20. Raw Size: 70007MB [0x88bb93a Sectors]
  21. Non Coerced Size: 69495MB [0x87bb93a Sectors]
  22. Coerced Size: 69376MB [0x8780000 Sectors]
  23. Firmware state: Failed
  24. SAS Address(0): 0x5000c5000b0b1c51
  25. SAS Address(1): 0x0
  26. Connected Port Number: 0(path0)
  27. Enclosure Device ID: 32
  28. Slot Number: 1
  29. Device Id: 1
  30. Sequence Number: 2
  31. Media Error Count: 0
  32. Other Error Count: 0
  33. Predictive Failure Count: 0
  34. Last Predictive Failure Event Seq Number: 0
  35. Raw Size: 70007MB [0x88bb93a Sectors]
  36. Non Coerced Size: 69495MB [0x87bb93a Sectors]
  37. Coerced Size: 69376MB [0x8780000 Sectors]
  38. Firmware state: Online
  39. SAS Address(0): 0x5000c5000b0b4355
  40. SAS Address(1): 0x0
  41. Connected Port Number: 1(path0)
  42. ~~~
  43. Vous le remplacez à chaud… et vous constatez qu'il ne se reconstruit pas tout seul.
  44. 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)` :
  45. ~~~
  46. Enclosure Device ID: 32
  47. Slot Number: 0
  48. Device Id: 0
  49. Sequence Number: 2
  50. Media Error Count: 0
  51. Other Error Count: 0
  52. Predictive Failure Count: 0
  53. Last Predictive Failure Event Seq Number: 0
  54. Raw Size: 0MB [0x0 Sectors]
  55. Non Coerced Size: 9007199254740480MB [0xfffffffffff00000 Sectors]
  56. Coerced Size: 0MB [0x0 Sectors]
  57. Firmware state: Unconfigured(bad)
  58. SAS Address(0): 0x5000c5002c5d18b5
  59. SAS Address(1): 0x0
  60. Connected Port Number: 0(path0)
  61. Enclosure Device ID: N/A
  62. Slot Number: 33
  63. Device Id: 33
  64. Sequence Number: 1
  65. Media Error Count: 0
  66. Other Error Count: 0
  67. Predictive Failure Count: 0
  68. Last Predictive Failure Event Seq Number: 0
  69. Raw Size: 70007MB [0x88bb93a Sectors]
  70. Non Coerced Size: 69495MB [0x87bb93a Sectors]
  71. Coerced Size: 69376MB [0x8780000 Sectors]
  72. Firmware state: Unconfigured(good)
  73. SAS Address(0): 0x5000c5002c5d18b5
  74. SAS Address(1): 0x0
  75. Connected Port Number: 0(path0)
  76. ~~~
  77. Après un petit reboot, seul `Firmware state: Unconfigured(good)` subsiste. Vous avez ainsi :
  78. ~~~
  79. # /opt/MegaCli -PDList -a0
  80. Adapter #0
  81. Enclosure Device ID: 32
  82. Slot Number: 0
  83. Device Id: 0
  84. Sequence Number: 1
  85. Media Error Count: 0
  86. Other Error Count: 0
  87. Predictive Failure Count: 0
  88. Last Predictive Failure Event Seq Number: 0
  89. Raw Size: 70007MB [0x88bb93a Sectors]
  90. Non Coerced Size: 69495MB [0x87bb93a Sectors]
  91. Coerced Size: 69376MB [0x8780000 Sectors]
  92. Firmware state: Unconfigured(good)
  93. SAS Address(0): 0x5000c5002c5d18b5
  94. SAS Address(1): 0x0
  95. Connected Port Number: 0(path0)
  96. Enclosure Device ID: 32
  97. Slot Number: 1
  98. Device Id: 1
  99. Sequence Number: 2
  100. Media Error Count: 0
  101. Other Error Count: 0
  102. Predictive Failure Count: 0
  103. Last Predictive Failure Event Seq Number: 0
  104. Raw Size: 70007MB [0x88bb93a Sectors]
  105. Non Coerced Size: 69495MB [0x87bb93a Sectors]
  106. Coerced Size: 69376MB [0x8780000 Sectors]
  107. Firmware state: Online
  108. SAS Address(0): 0x5000c5000b0b4355
  109. SAS Address(1): 0x0
  110. Connected Port Number: 1(path0)
  111. ~~~
  112. On s'intéresse ensuite à notre volume RAID1 dans ce cas :
  113. ~~~
  114. # /opt/MegaCli -CfgDsply -a0
  115. ==============================================================================
  116. Adapter: 0
  117. Product Name: PERC 6/i Integrated
  118. Memory: 256MB
  119. BBU: Present
  120. ==============================================================================
  121. Number of DISK GROUPS: 1
  122. DISK GROUPS: 0
  123. Number of Spans: 1
  124. SPAN: 0
  125. Span Reference: 0x00
  126. Number of PDs: 2
  127. Number of VDs: 1
  128. Number of dedicated Hotspares: 0
  129. Virtual Disk Information:
  130. Virtual Disk: 0 (target id: 0)
  131. Name:
  132. RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
  133. Size:69376MB
  134. State: Degraded
  135. Stripe Size: 64kB
  136. Number Of Drives:2
  137. Span Depth:1
  138. Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
  139. Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
  140. Access Policy: Read/Write
  141. Disk Cache Policy: Disk's Default
  142. Physical Disk Information:
  143. Physical Disk: 0
  144. Physical Disk: 1
  145. Enclosure Device ID: 32
  146. Slot Number: 1
  147. Device Id: 1
  148. Sequence Number: 2
  149. Media Error Count: 0
  150. Other Error Count: 0
  151. Predictive Failure Count: 0
  152. Last Predictive Failure Event Seq Number: 0
  153. Raw Size: 70007MB [0x88bb93a Sectors]
  154. Non Coerced Size: 69495MB [0x87bb93a Sectors]
  155. Coerced Size: 69376MB [0x8780000 Sectors]
  156. Firmware state: Online
  157. SAS Address(0): 0x5000c5000b0b4355
  158. SAS Address(1): 0x0
  159. Connected Port Number: 1(path0)
  160. ~~~
  161. 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 :
  162. ~~~
  163. # /opt/MegaCli -PdReplaceMissing -PhysDrv [32:0] -array0 -row0 -a0
  164. Adapter: 0: Missing PD at Array 0, Row 0 is replaced.
  165. ~~~
  166. Il devrait donc apparaître en `Firmware state: Offline`.
  167. On lance enfin la reconstruction :
  168. ~~~
  169. # /opt/MegaCli -PDRbld -Start -PhysDrv[32:0] -a0
  170. Started rebuild progress on device(Encl-32 Slot-0)
  171. ~~~
  172. Il passe donc en `Firmware state: Rebuild`.
  173. On peut suivre sa reconstruction via :
  174. ~~~
  175. # /opt/MegaCli -PDRbld -ShowProg -PhysDrv [32:0] -aALL
  176. Rebuild Progress on Device at Enclosure 32, Slot 0 Completed 28% in 3 Minutes.
  177. ~~~
  178. Une fois terminé, il apparaît en `Firmware state: Online` et les opérations sont terminées.
  179. **!!! ATTENTION !!! ATTENTION !!! ATTENTION !!!**
  180. L'erreur fatale à ne pas commettre lorsque vous constatez un disque en état `Firmware state: Failed` est de le forcer à revenir `Online`.
  181. En effet, cela force à repasser en mode RAID sans reconstruction et vous pouvez dire adieu à votre système de fichiers. NE FAITES DONC *PAS* :
  182. ~~~
  183. # /opt/MegaCli_ATTENTION -PDOnline -PhysDrv [32:0] -a0
  184. EnclId-32 SlotId-0 state changed to OnLine.
  185. ~~~
  186. Identifier un disque physiquement (faire clinoter la LED) :
  187. ~~~
  188. /opt/MegaCli -PdLocate start -physdrv[<Enclosure Device ID>:<Slot Number>] -a0
  189. ~~~
  190. ## Ajout d'un disque dans un volume RAID5
  191. 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 <http://linux.dell.com/files/openmanage-contributions/>
  192. Pour connaître l'état des disques/volumes on utilisera `omreport` :
  193. ~~~
  194. # omreport storage vdisk controller=0
  195. # omreport storage pdisk controller=0
  196. ~~~
  197. Et voilà un exemple qui ajoute un disque (ici `1:0:5`) sur un volume existant.
  198. ~~~
  199. # 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
  200. Command successful!
  201. ~~~
  202. Suite à cela, une loooongue phase de reconstruction du volume RAID.
  203. ## Performances
  204. 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é.
  205. Dans ce cas, si le controlleur dispose d'une mémoire cache ET d'une batterie, on peut l'activer :
  206. ~~~
  207. # /opt/MegaCli -AdpBbuCmd -GetBbuStatus -a0 | grep -e '^isSOHGood' -e '^Charger Status' -e '^Remaining Capacity'
  208. Charger Status: Complete
  209. Remaining Capacity: 1640 mAh
  210. isSOHGood: Yes
  211. ~~~
  212. La batterie est bonne, on peut l'activer :
  213. ~~~
  214. # /opt/MegaCli -LDSetProp -Cached -LAll -aAll
  215. Set Cache Policy to Cached on Adapter 0, VD 0 (target id: 0) success
  216. Set Cache Policy to Cached on Adapter 0, VD 1 (target id: 1) success
  217. Exit Code: 0x00
  218. # /opt/MegaCli -LDSetProp EnDskCache -LAll -aAll
  219. Set Disk Cache Policy to Enabled on Adapter 0, VD 0 (target id: 0) success
  220. Set Disk Cache Policy to Enabled on Adapter 0, VD 1 (target id: 1) success
  221. Exit Code: 0x00
  222. # /opt/MegaCli -LDSetProp WB -LALL -aALL
  223. Set Write Policy to WriteBack on Adapter 0, VD 0 (target id: 0) success
  224. Set Write Policy to WriteBack on Adapter 0, VD 1 (target id: 1) success
  225. Exit Code: 0x00
  226. ~~~
  227. Et dans le cas ou la batterie subisse une defaillance, on demande à ce que le cache soit désactivé :
  228. ~~~
  229. # /opt/MegaCli -LDSetProp NoCachedBadBBU -LALL -aALL
  230. Set No Write Cache if bad BBU on Adapter 0, VD 0 (target id: 0) success
  231. Set No Write Cache if bad BBU on Adapter 0, VD 1 (target id: 1) success
  232. Exit Code: 0x00
  233. ~~~
  234. Les débits en lecture/écriture devraient faire un bond !
  235. ## Ajout d'un nouveau volume RAID
  236. Exemple avec l'ajout d'un volume RAID1 sur 2 nouveaux disques :
  237. ~~~
  238. # /opt/MegaCli -CfgLdAdd -r1 [32:2,32:3] -a0
  239. Adapter 0: Created VD 1
  240. Adapter 0: Configured the Adapter!!
  241. Exit Code: 0x00
  242. ~~~
  243. Ou un disque simple :
  244. ~~~
  245. # /opt/MegaCli -CfgLdAdd -r0 [252:3] -a0
  246. Adapter 0: Created VD 2
  247. Adapter 0: Configured the Adapter!!
  248. Exit Code: 0x00
  249. ~~~
  250. ## Sauvegarde/restauration de la configuration
  251. ~~~
  252. # megacli -CfgSave -f /home/backup/megacli_conf.dump -a0
  253. # megacli -CfgRestore -f /home/backup/megacli_conf.dump -a0
  254. ~~~