Principe de passage d'une topologie 2×2 à 3×2 avec glusterfs. Attention : le replace-brick existe plus (voir : http://review.gluster.org/#/c/8503/2/doc/admin-guide/en-US/markdown/admin_replace_brick.md).
Attention aussi (version 3.4.2, ça a pu passer dans un bugfix entretemps…) : à l'ajout des nouvelles briques, la topologie change mais les briques n'ont pas encore les arborescences ni les liens vers les vraies données qui elles sont encore sur les autres briques. Il faut faire un rebalance. Cette opération peut être très longue donc, en attendant, on peut faire un rebalance fix-layout (long mais beaucoup moins) qui met uniquement à jour les informations de layout des fichiers/dossiers etc.
En tous cas c'est un moment de grand stress quand on voit les messages d'erreur qui pleuvent dans les logs…
Via un câble USB "OTG" (On The Go), on peut connecter un "périphérique" à un ordinateur-téléphone/tablette/etc, lequel est habituellement lui-même un "périphérique" (mais il faut quand même que ce soit supporté). J'ai testé une clef, ça fonctionne, et le clavier aussi par contre à cause du bug lié ici je peux pas changer la disposition, je suis bloqué en qwerty.
Une liste de 30 arguments récurrents contre systemd, que Lennart a essayé de couper court. Je suis pas convaincu par toutes les réponses mais on apprend quand même pas mal de choses. Surtout dans les liens connexes (j'ai lu ceux-ci) :
http://freedesktop.org/wiki/Software/systemd/Debugging/
www.freedesktop.org/wiki/Software/systemd/Incompatibilities/
Envie de savoir si la compilation a bien profité d'extensions processeur ? Il "suffit" de voir si des instructions spéciales correspondantes sont utilisées. Ici un script bash autour d'un gros coup de grep sur la sortie d'objdump.
Après perso j'ai testé pour AVX et sans avoir spécialement activé AVX il trouvait déjà des instructions … donc je sais pas, peut-être qu'il y en a trop qui sont considérées AVX ?
En tous cas en recompilant avec -march=native, j'avais bien des binaires différents, et même très différents niveau taille (des plus petits, des plus gros…).
Dans GCC, il y a une belle liste d'options spécifiques à la machine (target). Cette commande permet de toute les lister, et de voir lesquelles sont choisies si on demande d'utiliser la machine courante comme référence (native). Je la paste directement ici pour les impatients :)
gcc -march=native -Q --help=target
Analyse intéressante et très détaillée sur une option d'allocation RAM dans un contexte NUMA (ici plusieurs bancs de RAM gérés par des processeurs différents). En gros on a le choix entre plus de cache (disque…) ou meilleure localité des allocations.
numastat (de numactl), petit outil sympa pour voir où se font les allocations mémoire dans un contexte NUMA. À voir aussi, numactl -H (affiche la topologie). Et pour la beauté du truc (4 contextes NUMA :P) :
numastat
node0 node1 node2 node3
numa_hit 3740055242 4256903182 5486056480 5472483399
numa_miss 39588198 694069046 932981188 28149314
numa_foreign 1314513937 333411725 5543529 41318555
interleave_hit 106874 106725 106880 106725
local_node 3740026559 4256782396 5485924234 5472366371
other_node 39616881 694189832 933113434 28266342
Bloqué sur un firmware tomato et envie d'installer des packages quand même ? Il y a optware, ça marche, y'a 1256 paquets dispos. Pas envie d'arriver à faire marcher la mémoire interne (JFFS etc.) ? Hop, clef USB. En suivant cette doc en 1/2h ça marche et on peut avoir tcpdump, bash, vim et ce genre de choses sur son routeur :)
Ma doc sur ganeti au taff… déjà beaucoup d'info, j'en rajouterai par la suite. En tous cas il y a moyen de faire un setup sympa : cluster de VM (donc on peut les bouger même si l'host tombe), avec disques directement (sans montage) dans un stockage partagé via la libgfapi de GlusterFS.
Là où je me suis bien amusé c'est avec le script pour installer GRUB dans un chroot…
Super article (j'ai pas tout lu…) sur les boot-loaders, puis lilo. C'est super long, mais il y en a, de l'info !
Découverte de la variable 'prefix' de GRUB…
Quand on a grub qui essaye de chercher ses petits sur le disque complet au lieu de la partition…
Petit outil pour monitorer l'activité d'un système, dans les détails de chaque process. Peut aussi enregistrer les états régulièrement dans un log (binaire) pour pouvoir remonter après un crash à la cause (par exemple en cas d'OOM). Est interactif de base mais peut être utilisé pour extraire des infos de ses fichiers de log.
Exemple pour voir les process de la veille de 13h36 à 13h37 :
atop -r /var/log/atop.log.1 -b 13:36 -e 13:37 -P PRG
"MiniMagAsm is minimalistic, but powerful and flexible content management system ( CMS ), implemented entirely in assembly language. " voila tout est dit :P
grub2 (et l'ISO ubuntu 14.04, oui j'ai voulu tester ça…) ça gère : boot d'une ISO sur une partoche ext4 dans du LVM, hop ça roule. Simplement (sous Debian en tous cas) il faut pas mettre le "lvm/" dans le set root comme indiqué ici.
Un utilitaire pour tout faire avec ses dépôts Debian… ça a l'air sympa mais pas simple, voir graphs…
Ah ! On y a pensé, d'autres l'ont fait. Voici ce à quoi aurait pu ressembler l'infra d'ARN :)
Un peu déprimant quand même… mais j'ai bien l'impression qu'il y a trop de vrai.