Une console cluster avec tmux

Tous ceux qui ont déjà travaillé avec un cluster le savent bien. Il faut avec deux machines “strictement” identiques.

La meilleure solution est d’avoir une “console cluster”. Je n’ai jamais trouvé de solution réellement efficace et pratique à utiliser (la plus pratique celle de SUN).

Bref. En parallèle, je voulais regarder ce que Tmux avait dans le ventre pour remplacer Screen qui a fait son temps.

Et en pleine lecture de tmux: Productive Mouse-Free Development, je me rends compte qu’il est surement possible d’en faire une super console pour cluster.

Fichier “.tmux-clust.conf”

new-session -d -s clust -n clust1 'ssh clust-root1'
split-window -v -t clust 'ssh clust-root2'
set -g status-right ""
source-file ~/.tmux-clust-bc.conf

Fichier “.tmux-clust-bc.conf”

set-window-option synchronize-panes on
bind r source-file ~/.tmux-clust-nobc.conf \; display "Stop broadcast"
set -g status-bg green
set -g pane-active-border-fg green
unbind u
unbind i
unbind o
unbind p

bind u set-window-option synchronize-panes off \; send-keys -t clust:0.0 '1' \; send-keys -t clust:0.1 '2' \; set-window-option synchronize-panes on
bind i set-window-option synchronize-panes off \; send-keys -t clust:0.0 '2' \; send-keys -t clust:0.1 '1' \; set-window-option synchronize-panes on
bind o set-window-option synchronize-panes off \; send-keys -t clust:0.0 '192.168.21.' \; send-keys -t clust:0.1 '192.168.22.' \; set-window-option synchronize-panes on
bind p set-window-option synchronize-panes off \; send-keys -t clust:0.0 '192.168.22.' \; send-keys -t clust:0.1 '192.168.21.' \; set-window-option synchronize-panes on

Fichier “.tmux-clust-nobc.conf”

set-window-option synchronize-panes off
bind r source-file ~/.tmux-clust-bc.conf \; display "Now with broadcast"
set -g status-bg blue
set -g pane-active-border-fg blue

unbind u
unbind i
unbind o
unbind p
bind u send-keys -t clust:0.0 '1' \; send-keys -t clust:0.1 '2'
bind i send-keys -t clust:0.0 '2' \; send-keys -t clust:0.1 '1'
bind o send-keys -t clust:0.0 '192.168.21.' \; send-keys -t clust:0.1 '192.168.22.'
bind p send-keys -t clust:0.0 '192.168.22.' \; send-keys -t clust:0.1 '192.168.21.'

Et pour finir le fichier “tmux-clust”

#!/bin/bash
tmux -f ~/.tmux-clust.conf attach

Du coup, quand je me connecte avec le script “tmux-clust”, il lance une connexion vers clust-root1 et clust-root2 chacun dans un panneau. Et par défaut, on est dans le mode “bc” pour broadcast.

Les touches :

  • C-b u -> 1 -> node
  • C-b i -> 2 -> other_node
  • C-b o -> 192.168.21 -> node_addr_base
  • C-b p -> 192.168.22 -> other_addr_base
  • C-b r -> Change broadcast mode

“C-b r” permet de passer d’un “mode” à un autre :
- Vert “broadcast” on envoie la purée sur les deux machines en même temps
- Bleu mode normal C-b fléche pour passer de l’un à l’autre

Et voila, une console cluster en mieux :p

Rennes On Rails – Introduction à Ruby – 21 mars

C’est par là :
http://www.rennesonrails.com/?p=360

Imprimante PDF avec fond/tampon

Logo pdftk
  1. Chalenge de la journée : réussir à trouver une solution pour transformer un document Word en PDF avec “papier à entête”

Coup de bol c’est sur Mac :)
Read more »

Vagrant ou les VM pour les nuls

Pour un administrateur système, la virtualisation est un super jouet.

Et pour un développeur cela peut devenir un super outil, mais tellement compliqué à mettre en place.

Et c’est là que Vagrant arrive à la rescousse :

  • Pas d’installation d’OS
  • Pas de réseau à gérer
  • Partage de fichier simplifié

Bref, c’est dégoutant de simplicité pour un administrateur système.

Mais (il en faut bien un), la prise en main n’est pas forcement très simple…

Read more »

C’est quoi Pow ?

Pour répondre à un commentaire, sur mon prétendent Post “Pow pour les nuls” :

Pour un développeur web 2 étapes dans la vie du projet :

  • Développement
  • Production

Read more »

Pow pour les nuls

Toutes les étapes pour avoir une machine avec un Pow et Zsh qui torchent ! :

  • Installer Pow
  • Installer OH MY ZSHELL!
  • Modification de la configuration par défaut
  • Et son utilisation
  • Bonus

Read more »

Compte-rendu des MS Techdays 2012

Le résultat de ma checklist :
Read more »

Array ruby tricks

J’en ai parlé lors de ma session aux MS Techdays.

On vous donne 2 fichiers :

  • Le fichier avec les UUID à enlever
  • Le fichier avec tous les UUID

Le chalenge, ne garder que les UUID absent :p

Les armes :

  • Ruby
  • Ben… c’est tout

Read more »

Techdays 2012 – Et ma session introduction à Ruby – CR

Ci-dessous les slides de la session.

Merci à tout le monde :

  • d’être venu
  • pour l’organisation
  • pour la logistique
  • etc, etc :)

Read more »

Techdays 2012 – Et ma session introduction à Ruby

Je participe cette année aux Techdays de Microsoft.

J’y anime une session d’introduction à Ruby :

Introduction à Ruby (INT102)

Pour suivre les Techdays en direct :

Get Microsoft Silverlight

Necessite Silverlight pour fonctionner.