éé.net et mon combat contre M. Murphy

Ca y est, je viens de terminer la configuration de mon nouveau jouet : mon propre racourcisseur d’URL, comme ceux que l’on voit régulièrement sur Twitter et autres réseaux sociaux. Il s’appelle éé.net et on peut par exemple y découvrir une belle chanson dédiée à des gens comme moi, ou toutes sortes de liens dans le futur !

Je dois dire que la mise en place n’pas été des plus simples… Mais je suis content du résultat, j’ai même interfaçé Twitter et WordPress avec le racourcisseur : les liens des nouveaux billets de mon blog sont désormais automatiquement raccourcis et publiés sur Twitter. On n’arrête pas le progrès !

PC planté… Glados en cause ?

  1. le disque dur 256Gb SSD de mon PC portable, pourtant acheté il y a trois mois seulement est tombé en panne d’un coup, et dans des circonstances plutôt troublantes :

Une fois n’est pas coutume, je jouais à l’excellent Portal, et j’avais presque terminé le jeu. La fin du jeu consiste à affronter l’ordinateur central, GlaDos, doté d’une intelligence presque humaine, et à détruire ses sphères dans l’incinérateur du centre. Croyez-moi ou non mais dès que j’ai placé la dernière sphère dans l’incinérateur et que GlaDos se mourrait; mon écran est devenu noir d’un coup, mon PC s’est éteint et lorsque j’ai voulu le rallumer j’avais droit à un beau message du BIOS « No Harddisk detected »… Différents tests ultérieurs m’ont bel et bien confirmé que je n’arriverai plus jamais à relire les données de mon disque (et les sauvegardes de Portal), snif ! Je me demande si Glados; si intelligente, n’y serait pas pour quelque chose… Superstitieux, moi ? Ben voyons ! En tout cas vivement la suite, Portal2 sort très prochainement et je vous le recommande.

le SSD est-il recommandé du point de vue sécurité ?

C’est la question que je me suis tout de suite posée car le problème du disque dur SSD est que l’on ne peut pas y chiffrer ses données. En effet la mémoire Flash utilisée s’use à chaque écriture, et les outils de chiffrement comme Truecrypt ont une fâcheuse tendance à réduire de manière considérable la durée de vie du disque (VMware également, soit dit en passant…). Vu le prix d’un tel disque (le mien, un Crucial RealSSD C300 256Gb m’a coûté dans les 500 $), on n’a pas trop envie de l’user rapidement… et donc on évite Truecrypt.

Le problème se pose lors de la panne du disque comme celle que j’ai subie : pour obtenir un remplacement du disque sous garantie; il faut bien entendu le renvoyer au constructeur. Ce que j’ai fait, encore une fois à cause du prix du disque. En toute franchise, si cela avait été un disque normal, même encore sous garantie, j’aurai été en acheter un autre et aurait physiquement détruit le disque en panne. Mais lorsque le disque représente 40% du prix du PC ça se discute !

Dans l’idéal il faudrait deux disques dur : le système d’exploitation sur un disque rapide SSD, et tout le reste sur un dsque « lent » normal. Mais rares sont les (gros) PC portables qui bénéficient de deux emplacements pour disques durs.

Sauvegardes et restaurations

On ne le dira jamais assez, si il y avait une seule mesure sécurité à conserver parmi toutes celles qui doivent être mises en oeuvre, c’est de sauvegarder régulièrement ses données… et de vérifier que l’on peut bien restaurer (ce qui pose problème plus souvent que l’on souhaiterait). De mon côté c’est réglé, et j’ai une sauvegarde système complète de mon fameux disque SSD qui date de 10 jours avant la panne. La perte de données aura été minime, ouf. Mais pour restaurer, autant dire que c’est une autre paire de manches :

Mon tout petit EEEPC

à ce jour je n’ai toujours pas mon PC… je suis contraint d’utiliser mon vieux eeePC701 sous Linux, ce qui pose pas mal de problèmes : écran tout petit 800×480, lenteur, seulement 4Gb de disque (SSD) tout compris, le clavier est petit et le système d’exploitation d’origine est tellement vieux que la plupart des sites web ne s’affichent pas correctement… pour preuve je dois taper ce billet directement en mode HTML sous WordPress car l’éditeur Wysiwyg ne s’affiche pas corrctement et me masque la moitié des lignes… misère…

Un client Twitter en mode texte !

Autant dire que je suis motivé… surtout que celq dure depuis plus d’une semaine… J’ai méme été contraint d’installer Twitter en mode console (oui ça existe !!) pour continuer à lire et écrire les Tweets… d’ailleurs ça devient addictif cette chose, il va falloir que je m’en méfie.

Les déboires de la sauvegarde

Mais revenons-en à notre fameuse sauvegarde système fait dans les règles de l’art avec le très bon agent de sauvegarde intégré dans Windows 7, Microsoft ayant enfin compris que c’était utile ! Non seulement il est bien plus rapide que les outils que j’utilisais avant, même pour une image système, mais il fait tout cela à chaud grâce au VSS Shadow Copy. Le résultat est également très agréable, car Microsoft a décidé que le format de sauvegarde serait sous forme de machines virtuelles VirtualPC, donc au format .vhd. Et autant dire que c’est un excellent choix de leur part.

Seulement voilà, Microsoft crée un fichier .vhd par partition, et je me retrouve donc avec 2 très gros fichiers (légèrement compressés) de respectivement 140 et 80 Giga-octets. Oui, un fichier de 140Go c’est possible mais autant dire que cela complique passablement les choses.

20 heures pour faire une copie

Lorsque mon disque SSD est tombé en panne, mon expérience de plus en plus riche de la célèbre Loi de Murphy m’a foremement conseillé de faire une copie de secours de la sauvegarde.. on n’est jamais trop prudent. N’ayant pas de disque dur de capacité suffisante sous la main, j’ai fait le choix malheureux de sauvegarder sur mon NAS Netgear ReadyNas Duo. Techniquement et fontionnellement c’est un très bon NAS et je n’ai rien à redire mais il a quand même un défaut : la lenteur d’accès aux disques. Via le réseau je plafonne à 3mb/s (ce qui est intenable quand on veut copier 250Go !). Après plusieurs tentatives via réseau, je me suis résigné à brancher mon disque de sauvegarde en direct sur le NAS via USB. C’est prévu et c’est bien pratique sous Linux, mais il fallu une bonne vingtaine d’heures de copie et de vérification du hash MD5 (on n’est jamais trop prudent) avant d’y parvenir.

Une astuce pour copier de gros fichiers

Cette mésaventure m’a permis de chercher de nouvelles techniques de copie, car la commande « cp » est à déconseiller pour ces gros fichiers.. lorsque la copie prend plusieurs heures par fichier, on aimerait pouvoir savoir à n’importe quel moment où l’on en est, et « cp » reste muet durant la copie…

solution 1 : dcfldd est un outil de copie orienté « forensics », qui a le mérite de calculer des hash de contrôle de la copie en cours, et qui affiche au fur et à mesure l’état de la copie. Très bien, mais sur un ReadyNas Duo ce n’est pas disponible, il faut le recompiler et donc installer un compilateur C etc… j’ai donc écarté cette solution.

solution 2 : dd. Simplement. La commande « dd » est standard sur tous les Linux/Unix et fait une copie de données. C’est l’ancêtre du dcfldd précédemment évoqué. Mais il ne fait pas de somme de contrôle, ni n’affiche l’état de la copie… tout du moins en apparence ! Car j’ai découvert qu’on pouvait lancer « dd » en tâche de fond et l’interroger via un kill -USR1 $! pour obtenir l’état de la copie 😉

en gros cela a donné :

D’un côté la copie des fichiers VHD avec « dd » :

$ mount -t ntfs -o ro /dev/sdc1 /mnt/backup-orig<br /> $ cd /mnt/backup-orig/[...]<br /> $ for i in `ls *.vxd`<br /> >do<br /> > echo "Copie $i en cours"<br /> > dd if=$i of=/mnt/backups/win7/$i &<br /> >done<br />

Et pour afficher l’état toutes les 10 secondes, un « watch du pauvre », le ReadyNas n’en étant pas pourvu ;(

$ for i in `seq 1 10000`<br /> >do<br /> > clear<br /> > date<br /> > kill -USR1 $! 2>&1<br /> > sleep 10<br /> >done<br />

Puis rebelote avec un « md5sum » de chaque côté pour s’assurer que la copie s’est bien déroulée : OK !

le SSD, un problème de taille disque!

Lorsque l’on achète un disque dur de 256Gb « normal » on a en général moins, 230 ou 240Gb mais rarement plus. lorsque l’on achète un disque SSD en revanche on approche très près de la valeur exacte, ce qui est bien… sauf lorsque l’on veut restaurer sur un disque normal, forcément plus petit. J’ai bien tenté de le faire, n’ayant pu mettre la main que sur un disque de 256Gb standard (en attendant le retour du nouveau SSD, d’ici une à deux semaines probablement). Mais le DVD d’installation de Windows 7 est catégorique et affiche invariablement un message très vague selon quoi la restauration n’est pas possible…

Je me retrouve donc condamné à attendre… et je n’ai donc que mon eeePC pour tout faire. Misère. Mais j’ai tout de même réussi à avancer sur mon racourcisseur d’URLs !

les noms de domaine accentués

Je ne sais pas qui a fait pression auprès des organismes de normalisation d’Internet, mais depuis quelques années il est possible d’acheter des noms de domaine accentués ou plus précisment comportant des caractères de tous les alphabets existants sur terre. Autant dire que cela fait un peu bizarre la première fois !

La mode est également aux racourcisseurs d’URL, afin de proposer des liens qui puissent prendre le moins de place sur les 140 caractères autorisés par Twitter, et tout le monde se met à proposer ce type de choses…

Ce qui est amusant, c’est qu’en voulant inventer des noms de domaine courts on trouve des subtilités géographiques :

bit.ly : Lybie

goo.gl : Groenland

etc…

Amusant mais cela ne m’arrangeait pas. J’ai donc décidé de me faire mon raccourcisseur d’URLs « maison ». Après un premier défrichage sur Gandi pour trouver un domaine court, je me suis dit que ce serait amusant d’avoir un nom de domaine accentué. Et j’ai eu une blle chance car tous les éé.com, éé.org et les autres étaient déjà achetés… sauf le éé.net que je me suis empressé « d’acheter » (techniquement c’est une location d’usage, pas un achat).

Et me voilà « propriétaire » d’un nom de domaine rapide à taper, deux lettres identiques c’est un peu la perle rare… mais accentué, donc au format « IDN » (International Domain Name).

**La galère du PunyCode et des IDN

**

En fait, pour faire passer des accents sur Internet, on doit recourir à des bidouilles infâmes. Pour rappel Internet est américain; donc sans accents; et a été conçu il y a 40 ans, bien avant que l’on ne se soucie de tous ces pays désireux d’utiliser autre chose que l’alphabet occidental. Car Internet fonctionne en ASCII 7bits ! Pas plus, et oui… les vieux programmes d’encodage en Base64 et UUencore font cette conversion presque pour chaque email qui transite, c’est pour dire que c’est de la bidouille.

Pour les domaines, c’était le même problème. Personne n’avait pensé aux acccents, et ce n’est pas prévu techniquement. En fait seuls les navigateurs Internet savent plus ou moins se débrouiller avec cette notation, et la convertit au passage en ASCII 7bits, grâce à un gros bidouillage appelé « Punycode« . Le principe est (relativement) simple : on traduit le domaine accentué (Unicode) en Ascii 7bits, et vice-versa, en prenant soin d’ajouter un « xn– » en préfixe du domaine.

Pour mon « éé.net » en Unicode, cela donne « xn–9caa.net » en Punycode. Il a de nombreux convertisseurs en ligne, mais votre navigateur Internet le fait également. Tapez « éé.net » dans la barre d’adresse pour vous en convaincre !

L’incompatibilité IDN des programmes…

Et comme ce concept d’IDN est (relativement) récent, de nombreux développeurs ne s’en soucient pas et ne tiennent pas compte de ces conversions en Punycode. Un peu comme avec IPv6 qui est rarement implémenté, et souvent mal implémenté dans les logiciels. La faute aux développeurs mais également aux chefs de projets… Il faut former les développeurs, comme pour tout, et prendre en compte les évolutions.

Le résutat en ce qui me concerne est que j’ai du me reprendre l’intégralité du code du racourcisseur d’URLs que j’utilise, car si il marchait très bien avec des domaines normaux, il plantait totalement avec des IDN. URL totalement fausses; cookies mal encodés voire pas créés du tout etc… Bref, j’ai repris tout le code et c’est désormais à peu près bon. Galère car sur mon petit eeePC, sans moyen de tester en local, et… sans client FTP ! J’ai été contraint (pour des raisons que je ne détaillerai pas) de travailler à distance en WebFTP pour éditer tout le code, autant dire que c’est pénible… Mais bon c’est fait !

Voilà… j’ai des excuses à faire en guise de conclusion:

– désolé pour ce long billet, j’avais envie de vider mon sac après toutes ces péripéties…

-désolé pour les fautes de frappe, se relire en mode HTML dans un petit cadre affiché sur un écran de eeePC n’est pas des plus simples. Quant au clavier déjà petit, il est en azerty (je n’ai plus l’habitude) et en prime certaines touches marchent mal comme le « i »…

– enfin je n’ai toujours pas pu mettre en ligne le site de jurackerfest.ch… mes mots de passe et d’autres paramètres sont sur le disque dur qui est en panne, et sur la sauvegarde pas encore restaurée ;(

bonne soirée!

Comments

Comment by Raphael on 2011-04-13 14:26:33 +0200

Gare aux sauvegardes windows… je suis aussi passé par là, ne disant aussi que du bien des sauvegardes Win 7 via le shadow copy. Par contre à l’occasion de la tentative d’upgrade de mon HD par un disque de plus grosse capa (ce que j’aime bien faire sur mon laptop avant d’atteindre le MTBF du disque et quand les prix baissent au coût au GB), je m’étais aussi retrouvé dans l’incapacité de restaurer la sauvegarde sur un disque pourtant plus grand.

C’est comme si Microsoft ne souhaitait pas permettre de déménager la copie de Windows avec sa clé active sur un hardware autre…

A vérifier ! votre retour m’intéresse.

Dans tous les cas, histoire de gagner du temps vu que pas mal de choses importantes semblent attendre ce restore, j’essayerais à votre place de monter tout ça sur un desktop avec un gros disque et de démarrer le .vhd concerné avec un soft de virtualisation ad hoc.

Amicalement

Raphaël

Comment by Bruno Kerouanton on 2011-04-13 14:42:31 +0200

Merci pour le conseil avisé ; je crains en effet de tomber sur ce problème de restauration… le hic est que pour le moment je n’ai pas moyen de mettre la main sur un PC « desktop », ce qui ne m’arrange pas. Je vous tiens au courant !

Comment by Bruno Kerouanton on 2011-04-13 17:25:12 +0200

Voilà c’est bon !!! Je viens de terminer la restauration de mon backup sur un disque dur tout neuf de 500Gb (je n’ai pas trouvé plus petit). Et ça a booté du premier coup, tout se passe bien et je retrouve mon cher PC tel que je l’avais laissé il y a deux semaines.

Pour info, voici comment se passe une restauration :

  1. Brancher le disque de sauvegarde en USB externe. D’habitude d’utilise une carte ExpressCard eSATA, mais on dirait qu’elle n’est pas reconnue dans le cas précis de la restauration en bootant sur un LiveCD Windows.

  2. Booter sur le CD d’installation de Windws 7. Pour ma part j’ai le DVD original de Windows 7 Ultimate 64bits. Lorsque l’on fait une sauvegarde système, Windows propose à la fin de créer un CD de restauration. Ce n’est en fait pas la peine si on a le DVD d’origine de Windows sous la main.

  3. Attendre un peu que le LiveCD se charge.

  4. Choisir la langue et le clavier (Suisse – français).

  5. Choisir « Réparer le système ».

  6. Windows va scanner les disques et trouver la sauvegarde, et proposer de la restaurer sur le disque. Il est également possible de restaurer via réseau (filaire, pas Wi-Fi quand même!) mais je n’ai pas testé. En revanche j’ai testé la sauvegarde via réseau et cela marche très bien…

  7. C’est tout !!!

Je suis donc content… je retrouve enfin un écran de taille normale (1920×1280 au lieu de 800×480); un PC puissant (Core2 Duo 2.4Ghz au lieu d’un Celeron à 900MHz), avec 4Go de RAM au lieu de 1Gb tout compris (je suis en liveCD sur mon eeePC !).

Et demain je tente une restauration sur le disque SSD de remplacement qui m’a été livré par transporteur cet après-midi 😉

Comment by david on 2011-04-14 02:01:00 +0200

Très instructif : sauvegarder, c’est bien, restaurer, c’est mieux … mais long !

Remarque, j’ai mis en service un nouveau NAS : 22 heures pour copier les 170Go de l’ancien … sur un disque eSata ! Heureusement que le nouveau n’a mis que 2h20 pour les récupérer.

Pour les copies, je viens de découvrir pv, et il est dispo avec ipkg pour les NAS. J’ai testé ‘pv < /dev/sr0 > test.iso’ sur mon desktop, ça revient à faire dd (ce que tu as précisément fait), et tu as la barre suivante :

160MO 0:01:08 [2,34MO/s] [================================================> ] 80%

Une fois montée, l’iso est apparemment complète (pas fait de checksum).

pv ne fait pas de récursif, il equivaut en fait à cat, mais comme il est pipeable (pv = Pipe Viewer), on peut faire quelques trucs quand même.

Merci pour ce post, très détaillé et intéressant, comme d’habitude !

David

Comment by Bruno Kerouanton on 2011-04-14 08:58:23 +0200

Merci pour ce retour, et pour la commande « pv » que je ne connaissais pas.

Réflexion faite depuis quelques jours : je n’achèterai probablement plus de NAS désormais, mais un PC en mode serveur… plus standard, plus facile à updater, plus rapide, plus polyvalent;)

Comment by Raphael on 2011-04-14 10:05:32 +0200

En fait concernant mes problèmes de restauration d’image Win 7, le problème venait d’un changement de taille des secteurs d’allocation (!) d’un disque à l’autre.

Les disques jusqu’à il y a peu – surtout sur les laptops en 2.5″ car pour les 3.5″ le changement date de plus longtemps – avaient 512bytes/secteur. Ils sont passés à 4096/secteur récemment.

Le restore s’était bien passé, mais les secteurs n’étaient pas alignés et les performances catastrophiques. J’avais utilisé un utilitaire fourni par Western Digital (Acronis bridé aux HD de la marque) pour réaligner tout ça, me retrouvant ensuite avec un Win 7 boîteux.

Bref : tout cela pour dire que le principe des backups intégrés de Win 7 est très bien pour sauvegarder son poste et le restaurer en cas de crash ou malware sur un disque totalement similaire. C’est un peu plus la loterie si on restaure sur plus grand disque. Après il faudra jouer avec Gparted ou autre pour redimensionner les partitions. Ca se passe généralement bien, si on ne passe pas de disque 512/sec à 4096/sect ou vice-versa.

Concernant la sauvegarde/restauration au travers du réseau; le restore fonctionne très bien tant que cela peut se faire en DHCP. Je me suis retrouvé à devoir faire une restauration en IP statique only et j’avais dû ruser. Il faut lancer le DVD original en mode repair, ouvrir une boîte CMD, lancer la restauration par le réseau, ce qui va provoquer le chargement du driver réseau de la carte, qui permet ensuite en passant par alt-tab, de revenir à la boîte dos et de configurer la carte réseau en IP statique avec les commandes netsh, ex :

netsh interface ip set address « Local Area Connection » static 192.168.0.10 255.255.255.0 192.168.0.1

Compliqué… à ce demander pourquoi Microsoft n’a pas prévu dans la partie repair la possibilité de configurer son IP manuellement, mais on arrive à le faire fonctionner. Au pire on peut aussi toujours recopier la sauvegarde sur un disque externe USB qu’on branche directement, le hic étant le temps des copies déjà abondamment discuté plus haut. 🙂

Comment by Bruno Kerouanton on 2011-04-14 12:05:28 +0200

Merci Raphaël pour ce complément bien précis. En effet le changement de taille des secteurs est souvent un problème, mais j’ai eu de la chance, mes disques durs étaient récents.

Je ne savais pas que Microsoft ne prévoyait pas de restauration via réseau sans DHCP, ils ont dû se dire que de nos jours tout le monde avait un serveur AD chez lui… heu pardon je veux dire DHCP ! En tout cas merci pour l’astuce avec « netsh » qui me rappelle un billet que j’avais écrit il y a un certain temps déjà : http://éé.net/y (héhé!).

Quant au temps de copie de disques, les meilleures performances que j’ai sont toujours obtenues en branchant une carte ExpressCard eSata sur mon portable et le disque dur en direct dessus… environ 40Mb/s en pratique. Rien à voir avec les 1.8Mb/s dont je parlais plus haut avec mon NAS. Mais comme expliqué précédemment, le DVD de restauration de Windows7 ne semblait pas reconnaître ma carte eSata ;(((

Comment by Paganel on 2011-04-19 12:16:07 +0200

En principe, l’usage de la déduplication, très à la mode depuis quelques temps (elle permet d’éviter la sauvegarde de morceau de fichiers déjà présents à l’identique et de gagner un facteur 3 ou 4, qui va jusqu’à décupler à mesure qu’on avance dans le temps) devrait aider à résoudre ce problème.

http://fr.wikipedia.org/wiki/D%C3%A9duplication

Comment by newsoft on 2011-04-19 19:52:48 +0200

Je viens d’acheter un ReadyNAS Duo quand même 🙂

A priori j’arrive à 8 Mo/s en soutenu à travers le réseau (que ce soit sur de l’Ethernet 100Mb/s ou de l’Ethernet Gigabit).

Est-ce parce que mes disques sont plus récents (WD20EARS) ? Est-ce que la version du firmware influe sur les performances ? Est-ce que tu as pris garde à l’alignement des disques (secteurs de 4k) ?