Amazon EC2: version de fedora trop ancienne!

Je ne me suis pas vraiment méfié au départ. Faut dire que je n’ai jamais installé de Fedora, et donc je ne connais pas l’historique des versions, ni la version « actuelle »… J’ai pêché par excès de confiance dans Amazon.

Comment imaginer qu’il propose d’installer une version qui a plus de 2 ans ? Pour rappel, ils proposent:

Donc la version 8 est suffisamment ancienne, pour qu’il faille passer par une upgrade intermédiaire avec la version 10 pour pouvoir ensuite passer en version 11. Je m’en suis aperçu en cherchant nagios version 3 sans pouvoir le trouver…

J’ai trouvé la procédure dans les forums Amazon:
http://developer.amazonwebservices.com/connect/message.jspa?messageID=141707

En résumé:

Passer à la version 10:

yum update -y
yum clean all
yum update -y
yum clean all
rpm -Uhv http://mirrors.kernel.org/fedora/releases/10/Fedora/i386/os/Packages/fedora-release-10-1.noarch.rpmhttp://mirrors.kernel.org/fedora/releases/10/Fedora/i386/os/Packages/fedora-release-notes-10.0.0-1.noarch.rpm
yum clean all
yum update -y
yum clean all
yum update -y
yum clean all

Passer à la version 11:

rpm -Uhv http://mirrors.kernel.org/fedora/releases/11/Fedora/i386/os/Packages/fedora-release-11-1.noarch.rpmhttp://mirrors.kernel.org/fedora/releases/11/Fedora/i386/os/Packages/fedora-release-notes-11.0.0-2.fc11.noarch.rpm
yum clean all
yum update -y
yum clean all
yum update -y
yum clean all

Je vous recommande plus que vivement de commencer par là. M’en étant rendu compte en bout de course, j’ai eu droit à plusieurs problèmes de packages, que j’ai désinstallé pendant l’upgrade!

Mysql

Au moins la commande flush privileges ne fonctionnait plus:

mysql> flush privileges;
ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
J’avais fait une sauvegarde avant de jouer les mises à jour, cette table n’existait pas. J’ai donc fait une réparation automatique et l’upgrade:
mysqlcheck --all-databases --repair -u root -p
mysql_upgrade -u root -p
et voilà 🙂

Yum

Depuis l’upgrade, appeler la commande yum donne ces messages juste avant de continuer:
Loaded plugins: dellsysidplugin2, fastestmirror
ERR_OUT: : Bad address
ERR_OUT: : Bad address
ERR_OUT: : Bad address
ERR_OUT: : Bad address
ERR_OUT: : Bad address
J’ai trouvé la solution sur ce blog: http://d.hatena.ne.jp/const/20090909
il s’agit du package smbios-utils et smbios-utils-python, qui servent à récupérer des informations sur le bios. Vu que c’est une machine virtuelle, asta luego:
yum remove smbios-utils-python
(enlève l’autre par dépendance)
Et voilà 🙂

WDS/MDT: enlever F12

Par défaut, pour démarrer depuis le réseau via WDS, il faut:

  • Indiquer pendant le bios de démarrer sur le réseau (F12 en général)
  • Une fois le bail DHCP obtenu, il faut de nouveau et rapidement presser F12 pour vraiment démarrer sur le réseau

Cette deuxième confirmation est une sécurité. Si l’ordre de boot positionne le réseau avant le disque dur, les machines essaieront tout le temps de démarrer via le réseau avant le disque dur. En général, on démarre sur le réseau uniquement pour installer le système d’exploitation, et ensuite tout le temps depuis le disque dur.

Moyennant d’avoir les bios correctement configurés, le deuxième F12 est en trop. Depuis WDS (2003 et 2008), il suffit de remplacer pxeboot.com par pxeboot.n12 pour supprimer le deuxième F12:

Pour rattraper un historique sur un parc existant, Dell et HP offre des outils centralisés pour paramétrer le bios des machines à distance (génération d’un exécutable à télé-distribuer en général):

Consulting LOTP

je cherche des missions ponctuelles, par exemple:

  • Interventions sur production bloquée
  • Audits (tests d’intrusions, santé de votre infrastructure…)
  • Problèmes de performances
  • Projets de courte durée
  • Pilotes, maquettes
  • Veille technologique
  • Télé administration

Besoin d’un regard neuf sur un problème sans solution?

Ma triple compétence Microsoft/Réseau/Sécurité me permet d’intégrer toutes les briques de votre infrastructure dans la réflexion, et ainsi proposer la meilleure solution dans votre contexte.
Contrairement aux spécialistes mono techno voir mono produit, ma vision transversale me permet d’identifier les impacts à tous les niveaux et corréler des évènements ou paramétrages entre eux.
Vous avez certainement un caillou dans la chaussure que je serai ravi de vous enlever! A distance ou sur site, d’une heure à 2 mois de travail, nous trouverons ensemble une solution adaptée à votre contexte.

Aller plus loin

Vous pouvez aussi consulter mon CV

je suis joignable à cette adresse : mathieu.chateau@lotp.fr

Mon profil linkedin : linkedin.com/in/mathieuchateau

Migration de Dedibox vers Amazon EC2

Je suis entrain de préparer ma migration depuis Dedibox pro vers Amazon EC2 (Elastic Cloud Compute). Voici mes premières impressions du nuage Amazon.

Pourquoi je migre

Dedibox a un positionnement étrange. Ils proposent des serveurs performants (Dedibox Pro), mais ils empêchent l’utilisation de leur serveurs comme hyperviseur, ce qui en réduit fortement l’intérêt. Leurs switches coupent les ports qui présentent plus d’une adresse mac, ce qui est le cas avec VMware ESXi ou Hyper-V. Je m’étais rabattu sur un Linux avec VMware Server, mais les VM sont très (trop) lentes. Il en résulte une très bon serveur matériel, mais inexploitable pour de la virtualisation décente. Nul doute que ce soit du hasard, la virtualisation étant le moyen principal de consommer les ressources sur ce type de serveur. OVH propose ESXi, mais le coût est plus fort (notamment avec les 15€/mois pour avoir droit à plusieurs IP publiques, sans parler du raid matériel).
Comme de toute façon mon objectif c’est d’avoir des environnements à la demande, et que c’est la cible d’Amazon EC2, leur offre m’a intéressé rapidement. Au pire, cela va me coûter autant que Dedibox, mais au moins j’en aurai pour mon argent!

Etape 1: Le calculateur Amazon

En parlant d’argent, la première difficulté est de savoir combien ça va coûter! Bon en fait, la première difficulté est de savoir le type d’instance qui convient:

  • A la demande: aucun engagement, vous ne payez que la consommation,
  • Réservée: vous payer une fois une somme, et ensuite la consommation coûte très peu,
  • Spot: vous ne savez pas quand la VM sera démarrée, mais elle coûtera peu (moins qu’à la demande, mais plus que réservée). Il s’agit d’enchère où Amazon solde les ressources non utilisées.

De façon logique, avoir une VM à la demande allumée tout le temps coûte beaucoup plus cher qu’une VM réservée allumée tout le temps.
Le calculateur a un problème d’ergonomie. Par défaut, il inclut dans le prix mensuel (1er mois), les frais qu’on ne paye qu’une fois. Machinalement, on multiplie par 12 et on prend peur!

Pour calculer le coût par mois il faut donc faire (pour une instance small, réservée et allumée en permanence):

(227.50$ + 29.28$ * 12)/12 = 48.23$ / mois

Le coût moyen d’un VM est donc de  34€ par mois en lissé. Car les 227.50$ sont à payer tout de suite. Pour cette somme, on a donc un linux 32 bit, sur une VM ayant les capacités suivantes:

  • Processeur: 1VCPU 1,7Ghz : 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
  • Mémoire: 1,7Go
  • Stockage: 160Go de disque

Le truc bizarre, c’est les 44$ de taxes sur la facture (voir tout en bas de l’article)…

Etape 2: Réserver une instance

C’est le moment de se jeter à l’eau!! Avant, j’ai tout de même démarré une VM à la demande pendant une 1/2 heure pour être sûr des performances. On choisi la taille de la VM (small en ce qui me concerne), et le lieu où elle sera instanciée (2 sites aux USA, 1 site en Europe (Irelande). J’ai choisi l’Irlande, afin de m’épargner la latence transatlantique. Après 5 cliques de mulot, on est en pending. Après 10 minutes, le statut passe à active.
Il s’en suit un grand moment de solitude, où l’on cherche sa VM tant attendue sans la trouver! L’aide n’est pas très explicite. Il faut en fait créer une VM à la demande sur le même site géographique, dans la même zone (2 possibles en Irelande). On ne voit nulle part que s’est rattaché à notre réservation, il faut faire confiance au système. On a juste la confirmation au bout de quelques heures, dans le suivi de facturation en voyant qu’elle est facturée à 0,04$ par heure où elle est allumée.
A ce jour, une VM réservée ne peut héberger qu’un Linux. Windows est cantonné aux VM à la demande, et son taux horaire est un peu plus élevé, car la licence Windows est fournie par Amazon.
Le choix de l’architecture (32/64 bit) dépend de la taille de VM.

Etape 3: Créer la VM

Maintenant que j’ai compris qu’il faut créer une VM à la demande et faire confiance, cela est très facile (5 écrans + 5 minutes de patience). On n’installe pas son système d’exploitation, mais on choisit une image toute prête parmi plusieurs centaines. Amazon met en avant 5 Fedora (4 en 32bit et 1 en 64bit), et 3 Windows. L’onglet Community AMIs permet d’élargir le choix à 971 images.

Le découpage du stockage pour Linux sur les images Amazon est 10Go pour le système et 150Go pour le reste. La VM voit deux partitions (/dev/sda1 et /dev/sda2):

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             10321208   1383500   8413420  15% /
/dev/sda2            153899044   6793004 139288416   5% /mnt
none                    870472         0    870472   0% /dev/shm

Lors de la création de la VM et ultérieurement, Amazon propose inclus un Firewall externe à la VM. Vous pouvez ainsi définir les flux entrant autorisés. C’est très pratique, car on évite un iptable:

Etape 4: Accès à l’instance

Maintenant que l’instance est running, il est temps d’y accéder. Un clic droit sur l’instance propose le menu suivant:

L’option Connect donne l’écran suivant:

Vous l’aurez compris:

  • pas d’accès de type console (Get System Log permet de voir le log du boot),
  • Pas de mot de passe root, mais l’utilisation d’un certificat (obtenu à la création de la VM).

Sur Windows, un client gratuit pour faire du ssh est Putty. Le problème est que Putty ne reconnait pas le certificat fourni par Amazon. Ce dernier documente la procédure pour le faire fonctionner:
http://docs.amazonwebservices.com/AmazonEC2/gsg/2007-01-19/putty.html

En résumé, il faut utiliser PuttyGen, fourni par les même que Putty, afin de loader le certificat Amazon et le convertir dans le format Putty. Après, ça fonctionne nickel:

Etape 5: Performances

Cet aspect est critique en général et en particulier quand on parle de VM. Bonne nouvelle, je suis très satisfait des performances:

  • Réseau: on tire facilement 20Mb/s
  • Disque: 121Mo/s en écriture (dd if=/dev/zero of=dd.dd bs=1M)

Pourquoi est-ce qu’Amazon fournie de telles performances ? Parce qu’il facture la consommation réseau (0.170$ par Go de data)! Contrairement aux hébergeurs classique qui facture tout compris, Amazon facturant à la consommation, ne perd pas d’argent si de gros consommateurs utilisent son service. Sur Dedibox, vous pouvez consommer du 100Mb/s non stop sans payer pour autant. Ils  mutualisent donc plus fortement les connexions afin de réduire les coûts (avez-vous déjà remarqué qu’au dessus de 50Mb/s il y a un trait rouge sur votre graphe de consommation ?).

Je préfère payer un peu plus cher quand je consomme plus mais avoir cette qualité. On peut suivre presque en temps réel sa facturation à venir:

Etape 6: Les options Amazon

Ils ne sont pas en restent pour vous inciter à prendre plus de service:

  • Répartiteur de charge entre vos VM, avec détection de panne sur les VM (facturé au Go de data)
  • Stockage supplémentaire utilisable par une VM avec des snapshots (mais indépendant de celle-ci) (facturé au Go et million de IO)
  • Adresse IP publique supplémentaire que vous pouvez rattacher à n’importe quelle VM (1/VM) (facturée si non utilisée)

VMware linked clone : ne pas defragmenter!

Une des fonctionnalités que j’utilise le plus sous VMware Workstation: linked clone.

Je crée une VM « modèle » avec tout ce qu’il faut, et je ne crée ensuite que des linked clone. Tous les clone se base sur un snapshot identique « mon model V1.1 », afin de ne pas cumuler les snapshots.

Quand ma VM idéale est prête, je la defrag juste avant de l’arrêter. Elle est stockée sur un disque SSD, ce qui permet un accès rapide, profitant à toutes les VM basées dessus.

Avec le temps, mes clone sont fragmentés. Se pose alors la question : que se passe-t-il si je défragmente un linked clone ?

J’ai fait le test suivant:

  • Création d’une VM linked clone à partir d’un model XP.
  • Premier boot: le vmdk contenant le delta fait 50Mo.
  • Analyse de la fragmentation du disque (0%, ce qui est normal vu que le modèle a été défragmenté.):

Néanmoins, je décide de lancer tout de même un defrag « pour voir »!

Le VMDK passe de 50Mo à 626Mo, soit une augmentation de presque 1200%. Cela réduit fortement un des intérêt qui est le gain de place, surtout quand on a 40 VM !

Le sujet est expliqué dans le document VMware « Performance Best Practices and Benchmarking Guidelines », page 19. Il est téléchargeable ici:

http://www.vmware.com/pdf/ws65_performance.pdf

Conclusion: bien préparer son modèle avant, ne plus défragmenter après!

Certains éditeurs et la notion du mot « sécurité »

Aucun éditeur ne dira que son logiciel ou sa solution est mauvaise sur le plan de la sécurité. En revanche, il suffit souvent de pas franchement « creuser » pour découvrir un compte en dur par ici, un mot de passe à peine crypté par là…

Je possède Ciel Compta avec l’option de sauvegarde en ligne. Suite à la réinstallation de ma station, je cherchais mon mot de passe pour la sauvegarde en ligne par essai successif. M’est venu alors l’envie de voir la nature des échanges avec leur serveurs, grosse erreur !

Petit rappel de la plaquette de Ciel sur la sauvegarde en ligne:

Wireshark suffit pourtant à voir que la demande d’authentification circule en clair (http), un comble !

A 30$ le certificat SSL chez GoDaddy, c’est carrément abusé…Surtout au prix des logiciels Ciel….

Tutoriel LOTP: introduction à Wireshark (15mn)

Voici un tutoriel sur Wireshark qui permet de sniffer les paquets réseaux. Il est souvent utilisé quand on a des problèmes réseaux, notamment pertes de paquets et lenteurs.

Enjoy!

Ceux qui préfère télécharger, c’est par ici : http://content.screencast.com/users/Mathieu_CHATEAU/folders/Default/media/3ff0e0a7-823e-4ebf-8e2d-f0ac0f8f9435/introduction_Wireshark.mp4?downloadOnly=true

Sennheiser M400 & iphone

Je me suis fais plaisir, j’ai acheté le casque bluetooth sennheiser M400. Les objectifs sont:

  • Ne pas être trop gêné par le bruit ambiant (métro…) sans intra-auriculaire pour autant
  • Pouvoir courir en écoutant de la musique et pouvoir répondre aux appels
  • Qu’il soit compatible avec l’iphone
  • Pas de pile, chargement par batterie

L’apple Store propose uniquement le M450, qui est un M400 avec en plus l’antibruit. Cette magnifique technologie double presque le prix de l’appareil, qui passe de 199€ à 350€!

Certains forums indiquaient des problèmes potentiels avec l’iphone et le support bluetooth, qui a longtemps été très en dessous du marché. Mais bon, là, excès de confiance, je me dis que s’il est sur l’apple store, tout de même, c’est que ca doit bien fonctionner !

Je suis allé à l’apple Store du Louvre, histoire de voir la bête en vrai. La vendeuse, euh… la conseillère personnalisée, ne connaissait pas du tout le modèle, ni son collègue, et encore moins la différence entre le M400 et M450…Moi non plus sur le moment, mais je suis client !

Je me suis quand même laissé tenter par le M400 🙂 Un déballage de geek plus tard (vous savez, celui qui ouvre la boite en marchant à peine sortie du magasin…), le casque fonctionnait. En fait, tout fonctionne sauf le changement de musique (avance/recul). Il s’avère qu’il n’y a pas souvent de fumée sans feu, et que l’iphone ne supporte pas le protocole AVRCP…enfin pas totalement. Une KB Apple explique que l’iphone ne supporte que quelques fonctions (play/pause/stop).

Il est néanmoins tout de même possible de prendre un appel ou non et de gérer le volume. Le casque sait renvoyer les commandes vocales, mais j’ai un 3G et non un 3GS, donc mystère.

Le casque est à la hauteur de mes attentes (batterie, poids, encombrement, qualité d’écoute…), le problème est côté Apple et le stack Bluetooth. Par honnêteté, ils pourraient au moins mentionner sur la boite que les fonctions retour/avance ne fonctionnent pas avec me matériel Apple.

IIS 7 : SSL sur Server Core, Browsing de répertoire virtuel

Voici quelques infos utiles sur IIS 7…

Administrer IIS7 depuis Vista

Il faut :

  • Télécharger la console sur iis.net (qui appartient à Microsoft, équipe produit IIS): http://www.iis.net/expand/IISManager
  • Installer la gestion à distance sur le serveur: start /w ocsetup IIS-ManagementService
  • Passer la clé de registre EnableRemoteManagement à 1 (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WebManagement\Server) sur le serveur pour autoriser la gestion à distance
  • Démarrer le service de gestion Web: net start wmsvc

Il ne reste plus qu’à lancer l’interface de gestion depuis Vista et se connecter

Importer un certificat SSL

La console mmc des certificats ne permet pas d’importer un certificat sur un hôte distant. Quand il s’agit d’un server Core, il faut passer en ligne de commande:

certutil -addstore MY moncertificat.pfx

MY correspondant au magasin personnel de l’ordinateur.

Browsing de répertoire virtuel

La configuration était pas tout à fait standard. Plusieurs sites sont déclarés sur IIS, et il y a un site « central » qui dont des répertoires virtuels pointent sur ces sites en webdav, pour les mettre à jour.

Un changement surprenant au départ est que la configuration entre le site et le sous répertoire virtuel est partiellement partagée. Une modification sur l’un impacte l’autre, au moins pour les pages par défaut si les deux sont local et non hérité/local !

J’ai dû laisser la configuration des pages par défaut héritée sur le site, et locale sur le répertoire virtuelle (ce cas là fonctionne). Bien que .Net soit désactivé sur le site « central », IIS essayait d’exécuter default.aspx dans le répertoire virtuelle sans succès, renvoyant un 404 (pratique pour diagnostiquer!). J’ai résolu le problème en vidant le menu des pages par défaut sur les répertoires virtuels.