Accélérer le rebuild/resync d’un volume RAID mdadm

Ça fait plusieurs fois que je tombe sur des articles de blogs qui détaillent que la reconstruction de leur miroir MDADM (RAID1) est trèèèès lente à cause d’un paramètre système dans /proc :
/proc/sys/dev/raid/speed_limit_min

Par défaut sous Linux (ou au moins la plupart des distribs que je côtoie), ce paramètre « min » est fixé à 1000, soit grossièrement 1Mo par seconde, ce qui est effectivement très lent, à l’heure des disques grand public de 6 To (ou 8? ou 10, je ne suis pas sûr d’être à jour).

Personnellement, je n’ai jamais été bloqué par ce paramètre comme ces personnes, au moins sur les distributions récentes (tout est relatif, en 2015 je parle de 2012 et +). Il s’agissait peut être d’un bug fixé depuis, qui sait?

Par contre, là où j’ai été effectivement bloqué, c’est plutôt par la variable /proc/sys/dev/raid/speed_limit_max.

cat /proc/mdstat
   md1 : active raid1 sdc[0] sdd[1]
   336592832 blocks [2/2] [UU]
   [===========>.........] resync = 59.4% (199958272/336592832) finish=11.3min speed=200006K/sec

Quoi, mes disques resync à 200006K/sec? Comment dire ? C’est louche !

En effet, cette valeur est fixée par défaut à 200000, soit 200 Mo/s. Ça peut paraitre assez haut pour du RAID à la maison, mais sur du matériel d’entreprise, je n’ai pas eu de mal à atteindre cette limite.

cat /proc/sys/dev/raid/speed_limit_min
   1000
cat /proc/sys/dev/raid/speed_limit_max
   200000
echo 500000 > /proc/sys/dev/raid/speed_limit_max

cat /proc/mdstat
   md1 : active raid1 sdc[0] sdd[1]
   336592832 blocks [2/2] [UU]
   [===============>.....] resync = 76.4% (257424960/336592832) finish=2.6min speed=505767K/sec

« And voila »

Publicités
Accélérer le rebuild/resync d’un volume RAID mdadm

HOWTO – Cluster Oracle 11gR2 avec Redhat Cluster Suite sur CentOS 5.4, et sans accès à Internet

J’avais pour objectif de proposer une architecture sous Redhat permettant d’héberger en clustering une base de données Oracle en mode actif/passif (sans RAC donc) pour un nouveau client. L’architecture actuelle/connue était à base de serveurs HP-UX fonctionnant avec un cluster HP MCSG qui fonctionnait très bien, mais pour des raisons de support sur l’ERP le passage à Linux était obligatoire.

MCSG sur Redhat n’étant pas encore (est ce que ça va changer?) supporté officiellement par Redhat et HP, et heartbeat étant une solution trop légère pour ce genre d’application critique au business, il a bien fallut que je fasse une maquette basée sur Redhat Cluster suite. Le faible nombre de blogs traitant du sujet et le nombre d’échecs parmi les rares articles que j’ai trouvés auraient du me mettre la puce à l’oreille quant à la difficulté d’installation/configuration de ce produit. Et pour cause : malgré une documentation officielle relativement bien faite, certains passages sont carrément obscur pour ceux qui rentrent dans le sujet sans expérience préalable des clusters.

Ayant galérer pour faire marcher la solution dans les grandes lignes, je pense qu’il est de mon devoir (oui oui, rien que ça :-p) de faire partager la documentation que j’ai tiré de mes diverses expérimentations :

  • Le fichier doc qui contient les scripts. Oui, c’est affreux mais wordpress n’autorise en upload que quelques extensions et je n’ai pas l’envie de chercher une solution de contournement…

Autre chose : au début, je pensais qu’être coupé d’Internet sur les serveurs d’un admin n’était pas monnaie courante. Avec le peu de recul que j’ai aujourd’hui, je me rend compte que je subis très régulièrement cette contrainte! Ayant été obligé de me passer du net sur ma maquette, j’ai aussi indiqué les solutions de contournement que j’ai trouvé dans la documentation, au cas où certains seraient dans la même configuration.

Cependant, dans tous les cas, je ne conseille pas l’utilisation de RHCS sur une prod si vous débutez et/ou si vous n’avez pas d’accès à Internet pour effectuer des mises à jours du système : les bugs de cette version ainsi que les erreurs de débutant que j’ai pu faire sur ma maquette auraient assez vite corrompu la base de données d’une production.

N’hésitez pas à me faire remonter toute imperfection dans la documentation, que je puisse corriger pour les suivants

HOWTO – Cluster Oracle 11gR2 avec Redhat Cluster Suite sur CentOS 5.4, et sans accès à Internet