To content | To menu | To search


Tuesday 10 September 2013

kebab-freete

Hier, en plus d'être un lundi (ce qui a déjà un bon potentiel pour être une sale journée), ma freebox v5 (HD) est tombée en panne. Plus d'affichage, seuls les 4 LED de lien réseau clignotaient rapidement et faiblement. Et évidemment, plus d'internet ni de réseau local :(

Appel au support, attente de "moins d'une minute" qui en a duré dix avec entre autre cette merde qui m'est resté dans la tête toute la matinée et que j'ai du nettoyer à grands coups de death metal melodique, blah-blah avec le mec du support qui me dit qu'il faut d'abord déterminer si ça vient de l'alimentation ou du boitier, et que non monsieur, ça ne va pas être possible car vous n'êtes pas près de la box. En effet, j'était au bureau.

Le soir venu, avant d’appeler le support, je me souvient de cette histoire d'alimentation. Je ressort de la cave une vieille Freebox v4 que je n'ai jamais renvoyé, la branche et...rien. Remplacement de l'alim de la v5 par celle de la v4, et miracle, elle s'allume. pareil pour la box v5, qui du coup est magiquement réparée :)

Comme quoi un peu de persévérance m'aura épargné une semaine (ou plus) de FreeWifi ! 

Friday 2 August 2013

Fuel is pumping nginx (2)

Suite au passage à nginx, je n'avais pas testé le support ActiveSync de mon webmail...

Résultat: un smartphone dont la batterie ne durait pas une journée, car il essayait continuellement de se synchroniser :-/

Donc pour les gens qui utilisent "der schön webmail" Tine 2.0, qu'ils évitent de se perdre dans les rewrites moisies qui traînent sur le web, elles ne sont plus valables et celle qui marche est:

rewrite ^/Microsoft-Server-ActiveSync /index.php?frontend=activesync;

Et dire qu'il suffisait de lire le source (Tinebase/Core.php) où cette règle est indiquée en commentaire. Et bien sûr dans la doc, aussi. Comme quoi Google n'est pas toujours notre ami.

Billets connexes

Tuesday 23 July 2013

ceci n'est pas un journal bookmark

Depuis un certain temps déjà, je cherche une solution pour garder une trace des multiples liens sur lesquels je tombe durant mes longues journées de surf. Pour l'instant je n'en ai trouvé aucun qui soit vraiment rapide à utiliser: je veux juste coller l'url, et que le reste ce remplisse au maximum tout seul en ayant pécher les infos dans l'url en question.

Donc depuis quelques mois, j'utilise donc le "moins pire", j'ai nommé SemanticScuttle, un fork de Scuttle qui permet ce genre de choses. Le titre est récupéré automatiquement, et on peut remplir la description en utilisant l'extension ad-hoc et en surlignant la partie qui nous intéresse. Confort. On peut également avoir des liens partagés ou privés.

Vous trouverez donc le résultat ici. Et comme d'hab', si vous connaissez mieux, je suis toujours preneur.

Saturday 20 July 2013

Fuel is pumping nginx

...ou un truc comme ça.

Donc, 10 ans après tout le monde - comme d'habitude - je me met au dernier truc qui poutre, j'ai nommé nginx, qui vient remplacer l'ami lighttpd.

Je garde Varnish pour la forme, même s'il n'est plus vraiment utile avec ce serveur.

J'ai été contraint d'adapter la conf de ce site et de quelques autres, donc si certains liens ne marchent pas, n'hésitez pas à m'en faire part !

Billets connexes

Tuesday 25 June 2013

Mangiare ?

Ubuntu a fini par s'imposer sur toutes mes machines ces dernières années, un peu par flemme il faut le dire: c'est ce que j'installe quand je commence un nouveau boulot, et que j'ai besoin d'un PC utilisable rapidement (je n'ai guère envie, par exemple, de me palucher Samba pour accéder aux répertoires partagés). Or il s'avère que j'ai récupéré un ordi "du taf" chez moi, qui a remplacé la tour qui fonctionnait sous Gentoo.

Je regrette l'aspect "rolling release" de Gentoo, U(bo)buntu pète quelque chose à presque chaque mise à jour, c'est-a-dire tous les 6 mois, c'est un peu pénible à la longue. Mais bon, compiler tous les paquets pour gagner 3 pouillèmes de perf aussi... Donc plutôt que de réinstaller une Gentoo, j'ai commencé à lorgner vers une distrib' qui s'en rapprochait, mais en binaire, qui plus est à la mode chez les barbus: Arch Linux.

Installation dans une VM pour tester, c'est sympa, c'est léger, c'est faaaast. Par contre une installe à base de "pacstrap /mnt base base-devel" et autres "genfstab -U -p /mnt >> /mnt/etc/fstab", c'est juste pas possible, surtout quand on a un seul PC. La mort dans l'âme, j'avais reporté aux calendes grecques l'écriture d'un script d'install qui me ferait ça automatiquement, comme je le fais pour mes serveurs, pour l'installer "en vrai"...

Jusqu'à ce que je tombe sur ce billet, et surtout son premier commentaire qui conseille l'installation de Manjaro, qui serait à Arch ce qu'Ubuntu est à Debian. En fait Manjaro apporte surtout ce qui fait le plus défaut à Arch: un installeur digne de ce nom.

Quelques heures après l'installation tout fonctionne et je fais joujou avec pacman et yaourt, mes nouveaux amis !

Sunday 31 March 2013

oups

La Tourmentine et tous ses services ont été inaccessibles pendant un peu plus de 24 heures. La faute à l'un des anciens serveurs que j'ai redémarré en vue du grand nettoyage avant de le rendre à m'sieur OVH.

Or, au démarrage mes serveurs lancent Heartbeat qui s'occupe, entre autre, de basculer l'IP failover qui sert de porte d'entrée principale à toute mon infrastructure. Le serveur en question étant l'ancien "master", il a tout naturellement squatté la VIP, en privant le serveur actif...et tout le monde arrivait sur un serveur mort :-/

Et moi, étant connecté en ipv6, je n'ai rien vu pendant tout ce temps, car je ne passait pas par la VIP...ipv4.

Et je n'ai pas vu non plus le mail de chez OVH m'informant de la "connexion au manager" faite par le serveur. C'est un peu la lose.

Cela a eu au moins le mérite de mettre le doigt sur une méchante faille de mon système de supervision, que je vais m'empresser de corriger !

Sunday 24 March 2013

commencent vraiment à me faire chier ces deux-là !

merci youtube

Voila ce que j'obtiens quand je veux consulter les vidéos d'Arte+7 à partir de mon proxy préféré. Après une rapide recherche j'apprends que le célèbre ProxFree, qui offre un "proxy Youtube", propose un seul serveur en France, à...Roubaix.

Voila voila.

Le comble étant que même sans proxy, il semble impossible d'utiliser VLC pour lire les vidéos; du coup, j'ai une bande passante asthmatique ET une vidéo qui rame. SUPAIR.

Tout ça parce que deux boites, qui sont loin d'être à la rue, se font une petite guéguerre à propos du peering. Pathétique.

Je ne suis pas prêt à me passer de Youtube. Par contre pour ce qui est des FAI, j'ai l'embarras du choix, et je ne vais plus tarder à en changer.

Saturday 16 March 2013

du...du hast... (3)

L'aventure HASTienne c'est terminé hier soir avec un gros crash du pool primaire, avec un fort peu poli "I/O Error" en tentant de ré-importer le pool HAST sur le second serveur. Malaise.

Vu les problèmes de lock que j'avais depuis la mise en prod, j'ai tenté le tout pour le tout: abandonnant HAST, j'ai créé de nouveaux datasets ZFS pour stocker mes précieuses données (que j'ai récupéré des backups de la veille, du coup), et j'ai ensuite synchronisé les deux serveurs à grands coups de snapshots ZFS différentiels.

Voici le principe: on commence par faire un snapshot (full) du dataset à répliquer, et on l'envoi sur l'autre serveur. On renomme ensuite, sur chaque serveur, le snapshot afin qu'il serve de référence pour les prochaines synchros:

serveur1# zfs snapshot servers/pool1/home@newsync
serveur1# zfs send servers/pool1/home@newsync | ssh -q serveur2 "zfs receive -vFd servers"
serveur1# zfs rename servers/pool1/home@newsync servers/pool1/home@prevsync
serveur2# zfs rename servers/pool1/home@newsync servers/pool1/home@prevsync

Un script à mettre en crontab sur le serveur maitre va se charger ensuite d'envoyer les snapshots différentiels; l'ancien snapshot est supprimé après transfert, et le nouveau est renommé afin qu'il serve de base aux suivants.

#!/bin/sh

bro="serveur2"
pools="pool1 pool2"


echo "`date`: ZFSync starting."
for pool in $pools
do
        dataset="servers/${pool}/home"
        echo "making new snapshot for ${pool}"
        zfs snapshot ${dataset}@newsync
        echo "sending snapshot"
        zfs send -i prevsync ${dataset}@newsync | ssh -q ${bro} "zfs receive -vFd servers"
        if [ $? -eq 1 ]
        then
                echo "error, exiting"
                exit $?
        fi
        echo "cleaning"
        zfs destroy ${dataset}@prevsync
        zfs rename ${dataset}@newsync ${dataset}@prevsync
        ssh -q ${bro} "zfs destroy ${dataset}@prevsync && zfs rename ${dataset}@newsync ${dataset}@prevsync"
done

echo

La gestion d'erreur, embryonnaire, demande encore a être améliorée ;)

Avec cette méthode, la synchro de trois datasets prends moins de trois minutes, pour environ 10 Go de données.

À noter qu'en temps normal le second serveur n'utilise pas les datasets en question: ils ne sont pas montés, à la place on utilise un montage NFS hébergé sur le premier serveur (zfs set sharenfs=on $dataset) pour que les éventuelles données écrites par le second serveur ne soient pas écrasées. En cas de bascule, les montages NFS sont démontés et les montages ZFS sont remontés à leur place, via heartbeat.

Billets connexes

Saturday 9 March 2013

du...du hast... (2)

Suite de mes aventures HASTiennes: après la découverte du merveilleux mode async, je me suis rendu compte à la longue que ce n'était pas si async que ça, et que j'avais toujours - mais moins - ces méchants freeze impactant directement les services ftp, web et mail.

Résultat, la mort dans l'âme, je me suis résolu à ressortir le hack immonde que j'avait gribouillé lors de mes premiers essais:

#!/bin/sh

POOL="data"
HASTCTL="/sbin/hastctl"
TIMEOUT=300

starttime=`date +%s`

${HASTCTL} role secondary ${POOL}

while true
do
        timestamp=`date +%s`
        curenttime=`echo "$timestamp - $starttime" | bc`
        if [ $curenttime -gt $TIMEOUT ]
        then
                echo "sync takes too much time. exiting."
                exit 1
        fi

        ${HASTCTL} status ${POOL} | grep complete > /dev/null

        if [ $? == 0 ]
        then
                sleep 2
                ${HASTCTL} role init ${POOL}
                #echo "sync finished."
                exit 0
        fi
done

À mettre en crontab tous les quarts d'heure. c'est sale mais ça rame déjà beaucoup moins.

Billets connexes

Sunday 3 March 2013

ssssss (c'est pas du Python, c'est du Chameau)

Pour mes divers besoins (coucou Free) j'utilisais jusqu'à maintenant un proxy SOCKS, 3proxy, qui fonctionne bien avec Firefox (via l'outil ultime FoxyProxy, dont je ne dirais jamais suffisamment de bien) pour mater YouPornTube.

Malheureusement, chipset Intel + 64bit + Flash = pas d'accélération matérielle...ça rame. C'était bien la peine de mettre un proxy pour libérer la bande passante.

L'idée est donc d'utiliser VLC pour voir les vidéos, tout en profitant de l'effet de notre proxy magique. Problème, VLC segfault, pas grand chose dans les logs, la syntaxe à vomir (voir billet précédent...) de 3proxy ne motive pas vraiment à chercher une solution, mais plutôt à chercher une autre solution.

Heureusement, un autre mec a eu le même genre de besoin (et visiblement le même genre d’à-priori négatifs vis-a-vis de 3proxy) et à fini par...écrire son propre soft, sss.pl (je vous avais bien dit que c'était du Chameau)

Simple comme j'aime, il suffit de le télécharger, et de le lancer avec l'IP et le port en paramètres, avec un login/pass si vous voulez. Et ça marche...à moi les vidéos HD en streaming !

- page 18 of 31 -