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 »

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

Migration, jonglage de disques avec MDADM : grow/reduce/grow d’un miroir à 2 puis 3 puis 2 pattes

Dans le cadre d’une migration de ma plateforme de virtualisation de Xubuntu (shame) vers CentOS (j’en parlerai dans un prochain article), j’ai été amené à me faire des nœuds aux cerveaux pour trouver comment passer de manière sure d’un disque de 1 To contenant des données, des VMs et mon Xubuntu vers un CentOS avec deux disques en miroirs de 1 To, et en ne disposant que d’un spare de 400Go.

J’aurai pu installer l’OS par dessus l’Ubuntu mais je préfère repartir from scratch, et je voulais éviter de transférer les VMs sur le disque de 400Go car je n’étais pas très sur de sa fiabilité.

A noter que dans un cas plus simple que le mien, mdadm permet de passer d’un système sans redondance vers un RAID (very pratique, j’aurai fais ça si jamais je n’avais pas eu la migration d’OS à faire), ou si vos disques ont la taille suffisante, de remplacer online le disque.

Lire la suite « Migration, jonglage de disques avec MDADM : grow/reduce/grow d’un miroir à 2 puis 3 puis 2 pattes »

Migration, jonglage de disques avec MDADM : grow/reduce/grow d’un miroir à 2 puis 3 puis 2 pattes

Sortie de la 2.0.6 de Vulture

Dans le genre news pas très fraiche, je voudrais la sortie de la version 2.0.6 de Vulture, vieille d’environ 2 mois… http://www.vultureproject.org/2013/07/sortie-de-vulture-2-0-6/

Le changelog fait état de la correction de 3 bugs et l’ajout de quelques petites features sympa. Je ne sais pas si c’est les mises à jours des dépendances (ou les modifications de celles ci?), mais j’avais plusieurs comportements étranges sur mes vultures (Debian et CentOS de test) qui semblent aujourd’hui être de l’histoire ancienne!

Comme d’habitude avec Vulture, mise à jour = suppression de la base de données => vous aurez donc tous vos paramétrages à refaire, mais personnellement, je trouve que le jeu en vaut la chandelle. Sachez aussi que normalement cela devrait être la dernière fois si l’on en croit la doc d’install de Vulture. A tester la prochaine fois, j’ai hâte!

Activation de django-evolution

Depuis la version 2.0.6, il est possible d’activer l’application django-evolution sur vulture, qui permettra une mise à jour de la base de données lors des mises à jour.
Afin de l’utiliser, il faut d’abord l’installer:

easy_install -U django_evolution
Sortie de la 2.0.6 de Vulture

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

Création d’un template CentOS 5.5 pour XenServer 5.6

Depuis quelques temps, ma solution de virtualisation est en place, mes VMs ronronnent, et je me suis lancé un peu plus profondément dans la supervision et tout ce qui s’en approche. Ceux qui lisent mes lignes de temps à autres sauront que j’avais déjà travaillé sur EyesOfNetwork et Nagios, mais j’ai voulu m’attaquer à quelque chose de nouveau et (à mon avis) mieux pensé.

Je parle bien évidemment de l’épopée Shinken, démarrée par un gars de la région, qui a aussi fait mon école, et dont je suis la progression depuis maintenant un moment (pratiquement le début en fait, même si ca à souvent été d’un œil distrait). Seulement voilà, pour pouvoir tester Shinken au maximum de ses capacitées, j’ai besoin de plusieurs VM vierges.

Fini l’époque bénie des VMs construites sur l’envie du moment : j’en ai marre! Il à donc bien fallut s’y résoudre : Créer des templates pour déployer rapidement (et proprement) un réseau complet.

Donc rien de bien « techniquement agressif » (comme dirait l’autre) aujourd’hui, je vous propose un petit tuto pour créer de bout en bout un template CentOS 5.5 sur un XenServer 5.6 (qui ne supporte théoriquement que CentOS jusqu’à 5.4 même si nous verrons que ce n’est vraiment pas un problème).

Lire la suite « Création d’un template CentOS 5.5 pour XenServer 5.6 »

Création d’un template CentOS 5.5 pour XenServer 5.6

Configurer Yum pour qu’il fouille ici plutôt qu’ailleurs

Dans ma vie de tous les jours, installer des paquets compatibles avec ma version d’EyesOfNetwork (rappel: CentOS modifié) sans accès à Internet a été une petite souffrance. D’abord, vous êtes content quand vous avez trouvé qu’un paquet RPM pour CentOS (pour Red Hat Package manager) s’installe tout bêtement avec la commande « rpm -hiv [path_du_rpm.rpm] ». Après, vous vous amusez follement à installer les paquets qu’il vous manque un par un, en en trouvant par chance sur Internet qui ont la bonne version. Enfin ça c’est la méthode brutale. Ça marche, mais bon, ça marche surtout dans des cas simple avec des paquets pas trop regardant au niveau dépendances. Si jamais vous devez installer une version plus récente de la libxml sans aucun compilateur C, ça devient tout de suite un peu fastidieux…

Si comme moi vous êtes « heureux » de travailler offline, vous serez peut être quand même content d’apprendre comment installer des RPMs depuis un média quelconque (DVD de votre distrib, avec tous les paquets optionnels dessus, par exemple), comme si celui ci allait sur Internet.

Lire la suite « Configurer Yum pour qu’il fouille ici plutôt qu’ailleurs »

Configurer Yum pour qu’il fouille ici plutôt qu’ailleurs

Zwindler’s reflection

Bonjour,

Pour faire dans l’original, j’ai ouvert un compte Free [Edit]maintenant wordpress[/Edit] pour créer mon blog perso d’informaticien, histoire de faire partager mes découvertes et mes réflexions « extraordinaires » sur tout un tas de sujets passionnants tels que :

  • La vie d’un Sysadmin adepte du « Do It Yourself »
  • La virtualisation, parce que la virtualisation, c’est la vie
  • Linux sous toutes ses formes
  • Windows et les joies liées à l’administration d’un groupe d’utilisateurs mécontents épanouis
  • Des applications Open Source -ou pas-
  • Du scripting -orienté sysadmin, bien sûr-
  • Du hardware parce que ça déborde chez moi

L’idée n’est généralement pas d’attirer le chaland avec des tutos bourrés de screenshots sur des sujets  abordés X fois ailleurs (avec X tendant vers +l’infini), mais plutôt de donner des astuces sur des sujets plus confidentiels pour lesquels j’ai eu du mal à trouver des réponses facilement et/ou rapidement.

C’est sûr, ça fait moins d’audimat 😉

Zwindler

PS : Pour le fun: http://xkcd.com/705/

Zwindler’s reflection