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)

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

Windows Server 2008 R2 sur mon MacBook Air!

Ce post fait suite à mon billet précédent « J’ai un Mac…C’est grave docteur ?« .
J’avais installé Windows 7 RC, qui marchait très bien. Cependant, j’avais besoin de faire tourner un Windows Server 2008 R2 avec hyper-V.
Ce dernier ne peut pas être exécuté dans une VM. J’ai donc décidé d’installer Windows Server 2008 R2 sur mon MacBook Air.
La procédure est simple mais il y a un évènement à ne surtout pas rater… here we go:

  • Copier le dossier Bootcamp du DVD MacOS X sur une clé USB, ceci va être critique pour plus tard !
  • démarrer sous MacOS X. Dégager la partition Windows, et en créer une nouvelle (via le menu BootCamp).
  • démarrer sur le DVD Windows Server 2008 R2. Faire le setup de manière classique.
  • au premier boot de Windows, il faut installer les pilotes bootcamp (le msi directement) sur le champ.
    Si vous redémarrer sans le faire, vous ne pourrez pas faire ctrl + alt + supr, et donc ouvrir une session.
    J’ai dû brancher un clavier usb pour pouvoir le faire!

Il ne reste plus ensuite qu’à redonner l’apparence d’un poste de travail à Windows Server 2008 R2, via powershell:

import-module servermanager
Add-WindowsFeature Desktop-Experience
Add-WindowsFeature Wireless-Networking
Add-WindowsFeature Net-Framework
Add-WindowsFeature Telnet-Client
Set-Service -name Themes -startuptype Automatic
shutdown /r /t 15 /c "reboot pour prise en compte du service themes"

Il ne reste plus qu’à activer le thème Windows 7 pour retrouver Aero.

L’installation d’Hyper-V bloque la mise en veille du portable:
Sleep and hibernate power features are not available when you enable Hyper-V technology on a Windows Server 2008-based portable computer

J’ai donc crée un boot par défaut sans hyper-V via bcdedit:

bcdedit /copy {current} /d "Microsoft Windows Server 2008 - sans hypervisor"
bcdedit /set {identifiant de la commande précédente} hypervisorlaunchtype off /default

Tutoriel lotp: VMware Workstation – Windows Server 2008R2 en cluster

Je viens de faire un tutoriel sur la mise en oeuvre d’un cluster Windows Server 2008 R2 dans VMware Workstation.
La partie sensible est la réservation persistante scsi-3 impérative depuis Windows Server 2008.

J’ai poste le tutoriel sur screencast: http://www.screencast.com/t/R7ndyktfNXk
vmware workstation 2008R2 cluster

pour les adeptes de Youtube, je l’ai posté aussi (mais qualité inférieure):

Est-ce que vos serveurs/stations sont sous garantie ?

Il y a certains contextes où l’on ne dispose pas de cette information. Le parc en question est composé de serveurs Dell et HP. Ces deux fabricants proposent de vérifier cette information sans problème, mais seulement de façon unitaire (par 10 pour HP, mais pour un même numéro de produit). Un appel au support Gold donne le même résultat pour les deux, ils ne proposent pas d’autres moyens, et le support eux mêmes utilisent ces pages.

Pour Dell: http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/fr/details?c=fr&l=fr&s=gen
Pour HP: http://www13.itrc.hp.com/service/ewarranty/warrantyResults.do

Quand on a quelques serveurs ou stations, cela ne pose pas de problème. Mais quand il s’agit de vérifier 230 machines, cela se complique!

1/Récupérer les numéros de série des serveurs/stations

La première étape consiste à avoir la liste des machines où récupérer le numéro de série, par exemple depuis l’active directory avec Adfind.
J’ai crée le vbscript suivant, qui prend en argument un nom de serveur, et renvoi une ligne formatée pour un CSV, avec plusieurs informations dont l’asset tag HP ou Dell. Par exemple:

ServeurA;Dell Computer Corporation;PowerEdge 1850;SerialIci;;2;x86 Family 15 Model 4 Stepping 1;3220455424;
ServeurB;HP;ProLiant DL360 G5;SerialIci;;4;x86 Family 6 Model 23 Stepping 10;3487408128;

Le code VBScript:

-------------------------------------------------------------------------------------
Dim hostname,manufacturer,model,serial,assettag
Set objArgs = WScript.Arguments
strComputer = objArgs(0) 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colSettings = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")
For Each objComputer in colSettings
 hostname= objComputer.Name
 manufacturer=objComputer.Manufacturer
 model=objComputer.Model
 memory= objComputer.TotalPhysicalMemory
 cpucount= objComputer.NumberOfProcessors
Next
Set colSettings = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_Processor")
For Each objProcessor in colSettings
 cputype=objProcessor.Description
Next
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_BIOS",,48) 
For Each objItem in colItems 
serial=objItem.SerialNumber
Next
wscript.echo hostname & ";" & manufacturer & ";" & model & ";" & serial & ";" & assettag & ";" & cpucount & ";" & cputype & ";" & memory & ";"
-------------------------------------------------------------------------------------

Il reste ensuite a appeler ce script par machine:

for /f %s in (serveurs.txt) do cscript //NOLOGO serial.vbs %s >> serveurs.csv

2/Vérifier les garanties

On a donc maintenant un fichier CSV avec notamment le fameux serial par machine. Le reste va devenir un peu plus « artisanal », car on va:

  • Construire l’URL a appelé pour chacun des fabricants (avec le numéro de série en paramètre)
  • Récupérer la page Web (résultat de la recherche) en html avec wget. (Une page html par machine, le fichier ayant comme nom le numéro de série)
  • Parser les pages pour récupérer uniquement la date d’achat et fin de garantie.

Les étapes unitaires ne sont pas techniquement compliquée, mais nécessite un peu de temps. Plus on a de machines à vérifier, plus cela devient intéressant en terme de temps. D’autre part, on progresse toujours plus en prenant ce chemin qu’en faisant la même tâche 230 fois…

A/Construire les adresses

Une fois le fichier excel importé, on va utiliser les fonctions Excel (en anglais) pour créer l’url des pages. Cela suppose que les numéros de séries sont dans la colonne E.

Pour Dell:

=CONCATENATE("wget -F -O ";E3;" ""http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/fr/details?c=fr&l=fr&s=gen&~ck=anavml&servicetag=";E3;"""")

Le résultat est de la forme:

wget -F -O YYYYY "http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/fr/details?c=fr&l=fr&s=gen&~ck=anavml&servicetag=YYYYYY"

Pour HP:

=CONCATENATE("wget -F -O ";E3;" --post-data=""BODServiceID=NA&RegisteredPurchaseDate=&country=FR&productNumber=AAAAAA-AA&serialNumber2=&serialNumber3=&serialNumber4=&serialNumber5=&serialNumber6=&serialNumber7=&serialNumber8=&serialNumber9=&serialNumber10=&x=31&y=12&serialNumber1=";E3;"""";" http://www13.itrc.hp.com/service/ewarranty/warrantyResults.do")

Il faut remplacer AAAAAA-AA par le product part.

Le résultat est de la forme:

wget -F -O YYYYYY --post-data="BODServiceID=NA&RegisteredPurchaseDate=&country=FR&productNumber=AAAAAA-AA&serialNumber2=&serialNumber3=&serialNumber4=&serialNumber5=&serialNumber6=&serialNumber7=&serialNumber8=&serialNumber9=&serialNumber10=&x=31&y=12&serialNumber1=YYYYYYYY"http://www13.itrc.hp.com/service/ewarranty/warrantyResults.do

B/Récupérer les pages Web

Il suffit de copier/coller le résultat des concaténations dans un .bat. Wget pour Windows est téléchargeable ici par exemple.

Le répertoire courant du .bat se rempli de fichiers portant comme nom chaque numéro de série.

Vous devez d’abord faire tous les Dell puis tous les HP afin de séparer les fichiers.

C/Parser les pages Web

J’ai commencé l’informatique sur Unix/Linux. Pour se qui est de parser des fichiers textes, j’ai gardé mes habitudes sed/awk/grep. Pour faire cela, j’utilise Cygwin sur Windows, qui est gratuit.

Parser les pages HTML pour Dell:

for serial in $(ls -1);do
achat=`cat $serial | awk '{FS="</table>";print $2}' | awk '{FS="<td";print $7}' | grep class | cut -d'>' -f2 | cut -d'<' -f1`
garantie=`cat $serial | awk '{FS="contract_oddrow\">";print $5}' | cut -d'<' -f1 | grep "/"`
echo "$serial ; $achat ; $garantie" >>dell_output.csv
done

Parser les pages HTML pour HP:

for serial in $(ls -1);do
achat=`cat $serial | sed "s/[\t]//g" | grep '^[0-9]\{2\}' | head -1`
garantie=`cat $serial | sed "s/[\t]//g" | grep '^[0-9]\{2\}' | head -2 | tail -1`
echo "$serial ; $achat ; $garantie" >> hp_output.txt
done

Il ne reste plus qu’à faire le rapprochement via les numéros de séries dans Excel 🙂

J’ai un Mac…C’est grave docteur ?

Ceux qui lisent mon blog régulièrement pourraient être surpris, mais je viens d’acheter un Mac ! Un MacBook Air 2,1Ghz avec un SSD de 128Go. Mon bon vieux Dell XPS M1210 date de 2006. Il chauffe pas mal et pèse presque 2,3 kilos avec la batterie 9 cellules. Un portable très performant amène rapidement dans les 3 kilos (8Go de ram, du stockage..). J’ai donc décidé d’arrêter la course vers la performance, et plutôt me connecter à ma dedibox pour avoir les ressources nécessaires…

Le bon:

  • il boost vraiment plus que mon Dell. Le processeur est moins puissant, mais le bus à plus de 1Ghz compense largement, ainsi que d’avoir de la DDR3.
  • Le wifi est vraiment top, les débit montent tout de suite au taquet avec ma freebox, que ce soit sous MacOS X ou Windows 7. C’est du Broadcom 802.11n
  • Le SSD est vraiment top, proche en terme de performance de mon SuperTalent (voir le post sur le sujet pour comparaison)
  • Windows 7 64 bit RC met 28 secondes depuis le début jusqu’au bureau chargé.
  • On a l’impression qu’il manque des touches (page down/up notamment). En fait, Apple utilise le multitouch pour faire ces fonctions (en autre, il y a beaucoup de raccourcis via le multitouch du trackpad). Terrible aussi sous Windows 7 64 bit quand ca fonctionne pas…
  • Le clavier est rétro éclairé

Le moyen:

  • J’ai cherché la petite bête en installant Windows 7 RC en 64 bit via Boot Camp. Windows fonctionne très bien mais les pilotes Apple beaucoup moins.
  • MacOSX maintiens le bios à l’heure mais en GMT. Quand Windows 7 démarre, il retarde de 2 heures par rapport à l’heure de Paris en été (GMT +2). Boot Camp, si installé, ajoute un service de temps pour masquer cette différence (AppleTimesrv.exe).
  • mémoire de la carte graphique étant partagé, on obtient 1764Mo de ram pour Windows.
  • Pas de puce TPM, donc pas d’encryption du disque système sympathique.

Performance du SSD:

hd tune

Les pilotes Boot Camp & Windows 7 64 bit:

Par défaut, l’installation de BootCamp ne fonctionne pas:

Capture

A ce stade 2 possibilités:

  • Modifier le MSI pour passer la vérification. Windows alerte cependant sur des problèmes connus sur Windows 7 si on l’installe.
  • Appliquer directement juste les pilotes aux périphériques sans utiliser le setup Apple.

J’ai choisi la deuxième possibilité, qui a fonctionné, mais n’ayant pas installé la couche Apple, je n’ai pas le panneau de contrôle Boot Camp dans Windows 7. Cela génère des petits problèmes:

  • Pour passer sous MaxOSX, il faut maintenir la touche Alt au boot de la machine pour choisir entre les deux OS.
  • Pas de clique droit ni de multitouch via le trackpad. J’ai pourtant mis les pilotes
  • Pas d’accès aux fonctions qui sont sur les touches de fonctions (F1-F12)

A ce stade, ne pas avoir de clique droit ne fait plus rire du tout. Le MacBook Air n’a qu’un seul port USB, et donc brancher une souris a ses limites, que la raison n’ignore pas.

J’ai donc choisi d’installer quand même BootCamp. Le DVD fourni avec le Mac contient déjà BootCamp 2.1 d’origine. Seulement il ne se laisse pas faire, et il faut donc procéder comme suit:

  • Passer les paramètres régionaux (Formats) en English (United States). Leur MSI ne supporte rien d’autre, et génère l’erreur 2229.
  • Lancer directement le msi depuis le DVD: Boot CampDriversAppleBootCamp64.msi
  • Si cela ne suffit pas, il faut modifier la clé HKLMSOFTWAREMicrosoftWindows NTCurrentVersion en mettant 6.0 pour simuler Vista. A remettre en 6.1 après.

Si vous êtes en galère, voici quelques infos:

Chemin du panneau de contrôle Apple Boot Camp: C:windowssystem32AppleControlPanel.exe

Pilotes/services/bidules Apple lancés automatiquement par Windows:
HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun:
Apple_KbdMgr    Boot Camp Manager           c:program filesboot campkbdmgr.exe
IRW                          IR Receiver Application   c:windowssystem32irw.exe
RtHDVCpl              HD Audio Control Panel    Realtek Semiconductor    c:program filesrealtekaudiohdaravcpl64.exe

HKLMSystemCurrentControlSetServices:
AppleOSSMgr         c:windowssystem32appleossmgr.exe
AppleTimeSrv       c:windowssystem32appletimesrv.exe
aapltctp                         Apple Trackpad Enabler   c:windowssystem32driversaapltctp.sys
aapltp                             Apple Trackpad Driver     c:windowssystem32driversaapltp.sys
applebt                           Apple Bluetooth     c:windowssystem32driversapplebt.sys
applemtm                     Apple Multitouch Mouse Driver    c:windowssystem32driversapplemtm.sys
applemtp                      Apple Multitouch Trackpad Driver  c:windowssystem32driversapplemtp.sys
AppleODD                     Apple Optical Disc Drive    c:windowssystem32driversappleodd.sys
AppleUSBEthernet    Apple USB Ethernet Adapter Driver  c:windowssystem32driversappleusbethernet.sys
DevUpper                     Apple iSight Driver  c:windowssystem32driversisightft.sys
IRRemoteFlt               IR Receiver Driver   c:windowssystem32driversirfilter.sys
KeyAgent                     Apple KeyAgent Driver c:windowssystem32driverskeyagent.sys
KeyMagic                    Apple Keyboard Driver  c:windowssystem32driverskeymagic.sys

Périphériques tels qu’ils doivent apparaitre:

devices

Boot Camp doit avoir un onglet TrackPad entre autres:

bootcamp

Quelques astuces:

  • Clique droit: deux doigts sur le touchpad + bouton de clique gauche
  • Page up/down: deux doigts qui montent/descendent sur le touchpad
  • Touche Suppr: fn + <-
  • Touche Windows: la touche cmd
  • touche : alt de droite + 8
  • ctrl+alt+suppr: ctrl + alt + <–
  • Pause: Fn + esc
  • impr écran: Fn + Maj + F11
  • Choisir l’OS au boot: maintenir appuyer la touche Alt de gauche jusqu’à avoir le menu de choix

Cygwin1.dll et le mystérieux problème de version

Ayant commencé l’informatique sur Linux/FreeBSD, j’ai mes petites habitudes pour analyser des logs (awk/sed/cat/sort/uniq…).
Récemment cygwin, un port de shell Unix (bash) et outils diverses s’est mis à ne plus fonctionner:
cygwin

Il s’agit donc d’un problème sur cygwin1.dll. Effectivement, j’utilise aussi en ce moment un autre outil, John the ripper, qui a été porté sur Windows via cygwin.
La DLL pour JTR est beaucoup plus ancienne que mon installation de cygwin. Démarrer dans l’ordre inverse donne le même résultat, c’est JTR qui plante.

Procmon de Sysinternals indique bien que chaque programme charge la dll cygwin1.dll de son répertoire, mais JTR lis la DLL et fini par « Load image » alors que cygwin fait uniquement un « Load image »:

procmon

Process Explorer m’a permis de mettre en évidence d’où vient le problème. Cygwin1.dll utilise un handle de type section qui porte le même nom quelque soit la version de la DLL.

Voici les handles pour JTR:
cygwin1_processexplorer_jtr

Voici les handles pour cygwin lui même (bash.exe)cygwin1_processexplorer_cygwin

J’ai pu confirmer le diagnostique en utilisant une fonctionnalité de Process Explorer: fermer arbitrairement un handle:

cygwin1_processexplorer_jtr_close

Le shell Cygwin (bash.exe) se lance maintenant, alors que JTR tourne toujours. Je ne sais pas cependant si cela peut avoir des conséquences dans JTR:

cygwin

fuite de handle dans le service Windows Marvell Yukon (yksvc)

J’ai remarqué qu’un de mes processus, rundll32, avait une fuite de handle grâce à Process Explorer, un outil Sysinternal. Rundll32 est un conteneur qui héberge d’autre processus, ce n’est donc pas lui qui a une fuite de handle. Heureusement, Process Explorer affiche les processus hébergés en mettant juste le curseur au dessus:
processexplorer_rundll32Il héberge donc le service Marvell Yukon Service (yksvc), utilisé par ma carte réseau. Pour savoir quel type de handle fuit, j’ai ajouté le panneau du bas dans Process Explorer en pressant ctrl + L. En défilant vers le bas, j’ai découvert une floppée de « mutant » pointant toujours vers le même objet, BaseNameObjectsNetCfgWriteLock.
Les nouveaux handle sont surlignés en vert, et j’ai donc constaté un nouveau handle surligné toutes les secondes ou presque:

processexplorer_mutant
Un clique droit permet d’afficher les propriétés du mutant:
processexplorer_mutant_detail
Comme Mark le recommande toujours, J’ai vérifié la version de mon pilote qui commence à dater:
driver
Une nouvelle version du pilote étant disponible sur la page de support Marvell, J’ai décidé de mettre à jour.
Avant de faire la mise à jour, j’ai utilisé perfmon afin de vérifier si il y a un changement après la mise à jour. Cela a confirmé la résolution du problème:
perfmonGrâce aux outils et tutoriels de Mark, j’ai résolu mon problème 🙂

Réinitialiser le mot de passe admin de domaine sur un DC Windows 2008 avec seulement le DVD d’installation

Bon, tout est dans le titre 🙂

Je n’ai pas utilisé mes VM de labo pendant quelque temps juste après les avoir installées..Et voilà que je ne me rappel plus du mot de passe administrateur du domaine… Plutôt que de réinstaller, j’ai trouvé un hack pour Vista , que j’ai réutilisé pour mon DC Windows Server 2008 ! J’ai juste poussé un peu plus loin en utilisant le DVD officiel d’installation de Windows Server 2008 au lieu de backtrack 🙂

Pour les allergiques ou trop pressé pour regarder la vidéo pas à pas, voici ce qu’il faut faire:

  • Démarrer sur le DVD d’installation de Windows Server 2008
  • Choisir « Réparer votre ordinateur »
  • Lancer une cmd
  • Aller dans c:\windows\system32
  • renommer Utilman.exe en Utilman.exe.bak
  • Copier cmd.exe en Utilman.exe
  • redémarrer sur Windows
  • Faire le raccourci clavier Windows + U devant la fenêtre de logon (lance normalement utilman.exe et donc là cmd.exe)
  • net user administrateur Nouveaumotdepasse123
  • Se logguer avec le compte administrateur du domaine
  • changer le mot de passe 😉
  • Redémarrer sur le DVD pour remettre le fichier original Utilman.exe

Mon premier livre !

Je viens de co-écrire mon premier livre ! Ce fût une expérience très enrichissante pour moi, et j’espère que c’est le premier d’une longue série 🙂

Je tiens par la même occasion à remercier Freddy ELMALEH qui a crû en moi 🙂

Le titre est Windows 2008 – Administration avancée, au éditions ENI:

Windows 2008 - Administration avancée
Windows 2008 - Administration avancée

Auteurs : Sébastien NEILDThierry DEMANMathieu CHATEAUFreddy ELMALEH

Disponible en version papier et numérique

37,05 euros au lieu de 39 euros

Livraison gratuite

Pour commander le livre sur www.editions-eni.fr

Présentation :

Ce livre s’adresse aux administrateurs et ingénieurs systèmes désireux d’acquérir et de maîtriser des connaissances approfondies sur Windows Server 2008.

Il répond aux besoins d’expertise du lecteur en traitant de façon approfondie, d’un point de vue théorique et pratique,des rôles incontournables comme Active Directory, DFS, Hyper-V ou encore le VPN.

Les nouveautés R2 de Windows Server 2008 sont également expliquées afin d’anticiper au mieux l’avenir.

Depuis le déploiement jusqu’à la virtualisation, cet ouvrage est le compagnon idéal pour appréhender les moindres détails de cette version de Windows Server. Il apporte un haut niveau d’expertise et son ambition est de devenir un livre de référence.

Les auteurs mettent au service du lecteur leur expertise Microsoft (MVP, MCSE et/ou MCITP) et leur expérience très significative dans des infrastructures conséquentes et complexes, afin de fournir un livre de qualité respectant les meilleures pratiques du monde de l’entreprise.

A télécharger sur le site des Editions ENI :

Le résumé du livre

La table des matières

Un extrait du livre

Le PLUS des Editions ENI : Pour la commande de la version papier du livre, la version numérique online est offerte.