Le Blog Utux

HTTP 200 GET /

Récit d'une nuit au datacenter

Rédigé par uTux 4 commentaires

Mon blog a pour sous-titre "le sysadmin qui raconte des histoires". Voici donc le récit d'une nuit passée au datacenter pour remettre en fonctionnement nos serveurs suite à une coupure électrique.

Dans la nuit du 30 Juin au 1er Juillet 2015 un important incident électrique a eu lieu dans l'Ouest de la France, impactant de nombreuses villes en Bretagne et dans les Pays de Loire. J'étais d'astreinte cette nuit là et je ne parvenais pas à dormir en raison de la chaleur (38°c en fin de soirée).

0h00. Je constate que plusieurs de nos serveurs ne répondent pas : absence de ping et pas d'accès IPMI / iDRAC donc impossible de faire quoi que ce soit à distance. Je dois donc me rendre en urgence au datacenter.

01h00. Arrivé sur place je croise d'autres techniciens venus eux aussi réparer leurs serveurs. J'entre mais n'ayant pas le code pour ouvrir la baie je suis obligé d’appeler mon collègue. Celui ci me le fourni et me propose de venir me filer un coup de main : vu la situation j'accepte. Une fois la baie ouverte je fais un contrôle visuel des voyants, tout est au vert, la raison de la panne est donc plus profonde. En branchant un PC sur le switch de la baie je fais un premier diag et je constate que les machines virtuelles sont toutes en carafe ainsi que deux serveurs physiques. Je note aussi que les quelques équipements fonctionnels ont un uptime d'à peine une heure, il y a donc eu un redémarrage général (non prévu).

01h30. J'ai trouvé la cause du non démarrage des VMs : le datastore iSCSI est offline. Heureusement je parviens à le remonter rapidement : le daemon iscsi-target était arrêté sur le SAN. Après l'avoir lancé je remonte les VMs, tout passe sauf quelques vieux serveurs Windows qui affichent des BSOD. Je charge une iso win2k3 puis tente des chkdsk mais rien à faire. Mon collègue est arrivé et a emmené de quoi tenir : des gâteaux et de l'eau. Nous attaquons donc ensemble le diagnostic de ces VMs Windows qui ne veulent pas démarrer et comprenons qu'il faut les mettre sur même serveur Xen qu'avant leur exctinction. En effet notre infra Xen est composée de 3 serveurs reliés à un datastore et les VMs peuvent démarrer dessus au choix. Cela ne pose pas de problèmes pour Linux, en revanche un vieux Windows n'aime pas. Nous faisons donc plusieurs essais jusqu'à trouver le serveur qui leur convient, nous paramétrons ensuite Xen pour que ces VMs précisent ne puisse démarrer que sur celui-là.

03h00. Les machines virtuelles sont maintenant fonctionnelles mais pas certains serveurs physiques, nous cherchons donc la raison. En fait un switch réseau a perdu partiellement sa configuration, probablement parce qu'elle n'a pas été sauvegardée dans la flash. En effet si vous avez fait du Cisco vous savez probablement qu'il y a plusieurs niveaux de sauvegarde de la configuration : le running-config (effacé au redémarrage) et le startup-config (permanent). Après avoir réaffecté les VLANs aux bons ports, les serveurs physiques repassent enfin en UP, sauf un.

03h30. Sur ce serveur réticent nous branchons un écran + clavier et constatons qu'il est bloqué au niveau de Grub. Après avoir booté un LiveCD de Gparted nous lançons une réparation du RAID1 logiciel qui est cassé à l'aide de mdadm. Mais la reconstruction ne suffit pas, Grub refuse toujours de booter. Nous démarrons alors à nouveau sur le LiveCD et faisons un chroot pour réinstaller Grub, à coup de update-grub et grub-install (sur sda puis sdb). Cette fois ça fonctionne !

04h30. Échange téléphonique avec le CTO qui nous aide à vérifier que tous les services sont bien rétablis. Nous corrigeons les derniers problèmes existants.

6h00. Nous partons nous coucher pour pouvoir attaquer la journée à 09h00. En ouvrant la porte de sortie du datacenter je constate qu'il fait jour et que le sol est humide alors que j'y suis rentré de nuit sous une chaleur étouffante. J'aperçois aussi d'autres techniciens aller et venir avec des serveurs sous le bras, nous ne sommes donc pas les plus malchanceux.

Résumé : Une brève coupure électrique a provoqué l’extinction puis l'allumage de nos équipements. 1 serveur physique a cassé son RAID1, le datastore pour Xen n'a pas correctement démarré, et le switch a perdu partiellement sa configuration. Malgré la fatigue nous avons gardé la tête froide, aidés par l'adrénaline et les gâteaux. Nous avons résisté à cette épreuve du feu, en équipe, et avons gagné 1 journée de repos en compensation.

Chiffrement : je soutiens Apple

Rédigé par uTux 1 commentaire

Tout le monde connaît l'histoire : le FBI détient un iPhone ayant appartenu à un terroriste mort mais l'appareil est tellement bien chiffré que Apple a été sollicité pour contourner les protections, ce qu'ils refusent de faire. Résumé un peu plus complet ici.

Il y a d'abord deux choses qui me gênent dans cette affaire :

  • Le FBI part du principe que toutes les réponses à l'enquête sont dans l'iPhone alors qu'ils n'en savent rien. C'est une facilité bien entendu qui sert leur argumentation : "c'est le chiffrement qui bloque l'enquête".
  • Le FBI sous-entend que Apple détient les clés pour déverrouiller son appareil, or ce n'est pas le cas. Un fabriquant de coffres fort ne peut pas ouvrir les coffres de ses clients. Ce que peut faire Apple c'est de modifier son système de chiffrement pour l'affaiblir ou ajouter une backdoor mais nous y reviendrons.

Tout le monde est d'accord pour lutter contre le terrorisme ou pour aider une enquête à avancer. Mais les enjeux sont plus importants car le nerf de la guerre ici est le chiffrement. Beaucoup de gens ne voient pas à quel point les smartphones et ordinateurs sont des objets intimes, on y stocke notre vie, nos photos, nos documents administratifs, nos mots de passes, nos contacts, nos conversations privées et notre porn. Ouvrir l'accès à quelqu'un n'est pas anodin, c'est comme donner les clés de sa maison ! Donc non l'informatique ce n'est pas juste des gadget pour lequels on fait tout un fromage, on joue gros.

Si Apple affaiblit son système ou ajoute une backdoor, en autorisant par exemple une clé dont seul le FBI serait en possession, ils ouvront alors la boîte de pandore avec de nombreuses dérives à prévoir :

  • Les vrais criminels iront vers un autre système de chiffrement que celui de Apple, le problème sera alors déplacé.
  • Le FBI ne se limitera pas à des affaires de terrorisme et le périmètre s'élargira petit à petit. Prenons pour exemple la France qui a instauré le blocage administratif des sites internet, au début c'était juste pour la pédophilie mais aujourd'hui cela est étendu au terrorisme, à la FDJ, au piratage, et des projets sont en cours pour aller encore plus loin (par exemple les sites injurieux envers les élus, elle est belle la liberté d'expression). On peut extrapoler qu'un jour le FBI déchiffrera des iPhones pour de simples contrôles fiscaux.
  • Il n'est plus à prouver que la NSA pratique l'espionnage de masse dans son propre pays et aussi dans les autres. Ils demanderont obligatoirement eux aussi l'accès à la backdoor Apple afin d'écouter et collecter - en dehors de tout enquête officielle et sans autorisation d'un juge - les données de tout le monde.
  • D'autres pays demanderont la même chose à Apple, et pas forcément des démocraties. Si c'était la Chine ou l'Iran qui avait demandé à Apple de déverrouiller l'iPhone, l'affaire aurait certainement été présentée d'une autre manière par les media.
  • La backdoor sera obligatoirement exploitée par d'autres personnes. Le jour où des pirates trouveront le moyen d'y accéder, les données des utilisateurs se retrouveront dans la nature.

Une fois de plus, le terrorisme est un prétexte en or pour inciter les gens à abandonner leurs libertés. Si la génération actuelle ne s'en rend pas compte, c'est celle d'après qui en paiera le prix. Je ne peux que soutenir la démarche de Apple qui a les couilles et les moyens de résister car ils ont raison, mais ça nous le réaliserons probablement trop tard.

Pourquoi Pluxml ?

Rédigé par uTux 17 commentaires

Mon blog est "propulsé" par Pluxml, ce n'est pas une surprise. Le choix de ce moteur de blog a été difficile car il en existe de très nombreux avec leurs avantages et inconvénients.

Je suis "un vieux" du net, j'ai connu dotclear1 donc pour moi un CMS c'est principalement un bidule en PHP qui offre une interface d'administration dans laquelle je rédige mes articles et génère des aperçus avant de publier. J'ai donc rapidement écarté tous les moteurs de blog "statiques", c'est à dire ceux qui "compilent" un fichier d'entrée au format markdown vers une page html car même si j'aime beaucoup l'idée (un simple serveur web sans dépendance suffit pour publier les pages) ce n'est pas ce que je recherche.

J'ai regardé du côté de Ghost pour le look très attirant et le dynamisme du projet. Malheureusement, c'est du Node. Ce langage est probablement super du point de vue développeur mais du point de vue sysadmin c'est une horreur. Il y a des tonnes de dépendances à installer et à maintenir et il faut toujours une version bien précise car la compatibilité n'est pas assurée. Donc on compile, on lance des scripts qui compilent les dépendances et on prie pour que ça ne pète pas. Ajoutons aussi à cela le fait que Ghost ne prend pas en charge les commentaires et qu'il y a un consensus sur le fait d'utiliser Disqus pour ça... or moi je n'ai pas envie, je ne veux pas sous-traiter les commentaires et je ne veux pas forcer les gens à s'inscrire pour pouvoir discuter !

J'ai ensuite essayé Wordpress mais je l'ai rapidement écarté car c'est un CMS qui a tellement de facettes qu'on ne sait plus vraiment à quoi il sert, de plus sa complexité (au niveau code) le rend difficile à bidouiller. Dotclear a aussi eu droit à un essai. Je ne l'ai pas trouvé déplaisant malheureusement je ne suis pas très fan du thème par défaut et n'ai pas envie d'en télécharger sur le web, c'est trop risqué et peu original.

Donc ce bon vieux Pluxml s'est finalement imposé. Le thème de base est simple, utilise du responsive design, et est facile à modifier. L'interface d'administration est classique et je suis complètement familier avec. Bien sûr Pluxml n'est pas parfait, il a plusieurs défauts :

  • Pas de support markdown
  • Ps d'éditeur wysiwyg
  • Pas de moteur de recherche
  • Trop dépendant envers Apache
  • Pas d'antispam dans les commentaires

Si vous connaissez des moteurs de blogs alternatifs à Pluxml, qui ne sont pas en Node, qui gèrent les commentaires, ça m'intéresse car je suis toujours à la recherche de nouvelles aventures !

Que trouvez-vous de bien à Star Wars Episode VII ?

Rédigé par uTux 9 commentaires

Cela fait presque 3 mois que l'Episode VII est sorti, je pense qu'on peut maintenant en parler mais si vous ne l'avez pas vu sachez que cet article va un peu spoiler. Les retours pour ce film sont majoritairement positifs et pourtant je pense qu'il ne le mérite pas. Je vais expliquer.

Avant tout, je dois parler un peu de ma relation avec Star Wars. Je suis fan depuis toujours, j'ai joué à de nombreux jeux (Dark Forces, Rogue Squadron, Jedi Outcast, Jedi Academy, KOTOR...), j'ai vu et revu les 6 films, j'ai des BD de Clone Wars et Chevaliers de l'ancienne République... et je ne déteste pas Jar Jar Binks, c'est pour dire ! Mais je ne suis pas un fan aveugle pour autant, j'ai toujours vu que cette licence était surexploitée, qu'elle existait surtout pour le pognon et qu'elle n'était pas toujours cohérente avec elle-même. Bref j'aime mais je suis capable de prendre du recul.

Quand Disney a racheté la franchise, je n'ai pas vu de danger particulier. Comme je l'ai dit, Star Wars a toujours existé pour le pognon et a toujours été destiné au grand public. Disney est donc plutôt en phase avec les 6 films existants. C'est donc avec un a priori neutre que je suis allé voir le film. Et j'ai été déçu. Mon argumentaire tient en 10 points :

  1. Le plus gros défaut, c'est le scénario qui est une copie carbone de l'Episode 4, du début à la fin : aucun courage et aucune originalité dans ce film. C'est l'histoire d'un empire qui est méchant parce qu'il a envie d'être méchant, il attaque une planète des sables, le gentil met les plans dans le droïde, ce dernier va à la rencontre de l'héroïne du film, puis elle va quitter la planète, puis se retrouver sur l'étoile noire, puis s’échapper, puis les rebelles vont attaquer l'étoile noire et la détruire. Non non, je n'invente pas, c'est bien l'Épisode VII. Pourquoi tout le monde l’acclame ?
  2. Ce film ignore et annule ce qui a été accompli dans les Épisodes 4, 5 et 6. Les rebelles ont combattu l'Empire, Luke a appris à maîtriser la force, puis les gentils ont gagné. Sauf que dans l'Episode VII, l'Empire est revenu, les rebelles sont retournés se cacher, et Luke a disparu. Donc tous les précédents films n'ont servi à rien.
  3. L'intrigue est bien trop simpliste pour un Star Wars en 2016, elle se résume à : "je suis le méchant et je veux tuer la gentille !!!". Dans les épisode 1, 2 et 3 on avait un semblant d'histoire avec la chute de la république, des méchants charismatiques tels que le compte Dokuu (très développé dans les BD). Là dans l'Episode VII il n'y a rien, c'est juste les gentils qui combattent les méchants parce que c'est comme ça !!!
  4. On nous ressert une étoile de la mort pour la troisième fois. C'est du grand n'importe quoi, peut-être que l'Empire s'est dit "bon cette fois ça passera ? Après tout la taille ça compte non ? lolz". Encore une fois pour un film en 2016 c'est nul, on attend mieux d'un Star Wars ! Jedi Knight a inventé la vallée des Jedi, KOTOR la forge stellaire, donc il est impardonnable que ce film ne fasse aucun effort.
  5. Le personnage de Han Solo ne marche vraiment pas, Harrison Ford est trop vieux, ce qui est d'ailleurs amusant car le reste du casting est très jeune. Ses répliques sont forcées, sa présence est vraiment juste pour le fan service.
  6. Le méchant, Kylo Ren, ne marche pas non plus en raison de son absence de charisme et de talent au combat. Je veux bien croire que son côté pathétique est volontaire (il veut ressembler à Vador mais n'y arrive pas), mais c'est Star Wars ! Les Sith ne sont pas pathétiques !
  7. De sévères raccourcis sont pris avec des personnages qui maîtrisent la force et le sabre laser en 5 minutes alors qu'ils n'ont jamais eu de formation. En plus d'être peu crédible c'est quasiment un blasphème envers le reste de la saga et même de tout l'univers étendu. Certes une personne dotée d'une grande affinité avec la force peut avoir des facilités, mais pas au point de vaincre un Sith en duel au sabre aussi facilement !
  8. La rencontre entre Han Solo et Kylo Ren (sans vouloir spoiler) est affolante de niaiserie et ne fonctionne pas du tout. J'ai trouvé cette scène longue, prévisible, lourde...
  9. Il n'y a pas de moment épique dans le film. Dans l’Épisode 1 on avait la course de fonceurs et le combat contre Darth Maul. Dans l'Episode 2 l'attaque de Geonosis ainsi que le duel Yoda / Dokuu. Dans l'Episode 3 on avait l'attaque de Coruscant, le duel Obiwan / Grevious, l'ordre 66 (éradication des Jedi) et bien sûr l'affrontement final Obiwan / Anakin. Mais dans l'Episode VII il n'y a rien de ce calibre.
  10. Le film est ridiculement sombre (non je ne l'ai pas vu en 3D) avec des couleurs ternes. C'est volontaire bien sûr, mais je trouve ça triste pour un Star Wars, censé être un space opera.

Si je devais résumer l'Episode VII en une phrase : C'est un remake de l'Episode 4 à la sauce teenage movie avec des problèmes d'éclairage. Si ce film s'assumait comme un remake, je n'aurais aucun problème. Sauf que là c'est l'épisode 7, il est censé venir s'imbriquer à la suite des 6 films, poursuivre l'histoire, apporter de nouvelles choses. Mais il n'y a rien ! Aucun courage ! Aucune originalité ! Un film passable de SF, un mauvais Star Wars !

Suis-je le seul à ne pas avoir aimé le film ?

YunoHost pour mon cloud perso

Rédigé par uTux 5 commentaires

Qu'est-ce que le cloud ? C'est d'abord un terme commercial qui veut dire "je veux tes données, tes logiciels, tes bottes et ta moto je m'en occupe pour toi". Mais pas toujours heureusement car on peut avoir du cloud géré par soi même et c'est même une solution avantageuse. Le cloud c'est un ensemble de services synchronisé ou au moins accessibles depuis plusieurs endroits. Par exemple si j'ajoute un élément dans mon calendrier sur Thunderbird je veux qu'il apparaisse sur mon téléphone automatiquement et ça c'est possible avec le cloud. Il existe de nombreuses solutions propriétaires mais aussi des libres. Avant d'aller plus loin voici mes besoins :

  • E-mail
  • Agenda
  • Contacts
  • Fichiers (dropbox-like)

J'utilise depuis 2 ans YunoHost qui est une solution libre prête à l'emploi pour installer son propre serveur de "cloud". Techniquement c'est Debian + un ensemble de services de base (LDAP, MySQL, XMPP, SMTP, IMAP) auxquels des "applications" viennent se greffer. Le tout est géré par une interface Web et un portail SSO (authentification 1 fois puis accès à toutes les applications).

L'installation se fait soit avec une ISO soit un script à exécuter sur Debian 7 ou 8. Ensuite on se connecte à l'interface d'administration web puis on créé ses domaines, ses utilisateurs, et on installe ses applications comme par exemple Roundcube pour les e-mail. L'application sera automatiquement configurée pour se connecter au serveur mail et au LDAP afin d'authentifier les utilisateurs, c'est aussi simple que ça.

Le portail YunoHost.

Voici quelques applications que j'utilise :

  • Baikal : serveur caldav/carddav pour agenda/contacts.
  • Z-Push : connecteur ActiveSync pour mon Windows Phone.
  • Seafile : Dropbox-like avec interface web et client lourd.
  • TinyTinyRSS : lecteur de flux RSS.
  • DokuWiki : wiki perso.
  • Zerobin : pour copier-coller du texte et le partager en 1 lien.
  • Jirafeau : partage rapide de fichiers.
  • Movim : que j'utilise comme client XMPP web.

YunoHost a une belle interface, c'est coloré, c'est sexy, c'est moderne. L'équipe est sympathique et souvent disponible sur leur salon XMPP (support@conference.yunohost.org). Et si vous voulez packager vos propres applications, le système est assez simple. Il faut faire des scripts bash faisant appel à des fonctions de l'api yunohost (exemple : création d'une database et d'un utilisateur) puis stocker le tout sur github. L'URL du dépôt sera ensuite utilisée pour installer l'application.

Utilisateur de Yunohost depuis deux ans je suis plus que satisfait, c'est une excellente solution pour celui qui veut avoir son propre serveur sur Linux mais n'a pas le temps ou les compétences pour tout configurer soit-même. Je recommande.

Fil RSS des articles