Comment les ingénieurs gèrent-ils les cycles de «réapprentissage» de la batterie du contrôleur RAID?
Comme indiqué dans: Qu'est-ce qu'une "réapprentissage de la batterie" sur un LSI MegaRaid? , le cycle de réapprentissage décharge la batterie du contrôleur RAID (BBWC ou BBU), supprimant ainsi l'accélération du cache d'écriture. La durée de vie de la batterie est vérifiée et une fois chargée, le cache d'écriture est réactivé. Cela a un impact évident sur les performances d'E / S du serveur pendant la durée du cycle de réapprentissage. Je pense que cela se produit tous les mois.
La dégradation des performances a été constatée, notamment sur les systèmes de bases de données:
Base de données lente? Vérifiez la batterie RAID!
Réapprendre sur votre batterie
Mon expérience se situe dans les serveurs HP ProLiant, dont les contrôleurs Smart Array ne passent pas par cet exercice ( ou au moins ont une surveillance plus proactive de la durée de vie de la batterie ). Cela semble être une caractéristique terrible ( inconvénient maximum, peu de gain ), mais je suis dans un environnement avec de nombreux contrôleurs LSI (sur le matériel Supermicro ) et je voudrais voir si une politique globale peut être appliquée aux systèmes concernés.
- Quelle est la planification par défaut du cycle de réapprentissage sur un contrôleur LSI?
- Ces cycles de réapprentissage sont-ils utiles?
- Cette fonction doit-elle être désactivée?
- Si vous choisissez de laisser cette fonctionnalité activée dans votre environnement, comment gérez-vous la planification? Planifiez-vous cela manuellement ou autorisez-vous le contrôleur à définir son propre calendrier?
- Les contrôleurs Dell Perc sont-ils affectés de la même manière? ( LSI est l'OEM )
Réponses:
Tout récemment, j'ai lu un article d'un des ingénieurs de Godaddy sur ce sujet: Apprendre à gérer l' apprentissage
Sur leur matériel (cartes Dell PERC), le cycle d'apprentissage de la batterie a lieu tous les 90 jours, mais aucun moyen de savoir exactement quand cela se produira, c'est-à-dire pendant les heures de pointe ou hors pointe.
Ils ont parlé de différentes solutions:
Désactivez complètement l'apprentissage de la batterie. Le problème avec cette option est que vous ne saurez pas l'état de votre batterie et combien de temps et combien elle peut contenir la charge, donc en cas de panne, vous risquez de perdre des données.
Utilisez un matériel différent. Certains contrôleurs ont 2 batteries et basculent entre elles pendant ces cycles d'apprentissage. De plus, il existe des contrôleurs RAID (tels que Dell H710) qui n'ont pas besoin de piles mais utilisent à la place une NVRAM non volatile pour stocker les données non validées.
Forcer l'écriture différée (mise en cache) quel que soit l'état de vos batteries. Comme la 1ère solution, vous risquez de perdre des données.
En fin de compte, ils configurent des crons pour les heures creuses qui surveillent le prochain cycle d'apprentissage et si cela se produit dans les 24 heures suivantes, ils forcent cela à se produire immédiatement. De cette façon, ils conservent l'avantage d'exercer leurs batteries sans les faire fonctionner aux heures de pointe.
la source